@font-face { font-family: Montserrat; src: url('../Fonts/montserrat-normal.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: Montserrat; src: url('../Fonts/montserrat-italic.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; }
/* Fallback face with the metrics of Montserrat (size-adjust and the vertical overrides, measured against Arial): the text keeps its
   line breaks and heights while the web font loads, so the swap shifts no layout. Sources are the system Arial faces. */
@font-face { font-family: "Montserrat Fallback"; src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Arimo"); font-weight: 100 599; font-style: normal; size-adjust: 114.5%; ascent-override: 84.5%; descent-override: 21.9%; line-gap-override: 0%; }
@font-face { font-family: "Montserrat Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Arimo Bold"); font-weight: 600 900; font-style: normal; size-adjust: 111.2%; ascent-override: 87.1%; descent-override: 22.6%; line-gap-override: 0%; }
@font-face { font-family: "Montserrat Fallback"; src: local("Arial Italic"), local("Arial-ItalicMT"), local("Liberation Sans Italic"), local("Arimo Italic"); font-weight: 100 599; font-style: italic; size-adjust: 114.5%; ascent-override: 84.5%; descent-override: 21.9%; line-gap-override: 0%; }
@font-face { font-family: "Montserrat Fallback"; src: local("Arial Bold Italic"), local("Arial-BoldItalicMT"), local("Liberation Sans Bold Italic"), local("Arimo Bold Italic"); font-weight: 600 900; font-style: italic; size-adjust: 111.2%; ascent-override: 87.1%; descent-override: 22.6%; line-gap-override: 0%; }
/* Feste Designwerte. Redaktionelle Farbrollen setzt Shell.fluid.html aus den Site Settings; Regeln stehen in DESIGN.md. */
:root {
    --coverit-header-height: 73px; --coverit-width: 1440px; --coverit-shell: 1920px; --coverit-measure: 72ch; --coverit-gutter: 56px; --coverit-section-space: 48px; --coverit-section-end: 32px;
    --coverit-body: clamp(1rem, 1.05vw, 1.125rem); --coverit-title: clamp(4rem, 7vw, 7.5rem); --coverit-title-band: clamp(min(28px, 7.8vw), 4.219vw, 81px);
    --coverit-chapter: clamp(1.75rem, 2.6vw, 2.375rem); --coverit-section: clamp(1.5rem, 2.1vw, 2rem); --coverit-claim: clamp(1.75rem, 3vw, 2.875rem); --coverit-menu: clamp(24px, 2.2vw, 42px);
    --coverit-hover-duration: .2s; --coverit-overlay-duration: .3s; --coverit-mark-duration: 6s; --coverit-band-speed: 56px;
    --coverit-copy: #F2F3F4; --coverit-action-hover: #FFA142; --coverit-unavailable: #8A8E92; --coverit-invalid: #FF8A80; --coverit-mark: #FFAD5C; --coverit-paper: #FFFFFF;
    --coverit-hero-shade: #000000E8; --coverit-icon-shade: #0000004D; --coverit-word-shade: #131619E6; --coverit-backdrop: #000000CC;
    --coverit-line: color-mix(in srgb, var(--coverit-text) 35%, transparent);
    --coverit-overlay: color-mix(in srgb, var(--coverit-background) 88%, transparent);
    --coverit-active-surface: color-mix(in srgb, var(--coverit-accent) 8%, transparent);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { color-scheme: dark; scroll-padding-top: calc(var(--coverit-header-height) + 20px); }
body { margin: 0; background: var(--coverit-background); color: var(--coverit-text); font: 400 var(--coverit-body)/1.5 Montserrat, "Montserrat Fallback", sans-serif; }
a { color: inherit; text-underline-offset: .25em; }
a:hover { color: var(--coverit-accent); }
button { font: inherit; cursor: pointer; border-radius: 0; }
:focus-visible { outline: 2px solid var(--coverit-text); outline-offset: 5px; }
::selection { background: var(--coverit-accent); color: var(--coverit-background); }
img, video { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
p { margin: 0 0 1.25rem; }
h1, h2, h3, h4 { margin: 0 0 1.25rem; font-weight: 700; font-style: italic; line-height: 1.15; overflow-wrap: break-word; }
h2 { font-size: var(--coverit-chapter); line-height: 1.2; }
h3 { font-size: var(--coverit-section); }
ul, ol { padding-inline-start: 1.3em; }
.skip-link { position: fixed; z-index: 100; inset: 1rem auto auto 1rem; padding: 1rem; background: var(--coverit-accent); color: var(--coverit-background); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
/* Language and menu widths are shared with the homepage advisor action below them. */
.site-header { --header-row-height: 72px; --header-language-width: 101px; --header-menu-width: 72px; position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) auto; border-bottom: 1px solid var(--coverit-border); background: var(--coverit-background); }
.brand { min-width: 0; display: flex; align-items: center; padding: 14px var(--coverit-gutter); }
.brand img { width: 232px; max-height: 54px; object-fit: contain; }
.header-actions { min-height: var(--header-row-height); }
.header-actions, .language-menu, .header-links { display: flex; align-items: stretch; }
.header-action { display: flex; flex-direction: column; justify-content: center; padding: 12px 24px; border-inline-start: 1px solid var(--coverit-border); text-align: center; text-decoration: none; }
.header-action span { font-size: .75rem; }
.header-action strong { color: var(--coverit-accent); font-size: 1.125rem; }
.header-action-unavailable { align-self: center; max-width: 12rem; padding: 12px; margin: 0; font-size: .75rem; }
.language-menu { min-width: var(--header-language-width); width: max-content; border-inline-start: 1px solid var(--coverit-border); }
.language-menu a { flex: 1 0 auto; display: grid; place-content: center; min-width: 50px; padding: 10px; white-space: nowrap; text-decoration: none; font-size: 18px; font-weight: 600; }
.language-menu .is-active { color: var(--coverit-accent); background: color-mix(in srgb, var(--coverit-accent) 7%, var(--coverit-background)); }
.menu-trigger { display: grid; place-content: center; flex: 0 0 var(--header-menu-width); width: var(--header-menu-width); padding: 18px; border: 0; background: var(--coverit-accent); color: var(--coverit-background); }
.menu-trigger:hover { background: var(--coverit-text); }
.menu-symbol { width: 36px; height: 36px; }
.home-search { height: auto; grid-column: 1 / -1; display: flex; align-items: stretch; min-height: calc(var(--header-row-height) + 1px); border-top: 1px solid var(--coverit-border); }
/* Search and advisor share the row height so the underline meets the button's bottom border. */
.home-search .coverit-search__form { height: 100%; min-height: 0; padding-inline: var(--coverit-gutter) 12px; }
.home-search .coverit-search__icon { color: var(--coverit-text); }
.home-search__action { overflow-wrap: anywhere; hyphens: auto; flex: none; display: flex; align-items: center; justify-content: center; width: calc(var(--header-language-width) + var(--header-menu-width)); padding: 0 12px; border: 2px solid var(--coverit-accent); background: transparent; color: var(--coverit-accent); font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none; }
.home-search__action:hover { background: var(--coverit-accent); color: var(--coverit-background); }
.header-links .header-action { min-width: 108px; padding: 8px 12px; line-height: 1.2; }
.header-links .header-action span { font-size: clamp(16px, 1.198vw, 18px); font-weight: 300; }
.header-links .header-action strong { font-weight: 600; }
.site-menu { margin: 0; width: 100%; height: 100%; max-height: 100%; max-width: 100%; padding: 10px; border: 0; background: var(--coverit-overlay); color: var(--coverit-text); }
.site-menu::backdrop { background: transparent; }
/* Glass of the former popup 2152; the 88 % surface keeps label contrast without filter support. */
.site-menu[data-enhanced] { -webkit-backdrop-filter: blur(24px) brightness(77%); backdrop-filter: blur(24px) brightness(77%); }
@media (prefers-reduced-transparency: reduce) { .site-menu[data-enhanced] { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--coverit-background); } }
.menu-shell { display: flex; flex-direction: column; gap: 40px; min-height: 100vh; padding: 0 32px 32px; }
.menu-content { display: flex; flex-direction: column; gap: 40px; margin-top: 132px; }
.site-menu:not([data-enhanced]) { position: static; height: auto; max-height: none; padding-block: 40px; background: var(--coverit-background); }
.site-menu:not([data-enhanced]) .menu-shell { min-height: 0; }
.site-menu:not([data-enhanced]) .menu-content { margin-top: 0; }
.menu-head h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
/* Close sits exactly on the menu trigger's tile (same size, place and colours), so the open menu reads as the toggled burger. */
.site-menu { --header-row-height: 72px; --header-menu-width: 72px; }
.menu-head button { position: absolute; top: 0; right: 0; z-index: 1; display: grid; place-content: center; width: var(--header-menu-width); height: var(--header-row-height); padding: 0; border: 0; background: var(--coverit-accent); color: var(--coverit-background); }
.menu-head button:hover { background: var(--coverit-background); color: var(--coverit-accent); outline: 1px solid var(--coverit-accent); outline-offset: -1px; }
.menu-head button:focus-visible { outline: 3px solid var(--coverit-background); outline-offset: -6px; }
.menu-head button span { font: 300 clamp(36px, 3.4vw, 48px)/1 sans-serif; }
.main-menu, .main-menu ul { list-style: none; padding: 0; margin: 0; }
.menu-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
.main-menu > li { break-inside: avoid; padding: 0; }
.menu-entry { display: flex; align-items: center; gap: 14px; min-width: 0; }
.menu-entry a, .menu-heading { display: flex; flex: 1; align-items: center; min-width: 0; min-height: 32px; overflow-wrap: anywhere; hyphens: auto; }
.main-menu > li > .menu-entry > a { font-size: var(--coverit-menu); line-height: 1.2; font-weight: 500; font-style: normal; text-decoration: none; text-transform: uppercase; }
.main-menu > li > .menu-entry:not(:has(.menu-disclosure)) { padding-inline-start: 46px; }
.menu-disclosure { flex: 0 0 32px; width: 32px; min-height: 32px; display: grid; place-content: center; padding: 0; border: 0; color: inherit; background: transparent; }
.menu-disclosure:hover { color: var(--coverit-accent); }
.menu-disclosure span { width: 20px; height: 20px; background: currentColor; mask: var(--menu-chevron-right) center / contain no-repeat; }
.menu-disclosure[aria-expanded="true"] span { mask-image: var(--menu-chevron-down); }
.main-menu .menu-panel { display: block; column-count: 2; column-gap: 56px; padding-inline-start: 66px; }
.main-menu .menu-panel > li { break-inside: avoid; }
.main-menu .menu-panel > li:not(:has(.menu-group)) { column-span: all; }
.main-menu .menu-group { padding-inline-start: 20px; }
.menu-panel a { font-size: clamp(15px, 1.05vw, 20px); line-height: 1.35; font-weight: 300; font-style: italic; text-decoration: none; }
.menu-panel > li:has(.menu-group) > .menu-entry > :is(a, .menu-heading) { font-size: clamp(16px, 1.05vw, 20px); line-height: 1.2; font-weight: 500; font-style: normal; }
.main-menu a[aria-current="page"] { color: var(--coverit-accent); }
.menu-footer { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 40px; }
.menu-meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 72px; }
.menu-meta ul { padding: 0; margin: 0; list-style: none; }
.menu-meta .menu-social { margin-top: 4px; --footer-social-icon-size: 36px; }
.menu-meta .menu-social ul { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.menu-meta .menu-contact p:has(a) { display: contents; }
.menu-meta .menu-contact { display: flex; flex-direction: row; flex-wrap: wrap; margin-top: 2px; gap: 12px; }
.menu-contact p:not(:has(a)), .menu-contact br { display: none; }
.menu-meta .menu-social a, .menu-meta .menu-contact a { display: grid; place-content: center; width: 57.6px; height: 57.6px; padding: 10.8px; font-size: 0; }
.menu-meta .menu-contact a + br + a { margin-top: 0; }
.menu-meta .menu-contact a[href]::before { content: ""; width: 36px; height: 36px; background: currentColor; mask: var(--footer-icon) center / contain no-repeat; }
.menu-contact a[href^="mailto:"] { order: 2; }
.menu-contact .menu-map { order: 1; }
.menu-legal { margin-inline-start: -2.25vw; }
.menu-legal ul { display: flex; flex-wrap: wrap; justify-content: center; padding: 0; margin: 0; list-style: none; }
.menu-legal a { display: block; padding: 13px 20px; color: var(--coverit-text); font-size: 16px; line-height: 20px; text-decoration: none; }
.menu-legal a:hover { color: var(--coverit-accent); }
@media (min-width: 1025px) {
    .site-menu { padding: 10px; }
    .menu-shell { gap: 48px; padding: 0 5% 2.8% 9.5%; }
    .menu-content { margin-top: 160px; gap: 48px; }
}
.menu-disclosure { --menu-chevron-right: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20320%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M285.476%20272.971L91.132%20467.314c-9.373%209.373-24.569%209.373-33.941%200l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505%20256%2034.484%20101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373%2024.569-9.373%2033.941%200L285.475%20239.03c9.373%209.372%209.373%2024.568.001%2033.941z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.menu-disclosure { --menu-chevron-down: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20448%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M207.029%20381.476L12.686%20187.132c-9.373-9.373-9.373-24.569%200-33.941l22.667-22.667c9.357-9.357%2024.522-9.375%2033.901-.04L224%20284.505l154.745-154.021c9.379-9.335%2024.544-9.317%2033.901.04l22.667%2022.667c9.373%209.373%209.373%2024.569%200%2033.941L240.971%20381.476c-9.373%209.372-24.569%209.372-33.942%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.menu-meta .menu-contact a[href^="tel:"] { --footer-icon: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20384%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M97.333%20506.966c-129.874-129.874-129.681-340.252%200-469.933%205.698-5.698%2014.527-6.632%2021.263-2.422l64.817%2040.513a17.187%2017.187%200%200%201%206.849%2020.958l-32.408%2081.021a17.188%2017.188%200%200%201-17.669%2010.719l-55.81-5.58c-21.051%2058.261-20.612%20122.471%200%20179.515l55.811-5.581a17.188%2017.188%200%200%201%2017.669%2010.719l32.408%2081.022a17.188%2017.188%200%200%201-6.849%2020.958l-64.817%2040.513a17.19%2017.19%200%200%201-21.264-2.422zM247.126%2095.473c11.832%2020.047%2011.832%2045.008%200%2065.055-3.95%206.693-13.108%207.959-18.718%202.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063%2032.063%200%200%200%200-29.945c-2.533-4.788-1.65-10.662%202.261-14.41l5.975-5.726c5.61-5.378%2014.768-4.112%2018.718%202.581zm91.787-91.187c60.14%2071.604%2060.092%20175.882%200%20247.428-4.474%205.327-12.53%205.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379%2049.687-59.538%2049.646-145.933%200-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813%2013.078-4.394%2017.552.933zm-45.972%2044.941c36.05%2046.322%2036.108%20111.149%200%20157.546-4.39%205.641-12.697%206.251-17.856%201.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931%2026.536-34.564%2026.534-82.572%200-117.134-3.713-4.836-3.115-11.711%201.285-15.931l5.818-5.579c5.159-4.947%2013.466-4.337%2017.856%201.304z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.menu-contact .menu-map { --footer-icon: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20576%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M560.02%2032c-1.96%200-3.98.37-5.96%201.16L384.01%2096H384L212%2035.28A64.252%2064.252%200%200%200%20191.76%2032c-6.69%200-13.37%201.05-19.81%203.14L20.12%2087.95A32.006%2032.006%200%200%200%200%20117.66v346.32C0%20473.17%207.53%20480%2015.99%20480c1.96%200%203.97-.37%205.96-1.16L192%20416l172%2060.71a63.98%2063.98%200%200%200%2040.05.15l151.83-52.81A31.996%2031.996%200%200%200%20576%20394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224%2090.42l128%2045.19v285.97l-128-45.19V90.42zM48%20418.05V129.07l128-44.53v286.2l-.64.23L48%20418.05zm480-35.13l-128%2044.53V141.26l.64-.24L528%2093.95v288.97z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.coverit-intro { display: grid; grid-template-columns: 1fr; max-width: var(--coverit-shell); margin-inline: auto; padding-block: 56px 40px; }
.coverit-home .coverit-intro { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; }
.coverit-intro:has(> .coverit-hero--image:first-of-type) { grid-template-columns: 1fr 1fr; }
.coverit-page-heading { padding-inline: var(--coverit-gutter); min-width: 0; align-self: end; }
.coverit-intro > .coverit-hero:first-of-type { display: contents; }
.coverit-intro > .coverit-hero:first-of-type > .coverit-hero__text { grid-column: 1; grid-row: 2; align-self: start; }
.coverit-intro > .coverit-hero:first-of-type > .coverit-hero__image { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.coverit-intro > .coverit-hero ~ .coverit-hero { grid-column: 1 / -1; }
.coverit-error .coverit-intro > .coverit-hero:first-of-type { display: grid; grid-template-columns: subgrid; grid-template-rows: subgrid; grid-column: 1 / -1; grid-row: 1 / span 3; padding: 0; max-width: none; pointer-events: none; }
.coverit-error .coverit-intro > .coverit-hero:first-of-type > * { pointer-events: auto; }
.coverit-error .coverit-intro > .coverit-page-heading { grid-column: 1; grid-row: 1; }
.coverit-hero { max-width: var(--coverit-shell); margin-inline: auto; padding-block: 56px 40px; }
.coverit-hero__text { padding-inline: var(--coverit-gutter); align-self: center; min-width: 0; }
.coverit-hero--image { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.coverit-page-heading h1 { font-size: var(--coverit-title); line-height: 1; margin-block: 24px; hyphens: auto; }
.coverit-page-heading .eyebrow, .coverit-hero .eyebrow { color: var(--coverit-accent); margin: 0; font-size: 1rem; }
.coverit-hero__body h2 { font-size: var(--coverit-claim); border: 0; padding: 0; }
.coverit-hero__body p { color: var(--coverit-muted); }
.coverit-hero__body p:last-child { margin-bottom: 0; }
.coverit-button { display: inline-flex; align-items: center; justify-content: center; padding: 20px 18px; margin-block: 8px; border: 1px solid var(--coverit-accent); background: var(--coverit-accent); color: var(--coverit-background); font-size: 1rem; font-weight: 600; text-decoration: none; }
.coverit-button:hover { background: transparent; color: var(--coverit-accent); }
.coverit-hero__image { min-width: 0; }
.coverit-hero__image img { width: 100%; object-fit: cover; }
.coverit-hero__image figcaption { padding: 8px 16px; color: var(--coverit-muted); font-size: .8125rem; }

.coverit-intro:has(> .coverit-hero--background:first-of-type) { grid-template-columns: 1fr; max-width: none; padding: 0; position: relative; isolation: isolate; }
.coverit-intro:has(> .coverit-hero--background:first-of-type) > .coverit-page-heading { grid-column: 1; grid-row: 1; align-self: stretch; z-index: 1; padding-block: min(8.177vw, 157px) 0; padding-inline: calc(var(--coverit-gutter) + max(0px, (100% - var(--coverit-shell)) / 2)); background: linear-gradient(180deg, var(--coverit-hero-shade), transparent 60%); }
.coverit-intro:has(> .coverit-hero--background:first-of-type) .coverit-page-heading h1 { font-size: var(--coverit-title-band); line-height: .988; margin: 0; }
.coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__image { grid-column: 1; grid-row: 1; align-self: stretch; position: relative; min-height: clamp(340px, 48.02vw, 922px); margin: 0; }
.coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__image figcaption { position: absolute; right: 0; bottom: 0; z-index: 2; background: var(--coverit-background); }
.coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__foreground { z-index: 2; pointer-events: none; }
.coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__text { grid-column: 1; grid-row: 2; }
.coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__text:has(.coverit-hero__body:empty):not(:has(h2, .eyebrow)) { display: none; }
.coverit-content > .frame-type-text.frame-layout-1 .ce-bodytext { column-count: 2; column-gap: 32px; }
.coverit-content > .frame-layout-1 .ce-bodytext p:first-child { margin-top: 0; }

.coverit-content > .frame { padding: var(--coverit-section-space) max(var(--coverit-gutter), calc((100% - var(--coverit-width)) / 2)) var(--coverit-section-end); border-top: 1px solid var(--coverit-line); }
.coverit-content > .frame > header h2 { margin-bottom: 32px; }
.coverit-content h2, .coverit-error .coverit-hero__text h2 { padding-inline-start: 12px; border-inline-start: 3px solid var(--coverit-accent); }
.ce-headline-left { text-align: left; }
.ce-headline-center { text-align: center; }
.ce-headline-right { text-align: right; }
.coverit-content h2:is(.ce-headline-center, .ce-headline-right) { width: fit-content; max-width: 100%; margin-inline-start: auto; }
.coverit-content h2.ce-headline-center { margin-inline-end: auto; }
.coverit-content .ce-textpic { display: flow-root; }
.ce-bodytext, .ce-gallery { min-width: 0; }
.ce-bodytext, .ce-uploads { overflow-wrap: anywhere; }
:where(.coverit-content .ce-bodytext) a:not([class]) { color: var(--coverit-accent); }
:where(.coverit-content .ce-bodytext) a:not([class]):hover { color: var(--coverit-text); }
.ce-gallery { width: fit-content; max-width: 100%; }
.ce-row { display: flex; gap: 16px; align-items: start; }
.ce-column { flex: 1; min-width: 0; }
.ce-gallery figure { margin-bottom: 16px; }
.ce-gallery figcaption { margin-top: 8px; font-size: .8125rem; color: var(--coverit-muted); }
.ce-border img { border: 1px solid var(--coverit-border); }
.coverit-content .ce-above, .coverit-content .ce-below { display: flex; flex-direction: column; gap: 32px; }
.ce-above.ce-center > .ce-gallery, .ce-below.ce-center > .ce-gallery { align-self: center; }
.ce-above.ce-right > .ce-gallery, .ce-below.ce-right > .ce-gallery { align-self: end; }
.ce-above.ce-left > .ce-gallery, .ce-below.ce-left > .ce-gallery { align-self: start; }
.coverit-content .ce-intext.ce-nowrap { display: flex; gap: 32px; align-items: start; }
.ce-intext.ce-nowrap > .ce-gallery { flex: 0 1 auto; max-width: 50%; }
.ce-intext.ce-nowrap > .ce-bodytext { flex: 1; }
.ce-intext.ce-nowrap.ce-right { flex-direction: row-reverse; }
.ce-intext:not(.ce-nowrap) > .ce-gallery { width: 50%; margin-bottom: 16px; }
.ce-intext:not(.ce-nowrap).ce-above.ce-left > .ce-gallery, .ce-below.ce-left > .ce-gallery { float: left; margin-right: 32px; }
.ce-intext:not(.ce-nowrap).ce-above.ce-right > .ce-gallery, .ce-below.ce-right > .ce-gallery { float: right; margin-left: 32px; }
.ce-uploads { list-style: none; padding: 0; }
.ce-uploads li { display: flex; align-items: start; gap: 24px; padding: 24px; margin-block: 20px; background: var(--coverit-surface); border: 1px solid var(--coverit-border); }
.ce-uploads li > div { flex: 1; min-width: 0; }
.ce-uploads li > a { flex: 0 0 96px; }
.ce-uploads-description, .ce-uploads-filesize { display: block; margin-top: 8px; color: var(--coverit-muted); }
.frame-type-table, .coverit-table-scroll { overflow-x: auto; }
.coverit-table-scroll { margin: 8px; }
.coverit-table-hint { margin: 0 8px 12px; color: var(--coverit-muted); font-size: .875rem; }
caption { text-align: start; padding-block: 12px; }
.coverit-table-scroll:focus-visible { outline-offset: 4px; }
.coverit-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
.coverit-card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--coverit-border); text-decoration: none; }
.coverit-card:hover { color: var(--coverit-text); border-color: var(--coverit-accent); }
.coverit-card__image { width: 100%; height: 280px; object-fit: cover; }
.coverit-card__body { display: grid; gap: 16px; padding: 20px; }
.coverit-card__body strong { display: flex; justify-content: space-between; gap: 24px; color: var(--coverit-accent); font-size: 1.5rem; font-style: italic; }
.coverit-card__body small { color: var(--coverit-muted); font-size: .8125rem; }
table { border-collapse: collapse; width: 100%; }
th, td { padding: 16px; border-bottom: 1px solid var(--coverit-border); text-align: start; }
@media (min-width: 1921px) { .site-header { padding-inline: max(0px, calc((100vw - var(--coverit-shell)) / 2)); } }
@media (max-width: 1024px) {
    :root { --coverit-gutter: 32px; --coverit-section-space: 40px; --coverit-title: clamp(3.5rem, 7vw, 6rem); --coverit-menu: 1.5rem; }
    :is(.site-header, .site-menu) { --header-row-height: 56px; }
    .header-links .header-action { padding-block: 0; }
    .brand { padding-block: 0; }
    .brand img { width: 180px; }
    :is(.site-header, .site-menu) { --header-menu-width: 56px; }
    .menu-trigger { padding: 14px; }
    .menu-symbol { width: 28px; height: 28px; }
    .menu-columns { grid-template-columns: 1fr; }
    .menu-meta { column-gap: 48px; }
    .menu-meta .menu-social { --footer-social-icon-size: 30px; }
    .menu-meta .menu-social a, .menu-meta .menu-contact a { width: 48px; height: 48px; padding: 9px; }
    .menu-meta .menu-contact a[href]::before { width: 30px; height: 30px; }
    .coverit-hero__text { padding-inline-end: 24px; }
}
@media (max-width: 767px) {
    :root { --coverit-gutter: clamp(16px, 5.13vw, 20px); --coverit-section-space: 36px; --coverit-section-end: 28px; --coverit-chapter: clamp(22px, 7vw, 28px); --coverit-claim: clamp(1.5rem, 7.5vw, 1.75rem); --coverit-title: clamp(3rem, 16vw, 4rem); --coverit-menu: 1.1875rem; --coverit-band-speed: 44px; }
    :is(.site-header, .site-menu) { --header-row-height: clamp(48px, 7vh, 56px); }
    .home-search__action { padding-inline: 6px; font-size: 14px; }
    .home-search .coverit-search__form { padding-inline-end: 6px; }
    .home-search .coverit-search__input { text-overflow: ellipsis; }
    .home-search .coverit-search__input::placeholder { font-size: clamp(13px, 4vw, 16px); }
    .brand { padding: 0 8px 0 var(--coverit-gutter); }
    .brand img { width: min(150px, 100%); }
    .header-action { padding: 12px; }
    .header-action span { display: none; }
    .header-action strong { font-size: 16px; }
    /* Narrow phones shrink the header cells fluidly so the compact weather keeps its place. */
    .site-header { --header-language-width: clamp(84px, 23.6vw, 92px); --header-menu-width: clamp(44px, 12.6vw, 49px); --header-weather-width: clamp(44px, 13.3vw, 52px); }
    .site-menu { --header-menu-width: clamp(44px, 12.6vw, 49px); }
    .language-menu a { min-width: 0; padding: 10px 4px; font-size: 16px; line-height: 1.1; }
    .menu-trigger { padding: 12px 0; }
    .menu-symbol { width: 24px; height: 24px; }
    .header-links .header-action { min-width: 0; height: 100%; padding: 8px clamp(8px, 3.2vw, 12px); }
    .header-links .header-action span { display: none; }
    .coverit-intro { padding-block: 32px 28px; }
    .coverit-intro:has(> .coverit-hero--image:first-of-type) { grid-template-columns: 1fr; }
    .coverit-intro > .coverit-hero:first-of-type > .coverit-hero__image { grid-column: 1; grid-row: 3; }
    .coverit-hero { padding-block: 32px 28px; }
    .coverit-hero--image { grid-template-columns: 1fr; }
    .coverit-hero__text { padding-inline: var(--coverit-gutter); }
    .coverit-hero__image { margin-top: 28px; }
    .coverit-content .ce-intext.ce-nowrap { flex-direction: column; align-items: stretch; }
    .ce-intext.ce-nowrap > .ce-gallery { max-width: 100%; }
    .ce-intext:not(.ce-nowrap) > .ce-gallery { float: none; width: 100%; margin: 0 0 24px; }
    .ce-uploads li { flex-direction: column; gap: 16px; padding: 20px; }
    .ce-uploads li > a { flex-basis: auto; }
    .coverit-card__body { padding: 16px; }
    .site-menu { padding: 10px; }
    .menu-shell { padding: 0 20px 32px; gap: 28px; }
    .menu-content { margin-top: calc(var(--header-row-height) + 4px); gap: 28px; }
    .menu-columns { grid-template-columns: 1fr; margin-top: 36px; }
    .menu-meta { gap: 12px 24px; }
    .menu-legal { display: none; }
    .main-menu .menu-panel { column-count: 1; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Named error composition: paint the monochrome illustration in the site accent: the image is moved out of the clipped box and only its drop-shadow, coloured with the accent, stays visible. */
.coverit-error .coverit-hero__image { --coverit-illustration-shade: var(--coverit-accent); overflow: hidden; }
.coverit-error .coverit-hero__image img[src$=".svg"] { position: relative; left: -2000px; width: min(100%, 430px); margin-inline: auto; filter: drop-shadow(2000px 0 0 var(--coverit-illustration-shade)); }
.coverit-error .coverit-page-heading h1 { font-size: var(--coverit-title-band); line-height: .988; }
.coverit-error .coverit-hero__text h2 { font-size: var(--coverit-chapter); }
.coverit-error .coverit-hero__body p:has(> .coverit-button) { display: inline-block; margin: 16px 12px 0 0; }
.coverit-error .coverit-hero__body p:has(> .coverit-button) ~ p:has(> .coverit-button) .coverit-button { border-color: var(--coverit-border); background: transparent; color: var(--coverit-muted); }
.coverit-error .coverit-hero__body p:has(> .coverit-button) ~ p:has(> .coverit-button) .coverit-button:hover { background: var(--coverit-muted); color: var(--coverit-background); }

@media (max-width: 767px) {
    .coverit-intro > .coverit-hero--background:first-of-type > .coverit-hero__image { grid-row: 1; }
    .coverit-content > .frame-type-text.frame-layout-1 .ce-bodytext { column-count: 1; }
}

/* Core actions share the theme tokens. */
.coverit-content .frame-type-header .header-action { display: inline-flex; margin-block: 0 24px; }
.coverit-content .frame-type-shortcut .frame { padding: 0; }

/* Portrait geometry follows the shared WordPress team component at each breakpoint. */
.coverit-contact-collection { --coverit-portrait-height: min(calc((85vw - 104px) / 4 * 1.5), 573px); grid-template-columns: repeat(4, minmax(0, 1fr)); --coverit-team-gap: 64px; gap: var(--coverit-team-gap) 28px; }
/* One team column: heading across the grid, then the cards (own or inserted) in the order of the backend column. */
.coverit-content > .coverit-team { padding: var(--coverit-section-space) max(var(--coverit-gutter), calc((100% - var(--coverit-width)) / 2)) var(--coverit-section-end); border-top: 1px solid var(--coverit-line); }
.coverit-content > .coverit-team:not(:has(> .frame)) { padding-block: 0; border: 0; }
.coverit-team > .frame { min-width: 0; padding: 0; border: 0; }
.coverit-team > .frame-type-header { grid-column: 1 / -1; margin-bottom: calc(32px - var(--coverit-team-gap)); }
.coverit-team > .frame-type-header h2 { margin: 0; }
.coverit-contact-collection .ce-gallery { width: 100%; }
.coverit-contact-collection .ce-column { max-width: 100%; }
.coverit-contact-collection .ce-gallery img { width: 100%; height: var(--coverit-portrait-height); object-fit: cover; }
.coverit-contact-collection .ce-gallery figure { margin: 0; }
.coverit-contact-card__portrait { min-height: var(--coverit-portrait-height); background: var(--coverit-surface); display: grid; place-items: center; }
.coverit-contact-card__portrait > svg { width: 84px; height: 96px; fill: var(--coverit-unavailable); }
.coverit-contact-card__body { padding-block: 28px 0; color: var(--coverit-copy); }
.coverit-contact-card__body h3 { font-size: clamp(16px, 1.198vw, 23px); font-style: normal; line-height: 1.5; margin: 0 0 6px; }
.coverit-contact-card__body p { margin: 0; }
.coverit-contact-card__body p + p { margin-top: 6px; }
.coverit-contact-card__body p:has(> a) { margin-top: 10px; }
.coverit-contact-card__body a { color: var(--coverit-accent); text-decoration: none; }
.coverit-contact-card__body a:hover { color: var(--coverit-text); text-decoration: underline; }
@media (max-width: 1024px) { .coverit-contact-collection { --coverit-portrait-height: calc((85vw - 48px) / 2 * 1.5); grid-template-columns: repeat(2, minmax(0, 1fr)); --coverit-team-gap: 52px; } }
@media (max-width: 767px) { .coverit-contact-collection { --coverit-portrait-height: calc((100vw - 60px) * 1.5); grid-template-columns: 1fr; --coverit-team-gap: 40px; } }

.coverit-intro:not(:has(.coverit-hero)) { max-width:none; }
.coverit-intro:not(:has(.coverit-hero)) .coverit-page-heading { padding-inline:calc(var(--coverit-gutter) + max(0px, (100% - var(--coverit-shell)) / 2)); }
.coverit-intro:not(:has(.coverit-hero)) .coverit-page-heading h1 { font-size:var(--coverit-title-band); line-height:.988; margin:0; }
main:is(.coverit-article,:has(> .coverit-content > .coverit-reference-gallery)) { --coverit-detail-gap:clamp(32px,4.167vw,80px); }
main:is(.coverit-article,:has(> .coverit-content > .coverit-reference-gallery)) .coverit-intro { padding-block:48px var(--coverit-detail-gap); }
main:is(.coverit-article,:has(> .coverit-content > .coverit-reference-gallery)) > .coverit-content { display:flex; flex-direction:column; gap:var(--coverit-detail-gap); padding:0 calc(var(--coverit-gutter) + max(0px, (100% - var(--coverit-shell)) / 2)) var(--coverit-section-end); }
@media(max-width:767px) {
    main:is(.coverit-article,:has(> .coverit-content > .coverit-reference-gallery)) .coverit-intro { padding-top:36px; }
}

.coverit-documents { padding-block: 32px; }
.coverit-documents .document-list { list-style: none; margin: 0; padding: 0; }
.coverit-documents .document-list > li { padding-block: 24px; border-bottom: 1px solid var(--coverit-copy); }
.coverit-documents h3, .coverit-documents h4 { margin: 0 0 12px; }
.coverit-documents .document-file-list { list-style: none; margin: 12px 0; padding: 0; }
.coverit-documents .document-file-list a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; color: var(--coverit-accent); }
.coverit-documents summary { min-height: 44px; padding-block: 12px; cursor: pointer; }
.coverit-documents details > ul { margin: 0; padding-inline-start: 24px; }
.coverit-documents details li { padding-block: 16px; }

.home-advisor-band { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:clamp(40px,6vw,88px) max(var(--coverit-gutter),calc((100% - var(--coverit-width)) / 2)); background:var(--coverit-surface); border-block:1px solid var(--coverit-border); }
.home-advisor-band h2 { margin:8px 0 20px; }
.home-advisor-band p { max-width:60ch; }
.home-advisor-band .coverit-button { flex:none; gap:24px; }
.home-advisor-band .home-advisor-action__status { font-size:13px; color:var(--coverit-muted); }
@media(max-width:767px) { .home-advisor-band { align-items:stretch; flex-direction:column; gap:16px; } }

@media(max-height:500px) {
 :root { --coverit-sticky-header-height:0px; }
 :root { scroll-padding-top:0; }
 body .site-header { position:relative; top:auto; }
}
/* Running text keeps a readable line length on every page and width (DESIGN.md "Fließtext"); wide sections only widen the layout. */
main :where(p:not(:has(> a + a)), blockquote, .ce-bodytext > ul, .ce-bodytext > ol) { max-inline-size: var(--coverit-measure); }
