/* Page visibility is set in <head> before first paint, including direct HTML access. */
html[data-site-page="service"] [data-site-view="home"],
html:not([data-site-page="service"]) [data-site-view="service"] { display: none !important; }
[data-site-view][hidden] { display: none !important; }
.cx-service-center { --sc-line: rgba(217,236,246,.19); --sc-muted: #b6d1e1; --sc-accent: #8ce8cf; color: #edf6fa; outline: none; padding-top: calc(var(--nav-bar-height, 88px) + 40px); }
.cx-service-center strong { font-weight: 500; }
.cx-service-center button, .cx-service-center summary, .cx-service-center a { -webkit-tap-highlight-color: transparent; }
.cx-service-center button { cursor: pointer; font: inherit; }
.cx-service-center :is(a,button,summary):focus-visible { outline: 2px solid var(--sc-accent); outline-offset: 5px; border-radius: 3px; }
.cx-service-center :is(a,button):active { transform: translateY(1px); }
.cx-service-inline-link { display: inline-flex; gap: .6rem; align-items: center; width: fit-content; background: none; padding: 0; border: 0; color: var(--sc-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; font-size: inherit; }
.cx-service-inline-link:hover { color: #fff; }
.cx-service-content { padding-bottom: 7.5rem; }
.cx-service-tabs { display: flex; flex-wrap: wrap; gap: .25rem 2rem; padding-top: 1.5rem; border-bottom: 1px solid var(--sc-line); }
.cx-service-tabs a { display: block; padding-block: 1rem; margin-bottom: -1px; border-bottom: 2px solid transparent; color: #c2dce9; font-size: 1rem; }
.cx-service-tabs a:hover, .cx-service-tabs a[aria-current] { border-bottom-color: var(--sc-accent); color: #fff; }
.cx-service-panel { min-width: 0; padding: 1.5rem; border: 1px solid var(--sc-line); border-radius: .75rem; background: rgba(0,45,75,.38); }
.cx-service-welcome { padding: 2rem; margin-top: 1.5rem; }
.cx-service-welcome > h1 { margin-bottom: 1.5rem; }
.cx-service-welcome > p { max-width: 65rem; }
.cx-service-welcome-block { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--sc-line); }
.cx-service-welcome-block h3 { margin-bottom: 1rem; }
.cx-service-welcome-block > p, .cx-service-welcome-end { margin-top: .75rem; }
.cx-service-checklist { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.cx-service-checklist li { display: flex; gap: .8rem; align-items: flex-start; }
.cx-service-check { flex: 0 0 auto; display: grid; place-items: center; width: 1.25rem; height: 1.25rem; margin-top: .15rem; border-radius: 50%; background: rgba(140,232,207,.12); color: var(--sc-accent); font-size: .8rem; }
.cx-service-checklist p { color: #c2dce9; margin-top: .2rem; }
.cx-service-muted { color: var(--sc-muted); font-size: .875rem; line-height: 1.6; }
.cx-service-columns { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,2.15fr); gap: 3rem; margin-top: 3rem; align-items: start; }
.cx-service-sidebar, .cx-service-primary { min-width: 0; display: grid; gap: 3rem; }
.cx-service-section { scroll-margin-top: calc(var(--nav-bar-height, 88px) + 2rem); min-width: 0; }
#sc-uebersicht { scroll-margin-top: calc(var(--nav-bar-height, 88px) + 2rem); }
.cx-service-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.5rem; }
.cx-service-section-heading h2 { margin: 0; }
.cx-service-section-heading button { font-size: .875rem; }
.cx-service-status { display: inline-flex; align-items: center; width: fit-content; padding: .25rem .6rem; border: 1px solid var(--sc-line); border-radius: .3rem; font-size: .75rem; font-weight: 400; color: #c2dce9; line-height: 1.5; }
.cx-service-resource-groups, .cx-service-information { display: grid; gap: 1.5rem; }
.cx-service-resource-groups h3 { margin-bottom: 1rem; }
.cx-service-documents { display: grid; gap: .9rem; list-style: none; padding: 0; margin: 1rem 0; }
.cx-service-center summary { cursor: pointer; color: var(--sc-accent); font-size: .875rem; line-height: 1.6; }
.cx-service-center details[open] > summary { margin-bottom: 1rem; }
.cx-service-providers { display: grid; gap: 1.75rem; margin: 0; padding: 0; list-style: none; }
.cx-service-providers li { display: flex; align-items: center; gap: 1.25rem; }
.cx-service-faq { padding: 0; overflow: hidden; }
.cx-service-faq details + details { border-top: 1px solid var(--sc-line); }
.cx-service-faq summary { display: flex; align-items: baseline; gap: 1rem; padding: 1.25rem 1.5rem; color: #edf6fa; list-style: none; }
.cx-service-faq summary::-webkit-details-marker { display: none; }
.cx-service-faq summary::before { content: '+'; color: var(--sc-accent); flex: 0 0 .75rem; }
.cx-service-faq details[open] > summary::before { content: '−'; }
.cx-service-faq details[open] > summary { margin-bottom: 0; }
.cx-service-faq h3 { font: inherit; font-size: 1rem; line-height: 1.6; margin: 0; }
.cx-service-faq-answer { padding: 0 1.5rem 1.5rem 3.25rem; color: #c2dce9; }
.cx-service-faq-answer p { font-size: .9375rem; line-height: 1.7; }
.cx-service-faq p a { color: var(--sc-accent); text-decoration: underline; }
.cx-service-information article { display: grid; gap: 1rem; }
.cx-service-information h3 { max-width: 35rem; margin: 0; }
@media screen and (max-width: 991px) {
  .cx-service-columns { grid-template-columns: minmax(0,1fr) minmax(0,1.8fr); gap: 1.5rem; }
  .cx-service-tabs { gap: .25rem 1.5rem; }
}
@media screen and (max-width: 767px) {
  .cx-service-columns { display: flex; flex-direction: column; gap: 3rem; }
  .cx-service-sidebar, .cx-service-primary { width: 100%; }
  .cx-service-welcome { padding: 1.5rem; }
  .cx-service-tabs { gap: 0 1.25rem; }
  .cx-service-tabs a { font-size: .875rem; }
  .cx-service-content { padding-bottom: 4rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .cx-service-center :is(button,a,summary) { transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
}

/* Resource entries are requests only; logos are local assets. */
.cx-service-document-link { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; color: #d4e8f3; text-decoration: underline; text-underline-offset: .2em; font-size: .9rem; line-height: 1.6; }
.cx-service-document-link:hover { color: var(--sc-accent); }
.cx-service-document-format { white-space: nowrap; font-size: .625rem; letter-spacing: .03em; text-decoration: none; color: var(--sc-accent); }
.cx-service-document-title { display: flex; align-items: flex-start; gap: .55rem; min-width: 0; }
.cx-service-pdf-icon { flex: 0 0 1.2rem; width: 1.2rem; height: 1.4rem; margin-top: .1rem; object-fit: contain; }
.cx-service-faq-sources { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: 1rem; font-size: .8125rem; line-height: 1.6; }
.cx-service-faq-sources a { color: var(--sc-accent); text-decoration: underline; text-underline-offset: .2em; }
.cx-service-provider-logo { display: grid; place-items: center; flex: 0 0 6.5rem; width: 6.5rem; height: 3.25rem; padding: .65rem; border: 1px solid var(--sc-line); border-radius: .5rem; background: #fff; }
.cx-service-provider-logo.is-dark { background: #003b60; }
.cx-service-provider-logo img { width: 100%; max-height: 2rem; object-fit: contain; }
.cx-service-provider-info { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.cx-service-provider-info h3 { margin: 0; }
.cx-service-provider-info p { font-size: .9375rem; color: #d4e8f3; line-height: 1.5; }
.cx-service-provider-legal, .cx-service-provider-region { font-size: .75rem; color: var(--sc-muted); line-height: 1.6; }
@media screen and (max-width: 479px) {
  .cx-service-providers li { gap: 1rem; align-items: flex-start; }
  .cx-service-provider-logo { flex-basis: 5rem; width: 5rem; padding: .5rem; }
  .cx-service-faq-sources { flex-direction: column; }
}

.cx-service-information-request { margin-top: .25rem; font-size: .875rem; }
