:root { --background: hsl(0, 0%, 96%); --foreground: hsl(0, 0%, 10%); --card: hsl(0, 0%, 100%); --card-foreground: hsl(0, 0%, 10%); --primary: hsl(210, 85%, 42%); --primary-foreground: hsl(0, 0%, 100%); --secondary: hsl(210, 90%, 55%); --secondary-foreground: hsl(0, 0%, 100%); --muted: hsl(210, 15%, 92%); --muted-foreground: hsl(0, 0%, 45%); --border: hsl(0, 0%, 88%); --emergency: hsl(0, 85%, 55%); --radius: 1rem; }
.cluster-brief { margin-bottom: 1.5rem; }
.cluster-brief__panel { padding: clamp(1.6rem, 2.8vw, 2.3rem); border-radius: 28px; background: linear-gradient(rgb(255, 255, 255) 0%, rgb(244, 249, 255) 100%); border: 1px solid rgba(110, 193, 228, 0.18); box-shadow: rgba(15, 23, 42, 0.06) 0px 16px 38px; }
.cluster-brief__eyebrow { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.5rem 0.9rem; border-radius: 999px; background: rgba(110, 193, 228, 0.12); color: rgb(20, 89, 123); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.cluster-brief__eyebrow::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 999px; background: rgb(110, 193, 228); }
.cluster-brief__title { margin: 1rem 0px 0.65rem; color: rgb(27, 39, 48); font-size: clamp(1.7rem, 3vw, 2.45rem); line-height: 1.14; }
.cluster-brief__intro, .cluster-brief__card p { margin: 0px; color: rgb(84, 104, 117); line-height: 1.72; }
.cluster-brief__grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.cluster-brief__card { padding: 1.15rem 1.2rem; border-radius: 22px; border: 1px solid rgba(15, 23, 42, 0.08); background: rgb(255, 255, 255); }
.cluster-brief__card h3 { margin: 0px 0px 0.45rem; color: rgb(27, 39, 48); font-size: 1.02rem; line-height: 1.35; }
.cluster-brief__links { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.2rem; }
.cluster-brief__links a { display: inline-flex; align-items: center; min-height: 2.8rem; padding: 0.75rem 1rem; border-radius: 999px; background: rgba(110, 193, 228, 0.12); border: 1px solid rgba(110, 193, 228, 0.18); color: rgb(20, 89, 123); font-weight: 700; text-decoration: none; }
@media (max-width: 900px) {.cluster-brief__grid { grid-template-columns: 1fr; }}
@media (max-width: 767px) {.cluster-brief__links a { width: 100%; justify-content: center; }}
* { margin: 0px; padding: 0px; box-sizing: border-box; }
html, body { overflow-x: hidden; width: 100%; height: auto; min-height: 100%; overflow-y: auto !important; }
body { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--background); color: var(--foreground); line-height: 1.6; -webkit-font-smoothing: antialiased; }
@media (max-width: 768px) {body { font-size: 20px; line-height: 1.8; }}
.content-container { max-width: 72rem; margin: 0px auto; padding: 2rem 1rem; }
@media (min-width: 768px) {.content-container { padding: 3rem 1rem; }}
.intro-text-enhanced { position: relative; padding: 2.5rem 2rem 2rem 4rem; margin-bottom: 0.75rem; background: linear-gradient(to right, rgb(217, 235, 252), rgb(231, 242, 253)); border-left: 4px solid var(--primary); border-radius: 0.75rem; transition: 0.3s; }
@media (max-width: 767px) {.intro-text-enhanced { padding: 2rem 1.5rem 1.5rem 3rem; }}
.intro-text-enhanced::before { content: "ⓘ"; position: absolute; top: 2rem; left: 1.5rem; color: var(--primary); font-size: 1.5rem; font-weight: bold; line-height: 1; }
.intro-text-enhanced:hover { }
.intro-text-enhanced p:first-of-type { font-size: 1.25rem; font-weight: 600; line-height: 1.75; color: var(--foreground); margin-bottom: 1rem; }
.content-card { background-color: var(--card); padding: 2rem; margin-bottom: 1.5rem; border-radius: var(--radius); box-shadow: rgba(0, 0, 0, 0.12) 0px 8px 24px; transition: 0.3s; }
.content-card:hover { box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px; transform: translateY(-4px); }
@media (min-width: 768px) {.content-card { padding: 2.5rem; }}
.card-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.icon-circle { width: 64px; height: 64px; background: linear-gradient(135deg, var(--primary), hsl(210, 85%, 50%)); padding: 1rem; border-radius: var(--radius); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: 0.3s; }
.icon-circle:hover { transform: scale(1.05); }
.icon { color: white; }
.card-header h2 { font-size: 1.875rem; font-weight: bold; margin: 0px; }
@media (min-width: 768px) {.card-header h2 { font-size: 2.25rem; }}
.card-title-center { font-size: 1.875rem; font-weight: bold; text-align: center; margin-bottom: 2rem; }
@media (min-width: 768px) {.card-title-center { font-size: 2.25rem; }}
.text-large { font-size: 1.125rem; line-height: 1.75; margin-bottom: 1.5rem; }
.check-list { list-style: none; margin: 1.5rem 0px; }
.check-list li { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem; font-size: 1.125rem; }
.check-icon { width: 1.5rem; height: 1.5rem; color: var(--primary); flex-shrink: 0; margin-top: 0.25rem; }
.simple-list { list-style: none; margin: 1rem 0px; }
.simple-list li { position: relative; padding-left: 1.5rem; margin-bottom: 0.75rem; line-height: 1.6; }
.simple-list li::before { content: "•"; position: absolute; left: 0px; color: var(--primary); font-weight: bold; font-size: 1.25rem; }
.emergency-box { background-color: rgba(238, 43, 43, 0.08); border-left: 4px solid var(--emergency); padding: 1.25rem; border-radius: var(--radius); margin: 1.5rem 0px; display: flex; gap: 1rem; align-items: flex-start; }
.emergency-icon { color: var(--emergency); flex-shrink: 0; margin-top: 0.125rem; }
.emergency-box strong { color: var(--emergency); }
.schwerpunkte-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; }
@media (min-width: 768px) {.schwerpunkte-grid { grid-template-columns: 1fr 1fr; }}
.schwerpunkt-card { background-color: rgba(16, 107, 198, 0.04); padding: 1.5rem; border-radius: var(--radius); border: 1px solid rgba(16, 107, 198, 0.15); transition: 0.3s; }
.schwerpunkt-card:hover { border-color: var(--primary); box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 20px -5px; transform: translateY(-4px); }
.schwerpunkt-icon-circle { width: 56px; height: 56px; background: linear-gradient(135deg, var(--primary), hsl(210, 85%, 50%)); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; transition: 0.3s; }
.schwerpunkt-card:hover .schwerpunkt-icon-circle { transform: scale(1.1); }
.schwerpunkt-icon { color: white; }
.schwerpunkt-card h3 { font-size: 1.25rem; font-weight: bold; margin-bottom: 0.75rem; color: var(--primary); }
.schwerpunkt-card p { color: var(--muted-foreground); line-height: 1.6; margin: 0px; }
.leistungen-two-column { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-top: 2rem; }
@media (min-width: 768px) {.leistungen-two-column { grid-template-columns: 1fr 1fr; }}
.leistung-column { background-color: rgba(232, 235, 238, 0.4); padding: 1.5rem; border-radius: var(--radius); }
.leistung-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.leistung-icon { color: var(--primary); }
.leistung-header h3 { font-size: 1.5rem; font-weight: bold; margin: 0px; }
.timeline { display: flex; flex-direction: column; gap: 1.5rem; margin: 2rem 0px; }
.timeline-item { display: flex; gap: 1.25rem; align-items: flex-start; }
.timeline-number { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: white; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; font-weight: bold; flex-shrink: 0; box-shadow: rgba(16, 107, 198, 0.3) 0px 4px 12px; }
.timeline-content h3 { font-size: 1.125rem; font-weight: bold; margin-bottom: 0.5rem; }
.timeline-content p { color: var(--muted-foreground); line-height: 1.6; margin: 0px; }
.info-box { background-color: rgba(232, 235, 238, 0.5); padding: 1.25rem; border-radius: var(--radius); margin: 1.5rem 0px; border-left: 4px solid var(--primary); }
.info-box p { font-size: 1rem; color: var(--foreground); margin: 0px; }
.special-exam-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 640px) {.special-exam-grid { grid-template-columns: repeat(2, 1fr); }}
@media (min-width: 768px) {.special-exam-grid { grid-template-columns: repeat(3, 1fr); }}
@media (min-width: 1024px) {.special-exam-grid { grid-template-columns: repeat(5, 1fr); }}
.special-exam-card { position: relative; padding: 1.5rem; border: 2px solid rgba(16, 107, 198, 0.2); border-radius: var(--radius); background: white; cursor: pointer; transition: 0.3s; text-align: center; }
.special-exam-card:hover { border-color: rgba(16, 107, 198, 0.4); transform: translateY(-4px); box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 20px -5px; }
.special-exam-icon-circle { width: 80px; height: 80px; margin: 0px auto 0.75rem; background: linear-gradient(135deg, rgb(241, 247, 254), rgb(231, 242, 253)); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: 0.3s; overflow: hidden; padding: 0.75rem; }
.special-exam-card:hover .special-exam-icon-circle { }
.special-exam-icon-circle img { width: 48px; height: 48px; object-fit: contain; transition: transform 0.3s; }
.special-exam-icon-circle svg { color: rgb(16, 107, 198); transition: transform 0.3s; }
.special-exam-card:hover .special-exam-icon-circle svg, .special-exam-card:hover .special-exam-icon-circle img { transform: scale(1.1); }
.special-exam-title { font-size: 0.875rem; font-weight: 600; line-height: 1.4; }
.special-exam-card-advanced { border-color: rgba(31, 89, 147, 0.25); background: linear-gradient(135deg, rgb(247, 250, 253), rgb(238, 245, 251)); }
.special-exam-card-advanced:hover { border-color: rgba(31, 89, 147, 0.5); background: linear-gradient(135deg, rgb(238, 245, 251), rgb(230, 240, 250)); }
.special-exam-card-advanced .special-exam-icon-circle { background: linear-gradient(135deg, rgb(234, 242, 251), rgb(213, 230, 246)); }
.special-exam-card-advanced:hover .special-exam-icon-circle { }
.special-exam-detail { margin-top: 1.5rem; padding: 1.5rem; background: white; border: 2px solid var(--emergency); border-radius: var(--radius); box-shadow: rgba(238, 43, 43, 0.2) 0px 10px 20px -5px; animation: 0.3s ease 0s 1 normal none running slideDown; max-width: 100%; scroll-margin-top: calc(var(--subnav-header-offset, 0px) + 7rem); }
.special-exam-detail .detail-content { position: relative; min-width: 0px; }
.special-exam-detail .detail-close { position: absolute; top: -0.25rem; right: -0.25rem; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 0px; border-radius: 999px; background: rgba(238, 43, 43, 0.1); color: var(--emergency); cursor: pointer; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 700; line-height: 1; }
.special-exam-detail .detail-close:hover, .special-exam-detail .detail-close:focus-visible { background: var(--emergency); color: rgb(255, 255, 255); outline: none; }
.special-exam-detail h4 { margin: 0px 3rem 0.75rem 0px; color: var(--emergency); font-size: clamp(1.15rem, 2.5vw, 1.45rem); line-height: 1.25; }
.special-exam-detail p { margin: 0px; color: var(--muted-foreground); line-height: 1.65; }
@keyframes slideDown { 
  0% { opacity: 0; transform: translateY(-10px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@media (max-width: 767px) {.content-card { padding: 1.5rem; }
.card-header h2 { font-size: 1.5rem; }
.card-title-center { font-size: 1.5rem; }
.text-large { font-size: 1rem; }
.timeline-number { width: 40px; height: 40px; font-size: 1rem; }
.special-exam-detail { padding: 1.1rem; border-radius: 0.875rem; scroll-margin-top: calc(var(--subnav-header-offset, 0px) + 5rem); }
.special-exam-detail .detail-close { top: -0.1rem; right: -0.1rem; }
.special-exam-detail h4 { margin-right: 2.75rem; }}
.theme-subnav { position: sticky; top: var(--header-h, 96px); z-index: 999; background-color: var(--card); box-shadow: rgba(0, 0, 0, 0.08) 0px 2px 12px; margin-bottom: 2rem; }
@media (max-width: 768px) {.theme-subnav { top: var(--header-h, 96px); }}
.subnav-tabs { display: flex; gap: 0.5rem; overflow-x: auto; padding: 0.75rem 1rem; max-width: 72rem; margin: 0px auto; }
.subnav-tab { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.5rem; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: var(--muted-foreground); font-size: 0.9375rem; font-weight: 500; white-space: nowrap; cursor: pointer; transition: 0.2s; text-decoration: none; border-radius: 0.5rem; }
.subnav-tab:hover { color: var(--primary); background-color: rgba(16, 107, 198, 0.08); }
.subnav-tab.active { color: var(--primary); background-color: rgba(16, 107, 198, 0.12); font-weight: 600; }
@media (max-width: 768px) {.theme-subnav { top: var(--header-h, 96px); }
.subnav-tab { padding: 1rem 1.25rem; font-size: 17px; }}
.card-title-center { font-size: 1.5rem; font-weight: bold; text-align: center; margin-bottom: 1.5rem; }
@media (max-width: 768px) {.card-title-center { font-size: 1.35rem !important; }}
:root { --subnav-header-offset: 0px; }
.theme-subnav { position: sticky; top: var(--subnav-header-offset); z-index: 40; background-color: rgb(255, 255, 255); width: 100%; transition: box-shadow 0.3s, top 0.3s; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
.theme-subnav .container { max-width: 1200px; margin: 0px auto; padding: 0px 1rem; }
.subnav-tabs { display: flex; gap: 2rem; overflow-x: auto; white-space: nowrap; scrollbar-width: none; padding: 0.5rem 0px; }
.subnav-tabs::-webkit-scrollbar { display: none; }
.subnav-tab { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; color: rgb(100, 116, 139); font-weight: 500; padding: 0.75rem 0px; border-bottom: 2px solid transparent; transition: 0.2s; }
.subnav-tab:hover { color: rgb(15, 118, 110); }
.subnav-tab.active { color: rgb(15, 118, 110); border-bottom-color: rgb(15, 118, 110); }
.subnav-tab svg { width: 20px; height: 20px; }
html, body { overflow: clip visible !important; }
.theme-subnav { position: sticky; top: var(--subnav-header-offset, 0px); z-index: 99; background-color: rgb(255, 255, 255); width: 100%; border-bottom: 1px solid rgba(0, 0, 0, 0.05); transition: top 0.2s, box-shadow 0.3s; }
.subnav-tabs { display: flex; flex-wrap: nowrap; white-space: nowrap; overflow-x: auto; scrollbar-width: none; gap: 0px; }
.subnav-tabs::-webkit-scrollbar { display: none; }
.subnav-tab { flex: 0 0 auto; padding: 1rem 1.2rem; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: rgb(74, 85, 104); border-bottom: 3px solid transparent; transition: 0.2s; }
.subnav-tab.active { color: rgb(15, 118, 110); border-bottom-color: rgb(15, 118, 110); background-color: rgba(15, 118, 110, 0.02); }
.content-container, .theme-subnav .container { width: 100% !important; max-width: 72rem !important; margin: 0px auto !important; padding-left: 1rem !important; padding-right: 1rem !important; box-sizing: border-box !important; }
.content-container { padding-top: 3rem !important; padding-bottom: 3rem !important; }
@media (min-width: 768px) {.content-container { padding-top: 4rem !important; padding-bottom: 4rem !important; }}
@media (min-width: 768px) and (max-width: 1200px) {.content-container, .theme-subnav .container { padding-left: 1.5rem !important; padding-right: 1.5rem !important; max-width: 100% !important; }}
@media (min-width: 1400px) {.content-container, .theme-subnav .container { max-width: 1720px !important; }
.content-card { padding: 3rem !important; }}
.theme-subnav .subnav-tabs { padding-left: 0px !important; padding-right: 0px !important; margin-left: 0px !important; margin-right: 0px !important; max-width: 100% !important; }
@media (max-width: 768px) {.theme-subnav { overflow: hidden; }
.theme-subnav .container { max-width: none !important; padding-left: max(0.85rem, env(safe-area-inset-left)) !important; padding-right: max(0.85rem, env(safe-area-inset-right)) !important; }
.theme-subnav .subnav-tabs { scroll-padding-inline: 1rem; overscroll-behavior-x: contain; gap: 0.625rem !important; padding: 0.625rem 0px 0.75rem !important; margin: 0px -0.125rem !important; }
.theme-subnav .subnav-tab { flex: 0 0 auto; min-width: max-content; line-height: 1.2; border-radius: 0.875rem; padding: 0.875rem 1rem !important; font-size: 0.9375rem !important; }
.theme-subnav .subnav-tab span { font-size: inherit; }
#app_unique_sticky_bar { left: max(0.75rem, env(safe-area-inset-left)) !important; right: max(0.75rem, env(safe-area-inset-right)) !important; width: auto !important; max-width: none !important; bottom: max(0.75rem, env(safe-area-inset-bottom)) !important; border-radius: 1rem !important; box-sizing: border-box !important; }
#app_unique_sticky_bar > * { min-width: 0px; }}
.content-container, .theme-subnav .container { max-width: 72rem !important; }
@media (min-width: 1400px) {.content-container, .theme-subnav .container { max-width: 72rem !important; }
.content-card { padding: 2.5rem !important; }}
#termin, #termin .content-card { width: 100%; max-width: 100%; box-sizing: border-box; }
#termin img { display: block; max-width: 100%; }