/* ibu-components.css */
/* Controlled ibu presets. Layout only: form controls remain in ibu-form.css. */
.ibu-component {
  --ibu-accent: #d12982;
  --ibu-space-small: clamp(1.5rem, 3vw, 2.5rem);
  --ibu-space-standard: clamp(2.5rem, 5vw, 4.5rem);
  --ibu-space-large: clamp(4rem, 8vw, 7rem);
  box-sizing: border-box;
  position: relative;
  display: flow-root;
  clear: both;
  float: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: #1e2022;
  overflow-wrap: anywhere;
}
.ibu-component *, .ibu-component *::before, .ibu-component *::after { box-sizing: border-box; }
/* Slick aligns fade slides horizontally before applying each slide's offset.
   Its slides must not inherit the normal component's clear/float reset. */
.ibu-component.slick-slide { clear: none; float: left; }
.ibu-accent--green { --ibu-accent: #78bb58; }
.ibu-accent--anthracite { --ibu-accent: #1e2022; }
.ibu-component__container { width: min(100% - 3rem, 75rem); min-width: 0; margin-inline: auto; }
.ibu-component :is(h1,h2,h3,h4,h5,h6) { margin-top: 0; color: inherit; }
.ibu-component :is(p,ul,ol):last-child { margin-bottom: 0; }
.ibu-component img { display: block; max-width: 100%; width: 100%; height: auto; }
.ibu-background--white { background: #fff; }
.ibu-background--light { background: #f7f8fa; }
.ibu-background--dark { background: #1e2022; color: #fff; }
.ibu-split { padding-top: var(--ibu-space-standard); padding-bottom: var(--ibu-space-standard); }
.ibu-space-top--small { padding-top: var(--ibu-space-small); }
.ibu-space-top--large { padding-top: var(--ibu-space-large); }
.ibu-space-bottom--small { padding-bottom: var(--ibu-space-small); }
.ibu-space-bottom--large { padding-bottom: var(--ibu-space-large); }
.ibu-split__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.ibu-split__body, .ibu-split__media { min-width: 0; }
.ibu-split__body > :is(h1,h2,h3,h4,h5,h6) { border-left: .25rem solid var(--ibu-accent); padding-left: 1rem; }
.ibu-split__figure { margin: 0; width: 100%; }
.ibu-split__figure picture { display: block; }
.ibu-split__figure img { object-fit: cover; }
.ibu-split__figure figcaption { margin-top: .75rem; font-size: .85em; line-height: 1.6; }
.ibu-presentation--landscape .ibu-split__figure img { aspect-ratio: 16 / 9; }
.ibu-presentation--portrait .ibu-split__figure img { aspect-ratio: 3 / 4; }
.ibu-presentation--square .ibu-split__figure img { aspect-ratio: 1; }
.ibu-split__body .ibu-rich-text { margin-bottom: 1.5rem; }
.ibu-split__body .ibu-rich-text:last-child { margin-bottom: 0; }
.ibu-split__body .ibu-form { margin: 0; }
.ibu-background--dark .ibu-split__body .ibu-form { background: #fff; padding: clamp(1rem, 2vw, 1.5rem); }
@media (min-width: 768px) {
  .ibu-split { --ibu-body-fr: 1fr; --ibu-image-fr: 1fr; }
  .ibu-ratio--40-60 { --ibu-body-fr: 2fr; --ibu-image-fr: 3fr; }
  .ibu-ratio--60-40 { --ibu-body-fr: 3fr; --ibu-image-fr: 2fr; }
  .ibu-split__grid { grid-template-columns: minmax(0, var(--ibu-body-fr)) minmax(0, var(--ibu-image-fr)); }
  .ibu-image--left .ibu-split__grid { grid-template-columns: minmax(0, var(--ibu-image-fr)) minmax(0, var(--ibu-body-fr)); }
  .ibu-split__body { grid-column: 1; grid-row: 1; }
  .ibu-split__media { grid-column: 2; grid-row: 1; }
  .ibu-image--left .ibu-split__body { grid-column: 2; }
  .ibu-image--left .ibu-split__media { grid-column: 1; }
}
.ibu-hero:not(.ibu-hero-system) { isolation: isolate; display: grid; align-items: center; min-height: 32rem; padding-block: var(--ibu-space-standard); color: #fff; background: #1e2022; }
.ibu-hero--compact { min-height: 24rem; }
.ibu-hero--large { min-height: 40rem; }
.ibu-hero__image { position: absolute; inset: 0; z-index: -2; }
.ibu-hero__image :is(picture,img) { display: block; width: 100%; height: 100%; object-fit: cover; }
.ibu-hero:not(.ibu-hero-system)::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(30,32,34,.88), rgba(30,32,34,.6)); }
.ibu-hero__content > :is(h1,h2,h3,h4,h5,h6) { max-width: 22ch; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.15; }
.ibu-hero__kicker { margin: 0 0 1rem; padding-left: 1rem; border-left: .25rem solid var(--ibu-accent); font-weight: 600; }
.ibu-hero__lead { max-width: 55ch; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.7; }
.ibu-align--center { text-align: center; }
.ibu-align--center .ibu-hero__content > :is(h1,h2,h3,h4,h5,h6,p) { margin-inline: auto; }
.ibu-align--center .ibu-hero__kicker { display: table; }
.ibu-hero__buttons { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.ibu-align--center .ibu-hero__buttons { justify-content: center; }
.ibu-component .ibu-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; max-width: 100%; padding: .8rem 1.5rem; border: 2px solid var(--ibu-accent); border-radius: 4px; background: var(--ibu-accent); color: #fff; text-decoration: none; font-weight: 600; line-height: 1.5; }
.ibu-accent--green .ibu-button { color: #1e2022; }
.ibu-component .ibu-button--secondary { background: transparent; border-color: currentColor; color: #fff; }
.ibu-component .ibu-button:hover { text-decoration: underline; }
.ibu-component a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
@media (max-width: 767px) {
  .ibu-hero:not(.ibu-hero-system) { min-height: 0; padding-block: var(--ibu-space-standard); }
  .ibu-hero--compact { padding-block: var(--ibu-space-small); }
  .ibu-hero--large { padding-block: var(--ibu-space-large); }
  .ibu-hero__buttons { flex-direction: column; align-items: flex-start; }
  .ibu-align--center .ibu-hero__buttons { align-items: center; }
}

/* Homepage news: a shared image area, calm metadata and aligned reading links. */
/* A quiet grey surface separates the news from the two flyer covers above. */
main #news-2 { --ibu-editorial-background:#f6f7f9;background-color:#f6f7f9!important; }
#news-2 .mod_newslist {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0;
  scroll-margin-top: 24px;
  text-align: left;
}
#news-2 .mod_newslist[aria-busy="true"] { cursor: progress; }
#news-2 .ibu-home-news-changing { overflow: hidden; align-content: start; }
#news-2 .ibu-home-news-pager { display: flow-root; width: 100%; max-width: 100%; margin: 28px 0 0; padding: 0; }
.ibu-home-news-preload { position: fixed; top: 0; left: -10000px; width: 1px; height: 1px; overflow: hidden; visibility: hidden; pointer-events: none; }
#news-2 .ibu-home-news-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#news-2 .mod_newslist > .inner > .row {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px;
  margin: 0;
}
#news-2 .ce_news {
  display: flex;
  float: none;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: left;
}
#news-2 .ce_news > .inner {
  display: flex;
  width: 100%;
  min-width: 0;
  border: 1px solid #e7e9ed;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 4px 20px rgba(23,41,54,.04);
  overflow: hidden;
}
#news-2 .ce_news > .inner > .row {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  margin: 0;
}
#news-2 .ce_news > .inner > .row > .col-12 { flex: 0 0 auto; margin: 0; padding: 0; }
#news-2 .ce_news > .inner > .row > .col-12:last-child {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px;
}
#news-2 .ce_news .image-container { float: none; width: 100%; margin: 0; }
#news-2 .ce_news .image-mask { width: 100%; aspect-ratio: 16 / 10; background: #f3f4f6; }
#news-2 .ce_news .image-mask :is(a,picture) { display: block; width: 100%; height: 100%; }
#news-2 .ce_news .image-mask img { display: block; width: 100%; height: 100%; object-fit: cover; }
#news-2 .ce_news :is(.image-container,.image-mask,picture,img) { border-radius: 0; }
/* Press clippings can contain writing in the image: keep the complete clipping. */
#news-2 .ce_news.news_category_9 .image-mask img { object-fit: contain; }
#news-2 .news-date { order: 0; margin: 0 0 12px; color: #66717e; font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .025em; text-transform: none; }
#news-2 .news-date ul { margin: 0; padding: 0; list-style: none; }
#news-2 .news-date li { margin: 0; }
#news-2 .news-date .fa { margin-right: 6px; color: #579d20; }
#news-2 .news-categories { order: 1; min-height: 30px; margin: 0 0 16px; }
#news-2 .news-categories ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
#news-2 .news-categories li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  min-height: 30px;
  margin: 0;
  padding: 5px 12px;
  border: 1px solid #f1d6e5;
  border-radius: 0;
  background: #fcf0f6;
  color: #a41461;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .025em;
  text-transform: none;
}
#news-2 .news-categories li::before { content: ''; flex: 0 0 5px; width: 5px; height: 5px; background: currentColor; }
#news-2 .news-headline {
  order: 2;
  min-height: 5.4em;
  margin: 0 0 16px;
  color: #172936;
  font: 600 clamp(20px,1.65vw,24px)/1.35 Montserrat,Arial,sans-serif;
  letter-spacing: -.015em;
  text-transform: none;
  hyphens: none;
  overflow-wrap: break-word;
}
#news-2 .news-headline a { color: inherit; text-decoration: none; }
#news-2 .news-headline a:hover { color: #a41461; }
#news-2 .news-description {
  order: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  min-height: 5.25em;
  margin: 0;
  overflow: hidden;
  color: #5b6675;
  font-size: 14px;
  line-height: 1.75;
}
#news-2 .news-description p { margin: 0; font-size: inherit; line-height: inherit; }
#news-2 .news-more { order: 4; margin-top: auto; padding-top: 20px; }
#news-2 .news-more .btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #a41461;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .08em;
  text-decoration: none;
}
#news-2 .news-more .fa { color: inherit; }
#news-2 .news-more .btn:hover { text-decoration: underline; text-underline-offset: 4px; }
#news-2 .ce_news a:focus-visible { outline: 3px solid #b5206e; outline-offset: 4px; }
#news-2 .mod_newslist > .inner > .row > .col-12:has(> .ce_pagination) { grid-column: 1 / -1; margin: 0; padding: 0; }
#news-2 .ce_pagination { grid-column: 1 / -1; display: flex; justify-content: center; width: 100%; margin: 4px 0 0; }
#news-2 .ce_pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin: 0; padding: 0; }
#news-2 .ce_pagination li { margin: 0; }
#news-2 .ce_pagination :is(a,strong) { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 44px; border-radius: 0; color: #5b6675; font-size: 12px; }
#news-2 .ce_pagination .active { border-color: #f1d6e5; background: #fcf0f6; color: #a41461; font-weight: 600; }
#news-2 .ce_pagination a:hover { background: #fcf0f6; color: #a41461; }
#news-2 .ce_pagination a:focus-visible { outline: 3px solid #b5206e; outline-offset: 3px; }
@media (max-width: 1100px) {
  #news-2 .mod_newslist > .inner > .row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
}
@media (max-width: 639px) {
  #news-2 .mod_newslist > .inner > .row { grid-template-columns: minmax(0,1fr); gap: 24px; }
  #news-2 .ce_news > .inner > .row > .col-12:last-child { padding: 22px; }
  #news-2 .news-headline { min-height: 0; font-size: 22px; }
  #news-2 .news-description { min-height: 0; }
}
/* Native Text + Bild: important copy first, editable supplementary details below. */
main .ibu-native-sections .ibu-split.ibu-component .ibu-component__container { width:min(1230px,calc(100% - 60px));max-width:1230px;margin-inline:auto; }
main .ibu-native-sections .ibu-split .ibu-split__grid { gap:clamp(28px,4vw,56px);align-items:center; }
main .ibu-native-sections .ibu-split .ibu-split__body { padding:0;color:#596c79; }
main .ibu-native-sections .ibu-split .ibu-split__body > :is(h2,h3) { margin:0 0 24px;padding:0;border:0;color:#203a4b;font-size:36px;line-height:1.3; }
main .ibu-native-sections .ibu-split .ibu-rich-text { color:#596c79;font-size:16px;line-height:1.8; }
main .ibu-native-sections .ibu-split .ibu-rich-text :is(p,li) { font-size:16px;line-height:1.8; }
main .ibu-native-sections .ibu-split .ibu-rich-text p { margin-bottom:20px; }
main .ibu-native-sections .ibu-split .ibu-split__figure { overflow:hidden;border-radius:10px; }
main .ibu-split__details { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:30px; }
main .ibu-split__detail { min-width:0;border:1px solid #dce4e8;border-radius:9px;background:#fff;color:#203a4b; }
main .ibu-split__detail > summary { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;list-style:none;cursor:pointer;font-size:17px;font-weight:600;line-height:1.5; }
main .ibu-split__detail > summary::-webkit-details-marker { display:none; }
main .ibu-split__detail > summary > span { position:relative;display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;box-sizing:border-box;margin:0;padding:0;border:1px solid #ecd4e1;border-radius:50%;color:#c02178;font-size:0;line-height:1;align-self:center;transition:transform .2s; }
main .ibu-split__detail > summary > span::before,
main .ibu-split__detail > summary > span::after { content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%); }
main .ibu-split__detail > summary > span::after { transform:translate(-50%,-50%) rotate(90deg); }
main .ibu-split__detail[open] > summary > span { transform:rotate(45deg); }
main .ibu-split__detail > summary:hover { color:#ad1c69; }
main .ibu-split__detail > summary:focus-visible { outline:2px solid #c02178;outline-offset:3px;border-radius:9px; }
main .ibu-split__detail-body { padding:0 22px 22px;font-size:15px;line-height:1.8; }
main .ibu-split__detail-body p { margin:0 0 14px;font-size:15px;line-height:1.8; }
main .ibu-split__detail-body ul { margin:0 0 14px;padding-left:20px; }
main .ibu-split__detail-body li { margin-bottom:8px;font-size:15px;line-height:1.8; }
main .ibu-split__detail-body > :last-child { margin-bottom:0; }
@media(max-width:767px) {
 main .ibu-split__details { grid-template-columns:minmax(0,1fr);gap:14px; }
 main .ibu-native-sections .ibu-split .ibu-split__body > :is(h2,h3) { font-size:28px; }
 main .ibu-native-sections .ibu-split.ibu-component .ibu-component__container { width:calc(100% - 48px); }
}

/* ibu-header.css */
/* Shared header composition copied from the approved current local master.
   Responsive thresholds are two central profiles; page metadata selects one. */
.ibu-header-system { --ibu-nav-glass-background:rgba(26,33,28,.20); --ibu-nav-accent:#ed008c; --ibu-header-accent:#ed008c; }
.ibu-header-system .ibu-desktop-bar { position:relative; isolation:isolate; }
.ibu-header-system.ibu-header--solid { --ibu-nav-glass-background:rgba(113,122,128,.18); }
.ibu-header-system.ibu-header--solid .ibu-desktop-bar { background:#626b70; }
.ibu-header-system .ibu-desktop-bar::before { display:none; }
.ibu-header-system .ibu-desktop-header :is(button,a,summary,.ibu-mega-link__text) { hyphens:none; word-break:normal; }
@media (min-width:960px) {
 .ibu-header-system.ibu-header-profile--standard.ibu-header--hero:not(.ibu-hero-image-ready) .ibu-desktop-bar { background:#30373c; }
}
@media (min-width:1366px) {
 .ibu-header-system.ibu-header--hero:not(.ibu-hero-image-ready) .ibu-desktop-bar { background:#30373c; }
}
@media (min-width: 960px) {
.ibu-header-system.ibu-header-profile--standard .ibu-compact-toggle { display: none; }
.ibu-header-system .ibu-desktop-bar {
    background: transparent;
    
    padding-block: 8px 12px;
  }
.ibu-header-system .ibu-desktop-bar::before {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 1;
    filter: none;
    background: linear-gradient(180deg,rgba(255,255,255,.06),rgba(12,20,16,.13) 45%,rgba(12,20,16,.34)), var(--ibu-nav-glass-background);
    -webkit-backdrop-filter: blur(10px) saturate(1.05);
    backdrop-filter: blur(10px) saturate(1.05);
  }
.ibu-header-system .ibu-desktop-bar__inner {
    zoom: .9;
    
    position: relative;
    z-index: 1;
    display: grid;
    width: calc(100% - 60px / .9);
    max-width: calc(1200px / .9);
    min-height: 130px;
    height: auto;
    margin-block: 0;
    margin-inline: auto;
    padding: 6px 22px;
    grid-template-columns: clamp(78px,6.5vw,92px) minmax(0,1fr);
    grid-template-rows: minmax(60px,auto) auto;
    /* Retain the box model so the logo and navigation stay in place. */
    border: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
.ibu-header-system.ibu-header--solid .ibu-desktop-bar::before {
    background: linear-gradient(180deg,rgba(255,255,255,.11),rgba(38,45,51,.08) 45%,rgba(38,45,51,.21)), var(--ibu-nav-glass-background);
  }
.ibu-header-system .ibu-desktop-logo {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: start;
  }
.ibu-header-system .ibu-desktop-utility {
    grid-column: 2;
    grid-row: 1;
  }
.ibu-header-system .ibu-desktop-logo img {
    display: block;
    width: auto;
    height: clamp(104px,calc(6.6vw + 20px),112px);
    max-height: 112px;
    
    border-radius: 0;
  }
.ibu-header-system .ibu-desktop-nav {
    position: relative;
    display: grid;
    align-items: center;
    min-width: 0;
    margin: 0;
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    justify-self: stretch;
    padding: 0 clamp(12px,calc(12px + (100vw - 960px) * .17),80px) 0 clamp(12px,2vw,28px);
    border: 0;
    border-radius: 0;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
.ibu-header-system .ibu-desktop-nav::before {
    content: none;
    position: absolute;
    inset: 0 -22px auto 0;
    height: 1px;
    background: rgba(255,255,255,.3);
    pointer-events: none;
  }
.ibu-header-system .ibu-desktop-nav ul {
    
    width: auto;
    margin: 0;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: clamp(16px,1.5vw,28px);
    
    transform: translateY(3px);
  }
.ibu-header-system .ibu-desktop-nav button {
    height: clamp(3.125rem,3.3vw,3.6875rem);
    padding: 0;
    font-size: clamp(.8125rem,1.02vw,1.0625rem);
    font-weight: 500;
    letter-spacing: .045em;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.28);
  }
.ibu-header-system :is(.ibu-desktop-utility a,.ibu-search-toggle) {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.28);
  }
.ibu-header-system .ibu-desktop-utility {
    position: relative;
    isolation: isolate;
    justify-self: end;
    width: max-content;
    align-self: center;
    transform: none;
    gap: 24px;
    font-size: clamp(.8125rem,.86vw,.9375rem);
  }
.ibu-header-system .ibu-desktop-utility::before {
    content: none;
    display: none;
  }
.ibu-header-system .ibu-desktop-utility a {
    background: none;
  }
.ibu-header-system .ibu-desktop-utility a:hover {
    background: none;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
.ibu-header-system .ibu-desktop-utility a + a {
    position: relative;
  }
.ibu-header-system .ibu-desktop-utility a + a::before {
    content: none;
  }
.ibu-header-system .ibu-search-toggle {
    margin-left: 12px;
  }
.ibu-header-system .ibu-desktop-utility .ibu-search-toggle {
    position: relative;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
.ibu-header-system .ibu-desktop-utility .ibu-search-toggle::before {
    content: none;
  }
.ibu-header-system .ibu-desktop-utility .ibu-search-toggle:hover {
    background: rgba(255,255,255,.12);
  }
.ibu-header-system .ibu-search-toggle svg {
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.25));
  }
.ibu-header-system .ibu-desktop-nav button[aria-expanded="true"] {
    color: #fff;
  }
.ibu-header-system .ibu-desktop-nav button::after {
    right: calc(14px + clamp(6px,.72vw,10px));
    background: var(--ibu-nav-accent);
    transform: scaleX(0);
  }
.ibu-header-system .ibu-desktop-nav button:is(:hover,:focus-visible)::after {
    height: 3px;
    transform: scaleX(1);
    box-shadow: 0 0 10px rgba(237,0,140,.2);
  }
.ibu-header-system .ibu-desktop-nav .ibu-nav-chevron {
    color: var(--ibu-logo-green);
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.4));
  }
.ibu-header-system .ibu-desktop-nav .ibu-nav-chevron svg {
    width: 14px;
    height: 14px;
    stroke-width: 2.5;
  }
.ibu-header-system :is(.ibu-desktop-nav,.ibu-desktop-utility) :is(a,button):focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(24,34,42,.55);
  }
.ibu-header-system .ibu-desktop-logo:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #18222a;
  }
.ibu-header-system .ibu-desktop-panels .ibu-mega {
    zoom: .9;
    box-shadow: none;
    border-radius: 0;
  }
}
@media (960px <= width < 1366px) {
.ibu-header-system .ibu-desktop-bar {
    position: relative;
    isolation: isolate;
  }
.ibu-header-system .ibu-desktop-utility {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    line-height: 1.4;
    text-transform: lowercase;
  }
.ibu-header-system .ibu-desktop-utility a {
    text-decoration: none;
  }
.ibu-header-system .ibu-desktop-utility a:hover {
    text-decoration: underline;
  }
.ibu-header-system .ibu-search-toggle {
    display: grid;
    place-items: center;
    width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    background: none;
  }
.ibu-header-system .ibu-search-toggle svg { width: 20px; height: 20px; }
.ibu-header-system .ibu-desktop-nav { display: grid; }
.ibu-header-system .ibu-desktop-nav ul { display: flex; list-style: none; padding: 0; }
.ibu-header-system .ibu-desktop-nav button {
    display: flex;
    align-items: center;
    gap: clamp(6px,.72vw,10px);
    position: relative;
    border: 0;
    background: none;
    font-family: Montserrat,Arial,sans-serif;
    line-height: 1.8;
    text-transform: lowercase;
    white-space: nowrap;
    cursor: pointer;
  }
.ibu-header-system .ibu-desktop-nav button::after {
    content: '';
    position: absolute;
    inset: auto calc(14px + clamp(6px,.72vw,10px)) 3px 0;
    height: 2px;
    background: var(--ibu-nav-accent);
    transform: scaleX(0);
    transition: transform .16s ease;
  }
.ibu-header-system .ibu-nav-chevron { color: var(--ibu-header-accent); width: 12px; height: 12px; transform: rotate(90deg); }
.ibu-header-system .ibu-nav-chevron svg { display: block; width: 12px; height: 12px; }
.ibu-header-system .ibu-desktop-nav button[aria-expanded="true"] .ibu-nav-chevron { transform: rotate(-90deg); }
.ibu-header-system .ibu-desktop-panels { display: block; background: #fff; }
.ibu-header-system .ibu-mega {
    width: calc(100% - 60px);
    max-width: 1280px;
    margin: 0 auto;
    padding: 16px clamp(20px,2.9vw,40px) 18px;
    background: #fff;
    color: #242838;
    border-radius: 0;
    text-transform: lowercase;
  }
.ibu-header-system .ibu-mega-title { display: flex; align-items: center; gap: 20px; min-height: 78px; padding-bottom: 12px; border-bottom: 1px solid #e4e5eb; }
.ibu-header-system .ibu-mega-title h2 { font-size: 26px; line-height: 1.2; color: #13151b; font-weight: 600; margin: 0 0 8px; }
.ibu-header-system .ibu-mega-title p { color: #626580; font-size: 16px; line-height: 1.5; margin: 0; }
.ibu-header-system .ibu-desktop-header .ibu-menu-icon { flex: 0 0 auto; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; }
.ibu-header-system .ibu-desktop-header .ibu-menu-icon :is(svg,img) { width: 24px; height: 24px; }
.ibu-header-system .ibu-mega-title > .ibu-menu-icon { width: 64px; height: 64px; }
.ibu-header-system .ibu-mega-title > .ibu-menu-icon :is(svg,img) { width: 30px; height: 30px; }
.ibu-header-system .ibu-desktop-header .ibu-menu-icon { color:var(--ibu-symbol-ink,#c51b76); background:var(--ibu-symbol-wash,#fae5f0); }
.ibu-header-system .ibu-mega-overview { display: flex; align-items: center; gap: 14px; margin-left: auto; color: #b5206e; font-size: 16px; font-weight: 600; text-decoration: none; }
.ibu-header-system .ibu-mega-overview:hover { text-decoration: underline; }
.ibu-header-system .ibu-mega-overview svg { width: 20px; height: 20px; color: var(--ibu-logo-green); }
.ibu-header-system .ibu-mega-items { display: grid; grid-template-columns: repeat(var(--ibu-menu-columns),minmax(0,1fr)); gap: clamp(20px,2.35vw,32px); margin-top: 8px; }
.ibu-header-system .ibu-mega-column { list-style: none; margin: 0; padding: 0; min-width: 0; }
.ibu-header-system .ibu-mega-link { display: flex; align-items: center; gap: clamp(12px,1.45vw,20px); min-height: 56px; padding: 4px 10px; color: #242838; text-decoration: none; border-bottom: 1px solid #e9e9ee; }
.ibu-header-system .ibu-mega-column li:last-child .ibu-mega-link { border-bottom-color: transparent; }
.ibu-header-system .ibu-mega-link__text { min-width: 0; overflow-wrap: anywhere; hyphens: none; }
.ibu-header-system .ibu-mega-link__label { display: block; font-size: 16px; line-height: 1.45; font-weight: 400; }
.ibu-header-system .ibu-mega-link__detail { display: block; color: #626580; font-size: 16px; line-height: 1.5; margin-top: 4px; }
.ibu-header-system .ibu-mega-link__arrow { margin-left: auto; flex: 0 0 18px; color: var(--ibu-logo-green); }
.ibu-header-system .ibu-mega-link__arrow svg { display: block; width: 18px; height: 18px; }
.ibu-header-system .ibu-mega-link:hover { color: #b5206e; background: #fdf9fb; }
.ibu-header-system .ibu-mega:is(.ibu-mega--cards,.ibu-mega--roomy) .ibu-mega-items { gap: 0; }
.ibu-header-system .ibu-mega:is(.ibu-mega--cards,.ibu-mega--roomy) .ibu-mega-column + .ibu-mega-column { border-left: 1px solid #e4e5eb; }
.ibu-header-system .ibu-mega:is(.ibu-mega--cards,.ibu-mega--roomy) .ibu-mega-link { padding-inline: 20px; }
.ibu-header-system .ibu-navigation-search form { display: flex; align-items: center; gap: 20px; }
.ibu-header-system .ibu-navigation-search label { font-size: 20px; font-weight: 600; }
.ibu-header-system .ibu-navigation-search input { flex: 1; min-width: 0; padding: 12px 16px; border: 1px solid #d7d8e0; border-radius: 4px; color: #242838; background: #fff; }
.ibu-header-system .ibu-search-results { margin: 20px 0 0; }
.ibu-header-system .ibu-navigation-search :is(.ibu-search-results,.ibu-search-status,input) { text-transform: none; }
.ibu-header-system .ibu-search-results .ibu-search-result { padding: 12px 0; border-bottom: 1px solid #e4e5eb; }
.ibu-header-system .ibu-search-results h3 { font-size: 18px; line-height: 1.4; margin: 0 0 6px; }
.ibu-header-system .ibu-search-results p { margin: 0; color: #626580; font-size: 14.4px; line-height: 1.6; }
.ibu-header-system .ibu-search-results a { color: #242838; text-decoration: none; }
.ibu-header-system .ibu-search-all { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 12px; color: #b5206e; }
.ibu-header-system .ibu-search-all svg { width: 20px; height: 20px; color: var(--ibu-logo-green); }
@media (prefers-reduced-motion: reduce) {
.ibu-header-system .ibu-desktop-header * {
      transition: none !important;
      animation: none !important;
    }
}
}

/* Preserve the existing compact presentation of the wide profile. */
@media (min-width:960px) and (max-width:1365px) {
 .ibu-header-system.ibu-header-profile--wide .ibu-desktop-bar { background:#fff; color:#1e2022; padding:0; }
 .ibu-header-system.ibu-header-profile--wide .ibu-desktop-bar::before { display:none; }
 .ibu-header-system.ibu-header-profile--wide .ibu-desktop-bar__inner { zoom:1; display:flex; align-items:center; justify-content:space-between; width:auto; max-width:none; min-height:148px; height:auto; margin:0; padding:24px var(--ibu-page-gutter); border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
 .ibu-header-system.ibu-header-profile--wide .ibu-desktop-logo { position:static; transform:none; }
 .ibu-header-system.ibu-header-profile--wide .ibu-desktop-logo img { height:100px; max-height:none; }
 .ibu-header-system.ibu-header-profile--wide :is(.ibu-desktop-nav,.ibu-desktop-utility,.ibu-desktop-panels) { display:none; }
 .ibu-header-system.ibu-header-profile--wide .ibu-compact-toggle { display:flex; }
 .ibu-header-system.ibu-header-profile--wide .ibu-hero-header-crop { display:none !important; }
}
/* The mobile header and its newly added editable menu symbols stay unchanged. */
@media (max-width:959px) {
 .ibu-header-system.ibu-header--solid .ibu-desktop-bar { background:#fff; }
}
/* Shared native overview rows retain the approved clean white line design. */
.ibu-section-overview__subtitle { margin-top:0; }

.ibu-menu-icon img { display:block; object-fit:contain; max-width:100%; max-height:100%; }
.ibu-menu-icon > :is(i,span) { font-size:1.5rem; line-height:1; }

/* One color contract for image and editable HTML/SVG symbols. */
.ibu-menu-icon {
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ibu-symbol-ink,#c51b76) 18%,transparent);
  transition:color .22s ease,background-color .22s ease,box-shadow .22s ease;
}
.ibu-menu-icon img { transition:filter .22s ease; }
.ibu-header-system .ibu-desktop-header :is(.ibu-mega-link,.ibu-compact-link,summary):is(:hover,:focus-visible) .ibu-menu-icon,
.ibu-overview-link:is(:hover,:focus-visible) .ibu-menu-icon {
  color:#fff;
  background:var(--ibu-symbol-ink,#c51b76);
  box-shadow:inset 0 0 0 1px var(--ibu-symbol-ink,#c51b76);
}
.ibu-header-system .ibu-desktop-header :is(.ibu-mega-link,.ibu-compact-link,summary):is(:hover,:focus-visible) .ibu-menu-icon img,
.ibu-overview-link:is(:hover,:focus-visible) .ibu-menu-icon img { filter:brightness(0) invert(1); }
@media (prefers-reduced-motion:reduce) {
  .ibu-menu-icon,.ibu-menu-icon img { transition:none!important; }
}

/* Keep the link stationary and the front artwork unfiltered while it tilts. */
.ibu-logo-effects { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.ibu-header-system .ibu-desktop-bar .ibu-desktop-logo {
  position: relative;
  top: 0;
  display: block;
  width: fit-content;
  line-height: 0;
  transform: none;
  transition: none;
}
.ibu-header-system .ibu-logo-surface {
  position: relative;
  display: block;
  isolation: isolate;
  transform: none;
  transform-origin: center;
  transition: transform .3s cubic-bezier(.22,.61,.36,1);
}
.ibu-header-system .ibu-logo-surface > img { filter: none; }
.ibu-header-system .ibu-logo-glow {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.ibu-header-system .ibu-logo-glow img {
  width: 100%;
  height: 100%;
  max-height: none;
  filter: url('#ibu-logo-contour');
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ibu-header-system .ibu-desktop-logo:is(:hover,:focus-visible) .ibu-logo-surface {
    transform: perspective(700px) translateY(-2px) rotateX(var(--ibu-logo-pitch,2deg)) rotateY(var(--ibu-logo-yaw,-2deg));
  }
}
@media (prefers-reduced-motion:reduce) {
  .ibu-header-system .ibu-logo-surface { transition: none; }
}

/* The longer English desktop labels share one row within the existing header. */
@media (min-width:1366px) {
  html[lang="en"].ibu-desktop-ready .ibu-header-system .ibu-desktop-nav > ul {
    flex-wrap: nowrap;
    column-gap: 12px;
  }
}

/* ibu-responsive.css */
/* Shared compatibility for the existing theme, without changing stored content. */
main :is(.row > [class*="col-"], .ce_text, .ce_image) { min-width: 0; }
/* A legacy offset on a full-width column must consume part of that width. */
main .row > .col-12[class*="offset-"] { flex-shrink: 1; }
/* The old ungrid template uses intrinsic col-auto even for long paragraphs. */
main .row > .col-auto { flex-shrink: 1; max-width: 100%; }
main .ibu-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
main .ce_text > .inner { display: flow-root; }
main :is(h1,h2,h3,h4,p,li,.btn) { overflow-wrap: anywhere; }
main .btn { max-width: 100%; min-width: 0; white-space: normal; }
main .btn + .btn { margin-left: 0; margin-inline-start: .5rem; }
/* Keep the theme's pink/grey surfaces; deepen small button text for contrast. */
main .btn-secondary, main .background-brand .btn-secondary { color: #8d1b58; }
main .background-brand .btn-primary { color: #8d1b58; }
main .btn-secondary:hover { color: #fff; }
main .background-brand .btn-secondary:hover { color: #8d1b58; }
main .btn-third { color: #6f708b; }
main .text-invert .btn-third, main .background-brand .btn-third { color: inherit; }

/* Focus survives the original theme's outline:none rules. */
:is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #1e2022; outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
.ce_image.image-caption-hover > .inner:focus-within .caption { opacity: 1; transform: none; }
.ce_slider :is(button,a,[tabindex]):focus-visible { outline: 3px solid #1e2022; outline-offset: 3px; box-shadow: 0 0 0 6px #fff; }
.ce_slider .slick-nav-arrows { border: 0; min-width: 44px; min-height: 44px; }
.ce_slider .slick-nav-list.slick-nav-list-lines button {
  position: relative; display: grid; place-items: center;
  width: 44px; height: 44px; margin: 0; padding: 0;
  border: 0; background: transparent; box-sizing: border-box;
}
.ce_slider .slick-nav-list.slick-nav-list-lines button::before {
  content: ''; display: block; width: 8px; height: 8px;
  border-radius: 50%; background: #747780; border: 1px solid #fff;
}
.ce_slider .slick-nav-list.slick-nav-list-lines .slick-active button::before {
  width: 22px; border-radius: 8px; background: #d12982;
}
.ce_slider .slick-nav-list.slick-nav-list-lines button:hover::before { background: #d12982; }
.ce_slider .slick-nav-list.slick-nav-list-lines .slick-active button,
.ce_slider .slick-nav-list.slick-nav-list-lines.slick-nav-list-inside .slick-active button,
.ce_slider .slick-nav-list.slick-nav-list-lines.slick-nav-list-inside button:hover { background: transparent; }

/* Slick owns slide widths. Keep the viewport bounded without constraining its
   calculated track to 100%, or introducing Bootstrap flex sizing into it. */
.slider-hero .jsSliderHero { width: 100%; min-width: 0; }
.slider-hero .slick-list { overflow: hidden; padding: 0; }
.slider-hero .slick-track { display: block; }
.slider-hero .slick-slide { min-width: 0; flex: none; }
/* Keep outgoing photography for the fade, but only the selected slide's copy.
   Visibility preserves the common desktop frame measurement. */
.slider-hero .slick-slide[aria-hidden="true"] :is(.hero-content,.hero-content *) {
  visibility: hidden !important; transition: none !important;
}
.ce_hero:not(.ibu-hero-system) { --ibu-hero-panel: #30343a; }
.ce_hero:not(.ibu-hero-system).hero-focal-left { --ibu-hero-focal: left center; }
.ce_hero:not(.ibu-hero-system).hero-focal-right { --ibu-hero-focal: right center; }
.ce_hero:not(.ibu-hero-system).hero-focal-top { --ibu-hero-focal: center top; }
.ce_hero:not(.ibu-hero-system) .hero-image img { object-position: var(--ibu-hero-focal, center); }
.ce_hero:not(.ibu-hero-system) .hero-content .hero-width { min-width: 0; }
/* The legacy header offset assumed a translated overlay. Grid/stack now
   provide their own spacing, including the header reserve on desktop. */
.ce_hero:not(.ibu-hero-system) .hero-content { margin-top: 0 !important; }
.ce_hero:not(.ibu-hero-system) .hero-content .btn { min-height: 44px; line-height: 1.5; }
/* Empty editorial spacer paragraphs are layout, not readable Hero content. */
.ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-spacer { display: none; }
.ce_hero:not(.ibu-hero-system) .ibu-hero-cta-group {
  display: flex; flex-wrap: wrap; gap: .75rem; align-items: center;
  margin-block: 1.5rem 0;
}
.ce_hero:not(.ibu-hero-system).text-center .ibu-hero-cta-group { justify-content: center; }
.ce_hero:not(.ibu-hero-system) .ibu-hero-cta-group .btn { margin: 0; }
.slider-hero .slick-nav-arrows {
  width: 44px; height: 44px; padding: 0; font-size: 1.75rem;
  background: rgba(30,32,34,.72);
}

@media (min-width: 992px) {
  /* Copy is a grid item in normal flow over the image. It can enlarge the
     responsive frame instead of escaping an absolute overlay. */
  .ce_hero:not(.ibu-hero-system) > .unroot > .inner {
    display: grid; grid-template-columns: minmax(0,1fr); align-items: center;
    width: 100%; min-width: 0; height: auto;
    min-height: var(--ibu-hero-frame-height, 0px);
  }
  .ce_hero:not(.ibu-hero-system) > .unroot > .inner::before {
    content: ''; display: block; grid-area: 1 / 1; width: 100%; aspect-ratio: 16 / 9; pointer-events: none;
  }
  .ce_hero:not(.ibu-hero-system) .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; }
  .ce_hero:not(.ibu-hero-system) .hero-image :is(figure,.image-mask,picture) { display: block; height: 100%; margin: 0; }
  .ce_hero:not(.ibu-hero-system) .hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .ce_hero:not(.ibu-hero-system):is(.hero-middle,.hero-bottom) .hero-content {
    position: relative; inset: auto; transform: none; margin: 0;
    grid-area: 1 / 1; min-width: 0; max-width: 100%;
    padding-block: clamp(12rem, 12vw, 14rem) 5rem;
  }
  .ce_hero:not(.ibu-hero-system) .hero-content .hero-width { margin-bottom: 0; }
  .ce_hero:not(.ibu-hero-system).hero-bottom .hero-content { align-self: end; }
  .slider-hero .slick-nav-list-inside { padding-block: .25rem; }
}

@media (max-width: 991px) {
  /* Editorial layout tables stack as content; data-table semantics stay intact. */
  main .ibu-layout-table { display: block; width: 100% !important; height: auto !important; }
  main .ibu-layout-table :is(tbody,tr) { display: block; width: 100%; height: auto !important; }
  main .ibu-layout-table td { display: block; width: 100% !important; height: auto !important; }
  main .ibu-layout-table td + td { margin-top: 1.5rem; }
  main .ibu-layout-table .ibu-layout-table__spacer { display: none; }
  /* Same intrinsic, stacked layout principle as ibu – Text + Bild. */
  main .ce_text > .inner > figure:is(.float_left,.float_right) {
    float: none; width: auto; max-width: 100%; margin: 0 0 1.5rem;
  }
  main .image-enlarge .image-mask { width: 100%; float: none; }
  main .image-enlarge :is(picture,img) { display: block; width: 100%; height: auto; }

}

@media (max-width: 767px) {
  /* Proportional mobile source retained; copy and CTAs remain in normal flow. */
  .ce_hero:not(.ibu-hero-system), .slider-hero { --ibu-hero-panel: #464b51; }
  .ce_hero:not(.ibu-hero-system) > .unroot > .inner { display: flex; flex-direction: column; height: auto; background: var(--ibu-hero-panel); }
  .ce_hero:not(.ibu-hero-system) .hero-image { position: relative; inset: auto; width: 100%; }
  .ce_hero:not(.ibu-hero-system) .hero-image :is(figure,.image-mask,picture) { display: block; height: auto; margin: 0; }
  .ce_hero:not(.ibu-hero-system) .hero-image img { width: 100%; height: auto; object-fit: contain; object-position: var(--ibu-hero-focal, center); }
  .ce_hero:not(.ibu-hero-system) .hero-image::after {
    content: ''; position: absolute; inset: auto 0 0; height: clamp(1.25rem, 4vw, 2.5rem);
    background: linear-gradient(transparent, var(--ibu-hero-panel)); pointer-events: none;
  }
  .ce_hero:not(.ibu-hero-system).image-dark .hero-image .image-mask { opacity: 1; }
  .ce_hero:not(.ibu-hero-system):is(.hero-middle,.hero-bottom) .hero-content {
    position: relative; inset: auto; transform: none; margin-top: 0;
    padding-block: clamp(1.5rem, 4vw, 2.25rem); background: var(--ibu-hero-panel); color: #fff;
  }
  .ce_hero:not(.ibu-hero-system) .hero-content .hero-width { max-width: 100%; width: 100%; margin-bottom: 0; }
  .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,h3,h4,p) { color: inherit; }
  .ce_hero:not(.ibu-hero-system) .hero-content .ce_text { margin-bottom: 0; }
  .ce_hero:not(.ibu-hero-system) .hero-content .ce_text > .inner { max-width: 65ch; margin-inline: auto; }
  .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,.h1,.h2,.display) {
    font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.2;
    overflow-wrap: anywhere; text-wrap: balance; margin-bottom: 1rem;
  }
  .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.display) { hyphens: none; word-break: normal; }
  .ce_hero:not(.ibu-hero-system) .hero-content :is(h3,h4) { line-height: 1.4; margin-bottom: 1rem; }
  .ce_hero:not(.ibu-hero-system) .hero-content p { line-height: 1.7; margin-bottom: 1rem; }
  .ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-cta-group { flex-direction: column; align-items: stretch; gap: .75rem; }
  .ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-cta-group .btn {
    display: flex; align-items: center; justify-content: center;
    width: 100%; max-width: 32rem; margin-inline: auto; padding: .85rem 1rem;
  }
  .ce_hero:not(.ibu-hero-system) .hero-content .ce_text > .inner > :first-child { margin-top: 0; }
  .ce_hero:not(.ibu-hero-system) .hero-content .ce_text > .inner > :last-child { margin-bottom: 0; }
  .ce_hero:not(.ibu-hero-system).text-boxed .hero-content :is(h1,h2,.h1,.h2,.display) { color: #1e2022; }
  .ce_hero:not(.ibu-hero-system).text-boxed .hero-width .inner { white-space: normal; }
  .slider-hero .slick-nav-list-inside {
    position: relative; width: auto; background: var(--ibu-hero-panel, #464b51);
    padding: .25rem 3.5rem .5rem;
    display: flex; justify-content: center; gap: 0;
  }
  /* Equal marks and fixed slots keep the centered controls stationary. */
  .slider-hero .slick-nav-list.slick-nav-list-lines li { flex: 0 0 44px; width: 44px; height: 44px; margin: 0; }
  .slider-hero .slick-nav-list.slick-nav-list-lines button::before {
    width: 22px; height: 6px; box-sizing: border-box; border-radius: 3px;
    background: #a0a6ad;
  }
  .slider-hero .slick-nav-list.slick-nav-list-lines .slick-active button::before {
    width: 22px; background: #d12982; border-width: 2px;
  }
  /* Arrows share a dedicated control row with dots, below all slide content. */
  .slider-hero .slick-nav-arrows {
    display: block !important; top: auto; bottom: .5rem; transform: none;
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.3); border-radius: 50%;
  }
  .slider-hero .slick-nav-arrows:hover { background: rgba(255,255,255,.12); }
  .slider-hero .slick-nav-arrows-prev { left: .75rem; }
  .slider-hero .slick-nav-arrows-next { right: .75rem; }
  .slider-hero .slick-nav-arrows.slick-hidden { display: none !important; }
  main .btn { min-height: 44px; }
}

@media (max-width: 575px) {
  .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,.h1,.h2,.display) { font-size: clamp(1.625rem, 6.65vw, 2rem); }
}

@media (max-width: 767px) {
  /* Captions containing links/text cannot remain absolutely over small photos. */
  main .ce_image:is(.image-caption-above-middle,.image-caption-above-bottom) .caption {
    position: relative; inset: auto; transform: none; opacity: 1; margin: 1rem 0;
    color: #1e2022; background: #fff;
  }
  main .ce_image:is(.image-caption-above-middle,.image-caption-above-bottom) .caption :is(h1,h2,h3,h4) { color: inherit; }
  main .ce_image:is(.image-caption-above-middle,.image-caption-above-bottom) a::before { display: none; }
  main .btn + .btn { margin-inline-start: 0; margin-top: .75rem; }
  main .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.ce_hero:not(.ibu-hero-system),.ce_image,.ce_text,.btn) { animation: none !important; transition: none !important; }
  .wow { visibility: visible !important; animation: none !important; }
  figure a img { transition: none; }
  .slick-track { transition: none !important; }
  figure a:hover img, main .btn:hover { transform: none; }
}

/* Mobile-only: real imagery followed by a rectangular white content area. */
@media (max-width:767px) {
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.slider-hero) { --ibu-hero-panel:#fff; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) > .unroot > .inner { background:#fff; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image { aspect-ratio:auto; height:auto; min-height:0; overflow:hidden; background-image:none; background-size:auto; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image :is(figure,.image-mask,picture) { height:auto; aspect-ratio:auto; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:initial; transform:none; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image::after { height:24px; background:linear-gradient(transparent,rgba(255,255,255,.6)); }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system):is(.hero-middle,.hero-bottom) .hero-content { padding:24px 16px 28px; background:#fff; color:#343b45; border-radius:0; text-align:left; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(.root,.width-large) { width:100%; max-width:none; padding:0; margin:0; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .ce_text > .inner { max-width:65ch; margin:0; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.display) { hyphens:none; word-break:normal; overflow-wrap:normal; text-wrap:wrap; font-weight:600; letter-spacing:normal; background:none; padding:0; margin:0 0 1rem; color:#343b45; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,.h1,.h2,.display) { font-size:clamp(1.625rem,6.65vw,2rem); line-height:1.2; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h3,.h3) { font-size:1.62rem; line-height:1.2; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h4,.h4) { font-size:.9rem; line-height:1.8; letter-spacing:.2em; color:#b5206e !important; text-transform:lowercase; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content p { font-size:.9rem; line-height:1.8; font-weight:400; letter-spacing:normal; color:#343b45; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-cta-group { margin-top:24px; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .btn { min-height:48px; font-size:.72rem; line-height:1.5; font-weight:600; letter-spacing:.2em; color:#fff; background:#d12982; border-color:#d12982; border-radius:4px; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-cta-group .btn + .btn,
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(.btn-secondary,.btn-third) { background:#fff; color:#b5206e; border-color:#b5206e; }
  .ibu-modern-ready .slider-hero .slick-list { background:#fff; }
  .ibu-modern-ready .slider-hero .slick-nav-list-inside { background:#fff; }
  .ibu-modern-ready .slider-hero .slick-nav-arrows { color:#343b45; background:transparent; border-color:#d9dbe0; }
  .ibu-modern-ready .slider-hero .slick-nav-arrows:hover { background:#f5f5f7; }
  .ibu-modern-ready .slider-hero .slick-nav-list.slick-nav-list-lines button::before { border:0; background:#a0a6ad; }
  .ibu-modern-ready .slider-hero .slick-nav-list.slick-nav-list-lines .slick-active button::before { width:22px; background:#d12982; }
  .ibu-modern-ready .ibu-hero:not(.ibu-hero-system) { display:flex; flex-direction:column; min-height:0; padding:0; background:#fff; color:#343b45; text-align:left; }
  .ibu-modern-ready .ibu-hero:not(.ibu-hero-system)::before { display:none; }
  .ibu-modern-ready .ibu-hero__image { position:relative; inset:auto; z-index:auto; width:100%; height:auto; aspect-ratio:auto; background-image:none; background-size:auto; }
  .ibu-modern-ready .ibu-hero__image :is(picture,img) { display:block; width:100%; height:auto; }
  .ibu-modern-ready .ibu-hero__image img { max-height:none; object-fit:contain; object-position:initial; transform:none; }
  .ibu-modern-ready .ibu-hero__content { width:100%; padding:24px 16px 28px; }
  .ibu-modern-ready .ibu-hero__content > :is(h1,h2,h3,h4,h5,h6) { max-width:none; font-size:clamp(1.625rem,6.65vw,2rem); line-height:1.2; font-weight:600; hyphens:none; word-break:normal; overflow-wrap:normal; }
  .ibu-modern-ready .ibu-hero__content > :is(h1,h2,h3,h4,h5,h6,p) { margin-inline:0; }
  .ibu-modern-ready .ibu-hero__kicker { padding:0; border:0; font-size:.9rem; letter-spacing:.2em; color:#b5206e; }
  .ibu-modern-ready .ibu-hero__lead { font-size:.9rem; line-height:1.8; font-weight:400; }
  .ibu-modern-ready .ibu-hero__buttons { align-items:stretch; }
  .ibu-modern-ready .ibu-hero:not(.ibu-hero-system) .ibu-button--secondary { color:#b5206e; }
}

/* ibu-desktop.css */
/* One modern navigation system, with full and compact responsive presentations. */
.ibu-desktop-header { display: none; }
:root { --ibu-logo-green: #78bb58; }
/* Both navigation presentations use the same decorative icon vocabulary. */
.ibu-menu-icon { flex: 0 0 auto; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; }
.ibu-menu-icon :is(svg,img) { width: 30px; height: 30px; }
.ibu-menu-icon--pink { --ibu-symbol-ink:#c51b76; --ibu-symbol-wash:#fae5f0; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
.ibu-menu-icon--green { --ibu-symbol-ink:#16785a; --ibu-symbol-wash:#e0f1e7; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
.ibu-menu-icon--gold { --ibu-symbol-ink:#9a6c14; --ibu-symbol-wash:#fff0d1; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
.ibu-menu-icon--blue { --ibu-symbol-ink:#176fac; --ibu-symbol-wash:#deeffc; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
.ibu-menu-icon--purple { --ibu-symbol-ink:#8046b1; --ibu-symbol-wash:#eee3fa; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
.ibu-menu-icon--teal { --ibu-symbol-ink:#087e78; --ibu-symbol-wash:#dcf1eb; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
.ibu-menu-icon--orange { --ibu-symbol-ink:#c16418; --ibu-symbol-wash:#ffeadb; color:var(--ibu-symbol-ink); background:var(--ibu-symbol-wash); }
@media (min-width: 1366px) {
  .ibu-desktop-ready {
    --ibu-desktop-accent: #d12982;
    --ibu-header-accent: #ffa6d5;
    --ibu-header-height: clamp(148px, 8.2vw, 164px);
    --ibu-page-gutter: clamp(80px, 5.2vw, 112px);
    --ibu-panel-gutter: clamp(40px, 2.9vw, 56px);
    --ibu-site-width: 1200px;
    --ibu-site-gutter: 30px;
  }
  .ibu-desktop-ready body .header { position: relative; inset: auto; width: 100%; background: transparent; z-index: 10; }
  .ibu-desktop-ready .header > .inside { display: none; }
  .ibu-desktop-ready .ibu-desktop-header { display: block; color: #fff; }
  .ibu-desktop-bar { position: relative; background: rgba(48,55,60,.97); isolation: isolate; }
  .ibu-desktop-bar::before { content: ''; position: absolute; inset: 0; background: var(--ibu-header-image) center 25% / cover; opacity: .08; filter: blur(8px); z-index: -1; }
  .ibu-desktop-bar__inner { width: calc(100% - 2 * var(--ibu-site-gutter)); max-width: var(--ibu-site-width); min-height: var(--ibu-header-height); margin-inline: auto; display: grid; grid-template-columns: clamp(140px,10.6vw,204px) minmax(0,1fr); grid-template-rows: 40px 1fr; }
  .ibu-desktop-logo { grid-row: 1 / 3; align-self: center; justify-self: start; }
  .ibu-desktop-logo img { display: block; width: auto; height: clamp(100px,6.2vw,120px); max-height: 120px; }
  .ibu-desktop-utility { display: flex; align-items: center; justify-content: flex-end; gap: 22px; font-size: 13px; line-height: 1.4; text-transform: lowercase; }
  .ibu-desktop-utility a { color: #fff; text-decoration: none; }
  .ibu-desktop-utility a:hover { text-decoration: underline; }
  .ibu-desktop-header button { font: inherit; cursor: pointer; }
  .ibu-search-toggle { display: grid; place-items: center; width: 32px; min-height: 32px; padding: 0; color: #fff; border: 0; background: none; }
  .ibu-search-toggle svg { width: 20px; height: 20px; }
  .ibu-desktop-nav { align-self: end; }
  .ibu-desktop-nav ul { display: flex; gap: clamp(14px,1.1vw,24px); list-style: none; margin: 0; padding: 0; }
  .ibu-desktop-nav button { display: flex; align-items: center; gap: 10px; position: relative; height: 64px; padding: 0 0 6px; border: 0; background: none; color: #fff; font-family: Montserrat, Arial, sans-serif; font-size: 13px; font-weight: 500; line-height: 1.8; letter-spacing: .2em; text-transform: lowercase; white-space: nowrap; }
  /* A lighter magenta keeps small active labels readable on anthracite. */
  .ibu-desktop-nav button[aria-expanded="true"] { color: var(--ibu-header-accent); }
  .ibu-desktop-nav button::after { content: ''; position: absolute; inset: auto 0 3px; height: 2px; background: var(--ibu-header-accent); transform: scaleX(0); transition: transform .16s ease; }
  .ibu-desktop-nav button[aria-expanded="true"]::after { transform: scaleX(1); }
  .ibu-nav-chevron { color: var(--ibu-header-accent); width: 12px; height: 12px; transform: rotate(90deg); }
  .ibu-nav-chevron svg { display: block; width: 12px; height: 12px; }
  .ibu-desktop-nav button[aria-expanded="true"] .ibu-nav-chevron { transform: rotate(-90deg); }
  .ibu-desktop-panels { background: #fff; }
  .ibu-mega { width: calc(100% - 2 * var(--ibu-site-gutter)); max-width: calc(var(--ibu-site-width) + 2 * var(--ibu-panel-gutter)); margin: 0 auto; padding: 20px var(--ibu-panel-gutter) 22px; background: #fff; color: #242838; border-radius: 0 0 5px 5px; box-shadow: 0 8px 28px rgba(32,38,43,.075); text-transform: lowercase; }
  .ibu-mega[hidden], .ibu-desktop-header [hidden] { display: none !important; }
  .ibu-mega-title { display: flex; align-items: center; gap: 30px; min-height: 99px; padding-bottom: 16px; border-bottom: 1px solid #e4e5eb; }
  .ibu-mega-title h2 { font-size: 26px; line-height: 1.2; color: #13151b; font-weight: 600; margin: 0 0 8px; }
  .ibu-mega-title p { color: #626580; font-size: 16px; line-height: 1.5; margin: 0; }
  .ibu-mega-title > .ibu-menu-icon { width: 82px; height: 82px; }
  .ibu-mega-title > .ibu-menu-icon :is(svg,img) { width: 40px; height: 40px; }
  .ibu-mega-overview { display: flex; align-items: center; gap: 14px; margin-left: auto; color: #b5206e; font-size: 16px; font-weight: 600; text-decoration: none; }
  .ibu-mega-overview:hover { text-decoration: underline; }
  .ibu-mega-overview svg { width: 20px; height: 20px; color: var(--ibu-logo-green); }
  .ibu-mega-items { display: grid; grid-template-columns: repeat(var(--ibu-menu-columns),minmax(0,1fr)); gap: clamp(48px,5vw,84px); margin-top: 8px; }
  .ibu-mega-column { list-style: none; margin: 0; padding: 0; min-width: 0; }
  .ibu-mega-link { display: flex; align-items: center; gap: 30px; min-height: 70px; padding: 5px 14px; color: #242838; text-decoration: none; border-bottom: 1px solid #e9e9ee; }
  .ibu-mega-column li:last-child .ibu-mega-link { border-bottom-color: transparent; }
  .ibu-mega-link__text { min-width: 0; }
  .ibu-mega-link__label { display: block; font-size: 16px; line-height: 1.45; }
  .ibu-mega-link__detail { display: block; color: #626580; font-size: 16px; line-height: 1.5; margin-top: 5px; }
  .ibu-mega-link__arrow { margin-left: auto; flex: 0 0 18px; color: var(--ibu-logo-green); }
  .ibu-mega-link__arrow svg { display: block; width: 18px; height: 18px; }
  .ibu-mega-link:hover { color: #b5206e; background: #fdf9fb; }
  .ibu-mega:is(.ibu-mega--cards,.ibu-mega--roomy) .ibu-mega-items { margin-top: 20px; gap: 0; }
  .ibu-mega:is(.ibu-mega--cards,.ibu-mega--roomy) .ibu-mega-column + .ibu-mega-column { border-left: 1px solid #e4e5eb; }
  .ibu-desktop-header :is(a,button,input):focus:not(:focus-visible) { outline: 0 solid transparent; box-shadow: none; }
  .ibu-desktop-header :is(a,button,input):focus-visible { outline: 2px solid #b5206e; outline-offset: 2px; box-shadow: none; }
  .ibu-desktop-bar :is(a,button):focus-visible { outline-color: var(--ibu-header-accent); outline-offset: 3px; }
  .ibu-navigation-search form { display: flex; align-items: center; gap: 24px; }
  .ibu-navigation-search label { font-size: 20px; font-weight: 600; }
  .ibu-navigation-search input { flex: 1; padding: 12px 16px; border: 1px solid #d7d8e0; border-radius: 4px; color: #242838; background: #fff; }
  .ibu-search-submit { min-height: 44px; padding: 8px 20px; border: 1px solid #b5206e; border-radius: 3px; color: #b5206e; background: #fff; }
  .ibu-search-results { margin: 20px 0 0; }
  .ibu-navigation-search :is(.ibu-search-results,.ibu-search-status,input) { text-transform: none; }
  .ibu-search-results .ibu-search-result { padding: 12px 0; border-bottom: 1px solid #e4e5eb; }
  .ibu-search-results h3 { font-size: 18px; line-height: 1.4; margin: 0 0 6px; }
  .ibu-search-results p { margin: 0; color: #626580; font-size: 14.4px; line-height: 1.6; }
  .ibu-search-results a { color: #242838; text-decoration: none; }
  .ibu-search-results a:hover { color: #b5206e; }
  .ibu-search-all { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 12px; color: #b5206e; }
  .ibu-search-all svg { width: 20px; height: 20px; color: var(--ibu-logo-green); }

  @media (prefers-reduced-motion: reduce) { .ibu-desktop-header * { transition: none !important; animation: none !important; } }
}

/* New ordinary overview links also work without the desktop header. */
.ibu-overview-link { display: flex; align-items: center; gap: 22px; min-height: 88px; padding: 16px 0; border-bottom: 1px solid #e4e5eb; color: #242838; text-decoration: none; }
.ibu-overview-link .ibu-menu-icon { display: grid; place-items: center; flex: 0 0 54px; width: 54px; height: 54px; border-radius: 50%; }
.ibu-overview-link .ibu-menu-icon--pink { background:var(--ibu-symbol-wash); color:var(--ibu-symbol-ink); }
.ibu-overview-link .ibu-menu-icon :is(svg,img) { width: 28px; height: 28px; }
.ibu-overview-link__title { display: block; font-weight: 600; }
.ibu-overview-link__description { display: block; color: #626580; }
.ibu-overview-link__arrow { margin-left: auto; color: var(--ibu-logo-green); }
.ibu-overview-link__arrow svg { width: 20px; height: 20px; }
.ibu-overview-link:focus-visible { outline: 2px solid #b5206e; outline-offset: 3px; }
.ibu-full-search { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-block: 24px; }
.ibu-full-search label { width: 100%; font-weight: 600; }
.ibu-full-search input { flex: 1 1 220px; min-width: 0; min-height: 48px; padding: 12px 16px; border: 1px solid #d7d8e0; background: #f7f8fa; }
.ibu-full-search input:focus-visible { outline: 2px solid #b5206e; outline-offset: 3px; }
.ibu-search-result { margin-block: 24px; }
.ibu-search-result h3 { margin-bottom: 8px; }
.ibu-search-result p { margin-top: 0; }

/* A continuous modern header replaces the legacy navigation at every width. */
.ibu-modern-ready { --ibu-desktop-accent:#d12982; --ibu-header-accent:#ffa6d5; --ibu-header-height:148px; --ibu-page-gutter:clamp(30px,4vw,64px); }
.ibu-modern-ready body .header { position:relative; inset:auto; width:100%; background:transparent; z-index:10; }
.ibu-modern-ready .header > .inside { display:none; }
.ibu-modern-ready .ibu-desktop-header { display:block; font-family:Montserrat,Arial,sans-serif; }
.ibu-desktop-header [hidden] { display:none !important; }
.ibu-compact-toggle { display:none; }
.ibu-desktop-header :is(a,button,input,summary):focus:not(:focus-visible) { outline:0 solid transparent; box-shadow:none; }
.ibu-desktop-header :is(a,button,input,summary):focus-visible { outline:2px solid #b5206e; outline-offset:3px; box-shadow:none; }
.ibu-compact-navigation { padding:0 var(--ibu-page-gutter) 24px; background:#fff; color:#242838; text-transform:lowercase; }
.ibu-compact-navigation details { border-top:1px solid #e4e5eb; }
.ibu-compact-navigation summary { display:flex; align-items:center; gap:12px; min-height:56px; padding:8px 0; list-style:none; cursor:pointer; font-weight:500; }
.ibu-compact-navigation summary::-webkit-details-marker { display:none; }
.ibu-compact-navigation details[open] > summary { color:#b5206e; }
.ibu-compact-navigation .ibu-menu-icon { width:36px; height:36px; }
.ibu-compact-navigation .ibu-menu-icon :is(svg,img) { width:20px; height:20px; }
.ibu-compact-navigation summary > .ibu-menu-icon { width:40px; height:40px; }
.ibu-compact-navigation summary > .ibu-menu-icon :is(svg,img) { width:22px; height:22px; }
.ibu-compact-label { min-width:0; line-height:1.5; overflow-wrap:anywhere; }
.ibu-compact-chevron,.ibu-compact-link__arrow { display:block; flex:0 0 16px; width:16px; height:16px; margin-left:auto; color:var(--ibu-logo-green); }
.ibu-compact-chevron svg,.ibu-compact-link__arrow svg { display:block; width:100%; height:100%; }
.ibu-compact-chevron { transform:rotate(90deg); }
.ibu-compact-navigation details[open] > summary .ibu-compact-chevron { transform:rotate(-90deg); }
.ibu-compact-navigation ul { list-style:none; margin:0 0 12px; padding:0 0 0 12px; }
.ibu-compact-navigation a { display:inline-flex; align-items:center; min-height:44px; color:#242838; text-decoration:none; }
.ibu-compact-navigation .ibu-compact-link { display:flex; gap:12px; width:100%; min-height:52px; padding:8px 0; }
.ibu-compact-navigation a:hover { color:#b5206e; }
.ibu-compact-utility { display:flex; flex-wrap:wrap; gap:20px; border-top:1px solid #e4e5eb; }
.ibu-compact-navigation input { text-transform:none; }
.ibu-search-submit { min-height:44px; padding:8px 20px; border:1px solid #b5206e; border-radius:3px; color:#b5206e; background:#fff; }
.ibu-overview-link__text { min-width:0; }
.ibu-overview-link__title { text-transform:none; }
.ibu-overview-link__arrow { flex:0 0 20px; }
/* The full-content Hero replaces the legacy shortened mobile duplicate. */
.ibu-modern-ready .article-hero.show-only-desktop:has(.jsSliderHero) { display:block !important; }
.ibu-modern-ready .article-hero.show-only-mobile:has(.jsSliderHero) { display:none !important; }
.ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content iframe:not([src]):not([data-src]),
.ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content iframe[src=""] { display:none; }
@media (min-width:1366px) {
  .ibu-modern-ready { --ibu-header-height:clamp(148px,8.2vw,164px); --ibu-page-gutter:clamp(80px,5.2vw,112px); }
  /* All six categories share the same compact tokens; sparse panels never scale up. */
  .ibu-mega { padding-top:16px; padding-bottom:18px; }
  .ibu-mega-title { gap:20px; min-height:78px; padding-bottom:12px; }
  .ibu-mega-title > .ibu-menu-icon { width:64px; height:64px; }
  .ibu-mega-title > .ibu-menu-icon :is(svg,img) { width:30px; height:30px; }
  .ibu-mega-items { gap:32px; }
  .ibu-mega .ibu-mega-items { margin-top:8px; }
  .ibu-mega .ibu-mega-link { gap:20px; min-height:56px; padding:4px 10px; }
  .ibu-mega .ibu-mega-link .ibu-menu-icon { width:46px; height:46px; }
  .ibu-mega .ibu-mega-link .ibu-menu-icon :is(svg,img) { width:24px; height:24px; }
  .ibu-mega .ibu-mega-link__label { font-size:16px; line-height:1.45; font-weight:400; }
  .ibu-mega .ibu-mega-link__detail { font-size:16px; line-height:1.5; margin-top:4px; }
  .ibu-mega--roomy .ibu-mega-link { min-height:56px !important; }
  .ibu-mega:is(.ibu-mega--cards,.ibu-mega--roomy) .ibu-mega-link { padding-inline:20px; }
  .ibu-mega--cards:has(.ibu-mega-column:nth-child(2):last-child) .ibu-mega-link,
  .ibu-mega--cards:has(.ibu-mega-link__detail) .ibu-mega-link { min-height:56px; padding-block:4px; }
  .ibu-mega--cards:has(.ibu-mega-column:nth-child(2):last-child) .ibu-mega-link .ibu-menu-icon { width:46px; height:46px; }
}
@media (max-width:1365px) {
  .ibu-desktop-bar { background:#fff; color:#1e2022; }
  .ibu-desktop-bar__inner { display:flex; align-items:center; justify-content:space-between; min-height:148px; padding:24px var(--ibu-page-gutter); }
  .ibu-desktop-logo img { display:block; width:auto; height:100px; }
  .ibu-desktop-nav,.ibu-desktop-utility,.ibu-desktop-panels { display:none; }
  .ibu-compact-toggle { display:flex; align-items:center; gap:12px; min-height:44px; padding:8px 0 8px 12px; border:0; background:none; color:#1e2022; font:600 14px/1.5 Montserrat,Arial,sans-serif; letter-spacing:.2em; cursor:pointer; }
  .ibu-compact-burger,.ibu-compact-burger::before,.ibu-compact-burger::after { display:block; width:32px; height:2px; background:currentColor; }
  .ibu-compact-burger { position:relative; }
  .ibu-compact-burger::before,.ibu-compact-burger::after { content:''; position:absolute; left:0; }
  .ibu-compact-burger::before { top:-8px; } .ibu-compact-burger::after { top:8px; }
}
@media (max-width:767px) {
  /* Retain the established page-heading font while making its full width usable. */
  .mod_article:has(.ibu-overview-link) > .root { padding-inline:8px; }
  .mod_article:has(.ibu-overview-link) .row { margin-inline:0; }
  .mod_article:has(.ibu-overview-link) .ce_text:has(h1) { padding-inline:0; }
  .mod_article:has(.ibu-overview-link) h1 { hyphens:none; word-break:normal; overflow-wrap:normal; }
}
@media (min-width:768px) {
  /* Flowing frames share the reference's left-to-right image treatment. */
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)) { --ibu-desktop-hero-min: clamp(32rem,38vw,46rem); }
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)).ibu-desktop-primary-hero { --ibu-desktop-hero-min: max(36rem, calc(100svh - var(--ibu-header-height))); }
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)).hero-focal-left { --ibu-hero-focal: left center; }
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)).hero-focal-center { --ibu-hero-focal: center; }
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)).hero-focal-right { --ibu-hero-focal: right center; }
  .ibu-modern-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)).hero-focal-top { --ibu-hero-focal: center top; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) > .unroot > .inner::before { aspect-ratio: auto; min-height: var(--ibu-desktop-hero-min); }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image { background: #343b40; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image .image-mask { opacity: 1; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image img { object-position: var(--ibu-hero-focal,center top); }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(26,36,45,.72) 0%,rgba(32,43,53,.63) 36%,rgba(32,43,53,.22) 60%,rgba(32,43,53,.02) 83%,transparent 100%); pointer-events: none; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system):is(.hero-middle,.hero-bottom) .hero-content { padding: 40px var(--ibu-page-gutter); text-align: left; align-self: center; color: #fff; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(.root,.width-large) { padding: 0; margin: 0; width: 100%; max-width: none; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .hero-width { width: min(55%,48rem); max-width: 48rem; margin: 0; display: block; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,h2,.h1,.h2,.display) { line-height: 1.2; font-weight: 600; color: #fff; letter-spacing: normal; margin: 0 0 1.2rem; padding: 0; background: none; hyphens: none; word-break: normal; overflow-wrap: normal; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h3,h4,h5,h6,.h3,.h4) { hyphens: none; word-break: normal; overflow-wrap: normal; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h1,.h1) { font-size: 3.06rem; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h2,.h2) { font-size: 2.52rem; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .display { font-size: 3.6rem; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h3,.h3) { font-size: 1.62rem; line-height: 1.2; font-weight: 600; color: #fff; margin: 0 0 1.2rem; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(h4,.h4) { font-size: .9rem; line-height: 1.8; font-weight: 600; letter-spacing: .2em; color: #fff; margin: 0 0 1.2rem; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content p { font-size: .9rem; line-height: 1.8; font-weight: 400; color: #fff; margin: 0 0 1.2rem; }
  /* Unconfigured/consent-blocked empty frames must not reserve a blank video. */
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content iframe:not([src]):not([data-src]),
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content iframe[src=""] { display: none; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-cta-group { flex-direction: row; justify-content: flex-start; gap: 16px; margin-top: 20px; margin-bottom: 0; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .btn { width: auto; min-width: 160px; min-height: 46px; padding: 12px 22px; font-size: .72rem; font-weight: 600; line-height: 1.5; letter-spacing: .2em; border-radius: 4px; color: #fff; margin: 0; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .btn-primary { background: var(--ibu-desktop-accent); border-color: var(--ibu-desktop-accent); }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .ibu-hero-cta-group .btn + .btn,
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content :is(.btn-secondary,.btn-third) { background: transparent; border-color: rgba(255,255,255,.8); }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .btn:hover { background: #a82168; border-color: #a82168; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system).text-boxed .hero-width .inner { white-space: normal; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system).hero-bottom .hero-content { align-self: center; }
  .ibu-modern-ready .ibu-hero:not(.ibu-hero-system) { --ibu-accent: var(--ibu-desktop-accent); text-align: left; min-height: var(--ibu-desktop-hero-min); padding-block: 0; }
  .ibu-modern-ready .ibu-hero__image img { object-fit: cover; object-position: var(--ibu-hero-focal,center); }
  .ibu-modern-ready .ibu-hero:not(.ibu-hero-system)::before { background: linear-gradient(90deg,rgba(26,36,45,.72),rgba(32,43,53,.5) 40%,transparent 85%); }
  .ibu-modern-ready .ibu-hero__content { margin: 0; padding: 40px var(--ibu-page-gutter); width: min(55%,48rem); max-width: calc(48rem + 2 * var(--ibu-page-gutter)); }
  .ibu-modern-ready .ibu-hero__content > :is(h1,h2,h3,h4,h5,h6,p) { margin-inline: 0; }
  .ibu-modern-ready .ibu-hero__content > :is(h1,h2,h3,h4,h5,h6) { line-height: 1.2; font-weight: 600; letter-spacing: normal; hyphens: none; word-break: normal; overflow-wrap: normal; }
  .ibu-modern-ready .ibu-hero__content > h1 { font-size: 3.06rem; }
  .ibu-modern-ready .ibu-hero__content > h2 { font-size: 2.52rem; }
  .ibu-modern-ready .ibu-hero__content > h3 { font-size: 1.62rem; }
  .ibu-modern-ready .ibu-hero__lead { font-size: .9rem; line-height: 1.8; font-weight: 400; }
  .ibu-modern-ready .ibu-hero__kicker { font-size: .9rem; line-height: 1.8; font-weight: 600; letter-spacing: .2em; }
  .ibu-modern-ready .ibu-hero__buttons { justify-content: flex-start; }
  .ibu-modern-ready .ibu-hero:not(.ibu-hero-system) .ibu-button { color: #fff; min-height: 46px; padding: 12px 22px; font-size: .72rem; font-weight: 600; line-height: 1.5; letter-spacing: .2em; text-transform: uppercase; }

  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) > .unroot > .inner { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; width:100%; min-width:0; height:auto; min-height:var(--ibu-hero-frame-height,0px); background:#343b40; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) > .unroot > .inner::before { content:''; grid-area:1/1; width:100%; pointer-events:none; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image { position:absolute; inset:0; width:100%; height:100%; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image :is(figure,.image-mask,picture) { display:block; height:100%; margin:0; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-image img { display:block; width:100%; height:100%; object-fit:cover; }
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system):is(.hero-middle,.hero-bottom) .hero-content { position:relative; inset:auto; transform:none; margin:0; grid-area:1/1; min-width:0; max-width:100%; background:transparent; }
  .ibu-modern-ready .slider-hero .slick-nav-list-inside { position:absolute; bottom:0; width:100%; padding:.25rem 3.5rem .5rem; background:transparent; }
  .ibu-modern-ready .slider-hero .slick-nav-arrows { top:50%; bottom:auto; transform:translateY(-50%); border-radius:3px; background:rgba(30,32,34,.6); border:0; }
}
@media (min-width:768px) and (max-width:1365px) {
  .ibu-modern-ready .ce_hero:not(.ibu-hero-system) .hero-content .hero-width { width:min(80%,48rem); }
  .ibu-modern-ready .ibu-hero__content { width:min(80%,48rem); }
  .ibu-modern-ready .slider-hero .slick-nav-arrows { display:block !important; top:auto; bottom:12px; transform:none; }
  .ibu-modern-ready .slider-hero .slick-nav-arrows.slick-hidden { display:none !important; }
}
@media (min-width:1366px) {
  /* A taller shared desktop frame; normal-flow content can still enlarge it. */
  .ibu-modern-ready.ibu-desktop-ready :is(.ce_hero:not(.ibu-hero-system),.ibu-hero:not(.ibu-hero-system)) { --ibu-desktop-hero-min: max(48rem,100svh); }
}

/* ibu-hero.css */
/* One native ibu Hero. Geometry and typography follow the frozen local
   Sachkunde master; editorial choices are safe, inherited custom properties. */
.ibu-modern-ready .article-hero.ibu-hero-primary-responsive { display: block !important; }
.ibu-modern-ready .article-hero.ibu-hero-legacy-mobile { display: none !important; }
.ibu-desktop-ready body.ibu-header--hero { --ibu-hero-header-height:137px; }
/* A carousel has a usable first frame while its deferred controls load. */
.ibu-modern-ready .jsSliderHero:not(.slick-initialized) > [data-ibu-hero]:not(:first-child) { display:none; }
.ibu-modern-ready .ibu-hero-system {
  --ibu-hero-copy-gutter: clamp(5rem,7.55vw,9rem);
  position: relative;
  isolation: isolate;
  display: block;
  min-height: 0;
  padding-block: 0;
  background: transparent;
  color: #343b45;
  text-align: left;
  overflow: visible;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}
.ibu-modern-ready .ibu-hero-system::before { content: none; display: none; }
.ibu-modern-ready .ibu-hero-system > .unroot > .inner {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  background: #fff;
}
.ibu-modern-ready .ibu-hero-system > .unroot > .inner::before { content: none; display: none; }
.ibu-modern-ready .ibu-hero-system .hero-image {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  min-height: 0;
  overflow: hidden;
  background: var(--ibu-hero-photo-background,#000000);
}
.ibu-modern-ready .ibu-hero-system .hero-image :is(figure,.image-mask,picture) {
  display: block;
  height: auto;
  aspect-ratio: auto;
  margin: 0;
  opacity: 1;
}
.ibu-modern-ready .ibu-hero-system .hero-image img {
  display: block;
  position: static;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: var(--ibu-hero-mobile-focal,50% 0%);
  transform: none;
  filter: none;
  opacity: var(--ibu-hero-photo-opacity,.45);
}
/* Legacy image-dark: the photograph is 45% opaque over solid black.
   Individual settings retain the existing adjustable overlay. */
.ibu-modern-ready .ibu-hero-system .hero-image::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  height: auto;
  background: var(--ibu-hero-tint-color,#000000);
  opacity: var(--ibu-hero-mobile-overlay-opacity,0);
  pointer-events: none;
}
.ibu-modern-ready .ibu-hero-system .hero-content {
  position: relative;
  inset: auto;
  transform: none;
  margin: 0;
  margin-top: 0 !important;
  margin-inline: 0 !important;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  padding: 24px 16px 28px;
  background: #fff;
  color: #343b45;
  border: 0;
  border-radius: 0;
  text-align: left;
}
.ibu-modern-ready .ibu-hero-system .hero-content::before { content: none; display: none; }
.ibu-modern-ready .ibu-hero-system .hero-content :is(.root,.width-large) {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
.ibu-modern-ready .ibu-hero-system .hero-width {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.ibu-modern-ready .ibu-hero-system .hero-width::after { content: none; display: none; }
/* Legacy carousel column gutters must not shift or narrow native hero copy. */
.ibu-modern-ready .ibu-hero-system .hero-content .ce_text { margin-bottom: 0; padding-inline: 0; }
.ibu-modern-ready .ibu-hero-system .hero-content .ce_text > .inner { max-width: 65ch; margin: 0; }
.ibu-modern-ready .ibu-hero-system .hero-content :is(h1,h2,h3,h4,h5,h6) {
  max-width: none;
  font-family: Montserrat,Arial,sans-serif;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.2;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: wrap;
  margin: 0 0 1rem;
  padding: 0;
  background: none;
  color: inherit;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__fitted-heading {
  font-size: var(--ibu-hero-fit-font-size) !important;
  overflow-wrap: break-word;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__heading {
  font-size: clamp(1.625rem,6.65vw,2rem);
}
.ibu-modern-ready .ibu-hero-system .hero-content p {
  margin: 0 0 1rem;
  font-size: .9rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: normal;
  color: inherit;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__kicker {
  display: block;
  padding: 0;
  border: 0;
  color: #b5206e;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .2em;
  text-transform: lowercase;
}
.ibu-modern-ready .ibu-hero-system .ibu-hero__kicker::after { content: none; display: none; }
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__subheadline {
  font-size: 1.62rem;
  line-height: 1.2;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__lead { max-width: none; }
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: stretch;
  gap: .75rem;
  margin: 24px 0 0;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 32rem;
  min-width: 0;
  min-height: 48px;
  padding: .85rem 1rem;
  margin: 0;
  font: 600 .72rem/1.5 Montserrat,Arial,sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  color: #fff;
  background: #d12982;
  border-color: transparent;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-button--secondary {
  color: #b5206e;
  background: #fff;
  border-color: #b5206e;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-button:hover {
  color: #fff;
  background: #9e1f62;
  border-color: transparent;
  text-decoration: none;
}
.ibu-modern-ready .ibu-hero-system .hero-content .ce_text > .inner > :last-child { margin-bottom: 0; }
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero-spacer { display:none!important; }
.ibu-modern-ready .ibu-hero-system .hero-content .ce_text > .inner > .ibu-hero__last-content { margin-bottom:0; }
/* Fine position and extra height belong to the desktop photo overlay only. */
.ibu-modern-ready .ibu-hero-system:not(.ibu-hero--overlay) {
  --ibu-hero-offset-x:0px!important; --ibu-hero-offset-y:0px!important;
  --ibu-hero-extra-height:0px!important; --ibu-hero-frame-height:0px!important;
}
.ibu-modern-ready .ibu-hero-system:not(.ibu-hero--overlay) .hero-width { transform:none!important; }
.ibu-hero__curves,.ibu-hero__rail { display: none; pointer-events: none; }
.ibu-hero-header-crop { display: none; }
.ibu-hero-header-crop[hidden] { display: none !important; }
.ibu-hero-motion .slick-slide[aria-hidden="true"] { pointer-events: none; }
.ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(36,48,56,.4);
  color: #fff;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px rgba(0,0,0,.12);
  transition: background .2s, border-color .2s;
}
.ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows:hover {
  background: #b5206e;
  border-color: #b5206e;
}
.ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows:focus-visible {
  outline: 3px solid #ed008c;
  outline-offset: 4px;
}
@media (min-width:960px) {
  /* Keep the controls outside the shared copy rail on smaller desktops. */
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows-prev { left: clamp(.5rem,calc(7.55vw - 5.75rem),1.875rem); }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows-next { right: clamp(.5rem,calc(7.55vw - 5.75rem),1.875rem); }
}
@media (max-width:767px) {
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows {
    width: 44px;
    height: 44px;
    top: var(--ibu-hero-photo-middle,7rem);
    bottom: auto;
    transform: translateY(-50%);
    color: #fff;
    background: rgba(36,48,56,.45);
    border-color: rgba(255,255,255,.55);
  }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows:hover { color: #fff; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-inside {
    position: absolute;
    top: calc(var(--ibu-hero-photo-bottom,14rem) - 48px);
    bottom: auto;
    width: 100%;
    height: 48px;
    padding: 0 3.5rem;
    background: transparent;
  }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-lines li button::before {
    background: rgba(255,255,255,.7);
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
  }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-lines li.slick-active button::before {
    background: #d12982;
  }
}
.ibu-hero__features {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr));
  gap: 1.25rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}
.ibu-hero__feature { min-width: 0; margin: 0; }
.ibu-hero__feature-body { display: flex; align-items: center; gap: 1rem; min-width: 0; color: inherit; text-decoration: none; }
.ibu-hero__feature-body:is(a):hover { text-decoration: underline; }
.ibu-hero__feature-icon { flex: 0 0 36px; position: relative; width: 36px; height: 36px; color: #b5206e; }
.ibu-hero__feature-icon svg { display: block; width: 100%; height: 100%; }
.ibu-hero__feature-text { min-width: 0; }
.ibu-hero__feature-title,.ibu-hero__feature-subtitle { display: block; font-size: .9rem; line-height: 1.6; font-weight: 400; hyphens: none; word-break: normal; overflow-wrap: normal; }
.ibu-hero__feature-subtitle { opacity: .9; }
.ibu-modern-ready .ibu-hero-mobile-crop--landscape .hero-image { aspect-ratio: 16 / 9; }
.ibu-modern-ready .ibu-hero-mobile-crop--square .hero-image { aspect-ratio: 1; }
.ibu-modern-ready .ibu-hero-system:is(.ibu-hero-mobile-crop--landscape,.ibu-hero-mobile-crop--square) .hero-image :is(picture,img) { height: 100%; object-fit: cover; }
@media (768px <= width < 960px) {
  .ibu-modern-ready .ibu-hero-system .hero-content { padding: 24px clamp(24px,4vw,54px) 28px; }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__heading { font-size: clamp(2rem,3.2vw,2.6rem); }
}
@media (min-width:960px) and (max-width:1365px) {
  .ibu-modern-ready .ibu-hero-system { --ibu-hero-copy-gutter: clamp(6.25rem,7.55vw,103px); }
}
@media (max-width:359px) {
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__heading { font-size: clamp(1.5rem,7.2vw,1.625rem); }
}
@media (max-width:767px) {
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__kicker { margin-bottom: 1.2rem; }
}
/* The shared overlay has one implementation. JS selects the existing static
   960px or structural carousel 768px transition, and updates it on resize. */
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay > .unroot > .inner {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: center;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: var(--ibu-hero-frame-height,0px);
  background: transparent;
  overflow: hidden;
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay > .unroot > .inner::before {
  content: '';
  display: block;
  grid-area: 1 / 1;
  width: 100%;
  aspect-ratio: auto;
  min-height: calc(var(--ibu-hero-min-height,max(36rem,calc(100svh - var(--ibu-hero-header-height,0px)))) + var(--ibu-hero-extra-height,0px));
  pointer-events: none;
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--compact { --ibu-hero-min-height: 24rem; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--standard { --ibu-hero-min-height: clamp(32rem,38vw,46rem); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--large { --ibu-hero-min-height: max(40rem,75svh); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  background: var(--ibu-hero-photo-background,#000000);
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-image :is(figure,.image-mask,picture) { display: block; height: 100%; margin: 0; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-image img {
  display: block;
  position: absolute;
  top: calc(-1 * var(--ibu-hero-header-height,0px));
  left: 0;
  width: 100%;
  height: var(--ibu-hero-image-height,100%);
  max-width: none;
  object-fit: cover;
  object-position: var(--ibu-hero-focal,50% 0%);
  transform: none;
  opacity: var(--ibu-hero-photo-opacity,.45);
  filter: none;
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-image::after { opacity: var(--ibu-hero-overlay-opacity,0); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content {
  position: relative;
  isolation: isolate;
  inset: auto;
  transform: none;
  margin: 0;
  grid-area: 1 / 1;
  min-width: 0;
  max-width: 100%;
  /* Copy placement stays consistent when header profiles or photo heights differ. */
  padding: max(4rem,calc(var(--ibu-hero-offset-y,0px) * -1)) var(--ibu-hero-copy-gutter) calc(max(4rem,var(--ibu-hero-offset-y,0px)) + 3rem);
  background: transparent;
  color: #fff;
  text-align: left;
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-width {
  /* Share the same reading width in carousels and standalone heroes, including
     notebook screens where short connecting words otherwise form a third line. */
  width: min(55%,48rem);
  min-width: min-content;
  max-width: 48rem;
  margin: 0;
  transform: translate(clamp(calc(24px - var(--ibu-hero-copy-gutter)),var(--ibu-hero-offset-x,0px),calc(var(--ibu-hero-copy-gutter) - 24px)),var(--ibu-hero-offset-y,0px));
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-width--narrow .hero-width { width: min(38%,34rem); max-width: 34rem; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-width--wide .hero-width { width: min(60%,52rem); max-width: 52rem; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-horizontal--center .hero-width { margin-inline: auto; text-align: center; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-horizontal--right .hero-width { margin-left: auto; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-horizontal--center .ibu-hero-cta-group { justify-content: center; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-vertical--top .hero-content { align-self: start; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-vertical--upper .hero-content { align-self: center; margin-bottom: 10svh; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-vertical--lower .hero-content { align-self: center; margin-top: 10svh !important; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-vertical--bottom .hero-content { align-self: end; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ce_text { margin-bottom: 3.2rem; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ce_text > .inner { max-width: none; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content :is(h1,h2,h3,h4,h5,h6,p:not(.ibu-hero-cta-group)) {
  margin-bottom: 1.2rem;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.18);
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__heading { font-size: clamp(1.9rem,3.4vw,3.06rem); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content p.ibu-hero__kicker {
  color: #fff;
  /* Let only this line extend beyond the heading's reading column. */
  width: max-content;
  max-width: none;
  white-space: nowrap;
  /* A firmer edge and deeper shadow lift the institute name off the photo. */
  text-shadow: 0 1px 1px rgba(0,0,0,.9), 0 2px 4px rgba(0,0,0,.85), 0 0 10px rgba(0,0,0,.35);
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero-cta-group { flex-direction: row; align-items: center; gap: 16px; margin: 20px 0 0; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-button { width: auto; min-width: 160px; min-height: 46px; padding: 12px 22px; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-button--secondary { color: #fff; background: transparent; border-color: rgba(255,255,255,.8); }
/* Secondary page banners share a medium height, independent of the photo.
   The grid can grow for longer copy; text and buttons are never clipped. */
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner { --ibu-hero-min-height: var(--ibu-banner-height,440px); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner .hero-content {
  padding-block: max(2.5rem,calc(var(--ibu-hero-offset-y,0px) * -1)) max(2.5rem,var(--ibu-hero-offset-y,0px));
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner .hero-content .ce_text { margin-bottom: 0; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner .hero-content .ce_text > .inner > :last-child { margin-bottom: 0; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner.ibu-hero-width--standard .hero-width { width: min(65%,52rem); max-width: 52rem; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner.ibu-hero-width--wide .hero-width { width: min(75%,60rem); max-width: 60rem; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-size--banner .hero-content .ibu-hero__heading { font-size: clamp(1.9rem,3vw,2.6rem); }
.ibu-modern-ready .ibu-hero-system.ibu-hero-size--banner .hero-content .ibu-hero__subheadline { font-size: 1.125rem; line-height: 1.65; }
/* On smaller screens the copy keeps its natural height below a wide photo. */
.ibu-modern-ready .ibu-hero-system.ibu-hero-size--banner:not(.ibu-hero--overlay).ibu-hero-mobile-crop--proportional .hero-image { aspect-ratio: 16 / 7; }
.ibu-modern-ready .ibu-hero-system.ibu-hero-size--banner:not(.ibu-hero--overlay).ibu-hero-mobile-crop--proportional .hero-image :is(figure,.image-mask,picture,img) { height: 100%; }
.ibu-modern-ready .ibu-hero-system.ibu-hero-size--banner:not(.ibu-hero--overlay).ibu-hero-mobile-crop--proportional .hero-image img { object-fit: cover; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .ibu-hero__curves {
  display: block;
  position: absolute;
  left: calc(-18rem - var(--ibu-hero-copy-gutter));
  top: -6rem;
  width: 29.25rem;
  height: calc(100% + 15rem);
  border: 2px solid rgba(255,255,255,.24);
  border-radius: 50%;
  background: linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.16));
  box-shadow: inset -24px 0 0 rgba(0,0,0,.10);
  z-index: -1;
  transform: translate(var(--ibu-hero-decoration-x,0px),var(--ibu-hero-decoration-y,0px));
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .ibu-hero__rail {
  display: block;
  position: absolute;
  inset: 0 auto 0 -2.125rem;
  width: 2px;
  background: linear-gradient(180deg,var(--ibu-hero-rail-color,#ed008c) 0%,var(--ibu-hero-rail-color,#ed008c) 76%,color-mix(in srgb,var(--ibu-hero-rail-color,#ed008c) 36%,transparent) 100%);
  pointer-events: none;
  transform: translate(var(--ibu-hero-decoration-x,0px),var(--ibu-hero-decoration-y,0px));
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-rail--short .ibu-hero__rail { bottom: 55%; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-rail--standard .ibu-hero__rail { bottom: 24%; }
/* Carousels retain the existing overlay presentation on tablets. Give that
   structural variant its established wider copy column without hyphenation. */
@media (768px <= width < 960px) {
  .ibu-modern-ready .ibu-hero-system.ibu-hero--overlay { --ibu-hero-copy-gutter: clamp(24px,4vw,54px); }
  .ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-width { width: min(80%,43rem); }
  .ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-width--narrow .hero-width { width: min(65%,34rem); }
  .ibu-modern-ready .ibu-hero-system.ibu-hero--overlay.ibu-hero-width--wide .hero-width { width: min(100%,52rem); }
}
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .ibu-hero__feature-icon { color: #fff; }
.ibu-header--hero.ibu-hero-image-ready .ibu-hero-header-crop {
  display: block;
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--ibu-hero-photo-background,#000000);
  pointer-events: none;
  z-index: -1;
}
.ibu-header--hero .ibu-hero-header-crop img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--ibu-hero-image-height,100%);
  max-width: none;
  object-fit: cover;
  object-position: var(--ibu-hero-focal,50% 0%);
  opacity: var(--ibu-hero-photo-opacity,.45);
  filter: none;
}
.ibu-header--hero .ibu-hero-header-crop::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background: var(--ibu-hero-tint-color,#000000);
  opacity: var(--ibu-hero-overlay-opacity,0);
  pointer-events: none;
}
@media (max-width:959px) {
  .ibu-hero-header-crop { display: none !important; }
}
@media (1366px <= width < 1440px) {
  .ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__heading { font-size: min(3.06rem,3.4vw); }
}
@media (prefers-reduced-motion:reduce) {
  .ibu-hero-system,.ibu-hero-system * { scroll-behavior: auto; transition: none !important; animation: none !important; }
}
/* A closing banner uses its own editable height, without viewport-sized Hero spacing. */
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay {
  --ibu-hero-min-height: var(--ibu-banner-height,440px);
  --ibu-hero-extra-height: 0px;
}
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-content {
  padding-block: 24px;
  align-self: center;
  margin-block: 0 !important;
}
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-width {
  width: min(78%,70rem);
  min-width: 0;
  max-width: 70rem;
}
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-content .ce_text { margin-bottom: 0; }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-content .ibu-hero__heading { font-size: clamp(1.5rem,2.4vw,2.3rem); }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-content :is(h1,h2,h3,p:not(.ibu-hero-cta-group)) { margin-bottom: .65rem; }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-content .ibu-hero__kicker { width: auto; max-width: 100%; white-space: normal; }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner.ibu-hero--overlay .hero-content .ibu-hero-cta-group { margin-top: 16px; }
/* Scale the editor's selected frame, not the uncropped source. The source
   photo and desktop object-position stay identical at every compact width. */
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner:not(.ibu-hero--overlay).ibu-hero-mobile-crop--proportional .hero-image { aspect-ratio: var(--ibu-lower-crop-ratio,1920 / 440); }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner:not(.ibu-hero--overlay).ibu-hero-mobile-crop--proportional .hero-image :is(figure,.image-mask,picture,img) { height: 100%; }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner:not(.ibu-hero--overlay).ibu-hero-mobile-crop--proportional .hero-image img { object-fit: cover; object-position: var(--ibu-hero-focal,50% 0%); }
/* Explicit independent mobile formats keep their own focal point. */
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner:not(.ibu-hero--overlay):is(.ibu-hero-mobile-crop--landscape,.ibu-hero-mobile-crop--square) .hero-image :is(figure,.image-mask,picture,img) { height: 100%; }
.ibu-modern-ready .ibu-hero-system.ibu-lower-banner:not(.ibu-hero--overlay):is(.ibu-hero-mobile-crop--landscape,.ibu-hero-mobile-crop--square) .hero-image img { object-fit: cover; object-position: var(--ibu-hero-mobile-focal,50% 0%); }
/* Separate the compact opening Hero from the next section without adding height. */
.ibu-modern-ready:not(.ibu-desktop-ready) .ibu-hero-system:not(.ibu-lower-banner):not(.ibu-hero--overlay) .hero-content::after {
  content: '';
  display: block;
  position: absolute;
  inset-inline: clamp(16px,3vw,40px);
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(32,58,75,.13) 15%,rgba(32,58,75,.13) 85%,transparent);
  pointer-events: none;
}

/* ibu-typography.css */
/* Brand names keep their spelling inside uppercase buttons and lowercase overlines. */
.ibu-brand-name { text-transform: none !important; }

/* Opt-in formats from the current rendered ibu type scale; semantic tags are independent. */
:root {
  --ibu-type-family: Montserrat, Arial, sans-serif;
  --ibu-type-heading: 3.06rem;
  --ibu-type-large: 3.6rem;
  --ibu-type-section: 2.52rem;
  --ibu-type-kicker: .9rem;
  --ibu-type-lead: 1.26rem;
  --ibu-type-body: .9rem;
  --ibu-type-magenta: #d12982;
}
:is(h1,h2,h3,h4,h5,h6).ibu-type-heading,
:is(h1,h2,h3,h4,h5,h6).ibu-type-large,
:is(h1,h2,h3,h4,h5,h6).ibu-type-section,
:is(h1,h2,h3,h4,h5,h6).ibu-type-accent {
  font-family: var(--ibu-type-family);
  font-size: var(--ibu-type-heading);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  color: #1e2022;
  margin: 0 0 1.2rem;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}
:is(h1,h2,h3,h4,h5,h6).ibu-type-large { font-size: var(--ibu-type-large); }
:is(h1,h2,h3,h4,h5,h6).ibu-type-section { font-size: var(--ibu-type-section); }
:is(p,h1,h2,h3,h4,h5,h6).ibu-type-kicker {
  font-family: var(--ibu-type-family);
  font-size: var(--ibu-type-kicker);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .2em;
  text-transform: lowercase;
  margin: 0 0 1.2rem;
  hyphens: none;
  word-break: normal;
}
.ibu-type-accent,
:is(h1,h2,h3,h4,h5,h6).ibu-type-accent { color: var(--ibu-type-magenta); }
.ibu-type-lead,
.ibu-type-body {
  font-family: var(--ibu-type-family);
  font-size: var(--ibu-type-lead);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: normal;
  text-transform: none;
  margin: 1.2rem 0;
}
.ibu-type-body { font-size: var(--ibu-type-body); }
a.ibu-type-link { color: inherit; text-decoration: underline; }
a.ibu-type-link:hover { color: var(--ibu-type-magenta); }
/* Explicit editor formats remain usable inside the optional Hero rich text. */
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-heading,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-heading { font-size: var(--ibu-type-heading); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-large,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-large { font-size: var(--ibu-type-large); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-section,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-section { font-size: var(--ibu-type-section); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-kicker,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-kicker { font-size: var(--ibu-type-kicker); font-weight: 600; letter-spacing: .2em; text-transform: lowercase; }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-lead,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-lead { font-size: var(--ibu-type-lead); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-body,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-body { font-size: var(--ibu-type-body); }
.ibu-modern-ready .ibu-hero-system.ibu-hero--overlay .hero-content .ibu-hero__body .ibu-type-accent,
.ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__body .ibu-type-accent { color: var(--ibu-type-magenta); }
.text-invert :is(.ibu-type-heading,.ibu-type-large,.ibu-type-section),
.background-brand :is(.ibu-type-heading,.ibu-type-large,.ibu-type-section) { color: inherit; }
@media (max-width: 767px) {
  :root { --ibu-type-heading: 2.448rem; --ibu-type-section: 2.016rem; }
}
@media (max-width: 575px) {
  :root { --ibu-type-heading: 2.142rem; --ibu-type-section: 1.764rem; }
}

/* Shared ibu brand overline: original theme h4 / .h4 / .subtitle.
   Keep semantic headings, copy, spacing and interactions independent. */
:is(.ibu-type-kicker,
.subtitle,
.h4,
.ibu-editorial-kicker,
.ibu-about__kicker,
.ibu-section-intro__kicker,
.azq-kicker,
.ibu-standorte__kicker,
.ibu-standorte-travel__kicker,
.ibu-locations__kicker,
.ibu-course-overview__kicker,
.ibu-exam-framework__kicker,
.ibu-funding-note__kicker,
.ibu-careers__advert-eyebrow,
.ibu-hero__kicker,
.ibu-sachkunde-related__eyebrow):not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
html body main .ibu-funding-section .ibu-funding-note__kicker,
main .ibu-person .ibu-person__body h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-careers .ibu-careers__person h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-careers .accordion h4:not(.ibu-careers__detail-heading,.ibu-careers__detail-subheading,.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-careers .ibu-careers__group-title:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-course-link-card h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-work-intro__heading h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-project-contacts h4.content-headline:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-project-city .ibu-project-city__person h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-wohnheim__contact-band > .row > h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-exam-intro .ibu-exam-offer__copy h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main [data-ibu-sachkunde] .ibu-sachkunde-recognition-copy > h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main [data-ibu-sachkunde] .ce_accordion .accordion h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
main .ibu-sachkunde-related__intro h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title),
body.mce-content-body h4:not(.ibu-type-heading,.ibu-type-large,.ibu-type-section,.ibu-type-accent,.ibu-editorial-title) {
  font-family: var(--ibu-type-family, Montserrat, Arial, sans-serif) !important;
  font-size: var(--ibu-type-kicker, .9rem) !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
  letter-spacing: .2em !important;
  text-transform: lowercase !important;
  color: var(--ibu-brand-kicker-color, var(--ibu-type-magenta, #d12982)) !important;
}
/* Overlines on photos keep the original white contrast. */
.ibu-hero--overlay .ibu-hero__kicker,
.ce_hero .hero-content :is(h4,.h4,.subtitle),
.text-invert,
.background-brand {
  --ibu-brand-kicker-color: #fff;
}



/* ibu-sections.css */
/* Shared, editable section introductions. */
/* Icon lists share ibu-text-icons.css with the backend text editor. */
/* Shared footer contacts. The native text and all destinations stay editable. */
.footer .mod_article:has(.fa-phone) {
  border-top: 1px solid #e3e8ed;
  background: #fff;
  color: #526472;
}
.footer .mod_article:has(.fa-phone) .row {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr);
  align-items: start;
  gap: 28px clamp(24px,3vw,42px);
  margin-inline: 0;
}
.footer .mod_article:has(.fa-phone) .row > .ce_text {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-bottom: 0;
  padding: 0;
}
.footer .mod_article:has(.fa-phone) .row > .ce_text + .ce_text {
  padding-inline-start: clamp(24px,3vw,42px);
  border-inline-start: 1px solid #dfe5eb;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > h3 {
  position: relative;
  margin: 0 0 25px;
  padding: 0 0 13px;
  color: #203a4b;
  font-family: var(--ibu-type-family,Montserrat,Arial,sans-serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: #d12982;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > p {
  margin: 0 0 12px;
  color: #526472;
  font-size: 14px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > p:last-child {
  margin-bottom: 0;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > p:has(> .fa:first-child) {
  position: relative;
  min-height: 32px;
  padding-block: 4px;
  padding-inline-start: 44px;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > p > .fa:first-child {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid #edd5e2;
  border-radius: 50%;
  background: #fcf0f6;
  color: #b5206e;
  font-size: 13px;
  line-height: 1;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > p a {
  color: #203a4b;
  text-decoration-color: #bdcbd4;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: color .18s ease,text-decoration-color .18s ease;
}
.footer .mod_article:has(.fa-phone) .ce_text > .inner > p a:hover {
  color: #b5206e;
  text-decoration-color: currentColor;
}
.footer .mod_article:has(.fa-phone) a:focus-visible {
  outline: 2px solid #b5206e;
  outline-offset: 4px;
  border-radius: 2px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .footer .mod_article:has(.fa-phone) .row {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .footer .mod_article:has(.fa-phone) .row > .ce_text:last-child {
    grid-column: 1 / -1;
    padding: 24px 0 0;
    border-inline-start: 0;
    border-top: 1px solid #dfe5eb;
  }
  .footer .mod_article:has(.fa-phone) .row > .ce_text:last-child > .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    column-gap: 28px;
  }
  .footer .mod_article:has(.fa-phone) .row > .ce_text:last-child h3 {
    flex-basis: 100%;
  }
}
@media (max-width: 767px) {
  .footer .mod_article:has(.fa-phone) .row {
    grid-template-columns: minmax(0,1fr);
    gap: 26px;
  }
  .footer .mod_article:has(.fa-phone) .row > .ce_text + .ce_text {
    padding-inline-start: 0;
    padding-block-start: 24px;
    border-inline-start: 0;
    border-top: 1px solid #dfe5eb;
  }
  .footer .mod_article:has(.fa-phone) .ce_text > .inner > h3 {
    margin-bottom: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .footer .mod_article:has(.fa-phone) .ce_text > .inner > p a { transition: none; }
}

#news-2 { scroll-margin-top: 24px; }
.ibu-section-intro {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 32px;
  text-align: left;
}
.ibu-section-intro > .inner { max-width: 52rem; }
.ibu-section-intro .ibu-section-intro__kicker,
.ibu-section-intro .azq-kicker {
  margin: 0 0 10px;
  color: #b5206e;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .12em;
  text-transform: none;
}
.ibu-section-intro h2 {
  margin: 0 0 14px;
  color: #172936;
  font: 600 clamp(28px,3vw,40px)/1.25 Montserrat,Arial,sans-serif;
  letter-spacing: -.025em;
  text-transform: none;
  hyphens: none;
  overflow-wrap: break-word;
}
.ibu-section-intro p {
  max-width: 75ch;
  margin: 0;
  color: #5b6675;
  font-size: 15px;
  line-height: 1.8;
  text-align: left;
}
.ibu-contact-section > .root > .width-large > .row { align-items: start; }
.ibu-contact-section .ce_form { min-width: 0; margin-bottom: 0; }
.ibu-contact-section .ibu-form-intro { margin-bottom: 32px; }
.ibu-mission-intro > .inner { max-width: 56rem; margin-inline: auto; }

/* A contained photograph beside the homepage form, without enlargement. */
.ibu-contact-section--image > .root > .width-large > .row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  column-gap: clamp(28px,4vw,56px);
  row-gap: 0;
  margin-inline: 0;
}
.ibu-contact-section--image > .root > .width-large > .row > * {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
  padding-inline: 0;
}
.ibu-contact-section--image .ibu-section-intro { grid-column: 1 / -1; }
.ibu-contact-section--image .ce_image { margin: 0; }
.ibu-contact-section--image .ce_image :is(.inner,figure,.image-mask,picture,img) {
  position: static;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  transform: none;
}
.ibu-contact-section--image .ce_image img { display: block; object-fit: contain; }

/* Shared testimonial cards: three on desktop, two on tablet, one on mobile. */
.ibu-testimonials-section { background: #f7f8fa; }
.ibu-testimonials {
  --ibu-testimonial-width: calc((100% - 40px) / 3);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0 15px;
}
.ibu-testimonials__inner { min-width: 0; }
.ibu-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
  align-items: stretch;
}
.ibu-testimonials--ready .ibu-testimonials__grid {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: var(--ibu-testimonial-width);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  scroll-padding: 0;
}
.ibu-testimonials__grid::-webkit-scrollbar { display: none; }
.ibu-testimonials__grid > :is(.ce_text,.ce_card) {
  float: none;
  display: flex;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  clear: none;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  color: #172936;
  text-align: left;
}
.ibu-testimonials__grid > :is(.ce_text,.ce_card) > .inner {
  flex: 1;
  min-width: 0;
  width: 100%;
  padding: 20px;
  border: 1px solid #e7e9ed;
  border-top: 3px solid #b5206e;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 4px 20px rgba(23,41,54,.04);
  text-align: left;
}
.ibu-testimonials__grid .ibu-testimonial > .inner { display: flex; flex-direction: column; }
.ibu-testimonials__grid .ibu-testimonial:is(:hover,:focus-within) > .inner { background: #fff; transform: none; }
.ibu-testimonials__grid .ibu-testimonial::before,
.ibu-testimonials__grid .ibu-testimonial::after,
.ibu-testimonials__grid .ibu-testimonial > .inner::before,
.ibu-testimonials__grid .ibu-testimonial > .inner::after { display: none; }
.ibu-testimonial__media {
  flex: 0 0 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 104px;
  margin-bottom: 16px;
  background: #fff;
}
.ibu-testimonial__media--quote { background: #fcf0f6; color: #b5206e; font: 72px/1 Georgia,serif; }
.ibu-testimonials__grid .image-container {
  float: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 104px;
  margin: 0;
  background: #fff;
}
.ibu-testimonials__grid .image-mask,
.ibu-testimonials__grid .image-container :is(a,picture) { display: block; width: 100%; height: 100%; }
.ibu-testimonials__grid .image-container img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  border-radius: 0;
}
.ibu-testimonial__identity { min-height: 74px; margin-bottom: 12px; text-align: left; }
.ibu-testimonials__grid .ibu-testimonial :is(h3,h4) { text-align: left !important; }
.ibu-testimonials__grid h3 {
  margin: 0 0 6px;
  color: #172936;
  font: 600 20px/1.35 Montserrat,Arial,sans-serif;
  letter-spacing: -.015em;
  text-transform: none;
}
.ibu-testimonials__grid h4 {
  margin: 0;
  color: #b5206e;
  font: 600 12px/1.6 Montserrat,Arial,sans-serif;
  letter-spacing: .025em;
  text-transform: none;
}
.ibu-testimonials__grid h4 em { font-style: normal; }
.ibu-testimonials__grid p {
  margin: 0 0 12px;
  color: #5b6675;
  font-size: 14px;
  font-style: normal;
  line-height: 24px;
  text-align: left !important;
  overflow-wrap: break-word;
}
.ibu-testimonials__grid p em { font-style: inherit; }
.ibu-testimonials__grid p:last-child { margin-bottom: 0; }
.ibu-testimonial__quote {
  flex: 0 0 120px;
  max-height: 120px;
  overflow: hidden;
  color: #5b6675;
  font-size: 14px;
  line-height: 24px;
}
.ibu-testimonial__quote--long .ibu-testimonial__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
.ibu-testimonials__grid p.ibu-testimonial__excerpt { margin: 0; }
.ibu-testimonial__full-text[hidden] { display: none; }
.ibu-testimonial__footer { min-height: 44px; margin-top: 8px; text-align: left; }
.ibu-testimonials .ibu-testimonial__more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #a41461;
  font: 600 12px/1.5 Montserrat,Arial,sans-serif;
  cursor: pointer;
}
.ibu-testimonial__more::after { content: '↗'; margin-left: 8px; font-size: 16px; }
.ibu-testimonials .ibu-testimonial__more:hover { color: #7d104a; text-decoration: underline; text-underline-offset: 4px; }
.ibu-testimonials__controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; }
.ibu-testimonials__controls[hidden],.ibu-testimonial__more[hidden] { display: none; }
.ibu-testimonials .ibu-testimonials__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #e3c2d4;
  border-radius: 0;
  background: #fff;
  color: #a41461;
  cursor: pointer;
}
.ibu-testimonials__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.ibu-testimonials .ibu-testimonials__arrow:hover:enabled { background: #a41461; border-color: #a41461; color: #fff; }
.ibu-testimonials .ibu-testimonials__arrow:disabled { opacity: .35; cursor: default; }
.ibu-testimonials__status { min-width: 80px; color: #5b6675; text-align: center; font: 500 12px/1.5 Montserrat,Arial,sans-serif; font-variant-numeric: tabular-nums; }
.ibu-testimonials :is(button,a,[tabindex]):focus-visible { outline: 2px solid #a41461; outline-offset: -3px; }
.ibu-testimonial-dialog {
  box-sizing: border-box;
  width: min(640px,calc(100% - 32px));
  max-width: 640px;
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: clamp(24px,4vw,40px);
  overflow: auto;
  border: 1px solid #e7e9ed;
  border-top: 3px solid #b5206e;
  border-radius: 0;
  background: #fff;
  color: #172936;
  box-shadow: 0 16px 80px #17293633;
}
.ibu-testimonial-dialog::backdrop { background: #17293699; }
.ibu-testimonial-dialog:not([open]) { display: none; }
.ibu-testimonial-dialog__close {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 0 0 20px auto;
  padding: 6px 12px;
  border: 0;
  border-radius: 24px;
  background: #fff3f8;
  color: #a41461;
  font: 600 12px/1.5 Montserrat,Arial,sans-serif;
  cursor: pointer;
}
.ibu-testimonial-dialog__close:hover { background: #fbe5f0; color: #7d104a; }
.ibu-testimonial-dialog__close:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.ibu-testimonial-dialog__close span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; font: 400 24px/1 Arial,sans-serif; }
.ibu-testimonial-dialog h2 { margin: 0 0 8px; color: #172936; font: 600 26px/1.35 Montserrat,Arial,sans-serif; text-transform: none; }
.ibu-testimonial-dialog__organization { margin: 0 0 24px; color: #a41461; font: 600 13px/1.6 Montserrat,Arial,sans-serif; }
.ibu-testimonial-dialog__text { color: #5b6675; font: 400 15px/1.8 Montserrat,Arial,sans-serif; }
.ibu-testimonial-dialog__text :is(p,em,blockquote) { color: inherit; font: inherit; text-align: left; }
.ibu-testimonial-dialog__text p { margin: 0 0 16px; }
.ibu-testimonial-dialog__text p:last-child { margin-bottom: 0; }
.ibu-testimonial-dialog :is(button,a):focus-visible { outline: 2px solid #a41461; outline-offset: 3px; }
body.ibu-testimonial-dialog-open { overflow: hidden; }
@media (max-width:1099px) {
  .ibu-testimonials { --ibu-testimonial-width: calc((100% - 20px) / 2); }
  .ibu-testimonials__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:639px) {
  .ibu-testimonials { --ibu-testimonial-width: 100%; }
  .ibu-testimonials__grid { grid-template-columns: minmax(0,1fr); }
  .ibu-testimonial-dialog { max-height: calc(100dvh - 24px); }
}
@media (max-width:767px) {
  .ibu-contact-section--image > .root > .width-large > .row { grid-template-columns: minmax(0,1fr); }
  .ibu-contact-section--image .ce_image { margin-top: 32px; }
  .ibu-section-intro { margin-bottom: 24px; }
}

/* ibu-text-icons.css */
/* The list owns its appearance, including when it moves into Weiterlesen. */
.ce_text.list-icon {
  --ibu-benefits-accent:#d12982;
  --ibu-benefits-icon-background:rgba(209,41,130,.1);
  --ibu-benefits-divider:#e9edf1;
}
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) {
  margin:0;
  padding:0;
  list-style:none;
}
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li {
  position:relative;
  min-height:34px;
  margin:0;
  padding:14px 0 14px 52px;
  border-bottom:1px solid var(--ibu-benefits-divider,#e9edf1);
  font-size:15px;
  line-height:1.85;
  overflow-wrap:break-word;
}
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li:last-child { border-bottom:0; }
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > p {
  margin:0;
  font-size:inherit;
  line-height:inherit;
}
.fa.ibu-text-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.5em;
  height:1.5em;
  margin-inline-end:.35em;
  border-radius:50%;
  background:var(--ibu-benefits-icon-background,rgba(209,41,130,.1));
  color:var(--ibu-benefits-accent,#d12982);
  font-size:1.2em;
  line-height:1;
  vertical-align:middle;
}
a.ibu-icon-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  line-height:1;
  vertical-align:middle;
  text-decoration:none;
}
a.ibu-icon-link > .ibu-text-icon { margin:0; }
a.ibu-icon-link:hover > .ibu-text-icon { background:#d12982; color:#fff; }
a.ibu-icon-link:focus-visible { outline:2px solid #c02178; outline-offset:4px; }
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > a.ibu-icon-link:first-child,
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > p:first-child > a.ibu-icon-link:first-child {
  position:absolute;
  top:calc(14px - .25em);
  left:0;
  font-size:1.62rem;
}
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > a.ibu-icon-link:first-child > .ibu-text-icon,
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > p:first-child > a.ibu-icon-link:first-child > .ibu-text-icon {
  position:static;
  font-size:inherit;
}
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > .fa:first-child,
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li > p:first-child > .fa:first-child,
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li:not(.ibu-icon-list__plain):not(:has(> .fa:first-child,> a.ibu-icon-link:first-child > .fa,> p:first-child > .fa:first-child,> p:first-child > a.ibu-icon-link:first-child > .fa))::before {
  position:absolute;
  top:calc(14px - .25em);
  left:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:1.5em;
  height:1.5em;
  margin:0;
  padding:0;
  border-radius:50%;
  background:var(--ibu-benefits-icon-background,rgba(209,41,130,.1));
  color:var(--ibu-benefits-accent,#d12982);
  font:normal normal normal 1.62rem/1 FontAwesome;
  text-align:center;
}
:is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li:not(.ibu-icon-list__plain):not(:has(> .fa:first-child,> a.ibu-icon-link:first-child > .fa,> p:first-child > .fa:first-child,> p:first-child > a.ibu-icon-link:first-child > .fa))::before { content:'\f046'; }
:is(.text-invert,.background-brand) :is(.ce_text.list-icon,ul.ibu-icon-list),
.ce_text.list-icon:is(.text-invert,.background-brand) {
  --ibu-benefits-accent:#fff;
  --ibu-benefits-icon-background:#ffffff1f;
  --ibu-benefits-divider:#ffffff2e;
}
@media(max-width:639px) {
  :is(.ce_text.list-icon > .inner > ul,ul.ibu-icon-list) > li { font-size:14px; }
}

/* ibu-page.css */
/* Shared page rhythm. Native Contao articles remain editable and duplicable. */
:root { --ibu-page-gap: clamp(24px,2.5vw,40px); --ibu-page-width: 1230px; --ibu-page-gutter: max(24px,calc((var(--ibu-page-viewport,100vw) - var(--ibu-page-width)) / 2)); }
main .ibu-page-section {
  margin-block: 0 !important;
  padding-block: var(--ibu-page-gap);
  height: auto !important;
  max-height: none !important;
}
main .ibu-page-section:is(.background-soft,.background-brand,.background-brand-light,.ibu-testimonials-section) {
  padding-block: var(--ibu-page-gap);
}
/* Explicit Contao article option for sections that must stay white. */
main .ibu-page-section.background-white,
main .ibu-page-section.background-white .ibu-editorial-surface {
  --ibu-editorial-background: #fff !important;
  background-color: #fff !important;
}
main .ibu-page-section > .root > :is(.width-large,.width-medium) { max-width: var(--ibu-page-width); }
main .ibu-page-section > .root > .width-large > .row { row-gap: 24px; margin-bottom: 0; }
main .ibu-page-section > .root > .width-large > .row > * { margin-bottom: 0; }
main .ibu-page-section .row > :is(.ce_text,.ce_image,.ce_form,.ce_gallery) { margin-bottom: 0; }
main .ibu-page-section .ce_text > .inner > :last-child { margin-bottom: 0; }
/* Content rows own their full height, including nested editor wrappers. */
main .ibu-page-section .ibu-flow-row { margin-bottom: 0; }
main .ibu-page-section .ibu-flow-row:has(> .ibu-flow-group) { row-gap: 24px; }
main .ibu-page-section .ibu-flow-row > :is(.ce_text,.ce_headline,.ce_sHtml5Start) { height: auto !important; max-height: none !important; }
main .ibu-page-section .ce_text > .inner { display: flow-root; }
main .ibu-page-section .ibu-flow-group {
  position: static !important; inset: auto !important; transform: none !important;
  margin-block: 0 !important;
  width: 100% !important; max-width: 100% !important; min-width: 0;
  height: auto !important; max-height: none !important;
  box-sizing: border-box; overflow-wrap: anywhere;
}
main .ibu-page-section .ibu-flow-group div:has(> p):has(h2,h3,h4) { height: auto !important; max-height: none !important; min-width: 0; }
/* Button rows own their height, including wrapped actions. */
main .ibu-page-section .ce_text > .inner > p:has(> a.button,> a.btn) {
  display: flex; flex-wrap: wrap; align-items: flex-start;
  gap: 16px; margin: 20px 0;
}
main .ibu-page-section .ce_text > .inner > p > :is(a.button,a.btn) { margin: 0; }
/* Closed module rows follow one another; expanded text supplies its own height. */
main .ibu-page-section .row:has(> .ce_accordion) { row-gap: 0; }
main .ibu-page-section .ce_accordion { margin-bottom: 0 !important; }
main .ibu-page-section .ce_accordion .toggler { padding-block: 14px; }
main .ibu-page-section .ce_accordion .accordion > div { padding-block: 8px 20px; }
/* Native, editor-owned overview directly below each main Hero. */
main .ibu-page-section .row:has(> .ibu-info-card) {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px;
  margin-inline: 0; align-items: stretch !important;
}
.ibu-info-card { width: 100%; max-width: 100%; min-width: 0; padding: 0; }
.ibu-info-card__inner { min-width: 0; height: auto; text-align: center; justify-items: center; }
.ibu-info-card__icon {
  display: flex; align-items: center; justify-content: center;
  width: 60px; height: 60px; margin: 0 auto 20px; border-radius: 50%;
  color: #d12982; background: #faeaf3; font-size: 32px;
}
.ibu-info-card .ibu-info-card__title { margin: 0 0 16px; font-size: 25.6px; line-height: 1.3; font-weight: 600; text-transform: none; letter-spacing: normal; text-align: center !important; }
.ibu-info-card__body { min-width: 0; width: 100%; overflow-wrap: break-word; text-align: center; }
/* Imported descriptions may carry inline text-align:left on nested elements. */
.ibu-info-card__body,
.ibu-info-card__body * { text-align: center !important; }
/* Compact introductions share one title gap and wrap into balanced lines. */
.ibu-info-card__body p { margin-block: 0; text-wrap: balance; }
.ibu-info-card__body > :not(.ibu-empty-spacer) ~ :not(.ibu-empty-spacer) { margin-top: 1em; }
.ibu-info-card__body > :first-child { margin-top: 0; }
.ibu-info-card__body > :last-child { margin-bottom: 0; }
.ibu-info-card__body a[href^="tel:"] { white-space: nowrap; }
.ibu-info-card__icon :is(img,svg) { display: block; width: 34px; height: 34px; max-width: 100%; max-height: 100%; object-fit: contain; }
.ibu-info-card__icon :is(i,span) { line-height: 1; }
/* The compact career variant uses the same centered icon/text presentation. */
body main .ibu-career-benefits .ibu-info-card__inner {
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
  text-align: center;
  row-gap: 12px;
}
body main .ibu-career-benefits .ibu-info-card__icon { grid-column: 1; grid-row: 1; justify-self: center; }
body main .ibu-career-benefits .ibu-info-card__title { grid-column: 1; grid-row: 2; text-align: center !important; }
body main .ibu-career-benefits .ibu-info-card__body { grid-column: 1; grid-row: 3; text-align: center; }
/* Shared rows align icons, title starts and body starts, including wrapped titles. */
@supports (grid-template-rows: subgrid) {
  main .ibu-page-section .row:has(> .ibu-info-card) { row-gap: 0 !important; }
  .ibu-info-card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
  .ibu-info-card__inner { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
}
body main .ibu-site-button {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: auto !important; min-width: 160px !important; max-width: 100% !important;
  height: auto !important; min-height: 46px !important; max-height: none !important;
  margin: 0 !important; padding: 12px 22px !important; border-radius: 3px !important;
  font-family: inherit !important; font-size: 12px !important; font-weight: 600 !important;
  line-height: 18px !important; letter-spacing: .14em !important;
  text-transform: uppercase; text-align: center; white-space: normal;
  overflow-wrap: anywhere; box-sizing: border-box;
}
main .mod_article.article-hero { margin-block: 0; }
main .article-hero > .root > .width-full > .row { margin-bottom: 0; }
main .ibu-empty-section { display: none; }
.ibu-empty-spacer { display: none !important; }
.ibu-content-pair {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(32px,4vw,64px);
  width: var(--ibu-page-viewport,100vw);
  margin-inline: calc((100% - var(--ibu-page-viewport,100vw)) / 2);
  min-width: 0;
  padding-inline: 0;
  overflow: clip;
}
.ibu-content-pair > :is(.ce_text,.ce_image) {
  width: 100%; max-width: 100%; min-width: 0;
  margin: 0 !important; padding: 0 !important; flex: none;
}
.ibu-content-pair .ce_text { text-align: left; }
.ibu-content-pair > .ce_text:first-child { padding-inline-start: var(--ibu-page-gutter) !important; }
.ibu-content-pair > .ce_text:last-child { padding-inline-end: var(--ibu-page-gutter) !important; }
/* Two editor-selected native photos, each retaining the standard 16:9 frame. */
.ibu-content-pair--photo-stack { align-items: start; }
.ibu-photo-stack {
  position: relative; display: grid; grid-template-columns: minmax(0,1fr);
  gap: 26px; min-width: 0; min-height: 0; align-self: start;
}
.ibu-photo-stack::before {
  content: ''; position: absolute; z-index: 1; pointer-events: none;
  left: 50%; top: calc(50% - 13px); width: 1px; height: 26px;
  background: linear-gradient(transparent,#d12982 35%,#d12982 65%,transparent); opacity: .45;
}
.ibu-photo-stack::after {
  content: ''; position: absolute; z-index: 1; pointer-events: none;
  left: calc(50% - 3px); top: calc(50% - 3px); width: 6px; height: 6px;
  border-radius: 50%; background: #d12982; box-shadow: 0 0 0 4px #fff;
}
main .ibu-photo-stack > .ce_image,
main .ibu-photo-stack > .ce_image > .inner {
  width: 100% !important; max-width: 100% !important; min-width: 0; min-height: 0;
  height: auto !important; margin: 0 !important; padding: 0 !important;
}
main .ibu-photo-stack figure.ibu-photo { aspect-ratio: 16 / 9; height: auto !important; margin: 0 !important; }
main .ibu-photo-stack .ibu-photo :is(.image-mask,a,picture) {
  height: 100% !important; min-height: 0; margin: 0 !important;
}
main .ibu-photo-stack .ibu-photo img {
  position: absolute; inset: 0; height: 100% !important; aspect-ratio: 16 / 9;
  object-position: center top;
}
@media (max-width: 1199px) {
  .ibu-content-pair--photo-stack { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .ibu-content-pair--photo-stack > .ce_text { grid-row: 1; padding-inline: 24px !important; }
  .ibu-content-pair--photo-stack > .ibu-photo-stack { grid-row: 2; }
  .ibu-photo-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ibu-photo-stack::before { left: calc(50% - 13px); top: 50%; width: 26px; height: 1px; background: linear-gradient(90deg,transparent,#d12982 35%,#d12982 65%,transparent); }
}
@media (max-width: 767px) {
  .ibu-photo-stack { grid-template-columns: minmax(0,1fr); }
  .ibu-photo-stack::before { left: 50%; top: calc(50% - 13px); width: 1px; height: 26px; background: linear-gradient(transparent,#d12982 35%,#d12982 65%,transparent); }
}
/* Retain Azubi's chosen responsive file; use the same frame as other photos. */
main .ibu-page-section .azq-responsive-block.ibu-content-pair {
  display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  width: var(--ibu-page-viewport,100vw) !important; max-width: none !important;
  margin-block: 0 !important; margin-inline: calc((100% - var(--ibu-page-viewport,100vw)) / 2) !important;
  padding: 0 !important; gap: clamp(32px,4vw,64px) !important;
  align-items: center !important;
}
main .ibu-page-section .azq-responsive-block.ibu-content-pair > :is(.ce_text,.ce_image) {
  width: 100% !important; max-width: 100% !important; margin: 0 !important;
  order: 0 !important; float: none !important;
}
main .ibu-page-section .azq-responsive-block.ibu-content-pair > .ce_text { padding: 0 !important; }
main .ibu-page-section .azq-responsive-block.ibu-content-pair > .ce_text:first-child { padding-inline-start: var(--ibu-page-gutter) !important; }
main .ibu-page-section .azq-responsive-block.ibu-content-pair > .ce_text:last-child { padding-inline-end: var(--ibu-page-gutter) !important; }
main .ibu-page-section .azq-responsive-block.ibu-content-pair > .ce_image { padding: 0 !important; }
main .ibu-page-section .azq-responsive-block .ibu-photo img { object-fit: cover !important; }
main .ibu-photo, main .ibu-photo .image-mask {
  display: flow-root;
  float: none !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-inline: 0 !important;
  transform: none !important;
}
main figure.ibu-photo { width: 100% !important; margin-inline: 0 !important; }
main .ibu-page-section .ce_gallery ul {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(32px,4vw,64px); width: var(--ibu-page-viewport,100vw);
  margin-block: 0; margin-inline: calc((100% - var(--ibu-page-viewport,100vw)) / 2); padding: 0;
}
main .ibu-page-section .ce_gallery ul > li { width: 100%; max-width: 100%; margin: 0; padding: 0; }
main .ibu-page-section .ce_gallery ul > li:last-child:nth-child(odd) {
  grid-column: 1 / -1; justify-self: center;
  width: calc((100% - clamp(32px,4vw,64px)) / 2);
}
main .ibu-photo :is(a,picture) { display: block; width: 100%; max-width: 100%; }
main .ibu-photo img {
  display: block;
  width: 100% !important; max-width: 100% !important;
  height: auto !important; aspect-ratio: 16 / 9;
  object-fit: cover; object-position: center;
  transform: none !important;
  border-radius: 6px;
}
main :is(.ibu-photo,.ibu-image-action) a { cursor: zoom-in; }
main .ibu-photo img[src$=".svg"] { object-fit: contain; }
main .ibu-photo a:focus-visible { outline: 2px solid #d12982; outline-offset: 4px; }
/* Funder/partner marks keep their entire artwork, including lettering. */
main figure.ibu-logo, main .ibu-logo .image-mask {
  display: block; float: none !important; position: relative !important;
  inset: auto !important; width: 100% !important; max-width: 100% !important;
  height: auto !important; margin-inline: 0 !important; transform: none !important;
}
main .ibu-logo :is(a,picture) { display: block; width: 100%; max-width: 100%; }
main .ibu-logo img {
  display: block; width: 100% !important; max-width: 100% !important;
  height: auto !important; aspect-ratio: auto !important; object-fit: contain !important;
  transform: none !important; scale: none !important; translate: none !important;
  border-radius: 0;
}
main .ibu-logo a:focus-visible { outline: 2px solid #d12982; outline-offset: 4px; }
/* Keep the funding notice and duration above a shared row of original logos. */
main .ibu-funding-section .ibu-funding-meta,
main .ibu-funding-section .row:has(> .ibu-partner-logos) {
  display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr);
  align-items: start; gap: 24px 40px; margin-inline: 0;
}
main .ibu-funding-meta > .ibu-funding-copy,
main .ibu-funding-section .row > .ibu-funding-copy {
  width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important;
}
main .ibu-funding-copy :is(p,h5) { font-size: .9rem; line-height: 1.8; font-weight: 400; margin: 0; }
main .ibu-funding-section .row > .ibu-partner-logos { grid-column: 1 / -1; padding-inline: 0; }
main .ibu-funding-logos { grid-column: 1 / -1; }
@media (max-width: 767px) {
  main .ibu-funding-section .ibu-funding-meta,
  main .ibu-funding-section .row:has(> .ibu-partner-logos) { grid-template-columns: minmax(0,1fr); gap: 20px; }
}
main .ibu-page-section .image-enlarge { overflow: visible; }
/* One compact logo format for project funders and partner strips, at every count. */
main .ibu-page-section.ibu-partners { background: #f7f8fa; }
.ibu-partners__grid, main .ibu-funding-logos {
  --ibu-partner-columns: 5; --ibu-partner-gap: 16px;
  display: flex; flex-wrap: wrap; justify-content: center;
  align-items: center; gap: var(--ibu-partner-gap); width: 100%; min-width: 0;
}
.ibu-partners__grid > :is(a,span), main .ibu-funding-logos > figure.ibu-logo {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 calc((100% - (var(--ibu-partner-columns) - 1) * var(--ibu-partner-gap)) / var(--ibu-partner-columns));
  width: auto !important; min-width: 0; height: 112px !important;
  min-height: 0; margin: 0; padding: 16px; box-sizing: border-box;
  border: 1px solid #e8ebef; border-radius: 6px; background: #fff;
}
.ibu-partners__grid img, main .ibu-funding-logos .ibu-logo img {
  display: block; width: 100% !important; height: 76px !important;
  max-width: 100% !important; max-height: 76px !important; margin: 0 !important;
  aspect-ratio: auto !important; object-fit: contain !important;
}
.ibu-partners__grid a:focus-visible { outline: 2px solid #d12982; outline-offset: 3px; }
@media (max-width: 991px) {
  .ibu-partners__grid, main .ibu-funding-logos { --ibu-partner-columns: 3; }
}
@media (max-width: 767px) {
  .ibu-partners__grid, main .ibu-funding-logos { --ibu-partner-columns: 2; --ibu-partner-gap: 12px; }
  .ibu-partners__grid > :is(a,span), main .ibu-funding-logos > figure.ibu-logo { height: 100px !important; padding: 12px; }
  .ibu-partners__grid img, main .ibu-funding-logos .ibu-logo img { height: 74px !important; max-height: 74px !important; }
}
.ibu-page-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.ibu-page-nav a {
  display: inline-flex; align-items: center; min-height: 44px;
  padding: 8px 16px; border: 1px solid #e3e8ef; border-radius: 4px;
  background: #fff; color: inherit; text-decoration: none;
}
.ibu-page-nav a:is(:hover,:focus-visible) { border-color: #d12982; color: #d12982; }
main :is(.ibu-page-section,[id=kontakt],[id=anmeldung],[id=termine],[id=module],[id=aufbaumodule]) { scroll-margin-top: 32px; }
/* Native contact Hero link: smooth anchor navigation, with a little room above the form. */
html:has(main #kontaktformular) { scroll-behavior: smooth; }
main #kontaktformular { scroll-margin-top: 32px; }
@media (prefers-reduced-motion:reduce) {
  html:has(main #kontaktformular) { scroll-behavior: auto; }
}
.ibu-page-anchor { display: block; height: 0; scroll-margin-top: 32px; }
main .ibu-contact-section:not(.ibu-contact-section--image) .ce_form { width: 100%; max-width: 100%; }
main .ibu-page-section .ce_form { margin-inline: 0 !important; text-align: left; }
main .ibu-page-section > .root > .width-large > .row > .ce_form:not([class*="col-"]) {
  width: calc(100% - 30px); max-width: 960px; margin-inline: 15px 0 !important;
}
main .ibu-page-section .ce_form > .inner,
main .ibu-page-section .ibu-form { margin-inline: 0; text-align: left; }
main .ibu-contact-section:not(.ibu-contact-section--image) .ce_form > .inner { max-width: 960px; }
main .ibu-contact-section:not(.ibu-contact-section--image) .ibu-form { max-width: 960px; }
main .ibu-page-section .ibu-split { padding-block: 0; }
main .ibu-page-section .ibu-split .ibu-component__container { width: 100%; max-width: 100%; }
main .ibu-page-section .ibu-split .ibu-split__grid {
  width: var(--ibu-page-viewport,100vw); max-width: none;
  margin-inline: calc((100% - var(--ibu-page-viewport,100vw)) / 2);
}
main .ibu-page-section .ibu-split__body { padding-inline-start: var(--ibu-page-gutter); }
main .ibu-page-section .ibu-image--left .ibu-split__body { padding-inline: 0 var(--ibu-page-gutter); }
main .ibu-page-section .ibu-split__body { color: #6f708b; }
main .ibu-page-section .ibu-split__body :is(h1,h2,h3) { color: #1e2022; }
main .ibu-page-section .ibu-split__body h4 { color: #d12982; text-transform: lowercase; }
main .ibu-contact-section .ibu-form-intro { margin-bottom: 24px; }
/* A shared page ending: white contact invitation, soft logo band, white footer. */
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) {
  padding-block: clamp(40px,4.5vw,64px);
  background: #fff; color: #203a4b; text-align: left;
}
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) .ce_text {
  width: 100%; max-width: 100%; margin: 0; text-align: left;
}
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) .ce_text > .inner {
  max-width: 960px; margin-inline: 0; padding-block: 0; text-align: left;
}
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) :is(h2,h3) {
  margin: 0 0 18px; color: #203a4b;
  font-size: clamp(28px,2.8vw,36px); font-weight: 600; line-height: 1.3;
  letter-spacing: normal; text-transform: none;
}
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) h4 {
  margin: 0 0 14px; color: #c02178;
  font-size: 12px; font-weight: 600; line-height: 1.7;
  letter-spacing: .16em; text-transform: lowercase;
}
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) p {
  max-width: 76ch; margin: 0; color: #596c79; font-size: 15px; line-height: 1.85;
}
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) :is(h2,h3,h4,p) { text-align: left; }
main .ibu-page-section:is(.ibu-about-cta,.ibu-standorte-cta,.ibu-consultation-section):not(:has(.ibu-hero-system,form)) .ce_text > .inner > p:has(> a.btn,> a.button) {
  display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;
  gap: 12px 16px; max-width: none; margin: 24px 0 0;
}
.footer .mod_article:has(.fa-phone) { margin-block: 0; padding-block: clamp(36px,4vw,56px); }
.footer .mod_article:has(.fa-phone) .row { margin-bottom: 0; }
/* An independent, local image dialog; Escape and focus return use native dialog behavior. */
.ibu-image-dialog { width:min(1600px,calc(100% - 32px)); max-width:calc(100% - 32px); height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); padding:0; border:1px solid #ffffff20; border-radius:10px; color:#f4f6f7; background:#172128; overflow:hidden; box-shadow:0 18px 70px #0005; }
.ibu-image-dialog:not([open]) { display: none; }
.ibu-image-dialog [hidden] { display:none!important; }
.ibu-image-dialog[open] { display:flex; flex-direction:column; }
.ibu-image-dialog::backdrop { background: rgb(15 22 30 / .8); }
.ibu-image-dialog__head { display:flex; flex:none; align-items:center; gap:16px; min-height:50px; padding:7px 12px 7px 18px; border-bottom:1px solid #ffffff16; background:#26333b; }
.ibu-image-dialog__head p { flex:1; min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; line-height:1.5; font-weight:500; }
.ibu-image-dialog__tools { display:flex; flex:none; align-items:center; gap:6px; }
.ibu-image-dialog button,.ibu-image-dialog__link { display:inline-flex; justify-content:center; align-items:center; min-width:34px; min-height:34px; padding:5px 10px; border:1px solid #ffffff38; border-radius:5px; color:inherit; background:#ffffff08; font:inherit; font-size:12px; font-weight:500; line-height:1.4; text-decoration:none; cursor:pointer; }
.ibu-image-dialog [data-image-action="zoom-in"],.ibu-image-dialog [data-image-action="zoom-out"],.ibu-image-dialog .ibu-image-dialog__close { padding:3px; font-size:22px; }
.ibu-image-dialog [data-image-action="fit"] { min-width:76px; font-variant-numeric:tabular-nums; }
.ibu-image-dialog :is(button,a):hover { background:#ffffff18; color:#fff; border-color:#ffffff80; text-decoration:none; }
.ibu-image-dialog button:disabled { opacity:.35; cursor:default; }
.ibu-image-dialog__media { position:relative; flex:1; min-width:0; min-height:0; padding:20px; overflow:auto; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom; background:#172128; }
.ibu-image-dialog__canvas { display:grid; place-items:center; min-width:100%; min-height:100%; }
.ibu-image-dialog__canvas[hidden],.ibu-image-dialog img[hidden],.ibu-image-dialog__status[hidden] { display:none; }
.ibu-image-dialog img { display:block; flex:none; width:auto; height:auto; max-width:none; max-height:none; object-fit:contain; margin:0; border-radius:2px; box-shadow:0 6px 28px #0004; user-select:none; }
.ibu-image-dialog__media[data-image-zoomed="true"] { cursor:grab; }
.ibu-image-dialog__media.is-dragging { cursor:grabbing; }
.ibu-image-dialog__status { position:absolute; inset:0; display:grid; place-content:center; padding:24px; margin:0; font-size:14px; text-align:center; }
.ibu-image-dialog :is(a,button,[tabindex]):focus-visible { outline:2px solid #ffa6d5; outline-offset:2px; }
@media(max-width:767px) {
  .ibu-image-dialog { width:calc(100% - 12px); max-width:calc(100% - 12px); height:calc(100dvh - 12px); max-height:calc(100dvh - 12px); border-radius:7px; }
  .ibu-image-dialog__head { flex-wrap:wrap; gap:7px; padding:10px; }
  .ibu-image-dialog__head p { flex-basis:100%; font-size:12px; }
  .ibu-image-dialog__tools { width:100%; gap:5px; }
  .ibu-image-dialog button,.ibu-image-dialog__link { min-width:44px; min-height:44px; padding-inline:7px; font-size:11px; }
  .ibu-image-dialog .ibu-image-dialog__close { margin-left:auto; }
  .ibu-image-dialog__media { padding:10px; }
}
@media (max-width: 767px) {
  main .ibu-page-section .row:has(> .ibu-info-card) { grid-template-columns: minmax(0,1fr); row-gap: 0; }
  .ibu-info-card:not(:last-child) .ibu-info-card__body { padding-bottom: 28px; }
  main .ibu-page-section .ce_gallery ul { grid-template-columns: minmax(0,1fr); gap: 20px; }
  main .ibu-page-section .ce_gallery ul > li:last-child:nth-child(odd) { width: 100%; }
  .ibu-content-pair { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .ibu-content-pair > .ce_text { grid-row: 1; padding-inline: 24px !important; }
  .ibu-content-pair > .ce_image { grid-row: 2; }
  main .ibu-page-section .azq-responsive-block.ibu-content-pair { grid-template-columns: minmax(0,1fr); }
  main .ibu-page-section .azq-responsive-block.ibu-content-pair > .ce_text { padding-inline: 24px !important; }
  main .ibu-page-section .ibu-split__body,
  main .ibu-page-section .ibu-image--left .ibu-split__body { padding-inline: 24px; }
  .ibu-page-nav { gap: 8px; }
  .ibu-page-nav a { flex: 1 1 auto; justify-content: center; }
}

/* English legal links are longer than the legacy footer's fixed Cookiebar offset. */
html[lang|="en"] .footer-bottom {
  padding-block-end: calc(6rem + env(safe-area-inset-bottom, 0px));
}
html[lang|="en"] .footer-bottom .ce_text > .inner:has(> .mod_cookiebarOpener) {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.5rem 1.25rem;
}
html[lang|="en"] .footer-bottom .ce_text > .inner:has(> .mod_cookiebarOpener) > p {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem 1.25rem;
  margin: 0;
}
html[lang|="en"] .footer-bottom .ce_text > .inner:has(> .mod_cookiebarOpener) > p:empty {
  display: none;
}
html[lang|="en"] .footer-bottom .ce_text > .inner > .mod_cookiebarOpener {
  position: static;
  order: -1;
  flex: 0 0 auto;
  width: auto;
  padding: 0;
  margin: 0;
}

/* ibu-locations.css */
/* Locations use the same 50/50 frame and 16:9 media as the photo/text pairs. */
main .ibu-standorte-wrapper {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(32px,4vw,64px);
  width: var(--ibu-page-viewport,100vw);
  margin-inline: calc((100% - var(--ibu-page-viewport,100vw)) / 2);
}
main .ibu-standorte-wrapper > * { min-width: 0; }
main .ibu-map-card {
  width: 100%;
  overflow: clip;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(0 0 0 / .10);
}
main .ibu-map-stage { position: relative; aspect-ratio: 16 / 9; overflow: clip; background: #f5f7f9; }
main .ibu-map-frame { display: block; width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
main .ibu-map-toolbar {
  /* Match the embedded Google header; the Name field starts directly below it. */
  position: absolute; inset: 0 0 auto; z-index: 1;
  height: 67px; box-sizing: border-box;
  display: flex; align-items: center; padding: 12px 22px;
  background: #d32982;
}
main .ibu-map-toolbar a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 6px 16px;
  border: 2px solid #fff; border-radius: 24px;
  color: #fff; font-size: 13px; line-height: 20px; font-weight: 700; text-decoration: none;
}
main .ibu-standorte-row {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 0 20px; min-height: 64px; padding: 10px 18px;
}
main .ibu-standorte-row .ibu-location-item {
  display: inline-flex; align-items: center; gap: 7px; min-height: 40px;
  color: #222; font-size: 12px; line-height: 20px; font-weight: 700; text-decoration: none;
}
main .ibu-standorte-row .ibu-location-item::before {
  content: ''; width: 12px; height: 12px; flex: 0 0 auto;
  border-radius: 50%; background: var(--ibu-location-color);
}
main .ibu-standorte-row a:hover { color: #b5206e; }
main .ibu-map-card a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
main .ibu-standorte-wrapper > .ibu-text-column { padding-inline-end: var(--ibu-page-gutter); }
main .ibu-text-column .ibu-locations__kicker {
  color: #d32982; font-size: 13px; line-height: 1.6; font-weight: 700;
  letter-spacing: .18em; margin: 0 0 18px;
}
main .ibu-text-column :is(h2,h3) { margin: 0 0 24px; font-size: clamp(30px,3vw,40px); line-height: 1.2; font-weight: 600; color: #172936; }
main .ibu-text-column > p:last-child { margin: 0; font-size: 15px; line-height: 1.8; color: #727a8c; }
@media (max-width: 767px) {
  main .ibu-standorte-wrapper { grid-template-columns: minmax(0,1fr); gap: 28px; }
  main .ibu-standorte-wrapper > .ibu-text-column { padding-inline: var(--ibu-page-gutter); }
  main .ibu-map-toolbar { padding: 7px 16px; }
  main .ibu-standorte-row { gap: 0 16px; }
}

/* ibu-motion.css */
/* Motion is an enhancement: content stays visible without JavaScript. */
main .ibu-motion-section { overflow-x: clip; }
main .ibu-motion-reveal.wow { visibility: visible !important; animation: none !important; }

/* Clip the photograph, keeping captions and keyboard outlines outside it. */
main .ibu-motion-photo :is(a,picture) { border-radius: 6px; }
main .ibu-motion-photo a:has(img),
main .ibu-motion-photo picture { overflow: clip; }

/* Soft, static depth on content photographs; captions stay outside the frame. */
main figure.ibu-photo:not(:where(.ce_hero *,.ibu-hero *,.ibu-hero-system *,.ce_slider *,.ibu-partners *,.ibu-testimonials *,.article-footer *)) > .image-mask,
main .ibu-split:not(.ibu-presentation--framed) .ibu-split__figure picture {
  border-radius:8px;
  box-shadow:0 2px 6px rgb(32 47 60 / .10),0 8px 22px rgb(32 47 60 / .10);
}
main figure.ibu-photo:not(:where(.ce_hero *,.ibu-hero *,.ibu-hero-system *,.ce_slider *,.ibu-partners *,.ibu-testimonials *,.article-footer *)) > .image-mask :is(a,picture,img),
main .ibu-split:not(.ibu-presentation--framed) .ibu-split__figure img { border-radius:8px; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  main .ibu-map-card {
    scale: 1;
    transform-origin: left center;
    transition: scale .75s cubic-bezier(.2,.65,.3,1), box-shadow .75s ease;
  }
  @media (min-width: 768px) {
    /* Keep the map frame aligned with the photos while using its controls. */
    main .ibu-map-card:hover { scale: 1; box-shadow: 0 12px 32px rgb(0 0 0 / .14); }
  }
  /* Individual scale/translate also work with legacy transform:none rules. */
  main .ibu-motion-photo img {
    scale: 1;
    translate: 0 0;
    transform-origin: calc(50% + var(--ibu-pointer-x,0) * 12%) calc(50% + var(--ibu-pointer-y,0) * 12%);
    transition: scale .75s cubic-bezier(.2,.65,.3,1), translate .45s ease;
  }
  main .ibu-motion-photo:is(:hover,:focus-within) img {
    scale: 1.055;
    translate: calc(var(--ibu-pointer-x,0) * 2px) calc(var(--ibu-pointer-y,0) * 2px);
  }
  main .ibu-motion-card > .ibu-info-card__inner {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    transition: top .28s cubic-bezier(.22,.61,.36,1), left .28s cubic-bezier(.22,.61,.36,1);
  }
  main .ibu-motion-card:is(:hover,:focus-within) > .ibu-info-card__inner {
    top: -5px;
    left: var(--ibu-pointer-offset-x,0px);
  }
  main .ibu-motion-card .ibu-info-card__icon {
    position: relative;
    top: 0;
    left: 0;
    translate: none;
    scale: none;
    box-shadow: 0 0 0 0 rgb(209 41 130 / 0);
    transition: top .28s cubic-bezier(.22,.61,.36,1), left .28s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
  }
  main .ibu-motion-card:is(:hover,:focus-within) .ibu-info-card__icon {
    top: var(--ibu-icon-offset-y,0px);
    left: var(--ibu-icon-offset-x,0px);
    box-shadow: 0 8px 24px rgb(209 41 130 / .12);
  }
  main :is(.ibu-motion-card,.ibu-motion-copy) > :is(h2,h3),
  main .ibu-motion-card > .ibu-info-card__inner > :is(h2,h3) {
    transition: color .35s ease;
  }
  main .ibu-motion-card:is(:hover,:focus-within) > .ibu-info-card__inner > :is(h2,h3) { color: #b5206e; }
  main .ibu-motion-copy > :is(h2,h3) { position: relative; left: var(--ibu-pointer-offset-x,0px); transition: color .35s ease, left .28s cubic-bezier(.22,.61,.36,1); }
}

@media (prefers-reduced-motion: reduce) {
  main .ibu-map-card,
  main .ibu-motion-photo img,
  main .ibu-motion-card > .ibu-info-card__inner,
  main .ibu-motion-card .ibu-info-card__icon,
  main .ibu-motion-copy > :is(h2,h3) {
    transition: none !important;
    scale: none;
    translate: none;
  }
  main .ibu-motion-card > .ibu-info-card__inner { transform: none; }
}

/* ibu-persons.css */
/* The approved career contact layout is the shared format for every person. */
main .ibu-person { --person-ink:#203a4b; --person-muted:#596c79; --person-accent:#d12982; --ibu-person-portrait-width:220px; --ibu-person-portrait-ratio:4/5; --ibu-person-gap:clamp(20px,2vw,28px); width:100%; min-width:0; margin-bottom:28px; container-type:inline-size; }
main .ibu-person.ce_text > .inner { display:grid; grid-template-columns:minmax(0,var(--ibu-person-portrait-width)) minmax(0,1fr); gap:var(--ibu-person-gap); align-items:start; max-width:none; }
main .ibu-person .ibu-person__media { display:block; position:relative!important; grid-column:1; grid-row:1; align-self:start; float:none!important; width:100%!important; max-width:var(--ibu-person-portrait-width); height:auto!important; aspect-ratio:var(--ibu-person-portrait-ratio); margin:0!important; border:0; border-radius:9px; overflow:hidden; background:#eef2f3; transform:none!important; translate:none!important; scale:none!important; }
main .ibu-person .ibu-person__media .image-mask { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0; max-height:none!important; transform:none!important; }
main .ibu-person .ibu-person__media :is(a,picture) { display:block; width:100%; height:100%!important; }
main .ibu-person .ibu-person__media img { display:block; width:100%!important; height:100%!important; max-width:none; aspect-ratio:auto; object-fit:cover; object-position:var(--ibu-person-position,50% 35%); transform:scale(var(--ibu-person-zoom,1))!important; transform-origin:var(--ibu-person-position,50% 35%); translate:none!important; scale:none!important; }
main .ibu-person .ibu-person__media--initials { display:grid; place-items:center; color:#758991; background:linear-gradient(145deg,#edf3f3,#e2eaec); font:500 clamp(30px,5vw,56px)/1 var(--ibu-type-family,Montserrat,Arial,sans-serif); letter-spacing:.04em; }
main .ibu-person .ibu-person__body { grid-column:2; grid-row:1; align-self:start; min-width:0; width:100%; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
main .ibu-person .ibu-person__body :is(.ce_card,.card-content,.inner) { width:100%; max-width:none; margin:0; padding:0; border:0; background:none; box-shadow:none; }
main .ibu-person .ibu-person__body :is(h2,h3) { margin:0 0 10px; color:var(--person-ink); font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); font-size:24px; font-weight:600; line-height:1.35; letter-spacing:normal; text-transform:none; hyphens:none; overflow-wrap:anywhere; }
main .ibu-person .ibu-person__body h4 { margin:0 0 20px; color:var(--person-accent); font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); font-size:13px; font-weight:600; line-height:1.8; letter-spacing:.12em; text-transform:lowercase; }
main .ibu-person .ibu-person__body p { margin:0 0 14px; color:var(--person-muted); font-size:13px; line-height:1.8; }
main .ibu-person .ibu-person__body ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
main .ibu-person .ibu-person__body li { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; margin:0; padding:0; color:var(--person-ink); font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
main .ibu-person .ibu-person__body li::before { content:none; }
main .ibu-person .ibu-person__body .fa { color:var(--person-accent); margin-right:7px; }
main .ibu-person .ibu-person__body a { color:var(--person-ink); font-size:13px; text-underline-offset:3px; overflow-wrap:anywhere; }
main .ibu-person .ibu-person__body a:hover { color:var(--person-accent); }
main .ibu-person .ibu-person__body a:focus-visible { outline:2px solid var(--person-accent); outline-offset:3px; }
main .ibu-persons-collection { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr)); gap:36px 42px; margin-top:28px; }
main .ibu-persons-collection > .ibu-person { margin:0; padding:0; }
main .ibu-persons-block .ibu-person__body img { width:52px; height:auto; }
/* A dedicated article lays out individually editable contact records. */
main .ibu-contacts-section { padding-block:54px; }
main .ibu-contacts-section__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 42px; }
main .ibu-contacts-section__grid > :not(.ibu-contact-person) { grid-column:1 / -1;width:100%;max-width:none;margin:0;padding:0; }
main .ibu-contacts-section__grid > .ibu-contact-person { width:100%;max-width:100%;margin:0;padding:0; }
main .ibu-contacts-section__grid > .ce_text:not(.ibu-contact-person) p:last-child { margin-bottom:0; }
main .ibu-contacts-section--single .ibu-contacts-section__grid { grid-template-columns:minmax(0,760px); }
@media(max-width:900px) { main .ibu-contacts-section__grid { grid-template-columns:minmax(0,1fr);gap:30px; } }
@container (max-width:520px) {
  main .ibu-person.ce_text > .inner { grid-template-columns:minmax(0,min(38%,var(--ibu-person-portrait-width))) minmax(0,1fr); gap:20px; }
}
@media(max-width:900px) { main .ibu-persons-collection { grid-template-columns:minmax(0,1fr); } }
/* On touch-size screens the portrait supports the contact details instead of
   taking a whole screen. Native photo position/zoom settings still apply. */
@media(max-width:1365px) {
  main .ibu-person { --ibu-person-portrait-width:112px; --ibu-person-gap:18px; margin-bottom:22px; }
  main .ibu-person.ce_text > .inner { grid-template-columns:minmax(0,min(28%,var(--ibu-person-portrait-width))) minmax(0,1fr); gap:var(--ibu-person-gap); padding:18px; border:1px solid #e0e7eb; border-radius:12px; background:#fff; }
  main .ibu-person .ibu-person__media { border-radius:9px; }
  main .ibu-person .ibu-person__body,
  body main .ibu-careers .ibu-careers__person .ibu-person__body { grid-column:2; grid-row:1; }
  main .ibu-person .ibu-person__body :is(h2,h3),
  main .ibu-careers .ibu-careers__person .ibu-person__body :is(h2,h3) { margin:0 0 5px; font-size:20px; line-height:1.35; }
  main .ibu-person .ibu-person__body h4,
  main .ibu-careers .ibu-careers__person .ibu-person__body h4 { --ibu-type-kicker:11px; margin:0 0 12px; letter-spacing:.12em!important; overflow-wrap:anywhere; }
  main .ibu-person .ibu-person__body p { margin:0 0 9px; font-size:13px; line-height:1.65; }
  main .ibu-person .ibu-person__body ul,
  main .ibu-careers .ibu-careers__person .ibu-person__body ul { gap:0; }
  main .ibu-person .ibu-person__body li,
  main .ibu-careers .ibu-careers__person .ibu-person__body li { display:grid; grid-template-columns:14px minmax(0,1fr); align-items:center; gap:8px; min-width:0; }
  main .ibu-person .ibu-person__body .fa { margin:0; font-size:13px; }
  main .ibu-person .ibu-person__body a { display:inline-block; box-sizing:border-box; min-width:0; min-height:44px; max-width:100%; padding-block:11px; font-size:13px; line-height:1.65; vertical-align:middle; }
  main .ibu-person .ibu-person__body > :last-child,
  main .ibu-person .ibu-person__body :is(.card-content,.inner) > :last-child { margin-bottom:0; }
  main .ibu-contacts-section { padding-block:34px; }
  main .ibu-contacts-section__grid,
  main .ibu-persons-collection { row-gap:20px; }
}
@media(min-width:700px) and (max-width:1365px) {
  main .ibu-contacts-section__grid,
  main .ibu-persons-collection,
  main .ibu-project-contacts--two .ibu-persons-collection,
  body main .ibu-careers .ibu-careers__contact > .row,
  body main .ibu-careers .ibu-careers__contact > .row > .ibu-persons-collection { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
  main .ibu-contacts-section--single .ibu-contacts-section__grid { grid-template-columns:minmax(0,760px); }
}
@media(max-width:575px) {
  main .ibu-contacts-section h2 { font-size:clamp(21px,6.15vw,26px);line-height:1.35;overflow-wrap:anywhere;word-break:normal;color:#203a4b; }
  main .ibu-person { --ibu-person-portrait-width:84px; --ibu-person-gap:14px; margin-bottom:18px; }
  main .ibu-person.ce_text > .inner { grid-template-columns:minmax(0,min(28%,var(--ibu-person-portrait-width))) minmax(0,1fr); padding:15px; }
  main .ibu-person .ibu-person__body,
  body main .ibu-careers .ibu-careers__person .ibu-person__body { grid-column:2; grid-row:1; }
  main .ibu-person .ibu-person__body :is(h2,h3),
  main .ibu-careers .ibu-careers__person .ibu-person__body :is(h2,h3) { font-size:18px; }
  main .ibu-person .ibu-person__body h4,
  main .ibu-careers .ibu-careers__person .ibu-person__body h4 { --ibu-type-kicker:10px; margin-bottom:10px; letter-spacing:.1em!important; }
  main .ibu-person .ibu-person__body p { font-size:12px; }
  main .ibu-person .ibu-person__body a { font-size:12px; }
}

/* ibu-about.css */
/* Articles opt into this editorial layout through their native template. */
main .ibu-about { --about-ink:#203a4b; --about-muted:#626f7b; color:var(--about-ink); padding-block:clamp(38px,4.5vw,64px); }
main .ibu-about > .root > .width-large > .row { margin:0; gap:0; }
main .ibu-about .ibu-about__layout { align-items:start; }
main .ibu-about .ce_text { width:100%; max-width:100%; min-width:0; margin:0; padding:0; }
main .ibu-about .ce_text > .inner { max-width:none; }
.ibu-about__copy,.ibu-about__media { min-width:0; }
.ibu-about .ibu-about__kicker { margin:0 0 14px; color:#c02178; font-size:12px; font-weight:600; line-height:1.7; letter-spacing:.16em; text-transform:lowercase; }
.ibu-about .ibu-about__heading { max-width:21ch; margin:0 0 22px; color:var(--about-ink); font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); font-size:clamp(28px,2.8vw,36px); font-weight:600; line-height:1.3; letter-spacing:normal; text-transform:none; }
.ibu-about .ibu-about__prose { color:var(--about-muted); font-size:15px; line-height:1.85; }
.ibu-about .ibu-about__prose p { margin:0 0 20px; }
.ibu-about .ibu-about__prose > :last-child { margin-bottom:0; }
.ibu-about .ibu-about__prose blockquote { margin:24px 0 0; padding:2px 0 2px 18px; border:0; border-left:2px solid #d12982; color:var(--about-ink); font-size:16px; font-style:normal; line-height:1.7; }
.ibu-about .ibu-about__prose blockquote p { margin:0; font:inherit; }
.ibu-about .ibu-about__prose--plain-motto blockquote { border-left:0; padding-left:0; }
main .ibu-about-section--history { background:#f6f7f9; }
.ibu-about .ibu-about__details { display:block; width:100%; min-width:0; margin-top:28px; border:0; border-top:1px solid #dfe5e8; border-bottom:1px solid #dfe5e8; }
.ibu-about .ibu-about__details > summary { display:flex; align-items:center; gap:24px; min-height:62px; padding:14px 0; list-style:none; color:var(--about-ink); font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); line-height:1.7; cursor:pointer; }
.ibu-about .ibu-about__details > summary::-webkit-details-marker { display:none; }
.ibu-about .ibu-about__details > summary::marker { content:""; }
.ibu-about .ibu-about__details-title { display:block; flex:1; min-width:0; color:#202020; font-size:14px; font-weight:400; overflow-wrap:anywhere; transform-origin:left center; }
.ibu-about .ibu-about__details-action { display:flex; align-items:center; flex:none; gap:12px; color:#202020; font-size:12px; font-weight:400; }
.ibu-about .ibu-about__details-closed { display:inline-block; transform-origin:right center; }
.ibu-about .ibu-about__details-toggle { display:grid; place-items:center; width:28px; height:28px; border:1px solid #e5ccd9; border-radius:50%; color:#b51d6e; }
.ibu-about .ibu-about__details-toggle svg { display:block; width:16px; height:16px; }
.ibu-about .ibu-about__details-plus { transform-origin:center; transition:transform .2s ease; }
.ibu-about .ibu-about__details > summary:is(:hover,:focus-visible) .ibu-about__details-toggle { color:#fff; background:#c51b76; border-color:#c51b76; }
.ibu-about .ibu-about__details-open,.ibu-about .ibu-about__details[open] .ibu-about__details-closed { display:none; }
.ibu-about .ibu-about__details[open] .ibu-about__details-open { display:inline; }
.ibu-about .ibu-about__details[open] .ibu-about__details-plus { transform:scaleY(0); }
.ibu-about .ibu-about__details-body { max-width:970px; padding:10px 0 24px; color:var(--about-muted); font-size:14px; line-height:1.85; }
.ibu-about .ibu-about__details-body h3 { margin:24px 0 12px; color:var(--about-ink); font-size:17px; font-weight:600; line-height:1.5; text-transform:none; }
.ibu-about .ibu-about__details-body h3:first-child { margin-top:0; }
.ibu-about .ibu-about__details-body p { margin:0 0 16px; }
.ibu-about .ibu-about__details-body ul { margin:0 0 18px; padding-left:20px; }
.ibu-about .ibu-about__details-body li { margin-bottom:8px; }
.ibu-about .ibu-about__details-body ul ul { margin-top:10px; }
.ibu-about .ibu-about__points { display:grid; gap:10px; margin:24px 0 0; padding:0; list-style:none; }
.ibu-about .ibu-about__points li { display:flex; align-items:baseline; gap:12px; margin:0; }
.ibu-about .ibu-about__points li::before { content:""; flex:none; width:6px; height:6px; border-radius:50%; background:#8aa773; transform:translateY(-2px); }
/* The closing contact block shares its layout with other pages in ibu-page.css. */
.ibu-about :is(a,summary):focus-visible { outline:2px solid #c02178; outline-offset:5px; }
@media(max-width:959px) {
 .ibu-about .ibu-about__heading { max-width:26ch; }
}
@media(max-width:639px) {
 main .ibu-about { padding-block:34px; }
 .ibu-about .ibu-about__prose { font-size:14px; }
 .ibu-about .ibu-about__details { margin-top:22px; }
 .ibu-about .ibu-about__details > summary { gap:22px; }
 .ibu-about .ibu-about__details-title { font-size:13px; }
 .ibu-about .ibu-about__details .ibu-about__details-action > :is(.ibu-about__details-open,.ibu-about__details-closed) { display:none; }
 .ibu-about .ibu-about__details-body { padding:8px 0 22px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .ibu-about .ibu-about__details-toggle { transition:color .22s ease,background-color .22s ease,border-color .22s ease; }
}
@keyframes ibu-details-invite {
 0%,100% { transform:scale(.94); opacity:.6; }
 50% { transform:scale(1.26); opacity:1; }
}
@keyframes ibu-details-copy {
 0%,100% { transform:scale(1.08); opacity:1; }
 50% { transform:scale(.94); opacity:.68; }
}
@media(prefers-reduced-motion:no-preference) {
 .ibu-about .ibu-about__details:not([open]) .ibu-about__details-toggle { animation:ibu-details-invite 2.4s ease-in-out infinite; }
 .ibu-about .ibu-about__details:not([open]) :is(.ibu-about__details-title,.ibu-about__details-closed) { animation:ibu-details-copy 2.4s ease-in-out infinite; }
 .ibu-about .ibu-about__details:focus-within :is(.ibu-about__details-title,.ibu-about__details-closed,.ibu-about__details-toggle) { animation-play-state:paused; }
}
@media(prefers-reduced-motion:reduce) { .ibu-about .ibu-about__details-plus { transition:none; } }

/* The compact control lives with its introduction; long copy opens below both columns. */
.ibu-about .ibu-about__details--docked { margin-top:24px; }
.ibu-about .ibu-about__details--docked > summary { min-height:54px; gap:16px; padding-block:10px; box-sizing:border-box; }
.ibu-about .ibu-about__details--docked .ibu-about__details-title { font-size:12px; }
.ibu-about .ibu-about__details-dock { position:relative; flex:0 0 100%; width:100%; min-width:0; height:0; margin:0; padding:0; }
.ibu-about .ibu-about__details-dock--open { height:auto; padding-top:28px; }
.ibu-about .ibu-about__details-dock > .ibu-about__details { width:100%; margin:0; }
.ibu-about .ibu-about__details-slot { visibility:hidden; pointer-events:none; }
.ibu-about .ibu-about__details-slot * { animation:none !important; }
.ibu-about .ibu-about__details--moving { position:absolute; top:28px; left:0; z-index:2; overflow:hidden; box-sizing:border-box; will-change:transform,width,height; }
.ibu-about .ibu-about__details--moving > summary { position:relative; z-index:1; }
.ibu-about .ibu-about__details--moving .ibu-about__details-body { box-sizing:border-box; }
.ibu-about:has(.ibu-about__details--moving) { overflow-anchor:none; }
@media(max-width:639px) {
 .ibu-about .ibu-about__details--docked { margin-top:22px; }
 .ibu-about .ibu-about__details--docked > summary { gap:12px; }
 .ibu-about .ibu-about__details--docked .ibu-about__details-action > :is(.ibu-about__details-open,.ibu-about__details-closed) { display:inline; }
 .ibu-about .ibu-about__details--docked:not([open]) .ibu-about__details-action > .ibu-about__details-open,
 .ibu-about .ibu-about__details--docked[open] .ibu-about__details-action > .ibu-about__details-closed { display:none; }
}

/* ibu-editorial.css */
/* Shared editorial surfaces. Native articles, media and controls stay in their authored order. */
main .ibu-editorial-surface { background-color:var(--ibu-editorial-background,#fff) !important; }
main .ibu-editorial-surface--white { --ibu-editorial-background:#fff; }
main .ibu-editorial-surface--grey { --ibu-editorial-background:#f6f7f9; }
main .ibu-editorial-section { padding-block:0 !important; background:#fff !important; }
main .ibu-editorial-section > .root > .width-large > .row { margin-inline:0; gap:0; }
main .ibu-editorial-band {
 position:relative; isolation:isolate; display:flex; flex-wrap:wrap; align-items:center;
 flex:0 0 100%; width:100%; max-width:100%; min-width:0; margin:0;
 padding-block:clamp(34px,2.5vw,40px); row-gap:24px;
}
main .ibu-editorial-band::before {
 content:""; position:absolute; z-index:-1; inset-block:0; left:50%;
 width:var(--ibu-page-viewport,100vw); transform:translateX(-50%);
 background:var(--ibu-editorial-background,#fff); pointer-events:none;
}
main .ibu-editorial-band--pair { row-gap:0; }
main .ibu-editorial-band > * { margin-bottom:0; }
main .ibu-editorial-copy { min-width:0; color:#626f7b; font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); font-size:15px; line-height:1.85; text-align:left; }
main .ibu-editorial-copy > .inner { max-width:none; }
main .ibu-editorial-copy :is(p,li) { font-size:15px; line-height:1.85; }
main .ibu-editorial-copy p { margin-block:0 20px; }
main .ibu-editorial-copy :is(ul,ol) { margin-block:0 20px; }
main .ibu-editorial-copy li { margin-block:0 8px; }
main .ibu-editorial-copy li:last-child { margin-bottom:0; }
main .ibu-editorial-copy li p { margin:0; }
main .ibu-editorial-copy > .inner > :is(ul,ol) > li { padding-block:0; }
main .ibu-editorial-copy :is(h1,h2,h3,h4,h5) { color:#203a4b; letter-spacing:normal; text-transform:none; }
main .ibu-editorial-copy .ibu-editorial-title { max-width:100%; margin:0 0 22px; font-size:clamp(28px,2.8vw,36px); line-height:1.3; font-weight:600; }
main .ibu-editorial-copy .ibu-editorial-title { color:#203a4b !important; }
main .ibu-editorial-copy .ibu-editorial-title :is(span,strong,em) { color:inherit !important; }
main .ibu-editorial-copy .ibu-editorial-kicker { margin:0 0 14px; color:#c02178; font-size:12px; font-weight:600; line-height:1.7; letter-spacing:.16em; text-transform:lowercase; }
main .ibu-editorial-copy h4:not(.ibu-editorial-kicker,.ibu-editorial-title) { margin-block:20px 12px; font-size:17px; line-height:1.5; font-weight:600; }
main .ibu-editorial-copy > .inner > :last-child { margin-bottom:0; }
main .ibu-editorial-surface .ibu-partner-logos { background:transparent !important; }
main .ibu-editorial-band .ibu-about__details-body :is(h3,h4,h5) { margin:24px 0 12px; color:#203a4b; font-size:17px; font-weight:600; line-height:1.5; letter-spacing:normal; text-transform:none; }
@media(max-width:639px) {
 main .ibu-editorial-copy,main .ibu-editorial-copy :is(p,li) { font-size:14px; }
 main .ibu-editorial-band { padding-block:34px; }
}

/* ibu-wohnheim.css */
/* Wohnheim uses the shared person card, followed by its native room photo. */
.ibu-wohnheim-page { --wohnheim-ink:#203a4b; --wohnheim-muted:#596c79; --wohnheim-pink:#c02178; }
.ibu-wohnheim-page main #freiplatzmeldungen > .root > .width-large > .row { display:block; margin:0; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-wohnheim__columns { width:100%; max-width:none; margin:0; padding:0; align-items:start; overflow:visible; }
.ibu-wohnheim-page main #freiplatzmeldungen :is(.ibu-wohnheim__overview,.ibu-wohnheim__contact-band) { width:100%; max-width:none; min-width:0; margin:0; padding:0; background:none; }
.ibu-wohnheim-page main #freiplatzmeldungen :is(.ibu-wohnheim__overview,.ibu-wohnheim__contact-band) > .row { display:block; margin:0; }
.ibu-wohnheim-page main #freiplatzmeldungen .ce_text { width:100%; max-width:none; min-width:0; margin:0; padding:0; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-editorial-title { max-width:none; margin:0 0 22px; color:var(--wohnheim-ink); }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-wohnheim__photo { width:100%; max-width:none; margin:32px 0 0; padding:0; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-wohnheim__photo > .inner { width:100%; max-width:none; margin:0; padding:0; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-wohnheim__photo figure { margin-block:0; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-wohnheim__contact-band > .row > h4 { margin:0 0 12px; color:var(--wohnheim-pink); font-size:12px; font-weight:600; line-height:1.7; letter-spacing:.16em; text-transform:lowercase; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-wohnheim__contact-title { margin:0 0 22px; color:var(--wohnheim-ink); font-size:clamp(24px,2vw,28px); font-weight:600; line-height:1.35; letter-spacing:normal; text-transform:none; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-about__details-dock { grid-column:1/-1; }
.ibu-wohnheim-page main #freiplatzmeldungen .ibu-about__details-body { max-width:none; }

/* Keep the original photos small; their existing image viewer stays available. */
.ibu-wohnheim-page main #galerie-wohnheim > .root > .width-large > .row { margin-inline:0; }
.ibu-wohnheim-page main #galerie-wohnheim :is(.ce_text,.ce_gallery) { width:100%; max-width:none; min-width:0; margin:0; padding:0; }
.ibu-wohnheim-page main #galerie-wohnheim .ce_text { margin-bottom:22px; }
.ibu-wohnheim-page main #galerie-wohnheim .ibu-editorial-title { max-width:none; }
.ibu-wohnheim-page main #galerie-wohnheim .ce_gallery ul { display:grid; grid-template-columns:repeat(2,minmax(0,220px)); gap:20px; justify-content:start; width:100%; margin:0; padding:0; list-style:none; }
.ibu-wohnheim-page main #galerie-wohnheim .ce_gallery ul > li { grid-column:auto; width:100%; max-width:220px; min-width:0; margin:0; padding:0; }
.ibu-wohnheim-page main #galerie-wohnheim .ce_gallery figure { display:block; width:100%!important; height:auto!important; aspect-ratio:4/3; margin:0!important; border-radius:9px; overflow:hidden; }
.ibu-wohnheim-page main #galerie-wohnheim .ce_gallery figure :is(a,picture,.image-mask) { display:block; width:100%; height:100%!important; }
.ibu-wohnheim-page main #galerie-wohnheim .ce_gallery img { display:block; width:100%!important; height:100%!important; object-fit:cover; }
@media(max-width:959px) {
  .ibu-wohnheim__columns { grid-template-columns:minmax(0,1fr); gap:36px; }
}

/* ibu-project-pages.css */
/* A separate, readable funding notice; original marks follow below it. */
main .ibu-funding-section .ibu-funding-note { display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr); grid-column:1/-1; gap:16px 36px; width:100%; min-width:0; padding:26px 30px; margin:0 0 8px; border:1px solid #dce4e9; border-radius:9px; background:#fff; }
main .ibu-funding-section .ibu-funding-note__kicker { grid-column:1/-1; margin:0!important; color:#c02178; font-size:12px!important; font-weight:600; line-height:1.7; letter-spacing:.16em; text-transform:lowercase; }
main .ibu-funding-section .ibu-funding-note .ibu-funding-copy { width:100%; max-width:none; margin:0; padding:0; }
main .ibu-funding-section .ibu-funding-note .ibu-funding-copy > .inner { max-width:none; }
main .ibu-funding-section .ibu-funding-note .ibu-funding-copy :is(p,h1,h2,h3,h4,h5,h6) { max-width:none!important; margin:0!important; padding:0; color:#596c79!important; font-size:14px!important; font-weight:400; line-height:1.85!important; letter-spacing:normal; text-transform:none; }
main .ibu-funding-section .ibu-funding-note .ibu-funding-note__duration { padding-left:28px; border-left:1px solid #e3e8ec; }
main .ibu-funding-section .ibu-funding-note .ibu-funding-note__duration :is(p,h1,h2,h3,h4,h5,h6) { color:#203a4b!important; font-weight:500; }

/* Contact sections use the same photo format, with enough room for two people. */
main .ibu-project-contacts > .root > .width-large > .row,
main .ibu-project-contacts .ce_sHtml5Start > .row { display:block; margin:0; }
main .ibu-project-contacts .ce_sHtml5Start { width:100%; max-width:none; min-width:0; margin:0; padding:0; }
main .ibu-project-contacts .ibu-persons-block { width:100%; max-width:none; padding:0; }
main .ibu-project-contacts--two .ibu-persons-collection { grid-template-columns:repeat(2,minmax(0,1fr)); }
main .ibu-project-contacts :is(.content-headline,h2) { max-width:none; }
main .ibu-project-contacts .ibu-persons-block > .inner > p { max-width:76ch; font-size:15px; line-height:1.85; }
main .ibu-project-contacts:not(.ibu-project-contacts--two) .ibu-person { max-width:760px; }
main .ibu-project-contacts .content-headline:is(h4) { margin:0 0 18px; color:#c02178; font-size:12px; line-height:1.7; letter-spacing:.16em; text-transform:lowercase; }
main .ibu-project-contacts .content-headline:is(h2) { margin:0 0 28px; color:#203a4b; font-size:clamp(28px,2.8vw,36px); line-height:1.3; }

/* Each city is one native article which editors can copy or extend. */
main .mod_article.ibu-project-city { padding-block:44px; background:var(--ibu-city-background,#fff)!important; }
.ibu-project-city__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:clamp(32px,4vw,64px); width:var(--ibu-page-viewport,100vw); margin-inline:calc((100% - var(--ibu-page-viewport,100vw))/2); min-width:0; }
.ibu-project-city__copy { grid-column:1; grid-row:1; min-width:0; padding-inline-start:var(--ibu-page-gutter); }
.ibu-project-city__media { grid-column:2; grid-row:1; min-width:0; }
.ibu-project-city--reverse .ibu-project-city__copy { grid-column:2; padding-inline-start:0; padding-inline-end:var(--ibu-page-gutter); }
.ibu-project-city--reverse .ibu-project-city__media { grid-column:1; }
main .ibu-project-city .ce_text,
main .ibu-project-city .ce_image { width:100%; max-width:none; min-width:0; margin:0; padding:0; }
main .ibu-project-city__copy > .content-headline { margin:0 0 20px; color:#203a4b; font-size:clamp(28px,2.8vw,36px); font-weight:600; line-height:1.3; letter-spacing:normal; text-transform:none; }
main .ibu-project-city__copy .ce_text > .inner { max-width:none; }
main .ibu-project-city__copy p { margin:0 0 18px; color:#596c79; font-size:14px; line-height:1.8; }
.ibu-project-city__contacts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:24px; margin:22px 0; }
main .ibu-project-city .ibu-project-city__person { min-width:0; padding-top:18px; border-top:1px solid #dfe5e9; }
main .ibu-project-city .ibu-project-city__person :is(h3,.ibu-editorial-title) { max-width:none; margin:0 0 10px; color:#203a4b!important; font-size:22px!important; font-weight:600; line-height:1.35; letter-spacing:normal; text-transform:none; }
main .ibu-project-city .ibu-project-city__person h4 { margin:0 0 16px; color:#c02178; font-size:12px; font-weight:600; line-height:1.75; letter-spacing:.1em; text-transform:lowercase; }
main .ibu-project-city .ibu-project-city__person ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
main .ibu-project-city .ibu-project-city__person li { display:flex; align-items:baseline; gap:9px; min-width:0; margin:0; padding:0; color:#203a4b; font-size:13px; line-height:1.8; }
main .ibu-project-city .ibu-project-city__person li::before { content:none; }
main .ibu-project-city .ibu-project-city__person .fa { flex:none; color:#d12982; }
main .ibu-project-city .ibu-project-city__person a { color:#203a4b; overflow-wrap:anywhere; text-underline-offset:3px; }
main .ibu-project-city__media .ce_image > .inner { width:100%; margin:0; }
main .ibu-project-city__media figure { width:100%!important; height:auto!important; margin:0!important; aspect-ratio:16/10; overflow:hidden; border-radius:9px; }
main .ibu-project-city__media figure :is(.image-mask,a,picture) { display:block; width:100%; height:100%!important; }
main .ibu-project-city__media figure img { display:block; width:100%!important; height:100%!important; object-fit:cover; }
main .ibu-project-city :is(.ce_download,.content-download) { margin:20px 0 0; padding:0; }
main .ibu-project-city :is(.ce_download,.content-download) :is(h2,h3,.content-headline) { margin:0 0 10px; color:#203a4b; font-size:16px; font-weight:500; line-height:1.5; }
main .ibu-project-city :is(.ce_download,.content-download) a { font-size:14px; }

/* Work@PP's general services are distinct from the local contacts. */
.ibu-work-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:28px; }
.ibu-work-services__item { min-width:0; padding-top:20px; border-top:1px solid #dce4e9; }
main .ibu-work-services .ibu-work-services__item h4 { margin:0 0 16px; color:#203a4b; font-size:17px; font-weight:600; line-height:1.5; letter-spacing:normal; text-transform:none; }
main .ibu-work-services .ibu-work-services__item :is(p,li) { font-size:14px; line-height:1.85; }
main .ibu-work-services .ibu-work-services__item ul { margin-bottom:0; }
main .ibu-work-location-intro { padding-bottom:8px; }
main .ibu-work-location-intro .ce_sHtml5Start { width:100%; max-width:none; padding:0; }
main .ibu-work-location-intro .row { margin-inline:0; }
main .ibu-work-location-intro .content-headline { margin:0; color:#203a4b; font-size:clamp(28px,2.8vw,36px); font-weight:600; line-height:1.3; }
main .ibu-logistik-overview .ce_sHtml5Start { width:100%; max-width:none; padding:0; }
main .ibu-logistik-overview .row { margin-inline:0; }
main .ibu-logistik-overview .ce_text { max-width:960px; padding:0; }
main .ibu-logistik-overview .ce_downloads { padding:0; }
main .ibu-logistik-overview :is(.ce_downloads,.content-downloads) :is(h2,h3) { margin:24px 0 16px; color:#203a4b; font-size:22px; font-weight:600; line-height:1.4; }
main .ibu-project-video-section > .root > .width-large > .row { margin-inline:0; }
main .ibu-project-video-section .ibu-video-gallery { padding:0; margin:0; }
main .ibu-project-video-section .content-headline { width:100%; margin:0 0 28px; color:#203a4b; font-size:clamp(28px,2.8vw,36px); line-height:1.3; }

/* All six Toolbox modules retain their full native copy and downloads. */
main .ibu-toolbox-section > .root > .width-large > .row { margin-inline:0; }
main .ibu-toolbox-section .ibu-toolbox-module { flex:0 0 100%; margin:14px 0 0; padding:0; scroll-margin-top:100px; }
main .ibu-toolbox-section .ibu-toolbox-module > summary { min-height:68px; padding:16px 0; }
main .ibu-toolbox-section .ibu-toolbox-module .ibu-about__details-title { color:#203a4b; font-size:16px; font-weight:500; }
main .ibu-toolbox-section .ibu-toolbox-module .ibu-about__details-body { max-width:none; padding:10px 0 26px; }
main .ibu-toolbox-section .ibu-toolbox-module .row { margin:0; }
main .ibu-toolbox-section .ibu-toolbox-module .ce_text { width:100%; max-width:none; margin:0 0 22px; padding:0; }
main .ibu-toolbox-section .ibu-toolbox-module .ibu-editorial-title { max-width:none; margin:20px 0 14px; font-size:20px!important; line-height:1.4; }
main .ibu-toolbox-section .ibu-toolbox-module :is(p,li) { font-size:14px; line-height:1.85; }
main .ibu-toolbox-section .ibu-toolbox-module :is(.ce_download,.ce_downloads) { width:100%; margin:0 0 16px; padding:0; }

@media(max-width:959px) {
  .ibu-project-city__grid { grid-template-columns:minmax(0,1fr); gap:26px; }
  .ibu-project-city__copy,.ibu-project-city--reverse .ibu-project-city__copy { grid-column:1; grid-row:1; padding-inline:24px; }
  .ibu-project-city__media,.ibu-project-city--reverse .ibu-project-city__media { grid-column:1; grid-row:2; }
  main .ibu-project-contacts--two .ibu-persons-collection { grid-template-columns:minmax(0,1fr); }
  .ibu-work-services { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(max-width:767px) {
  main .ibu-funding-section .ibu-funding-note { grid-template-columns:minmax(0,1fr); padding:22px; gap:14px; }
  main .ibu-funding-section .ibu-funding-note .ibu-funding-note__duration { padding:14px 0 0; border-left:0; border-top:1px solid #e3e8ec; }
  main .ibu-toolbox-section .ibu-toolbox-module .ibu-about__details-title { font-size:14px; }
}

/* ibu-home-journal.css */
/* Homepage magazine: native videos and news, visible together. */
main .ibu-home-journal { --journal-ink:#203a4b; --journal-pink:#c02178; position:relative; padding-block:56px 26px; background:#f4f5f7; color:var(--journal-ink); }
.ibu-home-journal__header,.ibu-home-journal__layout,.ibu-home-journal__footnote { width:calc(100% - 60px); max-width:1230px; min-width:0; margin-inline:auto; }
.ibu-home-journal__header { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
main .ibu-home-journal .ibu-home-journal__intro { width:auto; max-width:none; flex:1; margin:0; padding:0; opacity:1!important; transform:none!important; }
main .ibu-home-journal .ibu-home-journal__intro > .inner { max-width:none; }
main .ibu-home-journal .ibu-home-journal__intro :is(.ibu-editorial-kicker,.subtitle) { margin:0 0 10px; color:var(--journal-pink); font-size:12px; letter-spacing:.17em; line-height:1.7; }
main .ibu-home-journal .ibu-home-journal__intro h2 { max-width:none; margin:0; font-size:clamp(28px,2.8vw,39px); line-height:1.25; letter-spacing:-.035em; }
main .ibu-home-journal .ibu-home-journal__intro > .inner > p:last-child { margin-top:12px; }
.ibu-home-journal__note { max-width:27ch; margin:0 0 3px; padding-left:20px; border-left:2px solid var(--journal-pink); color:#63717d; font-size:13px; line-height:1.8; }
.ibu-home-journal__layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:stretch; }
main .ibu-home-journal :is(#news-2,#videos-und-einblicke) { --ibu-editorial-background:transparent; min-width:0; width:100%; max-width:none; margin:0!important; padding:0!important; background:transparent!important; scroll-margin-top:36px; }
main .ibu-home-journal :is(#news-2,#videos-und-einblicke) :is(.root,.width-large) { width:100%; max-width:none; margin:0; padding:0; }
main .ibu-home-journal :is(#news-2,#videos-und-einblicke) .row { min-width:0; margin:0; }
main .ibu-home-journal :is(#news-2,#videos-und-einblicke) .ibu-editorial-band { min-width:0; padding:0; row-gap:0; background:transparent!important; }
main .ibu-home-journal :is(#news-2,#videos-und-einblicke) .ibu-editorial-band::before { content:none; }
.ibu-home-journal :is(#news-2,#videos-und-einblicke) .ibu-editorial-band:empty { display:none; }
/* Large local poster; the existing player keeps its consent behavior. */
main .ibu-home-journal .ibu-home-journal__video-intro { margin:0 0 19px; padding:0; opacity:1!important; transform:none!important; }
main .ibu-home-journal .ibu-home-journal__video-intro > .inner { max-width:none; }
main .ibu-home-journal .ibu-home-journal__video-intro :is(h4,.ibu-editorial-kicker) { margin:0 0 5px; color:var(--journal-pink); font-size:10px; font-weight:600; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
main .ibu-home-journal .ibu-home-journal__video-intro h2 { max-width:none; margin:0; font-size:20px; line-height:1.4; letter-spacing:-.025em; }
main .ibu-home-journal .ibu-home-journal__video-intro p { display:none; }
.ibu-home-journal .ibu-video-gallery { --ibu-video-card-width:100%; padding:0; }
.ibu-home-journal .ibu-video-gallery__inner { display:flex; flex-direction:column; }
.ibu-home-journal .ibu-video-gallery__track { order:0; }
.ibu-home-journal .ibu-video-gallery__controls { order:1; }
.ibu-home-journal__playlist { order:2; }
.ibu-home-journal .ibu-video-gallery__track { grid-template-rows:none; grid-auto-columns:100%; column-gap:20px; align-items:stretch; border-radius:16px; box-shadow:0 10px 30px rgb(32 58 75 / .07); }
.ibu-home-journal .ibu-video-gallery__track > .ibu-video-element { display:block; grid-row:auto; grid-template-rows:none; opacity:1!important; transform:none!important; }
.ibu-home-journal .ibu-video-gallery .ibu-video { display:flex; height:100%; grid-row:auto; grid-template-rows:none; border:0; border-radius:16px; background:var(--journal-ink); color:#fff; }
.ibu-home-journal .ibu-video__frame { aspect-ratio:16/9; border-radius:16px 16px 0 0; }
.ibu-home-journal .ibu-video__frame::after { content:none; position:absolute; z-index:2; top:18px; left:18px; padding:5px 10px; border:1px solid rgb(255 255 255 / .35); border-radius:4px; background:rgb(19 40 55 / .7); color:#fff; font-size:10px; line-height:1.6; letter-spacing:.09em; pointer-events:none; }
.ibu-home-journal .ibu-video[data-loaded="true"] .ibu-video__frame::after { display:none; }
.ibu-home-journal .ibu-video__placeholder::after { background:linear-gradient(180deg,rgb(14 30 44 / .08) 25%,rgb(14 30 44 / .18) 65%,rgb(14 30 44 / .6)); }
.ibu-home-journal .ibu-video .ibu-video__load { flex-direction:row; align-items:flex-end; justify-content:flex-start; gap:18px; padding:26px; }
.ibu-home-journal .ibu-video__play-icon { width:76px; height:76px; border:0; color:#fff; background:var(--journal-pink); box-shadow:0 0 0 10px rgb(255 255 255 / .19),0 12px 35px rgb(16 29 39 / .25); }
.ibu-home-journal .ibu-video__play-icon svg { width:29px; height:29px; }
.ibu-home-journal .ibu-video__load:hover .ibu-video__play-icon { background:#a91b67; }
.ibu-home-journal .ibu-video__play-label { display:none; }
.ibu-home-journal .ibu-video__title { padding:20px 24px 0; color:#fff; font-size:22px; line-height:1.4; letter-spacing:-.025em; }
.ibu-home-journal .ibu-video__caption { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; padding:6px 24px 20px; color:#d6e0e6; font-size:12px; line-height:1.75; }
.ibu-home-journal .ibu-video__privacy { color:#d6e0e6; }
.ibu-home-journal .ibu-video__privacy a { color:#fff; }
.ibu-home-journal .ibu-video-gallery__controls { margin-top:13px; gap:9px; }
.ibu-home-journal .ibu-video-gallery__status { color:#647480; font-size:11px; }
.ibu-home-journal .ibu-video-gallery__status::before { content:'Videos entdecken'; margin-right:14px; color:var(--journal-ink); font-weight:600; }
.ibu-home-journal .ibu-video-gallery__arrow { width:32px; height:32px; color:var(--journal-ink); background:#fff; }
.ibu-home-journal .ibu-video-gallery__arrow svg { width:16px; height:16px; }
.ibu-home-journal__playlist { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:13px; }
.ibu-home-journal__pick { position:relative; align-self:start; min-width:0; margin:0; padding:0 0 7px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; text-align:left; color:#657480; font:500 10px/1.55 var(--ibu-type-family,Montserrat,Arial,sans-serif); cursor:pointer; }
.ibu-home-journal__pick-picture { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; margin:0 0 7px; border:2px solid transparent; border-radius:7px; background:#203a4b; }
.ibu-home-journal__pick-picture img { display:block; width:100%; height:100%; object-fit:cover; opacity:.72; transition:opacity .2s,transform .25s; }
.ibu-home-journal__pick-number { position:absolute; bottom:3px; left:4px; padding:0 4px; border-radius:2px; color:#fff; background:rgb(16 32 45 / .8); font-size:9px; }
.ibu-home-journal__pick-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.ibu-home-journal__pick[aria-pressed="true"] { border-bottom-color:var(--journal-pink); color:var(--journal-ink); }
.ibu-home-journal__pick[aria-pressed="true"] .ibu-home-journal__pick-picture { border-color:var(--journal-pink); }
.ibu-home-journal__pick:is(:hover,[aria-pressed="true"]) img { opacity:1; }
.ibu-home-journal__pick:hover img { transform:scale(1.05); }
.ibu-home-journal__pick:focus:not(:focus-visible) { outline:none; box-shadow:none; }
.ibu-home-journal__pick:focus-visible { outline:none; box-shadow:none; }
.ibu-home-journal__pick:focus-visible .ibu-home-journal__pick-picture { outline:2px solid var(--journal-pink); outline-offset:2px; }
/* Generous 16:9 pictures keep the news as visible as the video feature. */
main .ibu-home-journal #news-2 { padding:23px 24px 17px!important; border:1px solid #e2e6eb; border-radius:16px; background:#fff!important; }
.ibu-home-journal__news-heading { display:flex; flex-direction:column; gap:5px; margin-bottom:6px; }
.ibu-home-journal__eyebrow { color:var(--journal-pink); font-size:10px; font-weight:600; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.ibu-home-journal__news-heading h3 { margin:0; color:var(--journal-ink); font-size:20px; font-weight:600; line-height:1.4; letter-spacing:-.025em; }
.ibu-home-journal #news-2 .mod_newslist { container-type:inline-size; width:100%; max-width:none; padding:0; margin:0; }
.ibu-home-journal #news-2 .mod_newslist > .inner > .row { --ibu-home-news-row-height:224px; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(3,var(--ibu-home-news-row-height)); gap:0; }
.ibu-home-journal #news-2 .ce_news { width:100%; max-width:none; margin:0; padding:19px 0; border-bottom:1px solid #e9edf0; opacity:1!important; transform:none!important; }
.ibu-home-journal #news-2 .ce_news > .inner { margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.ibu-home-journal #news-2 .ce_news > .inner > .row { display:grid; grid-template-columns:minmax(0,.42fr) minmax(0,.58fr); gap:20px; align-items:start; }
.ibu-home-journal #news-2 .ce_news .ibu-home-journal__story-media { min-width:0; width:100%; padding:0; margin:0; }
.ibu-home-journal #news-2 .ibu-home-journal__story-media :is(figure,.image-mask,picture,a) { display:block; width:100%; height:100%; min-height:0; margin:0; padding:0; border:0; border-radius:8px; box-shadow:none; background:transparent; transform:none; }
main .ibu-home-journal #news-2 .ibu-home-journal__story-media :is(a,picture,img) { cursor:pointer; }
main .ibu-home-journal #news-2 .ibu-home-journal__story-media :is(figure,.image-mask) { height:auto!important; aspect-ratio:16/9; overflow:hidden; }
main .ibu-home-journal #news-2 .ce_news .ibu-home-journal__story-media img { display:block; width:100%; height:auto!important; max-height:none; aspect-ratio:16/9; margin:0; object-fit:cover; transition:transform .3s; }
.ibu-home-journal #news-2 .ce_news:hover .ibu-home-journal__story-media img { transform:scale(1.04); }
.ibu-home-journal #news-2 .ce_news > .inner > .row > .ibu-home-journal__story-copy:last-child { display:flex; flex-direction:column; min-width:0; width:100%; padding:0; margin:0; }
.ibu-home-journal #news-2 .news-date { order:0; margin:0 0 6px; color:#73808a; font-size:11px; line-height:1.5; letter-spacing:0; }
.ibu-home-journal #news-2 .news-date :is(ul,li) { margin:0; padding:0; color:inherit; font:inherit; }
.ibu-home-journal #news-2 .news-date .fa { display:none; }
.ibu-home-journal #news-2 .news-categories { order:1; min-height:0; margin:0 0 5px; padding:0; }
.ibu-home-journal #news-2 .news-categories ul { display:flex; flex-wrap:nowrap; gap:3px 8px; overflow:hidden; margin:0; padding:0; white-space:nowrap; }
.ibu-home-journal #news-2 .news-categories li { min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:#ae1e69; font-size:10px; font-weight:600; line-height:1.5; letter-spacing:.025em; }
.ibu-home-journal #news-2 .news-categories li::before { content:none; }
.ibu-home-journal #news-2 .news-headline { order:2; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; min-height:0; margin:0; color:var(--journal-ink); font-size:16px; font-weight:600; line-height:1.5; letter-spacing:-.015em; }
.ibu-home-journal #news-2 .news-headline a { color:inherit; text-decoration:none; }
.ibu-home-journal #news-2 .news-headline a:hover { color:var(--journal-pink); }
.ibu-home-journal #news-2 .news-description { display:none; }
.ibu-home-journal #news-2 .news-more { order:3; margin:7px 0 0; padding:0; }
.ibu-home-journal #news-2 .news-more a.btn { min-height:28px; margin:0; padding:0; border:0; color:#ae1e69; font-size:10px; font-weight:600; line-height:2; letter-spacing:.09em; box-shadow:none; background:transparent; }
.ibu-home-journal #news-2 .ibu-home-news-pager { width:100%; padding:15px 0 0; margin:0; }
.ibu-home-journal #news-2 .ce_pagination { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
.ibu-home-journal #news-2 .pagination-total { margin:0; color:#73808a; font-size:10px; line-height:1.5; font-weight:400; }
.ibu-home-journal #news-2 .ce_pagination ul { gap:3px; margin:0; }
.ibu-home-journal #news-2 .ce_pagination :is(a,strong) { display:grid; place-items:center; width:28px; min-width:28px; height:28px; min-height:28px; margin:0; padding:0; border-radius:50%; font-size:10px; }
.ibu-home-journal #news-2 .ce_pagination a[aria-label] { width:auto; padding-inline:6px; }
.ibu-home-journal__footnote { display:flex; align-items:center; gap:12px; margin-block:26px 0; color:#7b8790; font-size:10px; line-height:1.8; }
.ibu-home-journal__footnote::before { content:''; width:26px; height:2px; background:var(--journal-pink); }
@media(min-width:1600px) { .ibu-home-journal__layout { gap:34px; } }
@media(max-width:1100px) and (min-width:900px) {
 .ibu-home-journal #news-2 .mod_newslist > .inner > .row { --ibu-home-news-row-height:216px; }
 .ibu-home-journal__layout { gap:22px; }
 main .ibu-home-journal #news-2 { padding-inline:18px!important; }
 .ibu-home-journal #news-2 .ce_news > .inner > .row { gap:15px; }
 .ibu-home-journal #news-2 .news-headline { font-size:15px; }
 .ibu-home-journal #news-2 .ce_news { padding-block:16px; }
}
@media(max-width:899px) {
 .ibu-home-journal #news-2 .mod_newslist > .inner > .row { --ibu-home-news-row-height:224px; }
 main .ibu-home-journal { padding-block:38px 24px; }
 .ibu-home-journal__header { align-items:flex-start; margin-bottom:26px; }
 .ibu-home-journal__note { max-width:23ch; font-size:12px; }
 .ibu-home-journal__layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 .ibu-home-journal .ibu-video__title { font-size:21px; }
 .ibu-home-journal #news-2 .ce_news > .inner > .row { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); gap:24px; }
 .ibu-home-journal #news-2 .news-headline { font-size:17px; }
}
@media(max-width:599px) {
 .ibu-home-journal #news-2 .mod_newslist > .inner > .row { --ibu-home-news-row-height:calc(56.25cqw + 232px); }
 .ibu-home-journal__header,.ibu-home-journal__layout,.ibu-home-journal__footnote { width:calc(100% - 40px); }
 .ibu-home-journal__header { display:block; }
 main .ibu-home-journal .ibu-home-journal__intro h2 { font-size:28px; line-height:1.3; letter-spacing:-.03em; }
 main .ibu-home-journal .ibu-home-journal__intro :is(.ibu-editorial-kicker,.subtitle) { font-size:10px; }
 .ibu-home-journal__note { max-width:none; margin:16px 0 0; padding-left:12px; font-size:11px; }
 main .ibu-home-journal .ibu-home-journal__video-intro { margin-bottom:14px; }
 main .ibu-home-journal .ibu-home-journal__video-intro h2,.ibu-home-journal__news-heading h3 { font-size:18px; }
 .ibu-home-journal .ibu-video__frame::after { top:12px; left:12px; font-size:9px; }
 .ibu-home-journal .ibu-video .ibu-video__load { gap:14px; padding:20px; }
 .ibu-home-journal .ibu-video__play-label { margin-bottom:16px; }
 .ibu-home-journal .ibu-video__play-icon { width:58px; height:58px; box-shadow:0 0 0 7px rgb(255 255 255 / .19); }
 .ibu-home-journal .ibu-video__play-icon svg { width:24px; height:24px; }
 .ibu-home-journal .ibu-video__title { padding:17px 18px 0; font-size:18px; }
 .ibu-home-journal .ibu-video__caption { padding:5px 18px 17px; font-size:11px; }
 .ibu-home-journal__playlist { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:102px; gap:10px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#d7c1ce transparent; padding-bottom:8px; }
 .ibu-home-journal__pick { font-size:10px; scroll-snap-align:start; }
 .ibu-home-journal__pick-picture { margin-bottom:5px; border-radius:5px; }
 .ibu-home-journal__pick-title { -webkit-line-clamp:2; }
 .ibu-home-journal__pick-number { font-size:8px; left:2px; bottom:2px; }
 main .ibu-home-journal #news-2 { padding:20px 18px 16px!important; }
 .ibu-home-journal #news-2 .ce_news > .inner > .row { grid-template-columns:minmax(0,1fr); gap:14px; }
 .ibu-home-journal #news-2 .ce_news { padding-block:18px; }
 .ibu-home-journal #news-2 .news-headline { font-size:17px; }
 .ibu-home-journal #news-2 .pagination-total { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { .ibu-home-journal :is(img,.ibu-video__play-icon) { transition:none!important; } }

/* ibu-education.css */
/* Educational pages use native text and image elements; editors keep their files and order. */
main .ibu-education-native-wrap {
  width:100%!important; max-width:100%!important; min-width:0; padding:0!important;
}
main .ibu-education-native-wrap > .row {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center; gap:clamp(32px,4vw,64px);
  width:var(--ibu-page-viewport,100vw); min-width:0;
  margin-inline:calc((100% - var(--ibu-page-viewport,100vw)) / 2);
}
main .ibu-education-native-wrap > .row > :is(.ce_text,.ce_image) {
  width:100%!important; max-width:100%!important; min-width:0;
  margin:0!important; padding:0!important;
}
main .ibu-education-native-wrap > .row > .ce_text {
  grid-column:1; padding-inline-start:var(--ibu-page-gutter)!important; text-align:left;
}
main .ibu-education-native-wrap > .row > .ce_image { grid-column:2; }
main .ibu-education-native-wrap > .row > :is(.ce_downloads,.content-downloads) {
  grid-column:1/-1; width:calc(100% - var(--ibu-page-gutter) * 2);
  margin-inline:auto; padding:0;
}
main .ibu-education-native-wrap--two > .row { align-items:start; row-gap:26px; }
main .ibu-education-native-wrap--two > .row > .ce_text { grid-row:1/span 2; }
main .ibu-education-native-wrap--two > .row > .ce_image { grid-row:auto; }
main .ibu-education-intro-with-contact > .root > .width-large > .row > .ce_sHtml5Start:not(.ibu-education-native-wrap) {
  width:100%; max-width:760px; min-width:0; margin-top:12px;
}
/* Benefit lists always read on the left, with the editable photograph on the right. */
main .ibu-content-pair:has(> .ibu-education-benefits) > .ibu-education-benefits { grid-column:1; grid-row:1; }
main .ibu-content-pair:has(> .ibu-education-benefits) > .ce_image { grid-column:2; grid-row:1; }
/* Two native text/image links make a compact choice of forklift courses. */
main .ibu-page-section .row:has(> .ibu-course-link-card) {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-inline:0;
}
main .ibu-page-section .row > .ibu-course-link-card {
  width:100%; max-width:none; min-width:0; margin:0; padding:0;
}
main .ibu-page-section .ibu-course-link-card > .inner {
  display:flex; flex-direction:column; min-width:0; height:100%; padding:22px;
  background:#fff; border:1px solid #e2e7eb; border-radius:10px; overflow:hidden;
}
main .ibu-course-link-card > .inner > figure {
  order:-1; flex:none; position:relative; width:calc(100% + 44px)!important;
  height:auto!important; aspect-ratio:16/9; margin:-22px -22px 22px!important; border-radius:0;
}
main .ibu-course-link-card figure :is(.image-mask,a,picture) { display:block; width:100%; height:100%!important; }
main .ibu-course-link-card figure img { display:block; width:100%!important; height:100%!important; object-fit:cover; }
main .ibu-course-link-card figure a { cursor:pointer; }
main .ibu-course-link-card :is(h2,.ibu-editorial-title) { max-width:none; min-height:2.7em; margin:0 0 18px; font-size:24px; line-height:1.35; }
main .ibu-course-link-card h4 { margin:0 0 10px; color:#c02178; font-size:11px; line-height:1.7; letter-spacing:.12em; }
main .ibu-course-link-card p { margin-top:auto; margin-bottom:0; }
main .ibu-course-link-card > .inner > p > a { display:inline-flex;align-items:center;gap:10px;min-height:40px;color:#b31870;font-weight:600;text-decoration:none; }
main .ibu-course-link-card > .inner > p > a::after { content:'→'; }
main .ibu-course-link-card > .inner > p > a:hover { text-decoration:underline; }
main .ibu-course-link-card a { text-underline-offset:4px; }
/* Video sections share a quiet heading; the cards are owned by ibu-video.css. */
/* The consolidated forklift course keeps four native, alternating text/photo rows. */
main .ibu-forklift-section .ibu-editorial-title { max-width:24ch;font-size:clamp(27px,2.4vw,32px);line-height:1.35; }
main .ibu-forklift-section .ibu-editorial-copy p { max-width:65ch; }
main .ibu-forklift-section .ibu-editorial-copy .ibu-forklift-note { margin-top:22px;padding:12px 16px;border-left:2px solid #c02178;background:#f9eef4;color:#203a4b;font-size:14px; }
main .ibu-forklift-details > .root > .width-large > .row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-inline:0;align-items:start; }
main .ibu-forklift-details > .root > .width-large > .row > :is(.ce_headline,.content-headline) { grid-column:1/-1;width:100%;padding:0;margin:0 0 4px;font-size:28px;line-height:1.4;color:#203a4b; }
main .ibu-forklift-details-group { width:100%;max-width:none;min-width:0;padding:24px;border:1px solid #e2e7eb;border-radius:10px;background:#fff; }
main .ibu-forklift-details-group > .row { display:block;margin:0; }
main .ibu-forklift-details-group :is(.ce_headline,.content-headline) { width:100%;margin:0 0 16px;padding:0;color:#203a4b;font-size:19px;line-height:1.5; }
main .ibu-forklift-details-group .ce_accordion { width:100%;max-width:none;padding:0; }
main .ibu-forklift-details-group .toggler { padding-inline:0;font-size:14px;line-height:1.7; }
main .ibu-forklift-details-group .accordion > div { padding-inline:0; }
main .ibu-forklift-details-group .accordion :is(h2,h3,h4) { margin:18px 0 10px;color:#203a4b;font-size:17px;line-height:1.5; }
main .ibu-forklift-details-group .accordion :is(p,li) { font-size:14px;line-height:1.8; }
main .ibu-forklift-contact :is(.ce_headline,.content-headline) { padding-inline:15px;font-size:26px;line-height:1.4;color:#203a4b; }
@media(max-width:767px) {
  main .ibu-forklift-section .ibu-editorial-title { font-size:27px; }
  main .ibu-forklift-details > .root > .width-large > .row { grid-template-columns:minmax(0,1fr); }
  main .ibu-forklift-details > .root > .width-large > .row > :is(.ce_headline,.content-headline) { font-size:24px; }
  main .ibu-forklift-details-group { padding:20px; }
}
main .ibu-video-section > .root > .width-large > .row > :is(.ce_headline,.content-headline),
main .ibu-video-section > .root > .width-large > .row > .ce_headline :is(h2,h3) {
  margin:0 0 20px; color:#203a4b; font-size:24px; line-height:1.4;
}
@media(max-width:959px) {
  main .ibu-education-native-wrap > .row { grid-template-columns:minmax(0,1fr); gap:28px; }
  main .ibu-education-native-wrap > .row > .ce_text,
  main .ibu-education-native-wrap--two > .row > .ce_text { grid-column:1; grid-row:1; padding-inline:24px!important; }
  main .ibu-education-native-wrap > .row > .ce_image { grid-column:1; }
  main .ibu-education-native-wrap > .row > :is(.ce_downloads,.content-downloads) { width:calc(100% - 48px); }
}
@media(max-width:767px) {
  main .ibu-content-pair:has(> .ibu-education-benefits) > .ce_image { grid-column:1; grid-row:2; }
  main .ibu-page-section .row:has(> .ibu-course-link-card) { grid-template-columns:minmax(0,1fr); gap:24px; }
  main .ibu-course-link-card :is(h2,.ibu-editorial-title) { min-height:0;font-size:22px; }
  main .ibu-video-section > .root > .width-large > .row > :is(.ce_headline,.content-headline),
  main .ibu-video-section > .root > .width-large > .row > .ce_headline :is(h2,h3) { font-size:22px; }
}

/* ibu-text-layout.css */
/* Native text compositions: open typography, soft symbols and no hidden content. */
main .ibu-text-layout {
  --text-ink:#203a4b;
  --text-copy:#596c79;
  --text-accent:#bf2077;
  --text-rule:#d7e0e5;
  --text-marker-bg:#fbebf3;
  --text-marker-border:#efc9dc;
  display:block;
  width:100%;
  min-width:0;
  padding-block:64px;
  color:var(--text-copy);
  background:#fff;
}
main .ibu-text-layout--light { background:#f6f7f9; }
main .ibu-text-layout--dark {
  --text-ink:#fff;
  --text-copy:#e2e9ee;
  --text-accent:#ff9bce;
  --text-rule:#ffffff38;
  --text-marker-bg:#ffffff12;
  --text-marker-border:#ffffff30;
  background:#203a4b;
}
main .ibu-text-layout__container { width:100%;max-width:1230px;margin-inline:auto; }
main .ibu-native-sections > .ibu-text-layout > .ibu-text-layout__container { width:min(1230px,calc(100% - 60px)); }
main .ibu-text-layout :is(.ibu-text-layout__opening,.ibu-text-layout__sections,.ibu-text-layout__section,.ibu-text-layout__section-copy,.ibu-text-layout__copy,.ibu-text-layout__heading,.ibu-text-layout__sidebar,.ibu-text-layout__symbol-copy) { min-width:0; }

main .ibu-text-layout .ibu-text-layout__heading :is(h1,h2,h3,h4) {
  max-width:1120px;
  margin:0;
  padding:0;
  border:0;
  color:var(--text-ink);
  font:600 clamp(28px,2.55vw,36px)/1.35 var(--ibu-type-family,Montserrat,Arial,sans-serif);
  letter-spacing:-.02em;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
  text-transform:none;
}
main .ibu-text-layout__heading::before { content:'';display:block;width:48px;height:3px;margin-bottom:22px;background:var(--text-accent); }
main .ibu-text-layout__heading:has(.ibu-text-layout__kicker)::before { display:none; }
main .ibu-text-layout .ibu-text-layout__kicker { margin:0 0 10px;color:var(--text-accent);font:600 11px/1.6 var(--ibu-type-family,Montserrat,Arial,sans-serif);letter-spacing:.16em;text-transform:none; }
main .ibu-text-layout :is(p,li) { max-width:none;color:var(--text-copy);font:400 16px/1.85 var(--ibu-type-family,Montserrat,Arial,sans-serif);letter-spacing:normal;word-break:normal;overflow-wrap:break-word;hyphens:none; }
main .ibu-text-layout p { margin:0 0 20px; }
main .ibu-text-layout strong { color:var(--text-ink);font-weight:600; }
main .ibu-text-layout .ibu-text-layout__lead p { margin:0 0 24px;color:var(--text-ink);font-size:22px;line-height:1.6;font-weight:500; }
main .ibu-text-layout :is(.ibu-text-layout__section,.ibu-text-layout__sidebar) h3 { margin:0 0 16px;padding:0;color:var(--text-ink);font:600 20px/1.48 var(--ibu-type-family,Montserrat,Arial,sans-serif);letter-spacing:normal;word-break:normal;overflow-wrap:normal;hyphens:none;text-transform:none; }
main .ibu-text-layout .ibu-text-layout__symbol-copy h4 { margin:0 0 5px;color:var(--text-ink);font:600 16px/1.55 var(--ibu-type-family,Montserrat,Arial,sans-serif); }
main .ibu-text-layout ul { margin:0;padding:0;list-style:none; }
main .ibu-text-layout li { position:relative;margin:0 0 10px;padding:0 0 0 17px; }
main .ibu-text-layout li::before { content:'';position:absolute;top:.82em;left:0;width:4px;height:4px;border-radius:50%;background:var(--text-accent); }
main .ibu-text-layout :is(.ibu-text-layout__rich-text,.ibu-text-layout__section-copy,.ibu-text-layout__symbol-copy,.ibu-text-layout__conclusion) > :last-child { margin-bottom:0; }

/* One controlled symbol vocabulary is shared by every composition. */
main .ibu-text-layout__marker { display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--text-marker-border);border-radius:50%;color:var(--text-accent);background:var(--text-marker-bg); }
main .ibu-text-layout__marker svg { display:block;width:19px;height:19px;overflow:visible; }
main .ibu-text-layout__marker--small { width:34px;height:34px; }
main .ibu-text-layout__marker--small svg { width:16px;height:16px; }
main .ibu-text-layout__marker--large { width:46px;height:46px; }
main .ibu-text-layout__marker--large svg { width:21px;height:21px; }

/* Introduction: full title, readable body and individually editable symbol rows. */
main .ibu-text-layout--intro .ibu-text-layout__opening { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px 76px;align-items:start; }
main .ibu-text-layout--intro .ibu-text-layout__heading { grid-column:1 / -1; }
main .ibu-text-layout--intro .ibu-text-layout__sidebar { padding-top:4px; }
main .ibu-text-layout--intro .ibu-text-layout__sidebar > h3 { margin-bottom:13px; }
main .ibu-text-layout__symbol-row { display:grid;grid-template-columns:34px minmax(0,1fr);gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--text-rule); }
main .ibu-text-layout__symbol-row:first-child { border-top:1px solid var(--text-rule); }
main .ibu-text-layout__symbol-row p { margin:0;font-size:15px;line-height:1.7; }
main .ibu-text-layout--intro .ibu-text-layout__copy .ibu-text-layout__rich-text p:last-child { margin-top:24px;padding-left:22px;border-left:2px solid var(--text-accent);color:var(--text-ink);font-size:17px; }

/* Topics: quiet icon-led entries instead of numbered cards. */
main .ibu-text-layout--topics .ibu-text-layout__copy { margin-top:30px; }
main .ibu-text-layout__sections { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px;margin-top:44px; }
main .ibu-text-layout--topics .ibu-text-layout__section { display:grid;grid-template-columns:46px minmax(0,1fr);gap:20px;align-items:start;padding-top:25px;border-top:1px solid var(--text-rule); }
main .ibu-text-layout--topics .ibu-text-layout__section li { margin-bottom:9px; }

/* Overview: the successful intro hierarchy, followed by two deliberate columns. */
main .ibu-text-layout--overview .ibu-text-layout__copy { margin-top:34px; }
main .ibu-text-layout--overview .ibu-text-layout__rich-text { display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:0 72px;align-items:start; }
main .ibu-text-layout--overview .ibu-text-layout__rich-text > p:first-child { grid-column:1;grid-row:1 / span 2;margin:0;color:var(--text-ink);font-size:18px;line-height:1.75; }
main .ibu-text-layout--overview .ibu-text-layout__rich-text > p:nth-child(2) { grid-column:2;margin:0 0 14px;color:var(--text-ink);font-weight:600; }
main .ibu-text-layout--overview .ibu-text-layout__rich-text > ul { grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px; }
main .ibu-text-layout--overview .ibu-text-layout__rich-text > ul li { display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:0;font-size:15px;line-height:1.6; }
main .ibu-text-layout--overview .ibu-text-layout__rich-text > ul li::before { content:'';position:relative;top:2px;left:auto;width:22px;height:22px;border:1px solid var(--text-marker-border);border-radius:50%;background:radial-gradient(circle,var(--text-accent) 0 2px,var(--text-marker-bg) 3px 100%); }
main .ibu-text-layout--overview .ibu-text-layout__sections { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:72px;margin-top:42px;padding-top:31px;border-top:1px solid var(--text-rule); }
main .ibu-text-layout--overview .ibu-text-layout__section { display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;align-items:start; }
main .ibu-text-layout--overview .ibu-text-layout__section:nth-child(2) { padding-left:28px;border-left:2px solid var(--text-accent); }
main .ibu-text-layout--overview .ibu-text-layout__section h3 { margin-top:4px; }
main .ibu-text-layout--overview .ibu-text-layout__list--checks li { display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;margin:0;padding:9px 0;border-bottom:1px solid var(--text-rule); }
main .ibu-text-layout--overview .ibu-text-layout__list--checks li:first-child { border-top:1px solid var(--text-rule); }
main .ibu-text-layout--overview .ibu-text-layout__list--checks li::before { content:'✓';position:static;width:20px;height:20px;border-radius:50%;color:var(--text-accent);background:var(--text-marker-bg);font:600 12px/20px Arial,sans-serif;text-align:center; }

main .ibu-text-layout__conclusion { margin-top:36px;padding-top:25px;border-top:1px solid var(--text-rule); }
main .ibu-text-layout__conclusion p { color:var(--text-ink);font-size:17px; }
main .ibu-text-layout--top-small { padding-top:36px; }
main .ibu-text-layout--top-large { padding-top:88px; }
main .ibu-text-layout--bottom-small { padding-bottom:36px; }
main .ibu-text-layout--bottom-large { padding-bottom:88px; }

@media(max-width:1100px) {
  main .ibu-text-layout--intro .ibu-text-layout__opening { column-gap:42px; }
  main .ibu-text-layout__sections { column-gap:38px; }
  main .ibu-text-layout--overview .ibu-text-layout__rich-text,
  main .ibu-text-layout--overview .ibu-text-layout__sections { column-gap:42px; }
}

@media(max-width:850px) {
  main .ibu-text-layout { padding-block:44px; }
  main .ibu-text-layout--intro .ibu-text-layout__opening { grid-template-columns:minmax(0,1fr);gap:28px; }
  main .ibu-text-layout--intro .ibu-text-layout__heading { grid-column:auto; }
  main .ibu-text-layout--intro .ibu-text-layout__sidebar { padding-top:0; }
  main .ibu-text-layout--overview .ibu-text-layout__rich-text { grid-template-columns:minmax(0,1fr);gap:24px; }
  main .ibu-text-layout--overview .ibu-text-layout__rich-text > :is(p:first-child,p:nth-child(2),ul) { grid-column:1;grid-row:auto; }
  main .ibu-text-layout--overview .ibu-text-layout__rich-text > p:first-child { margin-bottom:0; }
  main .ibu-text-layout--overview .ibu-text-layout__sections { grid-template-columns:minmax(0,1fr);gap:30px; }
  main .ibu-text-layout--overview .ibu-text-layout__section:nth-child(2) { padding:28px 0 0;border-top:1px solid var(--text-rule);border-left:0; }
}

@media(max-width:599px) {
  main .ibu-native-sections > .ibu-text-layout > .ibu-text-layout__container { width:calc(100% - 48px); }
  main .ibu-text-layout .ibu-text-layout__heading :is(h1,h2,h3,h4) { font-size:clamp(26px,7vw,28px);line-height:1.4;overflow-wrap:anywhere; }
  main .ibu-text-layout .ibu-text-layout__lead p { font-size:20px; }
  main .ibu-text-layout :is(.ibu-text-layout__section,.ibu-text-layout__sidebar) h3 { font-size:18px; }
  main .ibu-text-layout__sections { grid-template-columns:minmax(0,1fr);gap:26px;margin-top:32px; }
  main .ibu-text-layout--overview .ibu-text-layout__rich-text > ul { grid-template-columns:minmax(0,1fr); }
  main .ibu-text-layout--overview .ibu-text-layout__copy { margin-top:28px; }
  main .ibu-text-layout--overview .ibu-text-layout__sections { margin-top:32px; }
  main .ibu-text-layout--overview .ibu-text-layout__section { grid-template-columns:38px minmax(0,1fr);gap:14px; }
  main .ibu-text-layout--overview .ibu-text-layout__section:nth-child(2) { padding-top:26px; }
  main .ibu-text-layout__marker--large { width:42px;height:42px; }
  main .ibu-text-layout__conclusion { margin-top:28px; }
}

/* Only the selected introduction swaps its desktop columns. Mobile stays unchanged. */
@media (min-width:851px) {
  main .ibu-text-layout--intro.ibu-intro--situations-left .ibu-text-layout__opening {
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  }
  main .ibu-text-layout--intro.ibu-intro--situations-left .ibu-text-layout__sidebar {
    grid-column:1;
    grid-row:2;
  }
  main .ibu-text-layout--intro.ibu-intro--situations-left .ibu-text-layout__copy {
    grid-column:2;
    grid-row:2;
  }
}

/* Office and language-course facts: the same editable, image-free composition. */
main .ibu-course-facts .ibu-text-layout__sections { grid-template-columns:repeat(3,minmax(0,1fr));gap:36px; }
main .ibu-course-facts .ibu-text-layout__section { grid-template-columns:38px minmax(0,1fr);gap:16px; }
main .ibu-course-facts .ibu-text-layout__marker--large { width:38px;height:38px; }
main .ibu-course-facts .ibu-text-layout__section h3 { font-size:18px; }
main .ibu-course-facts .ibu-text-layout__section p { font-size:15px;line-height:1.8; }
main .ibu-offer-refresh { text-align:left; }
main .ibu-offer-refresh .ibu-text-layout__symbol-copy h4 { letter-spacing:normal;text-transform:none; }
@media(max-width:1000px) {
  main .ibu-course-facts .ibu-text-layout__sections { grid-template-columns:minmax(0,1fr);gap:24px; }
}

/* The AEVO benefits use the site's quieter body scale; other compositions retain theirs. */
main .ibu-offer-aevo-benefits.ibu-text-layout--top-standard { padding-top:40px; }
main .ibu-offer-aevo-benefits.ibu-text-layout--bottom-standard { padding-bottom:40px; }
main .ibu-offer-aevo-benefits .ibu-text-layout__heading :is(h1,h2,h3,h4) { font-size:clamp(24px,2.1vw,30px);line-height:1.35; }
main .ibu-offer-aevo-benefits .ibu-text-layout__copy { margin-top:18px; }
main .ibu-offer-aevo-benefits .ibu-text-layout__lead p { margin-bottom:0;font-size:16px;line-height:1.75; }
main .ibu-offer-aevo-benefits :is(p,li) { font-size:14px;line-height:1.8; }
main .ibu-offer-aevo-benefits .ibu-text-layout__sections { margin-top:28px;gap:24px 44px; }
main .ibu-offer-aevo-benefits .ibu-text-layout__section { grid-template-columns:34px minmax(0,1fr);gap:14px;padding-top:18px; }
main .ibu-offer-aevo-benefits .ibu-text-layout__section h3 { margin-bottom:10px;font-size:17px;line-height:1.5; }
main .ibu-offer-aevo-benefits .ibu-text-layout__marker--large { width:34px;height:34px; }
main .ibu-offer-aevo-benefits .ibu-text-layout__marker--large svg { width:17px;height:17px; }
main .ibu-offer-aevo-benefits .ibu-text-layout__kicker { font-size:11px;line-height:1.6; }
@media(max-width:599px) {
  main .ibu-offer-aevo-benefits.ibu-text-layout--top-standard { padding-top:32px; }
  main .ibu-offer-aevo-benefits.ibu-text-layout--bottom-standard { padding-bottom:32px; }
  main .ibu-offer-aevo-benefits .ibu-text-layout__lead p { font-size:15px; }
  main .ibu-offer-aevo-benefits .ibu-text-layout__section h3 { font-size:16px; }
}

/* LebensphasenKompass document introduction: compact, bilingual and fully editor-driven. */
main .ibu-lifecycle-downloads-intro {
  padding-block:44px;
}
main .ibu-lifecycle-downloads-intro.ibu-text-layout--intro .ibu-text-layout__opening {
  gap:28px 56px;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__heading :is(h1,h2,h3,h4) {
  font-size:clamp(27px,2.25vw,33px);
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__heading::before {
  margin-bottom:18px;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__sidebar > h3 {
  margin-bottom:10px;
  font-size:17px;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__symbol-row {
  grid-template-columns:30px minmax(0,1fr);
  gap:11px;
  padding:9px 0;
  align-items:start;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__marker--small {
  width:30px;
  height:30px;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__marker--small svg {
  width:14px;
  height:14px;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__symbol-copy h4 {
  margin-bottom:2px;
  color:var(--text-accent);
  font-size:13.5px;
  line-height:1.45;
  letter-spacing:normal;
  text-transform:none;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__symbol-row p {
  color:var(--text-copy);
  font-size:12.5px;
  line-height:1.55;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__lead p {
  margin-bottom:17px;
  font-size:18px;
  line-height:1.55;
}
main .ibu-lifecycle-downloads-intro .ibu-text-layout__copy > .ibu-text-layout__rich-text p {
  margin-bottom:13px;
  font-size:14px;
  line-height:1.7;
}
main .ibu-lifecycle-downloads-intro.ibu-text-layout--intro .ibu-text-layout__copy .ibu-text-layout__rich-text p:last-child {
  margin-top:18px;
  padding-left:17px;
  font-size:14px;
  line-height:1.65;
}

@media(min-width:1150px) {
  main .ibu-lifecycle-downloads-intro.ibu-text-layout--intro .ibu-text-layout__opening {
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  }
  main .ibu-lifecycle-downloads-intro .ibu-text-layout__symbol-rows {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px;
  }
  main .ibu-lifecycle-downloads-intro .ibu-text-layout__symbol-row:nth-child(2) {
    border-top:1px solid var(--text-rule);
  }
}

@media(max-width:850px) {
  main .ibu-lifecycle-downloads-intro {
    padding-block:36px;
  }
  main .ibu-lifecycle-downloads-intro.ibu-text-layout--intro .ibu-text-layout__opening {
    gap:22px;
  }
}

@media(max-width:599px) {
  main .ibu-lifecycle-downloads-intro {
    padding-block:30px;
  }
  main .ibu-lifecycle-downloads-intro .ibu-text-layout__heading :is(h1,h2,h3,h4) {
    font-size:26px;
  }
}

/* LebensphasenKompass PDF cards: natural mobile wrapping in this one bilingual collection. */
@media(max-width:390px) {
  main .ibu-lifecycle-downloads-intro .ibu-text-layout__heading :is(h1,h2,h3,h4) {
    font-size:clamp(22px,7.2vw,25px);
    word-break:normal;
    overflow-wrap:normal;
    -webkit-hyphens:auto;
    hyphens:auto;
  }
  main .ibu-lifecycle-downloads-intro :is(p,.ibu-text-layout__symbol-copy h4) {
    word-break:normal;
    overflow-wrap:normal;
    -webkit-hyphens:auto;
    hyphens:auto;
  }
  main .ibu-lifecycle-pdf-collection .ibu-flyer-portal__name {
    width:100%;
    max-width:100%;
    font-size:clamp(20px,6.25vw,23px);
    word-break:normal;
    overflow-wrap:normal;
    -webkit-hyphens:auto;
    hyphens:auto;
  }
  main .ibu-lifecycle-pdf-collection .ibu-flyer-card {
    --ibu-flyer-cover-height:76px;
    --ibu-flyer-cover-width:48px;
    --ibu-flyer-label-size:9.5px;
    --ibu-flyer-title-size:14px;
    --ibu-flyer-description-size:12.5px;
    --ibu-flyer-action-size:12.5px;
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
    padding:14px;
    align-items:start;
  }
  main .ibu-lifecycle-pdf-collection .ibu-flyer-card__preview {
    min-height:76px;
  }
  main .ibu-lifecycle-pdf-collection .ibu-flyer-card :is(.ibu-flyer-card__label,.ibu-flyer-card__title,.ibu-flyer-card__description,.ibu-flyer-card__actions a) {
    word-break:normal;
    overflow-wrap:break-word;
    -webkit-hyphens:auto;
    hyphens:auto;
  }
  main .ibu-lifecycle-pdf-collection .ibu-flyer-card .ibu-flyer-card__label {
    letter-spacing:.04em;
  }
  main .ibu-lifecycle-pdf-collection .ibu-flyer-card .ibu-flyer-card__description {
    line-height:1.58!important;
  }
}

/* ibu-course-overview.css */
main .ibu-course-overview{grid-column:1/-1;flex:0 0 100%;width:100%;min-width:0;margin:24px 0 40px;color:#203a4b}
main .ibu-course-overview *{box-sizing:border-box}
main .ibu-course-overview__inner{overflow:hidden;border:1px solid #dfe5e8;border-radius:14px;background:#fff;box-shadow:0 14px 36px rgba(23,41,54,.055)}
main .ibu-course-overview__header{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px 64px;padding:34px 38px 30px;background:linear-gradient(112deg,#fff 0,#fff 48%,#faf4f8 100%);border-left:4px solid #c51d75}
main .ibu-course-overview__kicker{grid-column:1/-1;margin:0;color:#b41468;font:600 12px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
main .ibu-course-overview__title{grid-column:1;margin:3px 0 0;color:#18364a;font:600 clamp(27px,2.4vw,36px)/1.3 Montserrat,Arial,sans-serif;letter-spacing:-.025em;text-transform:none}
main .ibu-course-overview__intro{grid-column:2;margin:7px 0 0;color:#5c6e7a;font:400 15px/1.8 Montserrat,Arial,sans-serif}
main .ibu-course-overview__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 38px}
main .ibu-course-overview__groups--single{grid-template-columns:minmax(0,1fr)}
main .ibu-course-overview__group{min-width:0;padding:30px 0 26px}
main .ibu-course-overview__group+.ibu-course-overview__group{margin-left:36px;padding-left:36px;border-left:1px solid #dfe5e8}
main .ibu-course-overview__group-header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:18px}
main .ibu-course-overview__symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ecc9da;border-radius:50%;background:#fbedf4;color:#b41468}
main .ibu-course-overview__symbol svg{width:21px;height:21px}
main .ibu-course-overview__eyebrow{margin:0 0 2px;color:#788893;font:500 10px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
main .ibu-course-overview__group h3{margin:0;color:#18364a;font:600 19px/1.45 Montserrat,Arial,sans-serif;text-transform:none;letter-spacing:normal}
main .ibu-course-overview__count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:20px;background:#eef4e9;color:#4b742e;font:600 13px/1 Montserrat,Arial,sans-serif}
main .ibu-course-overview__list{margin:0;padding:0;list-style:none;border-top:1px solid #dfe5e8}
main .ibu-course-overview__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:79px;padding:15px 0;border-bottom:1px solid #e7ebee}
main .ibu-course-overview__location{color:#203a4b;font:500 15px/1.55 Montserrat,Arial,sans-serif}
main .ibu-course-overview__availability{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}
main .ibu-course-overview__status{display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border-radius:20px;font:600 11px/1.4 Montserrat,Arial,sans-serif;white-space:nowrap}
main .ibu-course-overview__status--planning{background:#edf4e8;color:#426b28}
main .ibu-course-overview__status--full{background:#f7e9f1;color:#9f165c}
main .ibu-course-overview__status--request{background:#eaf2f7;color:#2e607d}
main .ibu-course-overview__status--available{background:#e6f4ed;color:#236c4a}
main .ibu-course-overview__note{color:#74838d;font:400 11px/1.45 Montserrat,Arial,sans-serif}
main .ibu-course-overview__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 38px;background:#f6f8f9;border-top:1px solid #dfe5e8}
main .ibu-course-overview__footer p{margin:0;color:#5f707b;font:400 14px/1.65 Montserrat,Arial,sans-serif}
main .ibu-course-overview__link{display:inline-flex;align-items:center;gap:9px;flex:none;color:#ac145f;font:600 13px/1.5 Montserrat,Arial,sans-serif;text-decoration:none}
main .ibu-course-overview__link span{font-size:18px;transition:transform .18s ease}
main .ibu-course-overview__link:hover span{transform:translateX(3px)}
main .ibu-course-overview__link:focus-visible{outline:2px solid #ac145f;outline-offset:4px;border-radius:3px}
@media(max-width:900px){main .ibu-course-overview__header{grid-template-columns:minmax(0,1fr);gap:8px;padding:30px}main .ibu-course-overview__title,main .ibu-course-overview__intro{grid-column:1}main .ibu-course-overview__intro{max-width:72ch;margin-top:8px}main .ibu-course-overview__groups{grid-template-columns:minmax(0,1fr);padding:0 30px}main .ibu-course-overview__group+.ibu-course-overview__group{margin:0;padding:28px 0;border-left:0;border-top:1px solid #dfe5e8}main .ibu-course-overview__footer{padding-inline:30px}}
@media(max-width:599px){main .ibu-course-overview{margin:18px 0 28px}main .ibu-course-overview__inner{border-radius:10px}main .ibu-course-overview__header{padding:25px 21px 23px}main .ibu-course-overview__title{font-size:26px}main .ibu-course-overview__groups{padding:0 21px}main .ibu-course-overview__group{padding:24px 0 20px}main .ibu-course-overview__group-header{grid-template-columns:40px minmax(0,1fr) auto;gap:11px}main .ibu-course-overview__symbol{width:40px;height:40px}main .ibu-course-overview__item{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 0}main .ibu-course-overview__availability{align-items:flex-start;text-align:left}main .ibu-course-overview__footer{align-items:flex-start;flex-direction:column;padding:19px 21px;gap:13px}}

/* ibu-workpp.css */
/* Work@PP keeps native CMS records inside a balanced, contained composition. */
body.ibu-work-page { --work-ink:#203a4b; --work-muted:#596c79; --work-pink:#cf177b; --work-line:#dce5e9; }
main .ibu-work-intro { padding-block:clamp(38px,4.5vw,64px)!important; background:#f6f7f9!important; }
main .ibu-work-intro > .root > .width-large > .row { margin:0; }
main .ibu-work-intro :is(.ce_text,.ibu-editorial-band) { width:100%;max-width:none;margin:0;padding:0;background:transparent!important; }
main .ibu-work-intro .ce_text > .inner { max-width:none; }
.ibu-work-intro__heading { display:block;max-width:850px;margin-bottom:36px; }
main .ibu-work-intro__heading h4 { margin:0 0 14px;color:#c02178;font-size:12px;letter-spacing:.16em;line-height:1.7;text-transform:lowercase;font-weight:600; }
main .ibu-work-intro__heading h2 { margin:0 0 22px!important;color:#203a4b;font-size:clamp(28px,2.8vw,36px)!important;font-weight:600;line-height:1.3!important;letter-spacing:normal;max-width:none; }
main .ibu-work-intro__heading > p { max-width:80ch;margin:0!important;color:#626f7b;font-size:15px!important;line-height:1.85!important; }
main .ibu-work-intro .ibu-work-services { grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border:0;border-top:1px solid #dce5e9;border-radius:0;overflow:visible;background:transparent; }
main .ibu-work-intro .ibu-work-services__item { position:relative;padding:28px 30px 0;border:0;border-right:1px solid #dce5e9;background:transparent; }
main .ibu-work-intro .ibu-work-services__item:first-child { padding-left:0; }
main .ibu-work-intro .ibu-work-services__item:last-child { padding-right:0;border:0;background:transparent; }
main .ibu-work-intro .ibu-work-services__item h4 { min-height:56px;margin:0 0 18px;color:#203a4b;font-size:21px;font-weight:600;line-height:1.35;letter-spacing:normal; }
main .ibu-work-intro .ibu-work-services__item :is(p,li) { color:#626f7b;font-size:14px!important;line-height:1.85!important; }
main .ibu-work-intro .ibu-work-services__item > ul { display:grid;gap:12px;margin:0;padding:0;list-style:none; }
main .ibu-work-intro .ibu-work-services__item > ul > li { position:relative;margin:0;padding:0 0 0 18px; }
main .ibu-work-intro .ibu-work-services__item > ul > li::before { content:'';position:absolute;top:.7em;left:0;width:5px;height:5px;border:1px solid #cf177b;border-radius:50%; }
main .ibu-work-intro .ibu-work-services__item ul ul { margin:9px 0 0;padding-left:15px; }
main .ibu-work-intro .ibu-work-services__item ul ul li { margin:4px 0;padding:0; }

main #workpp-standorte { padding:clamp(38px,4.5vw,64px) 0 0!important;background:#fff!important;scroll-margin-top:100px; }
main #workpp-standorte :is(.row,.ce_sHtml5Start > .row) { margin:0; }
main #workpp-standorte :is(.ce_sHtml5Start,.ce_text,.ibu-editorial-band) { width:100%;max-width:none;margin:0;padding:0;background:transparent!important; }
main #workpp-standorte .ce_text > .inner { max-width:none; }
main #workpp-standorte .content-headline { max-width:none;margin:0 0 22px;color:#203a4b;font-size:clamp(28px,2.8vw,36px);font-weight:600;line-height:1.3;letter-spacing:normal; }
main #workpp-standorte .ce_text p { max-width:80ch;margin:0;color:#626f7b;font-size:15px;line-height:1.85; }
main #workpp-standorte .ce_sHtml5Start > .row { display:block;max-width:850px; }
/* Alternating native editorial sections; full source photos stay visible. */
main .ibu-work-editorial .ibu-about__media figure.ibu-photo,
main .ibu-work-editorial .ibu-about__media .image-mask { aspect-ratio:3/2;height:auto!important; }
main .ibu-work-editorial .ibu-about__media :is(a,picture) { display:block;width:100%;height:100%!important; }
main .ibu-work-editorial .ibu-about__media img { width:100%!important;height:100%!important;aspect-ratio:3/2!important;object-fit:contain!important;object-position:center!important;background:#f1f3f5; }
main .ibu-work-editorial .ibu-about__prose { max-width:60ch; }
main .ibu-work-editorial .ibu-about__prose p:last-child { margin-bottom:0; }
main .ibu-work-contacts :is(h2,.content-headline) { max-width:none;color:#203a4b;font-size:clamp(28px,2.8vw,36px);font-weight:600;line-height:1.3;margin:0 0 20px; }
main .ibu-work-contacts .ibu-contacts-section__grid > .ce_text:not(.ibu-contact-person) { max-width:85ch; }
main .ibu-work-contacts .ibu-contacts-section__grid > .ce_text:not(.ibu-contact-person) p { color:#596c79;font-size:15px;line-height:1.85; }
main .ibu-work-flyers { padding-block:34px!important; }
main .ibu-work-flyers .ibu-flyer-portal__label,
main .ibu-work-flyers .ibu-flyer-portal__name { text-transform:lowercase; }
body.ibu-work-page main .ibu-info-section .ibu-info-card__title { font-size:19px; }
body.ibu-work-page main .ibu-info-section .ibu-info-card__body p { font-size:13px;line-height:1.8; }
@media(max-width:767px) {
 main .ibu-work-intro { padding-block:44px!important; }
 .ibu-work-intro__heading { margin-bottom:28px; }
 main .ibu-work-intro__heading h2 { font-size:28px!important; }
 main .ibu-work-intro__heading > p { font-size:14px!important; }
 main .ibu-work-intro .ibu-work-services { grid-template-columns:minmax(0,1fr); }
 main .ibu-work-intro .ibu-work-services__item { padding:24px 0;border:0;border-bottom:1px solid #dce5e9; }
 main .ibu-work-intro .ibu-work-services__item h4 { min-height:0;font-size:21px;margin-bottom:16px; }
 main .ibu-work-intro .ibu-work-services__item :is(p,li) { font-size:14px!important; }
 main #workpp-standorte { padding:44px 0 0!important;scroll-margin-top:85px; }
 main #workpp-standorte .content-headline { font-size:28px; }
 main #workpp-standorte .ce_text p { font-size:14px; }
 main .ibu-work-flyers { padding-block:24px!important; }
}
@media(max-width:599px) {
 main .ibu-work-flyers .ibu-flyer-card--cover-large { --ibu-flyer-cover-height:220px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'cover' 'copy';gap:18px;padding:24px; }
 main .ibu-work-flyers .ibu-flyer-card--cover-large .ibu-flyer-card__preview { grid-area:cover;justify-self:center;width:100%;min-height:220px; }
 main .ibu-work-flyers .ibu-flyer-card--cover-large .ibu-flyer-card__copy { grid-area:copy;display:block; }
 main .ibu-work-flyers .ibu-flyer-card--cover-large .ibu-flyer-card__title { --ibu-flyer-title-size:20px;hyphens:none; }
 main .ibu-work-flyers .ibu-flyer-card--cover-large .ibu-flyer-card__description { --ibu-flyer-description-size:14px;hyphens:none; }
 main .ibu-work-flyers .ibu-flyer-card--cover-large .ibu-flyer-card__actions { display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:14px; }
}

/* ibu-overview-cards.css */
/* The three editor-owned overview articles. Cards are native hyperlink elements. */
main .ibu-overview-gallery > .root > .width-large > .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 28px;
  margin-inline: 0;
}
main .ibu-overview-gallery > .root > .width-large > .row > :not(.ibu-overview-card) {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-inline: 0;
}
main .ibu-overview-gallery .ibu-overview-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
main .ibu-overview-gallery .ibu-overview-card > .inner {
  height: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.ibu-overview-card__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe4ea;
  border-radius: 12px;
  background: #fff;
  color: #213a4a;
  text-decoration: none;
  box-shadow: 0 4px 16px rgb(33 58 74 / 4%);
  transition: border-color .2s, box-shadow .2s;
}
.ibu-overview-card__media {
  display: block;
  flex: 0 0 40%;
  align-self: center;
  aspect-ratio: 16 / 10;
  margin: 14px 0 14px 14px;
  overflow: hidden;
  border-radius: 7px;
  background: #f4f5f7;
}
.ibu-overview-card__media :is(picture, img) {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin: 0;
  object-fit: cover;
}
.ibu-overview-card__media img { transition: transform .3s; }
.ibu-overview-card__content {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 18px 20px;
}
main .ibu-overview-card .ibu-overview-card__title {
  margin: 0;
  color: inherit;
  min-width: 0;
  font-size: clamp(17px, 1.45vw, 21px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
.ibu-overview-card__arrow {
  display: none;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  margin-left: auto;
  border-radius: 50%;
  color: #cb087b;
  background: #fbeef5;
}
.ibu-overview-card__arrow svg { width: 20px; height: 20px; }
.ibu-overview-card__link:hover {
  border-color: #d12982;
  color: #b30b6c;
  box-shadow: 0 8px 24px rgb(33 58 74 / 10%);
}
.ibu-overview-card__link:focus-visible {
  outline: 3px solid #cb087b;
  outline-offset: 4px;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .ibu-overview-card__link:hover .ibu-overview-card__media img { transform: scale(1.025); }
}
@media (max-width: 1100px) {
  .ibu-overview-card__media { flex-basis: 36%; }
  .ibu-overview-card__content { padding: 16px 18px; }
  .ibu-overview-card__arrow { display: none; }
}
@media (max-width: 699px) {
  main .ibu-overview-gallery > .root > .width-large > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .ibu-overview-card__link { min-height: 100px; }
  .ibu-overview-card__media { flex-basis: 28%; min-width: 76px; margin: 12px 0 12px 12px; }
  .ibu-overview-card__content { gap: 0; padding: 15px 12px; }
  main .ibu-overview-card .ibu-overview-card__title { font-size: 16px; line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  .ibu-overview-card__link,
  .ibu-overview-card__media img { transition: none; }
}

/* ibu-small-screens.css */
/* One phone/tablet composition. Desktop rules and editorial data stay separate. */
@media (max-width:1365px), (max-width:1600px) and (hover:none) and (pointer:coarse) {
  .ibu-header-system .ibu-desktop-bar { background:#fff!important; color:#203a4b; padding:0; }
  .ibu-header-system .ibu-desktop-bar::before,
  .ibu-header-system .ibu-hero-header-crop { display:none!important; }
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-bar__inner {
    zoom:1; display:flex; align-items:center; justify-content:space-between;
    width:100%; max-width:none; min-height:112px; height:auto; margin:0;
    padding:14px 24px; border:0; border-radius:0; background:#fff;
    box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
  }
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-logo { position:relative; inset:auto; transform:none; }
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-logo img { width:auto; height:84px; max-height:none; }
  .ibu-header-system .ibu-desktop-bar :is(.ibu-desktop-nav,.ibu-desktop-utility,.ibu-desktop-panels) { display:none; }
  .ibu-header-system .ibu-desktop-bar .ibu-compact-toggle {
    display:flex; align-items:center; min-height:44px; padding:10px 0 10px 12px; gap:12px;
    border:0; background:none; color:#203a4b; font:600 14px/1.5 Montserrat,Arial,sans-serif;
    letter-spacing:.2em; cursor:pointer;
  }
  .ibu-header-system .ibu-compact-burger,
  .ibu-header-system .ibu-compact-burger::before,
  .ibu-header-system .ibu-compact-burger::after { display:block; width:32px; height:2px; background:currentColor; }
  .ibu-header-system .ibu-compact-burger { position:relative; }
  .ibu-header-system .ibu-compact-burger::before,
  .ibu-header-system .ibu-compact-burger::after { content:''; position:absolute; left:0; }
  .ibu-header-system .ibu-compact-burger::before { top:-8px; }
  .ibu-header-system .ibu-compact-burger::after { top:8px; }
  .ibu-compact-navigation { padding-inline:24px; }
  .ibu-modern-ready main .article-hero .ce_slider.slider-hero { margin-bottom:0!important; }

  .ibu-modern-ready .ibu-hero-system > .unroot > .inner { display:flex; flex-direction:column; min-height:0; height:auto; background:#fff; }
  .ibu-modern-ready .ibu-hero-system .hero-image { width:100%; flex:none; align-self:stretch; }
  .ibu-modern-ready .ibu-hero-system .hero-content {
    padding:28px 32px 24px; min-height:0; color:#203a4b; background:#fff;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content .ce_text,
  .ibu-modern-ready .ibu-hero-system .hero-content .ce_text>.inner { margin:0; min-width:0; max-width:none; }
  .ibu-modern-ready .ibu-hero-system .hero-content .hero-width { min-width:0; width:100%; max-width:72rem; margin-inline:auto; }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__kicker {
    --ibu-brand-kicker-color:#b5206e; --ibu-type-kicker:12px;
    margin:0 0 10px; max-width:64ch; white-space:normal;
    letter-spacing:.12em!important; line-height:1.65!important;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__heading {
    margin:0 0 14px; font-size:clamp(30px,3.5vw,42px); line-height:1.2;
    color:#203a4b; text-shadow:none;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__subheadline {
    margin:0 0 16px; font-size:clamp(18px,2.2vw,22px); line-height:1.45;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content :is(.ibu-hero__lead,.ibu-hero__body p) {
    margin:0 0 14px; font-size:16px; line-height:1.8;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero-cta-group {
    margin:18px 0 0; gap:10px; flex-direction:row; align-items:stretch;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero-cta-group .ibu-button {
    flex:0 1 auto; width:auto; max-width:100%; min-width:0; min-height:44px;
    padding:12px 20px; font-size:12px; line-height:1.5; letter-spacing:.12em;
  }
  .ibu-modern-ready .ibu-hero-system .hero-content .ce_text>.inner>:last-child { margin-bottom:0; }
  /* Photo framing belongs to the native lower-Hero crop, independently of
     the text-below-photo composition shared by phones and tablets. */
  .ibu-modern-ready .ibu-hero-system.ibu-lower-banner .hero-content .ibu-hero__heading { font-size:clamp(26px,3vw,36px); }

  /* A fade carousel's active slide owns its natural height. Hidden slides must
     not reserve the largest slide's whitespace or clip the incoming copy. */
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-list { height:auto!important; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-track { display:block; width:100%!important; height:auto!important; transform:none!important; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-slide { position:absolute!important; inset:0!important; float:none!important; width:100%!important; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-current { position:relative!important; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows {
    width:44px; height:44px; top:var(--ibu-hero-photo-middle,7rem); bottom:auto;
    transform:translateY(-50%); background:#203a4b80; border:1px solid #ffffffb3;
  }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows-prev { left:calc(var(--ibu-hero-photo-left,0px) + 12px); right:auto; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-arrows-next { left:calc(var(--ibu-hero-photo-left,0px) + var(--ibu-hero-photo-width,100%) - 56px); right:auto; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-inside {
    position:absolute; left:var(--ibu-hero-photo-left,0px); top:calc(var(--ibu-hero-photo-bottom,14rem) - 44px);
    bottom:auto; width:var(--ibu-hero-photo-width,100%); height:44px; padding:0 56px; background:none;
    display:flex; justify-content:center; gap:0;
  }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-lines li { flex:0 0 44px; width:44px; height:44px; margin:0; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-lines button { width:44px; height:44px; padding:0; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-lines button::before { width:22px; height:6px; border:0; border-radius:3px; background:#ffffffb3; box-shadow:0 1px 4px #0004; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion .slick-nav-list-lines .slick-active button::before { width:22px; background:#d12982; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo { padding-bottom:56px; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo .slick-nav-arrows { top:auto; bottom:6px; transform:none; background:#fff; color:#203a4b; border-color:#dfe4ea; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo .slick-nav-arrows-prev { left:12px; right:auto; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo .slick-nav-arrows-next { left:auto; right:12px; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo .slick-nav-list-inside { top:auto; bottom:6px; left:56px; width:calc(100% - 112px); padding:0; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo .slick-nav-list-lines button::before { background:#a0a6ad; box-shadow:none; }
  .ibu-modern-ready .jsSliderHero.ibu-hero-motion.ibu-hero-no-photo .slick-nav-list-lines .slick-active button::before { background:#d12982; }

  main .ibu-page-section .ibu-site-button {
    min-width:0!important; min-height:44px!important; padding:10px 16px!important;
    font-size:12px!important; line-height:1.5!important; letter-spacing:.12em!important;
  }
  .ibu-modern-ready main .mod_article:has(.row>.ibu-info-card) { padding-block:20px!important; }
  /* Adjacent sections share a single gap instead of adding Hero, article and
     list-module padding on top of each other. Empty optional fields add none. */
  .ibu-modern-ready main .article-hero:has([data-ibu-hero]:not([data-ibu-lower-banner])) + .ibu-page-section:has(.ibu-news,.ibu-events) { padding-top:0!important; }
  .ibu-modern-ready main .article-hero:has([data-ibu-hero]:not([data-ibu-lower-banner])) + .ibu-page-section :is(.ibu-news,.ibu-events) { padding-top:12px; }
  .ibu-modern-ready main .ibu-info-card .ibu-info-card__title { font-size:clamp(18px,2vw,22px); }
  .ibu-modern-ready main .ibu-editorial-band { padding-block:24px; }
  .ibu-modern-ready main .ibu-about { padding-block:28px; }
}
/* The same generous photo-first composition in every tablet orientation. */
@media (max-width:1365px), (max-width:1600px) and (hover:none) and (pointer:coarse) {
  .ibu-modern-ready main .ibu-content-pair,
  .ibu-modern-ready main .ibu-page-section .azq-responsive-block.ibu-content-pair,
  .ibu-modern-ready main .ibu-education-native-wrap>.row { grid-template-columns:minmax(0,1fr); gap:24px; }
  .ibu-modern-ready main .ibu-education-native-wrap>.row { display:flex; flex-direction:column; }
  .ibu-modern-ready main .ibu-content-pair>.ce_image,
  .ibu-modern-ready main .ibu-content-pair>.ibu-photo-stack,
  .ibu-modern-ready main .ibu-education-native-wrap>.row>.ce_image { grid-column:1; grid-row:1; }
  .ibu-modern-ready main .ibu-education-native-wrap>.row>.ce_image { order:-1; }
  .ibu-modern-ready main .ibu-content-pair>.ce_text,
  .ibu-modern-ready main .ibu-page-section .azq-responsive-block.ibu-content-pair>.ce_text,
  .ibu-modern-ready main .ibu-education-native-wrap>.row>.ce_text { grid-column:1; grid-row:2; padding-inline:24px!important; }
  .ibu-modern-ready main .ibu-content-pair>.ce_text :is(p,li),
  .ibu-modern-ready main .ibu-education-native-wrap>.row>.ce_text :is(p,li) { font-size:16px; line-height:1.8; }
  .ibu-modern-ready main .ibu-content-pair>.ce_text .ibu-editorial-title { max-width:none; font-size:clamp(27px,3vw,38px); }
  .ibu-modern-ready main .ibu-split .ibu-component__container,
  .ibu-modern-ready main .ibu-split .ibu-split__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .ibu-modern-ready main .ibu-split .ibu-split__figure { grid-column:1; grid-row:1; }
  .ibu-modern-ready main .ibu-split .ibu-split__body { grid-column:1; grid-row:2; }
  .ibu-modern-ready main .ibu-text-layout--intro .ibu-text-layout__opening { grid-template-columns:minmax(0,1fr); gap:24px; }
  .ibu-modern-ready main .ibu-text-layout--intro .ibu-text-layout__opening>:is(.ibu-text-layout__heading,.ibu-text-layout__copy,.ibu-text-layout__sidebar) { grid-column:1; grid-row:auto; }
  .ibu-modern-ready main .ibu-about .ibu-about__details--docked { margin-top:20px; }
  .ibu-modern-ready main .ibu-about .ibu-about__details>summary { min-height:52px; padding:12px 0; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-title { font-size:14px; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-action { color:#b5206e; font-size:13px; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-toggle { width:34px; height:34px; }
  .ibu-modern-ready main .ibu-about .ibu-about__details :is(.ibu-about__details-toggle,.ibu-about__details-title,.ibu-about__details-closed) { animation:none!important; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-body { max-width:none; padding:12px 0 20px; font-size:16px; line-height:1.8; }
  .ibu-contact-help .ibu-contact-help__trigger { width:44px; min-height:44px; height:44px; padding:0; gap:0; }
  .ibu-contact-help__trigger>span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
}
@media (max-width:699px) {
  .ibu-modern-ready main .mod_article .row:has(>.ibu-info-card) { grid-template-columns:minmax(0,1fr); gap:24px!important; }
  .ibu-modern-ready main .ibu-info-card { display:block; grid-row:auto; }
  .ibu-modern-ready main .ibu-info-card .ibu-info-card__inner { display:grid; grid-template-columns:40px minmax(0,1fr); grid-template-rows:auto auto; gap:6px 14px; justify-items:start; text-align:left; }
  .ibu-modern-ready main .ibu-info-card__icon { grid-column:1; grid-row:1 / span 2; width:40px; height:40px; margin:0; font-size:23px; }
  .ibu-modern-ready main .ibu-info-card__icon :is(svg,img) { width:24px; height:24px; }
  .ibu-modern-ready main .ibu-info-card .ibu-info-card__title { grid-column:2; grid-row:1; margin:0; font-size:19px; line-height:1.4; text-align:left!important; }
  .ibu-modern-ready main .ibu-info-card .ibu-info-card__body { grid-column:2; grid-row:2; padding:0; font-size:14px; line-height:1.75; }
  .ibu-modern-ready main .ibu-info-card .ibu-info-card__body,
  .ibu-modern-ready main .ibu-info-card .ibu-info-card__body * { text-align:left!important; text-wrap:wrap; }
}
@media (max-width:599px) {
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-bar__inner { min-height:96px; padding:12px 20px; }
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-logo img { height:72px; }
  .ibu-compact-navigation { padding-inline:20px; }
  .ibu-modern-ready .ibu-hero-system .hero-content { padding:20px 20px 16px; }
  .ibu-modern-ready main .mod_article:has(.row>.ibu-info-card) { padding-block:16px!important; }
  .ibu-modern-ready main .ibu-editorial-band { padding-block:20px; }
  .ibu-modern-ready main .ibu-about { padding-block:24px; }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__heading { font-size:clamp(26px,6.6vw,32px); }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__kicker { --ibu-type-kicker:11px; }
  .ibu-modern-ready .ibu-hero-system .hero-content :is(.ibu-hero__lead,.ibu-hero__body p) { font-size:15px; }
  .ibu-modern-ready main .ibu-content-pair>.ce_text :is(p,li),
  .ibu-modern-ready main .ibu-education-native-wrap>.row>.ce_text :is(p,li) { font-size:15px; }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero-cta-group { flex-direction:column; }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero-cta-group .ibu-button { width:100%; }
  .ibu-modern-ready .ibu-hero-system .hero-content .ibu-hero__features { gap:14px; margin-top:20px; }
  main .ibu-page-section .ibu-site-button { width:100%!important; }
  main .ibu-text-layout--top-standard { padding-top:32px; }
  main .ibu-text-layout--bottom-standard { padding-bottom:32px; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-title { display:none; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-action { flex:1; justify-content:space-between; }
  .ibu-modern-ready main .ibu-about .ibu-about__details-body { font-size:15px; }
}
@media (max-width:1365px) and (max-height:600px) and (orientation:landscape) {
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-bar__inner { min-height:80px; padding-block:8px; }
  .ibu-header-system .ibu-desktop-bar .ibu-desktop-logo img { height:64px; }
  .ibu-modern-ready .ibu-hero-system .hero-content { padding:20px 24px; }
}

/* ibu-menu-motion.css */
/* Native summaries and buttons remain the controls; only their artwork moves. */
@media (max-width:1365px), (max-width:1600px) and (hover:none) and (pointer:coarse) {
  .ibu-header-system .ibu-compact-toggle .ibu-compact-burger,
  .ibu-header-system .ibu-compact-toggle .ibu-compact-burger::before,
  .ibu-header-system .ibu-compact-toggle .ibu-compact-burger::after {
    transition:background-color .2s ease,top .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1);
  }
  .ibu-header-system .ibu-compact-toggle[aria-expanded="true"] .ibu-compact-burger { background:transparent; }
  .ibu-header-system .ibu-compact-toggle[aria-expanded="true"] .ibu-compact-burger::before { top:0;transform:rotate(45deg); }
  .ibu-header-system .ibu-compact-toggle[aria-expanded="true"] .ibu-compact-burger::after { top:0;transform:rotate(-45deg); }
  .ibu-header-system .ibu-compact-navigation summary .ibu-compact-chevron { transition:transform .26s cubic-bezier(.22,1,.36,1); }
  .ibu-header-system .ibu-compact-navigation summary[aria-expanded="false"] .ibu-compact-chevron { transform:rotate(90deg); }
  .ibu-header-system .ibu-compact-navigation summary[aria-expanded="true"] .ibu-compact-chevron { transform:rotate(-90deg); }
}
@media (prefers-reduced-motion:reduce) {
  .ibu-header-system .ibu-compact-toggle .ibu-compact-burger,
  .ibu-header-system .ibu-compact-toggle .ibu-compact-burger::before,
  .ibu-header-system .ibu-compact-toggle .ibu-compact-burger::after,
  .ibu-header-system .ibu-compact-navigation summary .ibu-compact-chevron { transition:none; }
}

/* ibu-text-rhythm.css */
/* Heading width follows the authored text column at every viewport size.
   Body reading measures are independent of heading length and semantic level. */
main .ibu-page-section .ibu-editorial-copy .ibu-editorial-title,
main .ibu-about .ibu-about__heading,
main .ibu-standorte .ibu-standorte__intro h2 {
  min-width: 0;
  max-width: 100%;
  max-inline-size: 100%;
  white-space: normal;
}

/* Prose follows its actual column, just like its heading. Native grids and
   page gutters define that column; a second character measure must not leave
   a narrow strip of text when a photo/text pair becomes one stacked column.
   Lists retain their authored padding, markers and column structure. */
main .ibu-page-section .ibu-editorial-copy > .inner > :is(p,ol,ul,blockquote),
main .ibu-page-section .ibu-content-pair > .ce_text p {
  max-width: none;
  max-inline-size: none;
}

/* These standalone introductions already sit inside the native content grid.
   Remove their redundant inner measure without changing a grid or its gutters.
   Split columns, people cards, form panels and news keep their own layout. */
main .ibu-page-section :is(.ibu-section-intro,.ibu-mission-intro) > .inner,
main .ibu-page-section .ibu-work-intro__heading,
main .ibu-page-section .ibu-work-intro__heading > p,
main #workpp-standorte .ce_sHtml5Start > .row,
main #workpp-standorte .ce_text p,
main .ibu-work-editorial .ibu-about__prose,
main .ibu-logistik-overview .ce_text {
  max-width: none;
  max-inline-size: none;
}

/* A booking or contact introduction uses its existing column. The heading
   must not acquire the short display-title measure from generic decoration.
   The existing form width, body reading measure and all form controls remain
   owned by their native component styles. */
main :is([data-ibu-booking-panel], .ibu-contact-section, .ibu-consultation-section)
  .ce_text > .inner > :is(h1, h2, h3):not(.ibu-editorial-kicker, .ibu-type-kicker),
main .ibu-booking-hub > :is(h1, h2, h3) {
  width: auto;
  min-width: 0;
  max-width: 100%;
  max-inline-size: 100%;
  white-space: normal;
}

/* The inset booking panel leaves222px of copy width on a320px phone. Keep a
   long native course name together rather than stranding its final letter. */
@media (max-width: 359px) {
  main :is([data-ibu-booking-panel], .ibu-contact-section)
    .ce_text > .inner > .ibu-editorial-title:not(.ibu-type-heading, .ibu-type-large, .ibu-type-section, .ibu-type-accent) {
    font-size: 20px;
    line-height: 1.4;
  }
}

/* ibu-booking-intro.css */
/* Native Text + Bild: the class is editable/copyable with the content record.
   This contained booking introduction is independent of the closing Hero. */
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split { padding-block:0; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-component__container { width:100%;max-width:100%;margin-inline:0; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__grid { width:100%;max-width:100%;margin-inline:0;align-items:center;gap:clamp(24px,4vw,48px); }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__body { min-width:0;padding:0;color:#536c7c;text-align:left; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__body>:is(h1,h2,h3,h4,h5,h6) { max-width:24ch;margin:0 0 18px;padding:0;border:0;color:#203a4b;font-size:clamp(27px,2.6vw,36px);font-weight:600;line-height:1.25;letter-spacing:normal;text-transform:none;text-wrap:balance; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-rich-text { max-width:57ch;margin:0;color:#536c7c;font-size:15px;line-height:1.8; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-rich-text :is(p,li) { margin-top:0;font-size:inherit;line-height:inherit; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-rich-text>:last-child { margin-bottom:0; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__media { width:100%;max-width:520px;justify-self:end;align-self:center; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__figure { width:100%;margin:0;overflow:hidden;border-radius:12px; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__figure :is(a,picture) { display:block;width:100%;height:auto; }
.ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__figure img { display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:contain; }
@media(max-width:1365px),(max-width:1600px) and (hover:none) and (pointer:coarse) {
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__grid { grid-template-columns:minmax(0,1fr);gap:22px; }
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__media { grid-column:1;grid-row:1;max-width:640px;justify-self:center; }
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__body { grid-column:1;grid-row:2;width:100%;max-width:640px;justify-self:center; }
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__body>:is(h1,h2,h3,h4,h5,h6) { max-width:26ch;font-size:clamp(26px,3.2vw,32px);margin-bottom:14px; }
}
@media(max-width:599px) {
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__grid { gap:18px; }
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-split__body>:is(h1,h2,h3,h4,h5,h6) { font-size:26px; }
 .ibu-modern-ready main .ibu-page-section .ibu-booking-intro.ibu-split .ibu-rich-text { font-size:14px;line-height:1.75; }
}

/* ibu-course-disclosures.css */
/* A second way back to every long native course disclosure's own trigger. */
main .ibu-course-disclosure-footer { display:flex;justify-content:flex-end;grid-column:1/-1;clear:both;margin-top:20px;padding-top:14px;border-top:1px solid #e4e8ec; }
main .ibu-course-disclosure-close { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:100%;margin:0;padding:10px 16px;border:1px solid #d5dfe5;border-radius:7px;background:#fff;color:#29495c;font:600 12px/1.5 var(--ibu-type-family,Montserrat,Arial,sans-serif);letter-spacing:normal;text-transform:none;box-shadow:none;cursor:pointer; }
main .ibu-course-disclosure-close>span { font-size:19px;line-height:1; }
main .ibu-course-disclosure-close:hover { border-color:#ac1c68;color:#ac1c68;background:#fff7fb; }
main .ibu-course-disclosure-close:focus-visible { outline:2px solid #ac1c68;outline-offset:3px; }
main .ibu-page-events details>.ibu-course-disclosure-footer { margin:0;padding:14px 16px;border-top:1px solid #e4e8ec;background:#fff; }
main :is(.ibu-sachkunde-module,.ibu-course-choice-panel)>.ibu-course-disclosure-footer { margin:0;padding:12px 16px; }
main :is(.ibu-sachkunde-module,.ibu-course-choice-panel) .ibu-course-disclosure-footer { margin-top:12px;padding-top:10px; }
main .ibu-page-events summary,
main :is(.ibu-sachkunde-module,.ibu-course-choice-panel)>summary,
main .ibu-sachkunde-hub__choice { scroll-margin-top:24px; }
@media(max-width:599px) {
 main .ibu-course-disclosure-footer { margin-top:16px; }
 main .ibu-course-disclosure-close { padding-inline:14px; }
}

