.mg-card {
--mg-navy: var(--navy-900, #0B2238); --mg-ink: var(--ink, #1B2A39); --mg-slate: var(--slate, #4A5B6C);
--mg-green: var(--green-brand, #B0CB1F); --mg-green-600: var(--green-600, #4D6F12); --mg-green-700: var(--green-700, #3F5C0E);
--mg-line: var(--line, rgba(11,34,56,.11)); --mg-line-strong: var(--line-strong, rgba(11,34,56,.18)); --mg-sage: var(--sage-50, #F5F8EC);
background: var(--surface, #fff); border: 1px solid var(--mg-line); border-radius: var(--r-lg, 12px);
padding: clamp(22px, 4vw, 36px); box-shadow: 0 30px 60px -48px rgba(11,34,56,.4); color: var(--mg-ink);
}
.mg-card + .mg-card { margin-top: 20px; }
.mg-card h2 { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin: 0 0 8px; }
.mg-card h3 { font-size: 1.125rem; margin: 0 0 12px; }
.mg-card p + p { margin-top: 10px; }
.mg-small { font-size: .875rem; color: var(--mg-slate); margin-top: 14px; }
.mg-link { color: var(--mg-green-600); font-weight: 600; text-decoration: none; }
@media (hover: hover) { .mg-link:hover { color: var(--mg-green-700); text-decoration: underline; } }
.mg-intro { color: var(--mg-slate); margin-bottom: 22px; } .mg-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 18px; }
.mg-field { display: flex; flex-direction: column; gap: 6px; }
.mg-field-titel { grid-column: 1 / -1; max-width: 220px; }
.mg-field-strasse { grid-column: 1 / -1; }
.mg-field label, .mg-login label { font-size: .9375rem; font-weight: 600; color: var(--mg-navy); }
.mg-field label span { color: var(--mg-green-700); }
.mg-field input, .mg-field select, .mg-login input[type=text], .mg-login input[type=password] {
width: 100%; font: inherit; font-size: 1rem; color: var(--mg-ink); padding: 13px 15px; border-radius: var(--r-sm, 8px);
border: 1.5px solid var(--mg-line-strong); background: var(--bg, #FCFDFC); box-sizing: border-box;
transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.mg-field input:focus, .mg-field select:focus, .mg-login input:focus { outline: none; border-color: var(--mg-green-600); background: #fff; box-shadow: 0 0 0 4px rgba(176,203,31,.22); }
.mg-check { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; font-size: .9375rem; color: var(--mg-slate); line-height: 1.55; cursor: pointer; }
.mg-check input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--mg-green-600); }
.mg-check a { color: var(--mg-green-700); font-weight: 600; }
.mg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mg-submit { margin-top: 24px; }
.mg-form .btn, .mg-login .btn, .mg-card .btn { border: 0; }
.mg-errors { background: #FDF0F0; border: 1px solid #F1C4C4; color: #7A1E1E; border-radius: var(--r-md, 10px); padding: 14px 18px; margin-bottom: 20px; font-size: .9375rem; }
.mg-errors ul { margin: 8px 0 0 18px; list-style: disc; }
.mg-success { background: #EAF5DD; border-color: rgba(62,155,58,.35); }
.mg-success h2 { color: #2D6E29; } .mg-login form p { margin: 0 0 14px; }
.mg-login .login-username label, .mg-login .login-password label { display: block; margin-bottom: 6px; }
.mg-login .login-remember label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; color: var(--mg-slate); }
.mg-login .login-remember input { accent-color: var(--mg-green-600); width: 18px; height: 18px; }
.mg-login .login-submit { margin-top: 18px; } .mg-locked { max-width: none; }
.mg-lock {
display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; margin-bottom: 16px;
background: var(--mg-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F5C0E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / 24px no-repeat;
} .mg-dashboard { display: grid; gap: 20px; }
.mg-dashboard .mg-card + .mg-card { margin-top: 0; }
.mg-welcome { background: linear-gradient(160deg, var(--blue-50, #EEF4FA), var(--sage-50, #F5F8EC)); }
.mg-welcome .is-style-eyebrow { margin-bottom: 10px; }
.mg-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.mg-list { list-style: none; margin: 0; padding: 0; }
.mg-list li { border-top: 1px solid var(--mg-line); }
.mg-list li:last-child { border-bottom: 1px solid var(--mg-line); }
.mg-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 2px; color: var(--mg-navy); font-weight: 600; text-decoration: none; transition: color .2s; }
.mg-list a::after { content: "→"; color: var(--mg-green-600); transition: transform .2s; }
@media (hover: hover) { .mg-list a:hover { color: var(--mg-green-700); } }
@media (hover: hover) { .mg-list a:hover::after { transform: translateX(3px); } }
.mg-badge { display: inline-block; padding: 4px 10px; margin: 0 6px 6px 0; border-radius: 999px; background: #fff; border: 1px solid var(--mg-line); font-size: .8125rem; font-weight: 600; color: var(--mg-green-700); }
.mg-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; margin-left: 6px; border-radius: 999px; background: var(--mg-green); color: var(--mg-navy); font-size: .75rem; } .main-nav li.is-protected > a::after, .submenu li.is-protected > a::after {
content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 6px; opacity: .55; vertical-align: -1px;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2238' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 600px) {
.mg-grid { grid-template-columns: 1fr; }
} .entry-content .mg-card h2, .entry-content .mg-card h3 { margin-top: 0; }
.entry-content .mg-card ul.mg-list { list-style: none; padding-left: 0; }
.entry-content .mg-card .mg-list li + li { margin-top: 0; }
.entry-content .mg-card a.mg-link, .entry-content .mg-list a { text-decoration: none; }
.entry-content .mg-dashboard { max-width: none; }
.mg-welcome h2 { margin-top: 6px; }
.mg-card .mg-groups { margin-top: 12px; } .mg-beitritt { --mg-navy: var(--navy-900, #0B2238); --mg-slate: var(--slate, #4A5B6C); --mg-green-600: var(--green-600, #4D6F12); --mg-green-700: var(--green-700, #3F5C0E); --mg-line: var(--line, rgba(11,34,56,.11)); --mg-sage: var(--sage-50, #F5F8EC); }
.mg-steps { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 24px; padding: 0; counter-reset: mgstep; }
.entry-content .mg-steps { padding-left: 0; }
.mg-steps li { counter-increment: mgstep; margin: 0; }
.mg-steps a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border: 1px solid var(--mg-line); border-radius: 99px; background: #fff; color: var(--mg-navy); font-size: .875rem; font-weight: 600; text-decoration: none; transition: border-color .2s, background .2s; }
.mg-steps a::before { content: counter(mgstep); display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--mg-sage); color: var(--mg-green-700); font-size: .75rem; }
@media (hover: hover) { .mg-steps a:hover { border-color: var(--mg-green-600); background: var(--mg-sage); } }
fieldset.mg-section { margin: 0; min-width: 0; scroll-margin-top: 140px; }
fieldset.mg-section + fieldset.mg-section { margin-top: 20px; }
.mg-section > legend { float: left; width: 100%; display: flex; align-items: center; gap: 12px; padding: 0; margin: 0 0 20px; font-family: var(--font-display, inherit); font-size: clamp(1.25rem, 2.2vw, 1.5rem); font-weight: 800; color: var(--mg-navy); letter-spacing: -.01em; }
.mg-section > legend + * { clear: both; }
.mg-section > legend small { font-family: var(--font-body, inherit); font-size: .875rem; font-weight: 500; color: var(--mg-slate); }
.mg-num { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: var(--mg-navy); color: #fff; font-size: 1rem; }
.mg-wide { grid-column: 1 / -1; }
.mg-field textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--mg-line-strong, rgba(11,34,56,.18)); border-radius: var(--r-sm, 8px); background: #FBFCFD; font: inherit; color: inherit; resize: vertical; }
.mg-field textarea:focus { outline: none; border-color: var(--mg-green-600); background: #fff; box-shadow: 0 0 0 4px rgba(176,203,31,.22); }
.mg-field input[readonly] { background: var(--mg-sage); color: var(--mg-slate); }
.mg-radio { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.mg-radio legend { font-size: .9375rem; font-weight: 600; color: var(--mg-navy); margin-bottom: 4px; padding: 0; }
.mg-radio legend span { color: var(--mg-green-700); }
.mg-radio label { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border: 1px solid var(--mg-line); border-radius: var(--r-sm, 8px); cursor: pointer; font-size: .9375rem; line-height: 1.45; transition: border-color .2s, background .2s; }
@media (hover: hover) { .mg-radio label:hover { border-color: var(--mg-green-600); } }
.mg-radio label:has(input:checked) { border-color: var(--mg-green-600); background: var(--mg-sage); }
.mg-radio input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--mg-green-600); }
.mg-field-praxisform .mg-radio { flex-direction: row; flex-wrap: wrap; }
.mg-field-praxisform .mg-radio legend { width: 100%; }
.mg-check.mg-toggle { padding: 14px 16px; border: 1px dashed var(--mg-line-strong, rgba(11,34,56,.18)); border-radius: var(--r-sm, 8px); background: var(--mg-sage); font-weight: 600; color: var(--mg-navy); }
.mg-pub { margin-top: 22px; }
.mg-pub[hidden] { display: none; }
.mg-inline-checks { display: flex; flex-wrap: wrap; gap: 0 28px; }
.mg-btn-text { background: none; border: 0; padding: 0; font: inherit; font-size: .875rem; font-weight: 600; color: var(--mg-green-600); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (hover: hover) { .mg-btn-text:hover { color: var(--mg-green-700); } }
.mg-note-box { margin-top: 16px; padding: 14px 16px; border-left: 4px solid #D9A400; background: #FFF8E1; border-radius: 0 var(--r-sm, 8px) var(--r-sm, 8px) 0; font-size: .9375rem; color: #4A3B00; line-height: 1.55; }
.mg-details { margin-top: 18px; border: 1px solid var(--mg-line); border-radius: var(--r-sm, 8px); }
.mg-details summary { cursor: pointer; padding: 12px 16px; font-weight: 600; color: var(--mg-navy); }
.mg-details[open] summary { border-bottom: 1px solid var(--mg-line); }
.mg-details-body { max-height: 420px; overflow: auto; padding: 4px 18px 16px; font-size: .875rem; color: var(--mg-slate); line-height: 1.6; }
.mg-details-body h4 { font-size: .9375rem; color: var(--mg-navy); margin: 16px 0 6px; }
.mg-details-body p, .mg-details-body li { margin: 6px 0; }
.mg-creditor { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 18px; margin: 0 0 18px; padding: 16px 18px; background: var(--mg-sage); border-radius: var(--r-sm, 8px); }
.mg-creditor div { margin: 0; }
.mg-creditor dt { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--mg-green-700); }
.mg-creditor dd { margin: 2px 0 0; font-weight: 600; color: var(--mg-navy); }
.mg-mandate { font-size: .9375rem; line-height: 1.6; }
.mg-subhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 26px 0 14px !important; font-size: 1.0625rem !important; color: var(--mg-navy); }
.mg-subhead small { font-weight: 500; color: var(--mg-slate); font-size: .875rem; }
.mg-submit { margin-top: 24px; }
.mg-summary pre { white-space: pre-wrap; font-family: inherit; font-size: .9375rem; line-height: 1.6; margin: 0; background: none; padding: 0; border: 0; }
@media (max-width: 640px) { .mg-creditor { grid-template-columns: 1fr; } }
@media print {
.site-header, .site-footer, .page-hero, .mg-print, .mg-steps { display: none !important; }
.mg-card { box-shadow: none; border: 0; padding: 0; }
}
.entry-content ol.mg-steps { list-style: none; padding: 0; margin: 0 0 24px; }
.entry-content ol.mg-steps > li { margin: 0; padding: 0; }
.entry-content ol.mg-steps > li::before, .entry-content ol.mg-steps > li::marker { content: none; }
.mg-radio label { font-weight: 500; color: var(--ink, #1B2A39); }
.mg-radio label span { color: inherit; }
.mg-subhead small { font-family: var(--font-body, inherit); letter-spacing: 0; } .mg-praxis-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.mg-praxis-head h3 { margin: 4px 0 0; }
.mg-badge.is-on { background: #EAF5DD; color: #2D6E29; }
.mg-flash { margin: 14px 0 0; padding: 10px 14px; border-radius: 8px; font-size: .9375rem; }
.mg-flash.is-ok { background: #EAF5DD; color: #2D6E29; }
.mg-flash.is-err { background: #FDF0F0; color: #7A1E1E; }
.mg-praxis-form { margin-top: 20px; }
.mg-foto { display: flex; gap: 20px; align-items: center; margin-bottom: 22px; padding-bottom: 20px; border-bottom: 1px solid var(--mg-line, rgba(11,34,56,.11)); }
.mg-foto-preview { flex: none; width: 96px; height: 120px; border-radius: 10px; overflow: hidden; background: var(--sage-100, #ECF2DA); display: grid; place-items: center; }
.mg-foto-preview img { width: 100%; height: 100%; object-fit: cover; }
.mg-foto-preview span { font: 800 1.5rem/1 var(--font-head, inherit); color: var(--green-700, #3F5C0E); }
.mg-foto-actions { display: grid; gap: 8px; }
.mg-foto-actions .mg-small { margin: 0; }
.mg-file { position: relative; display: inline-flex; width: max-content; }
.mg-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.mg-file span { display: inline-flex; padding: 10px 16px; border: 1.5px solid var(--mg-line-strong, rgba(11,34,56,.18)); border-radius: 10px; font-weight: 600; color: var(--navy-900, #0B2238); background: #fff; }
.mg-file input:focus-visible + span { border-color: var(--green-600, #4D6F12); background: var(--sage-50, #F5F8EC); }
@media (hover: hover) { .mg-file:hover span { border-color: var(--green-600, #4D6F12); background: var(--sage-50, #F5F8EC); } }
.mg-remove { font-size: .875rem; color: var(--slate, #4A5B6C); display: inline-flex; gap: 8px; align-items: center; }
.mg-actions { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-top: 20px; }
.mg-actions .btn { border: 0; cursor: pointer; }
.mg-field-mp-strasse, .mg-field-mp-praxis, .mg-field-mp-fach { grid-column: 1 / -1; }
@media (max-width: 520px) { .mg-foto { flex-direction: column; align-items: flex-start; } } .mg-tile-wide { grid-column: 1 / -1; }
.entry-content .mg-tree, .mg-tree { list-style: none !important; margin: 0; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 24px; }
.mg-tree > li { margin: 0 !important; padding: 10px 0; border-bottom: 1px solid var(--mg-line, rgba(11,34,56,.11)); }
.mg-tree li::marker { content: none; }
.entry-content .mg-tree > li > a, .mg-tree > li > a { font-weight: 700; color: var(--navy-900, #0B2238); text-decoration: none; }
@media (hover: hover) { .mg-tree a:hover { color: var(--green-700, #3F5C0E); text-decoration: underline; } }
.entry-content .mg-tree .sub-menu, .mg-tree .sub-menu { list-style: none !important; margin: 6px 0 0; padding: 0 0 0 12px !important; border-left: 2px solid var(--sage-100, #ECF2DA); }
.mg-tree .sub-menu li { margin: 0 !important; padding: 3px 0; }
.entry-content .mg-tree .sub-menu a, .mg-tree .sub-menu a { font-size: .9375rem; color: var(--slate, #4A5B6C); text-decoration: none; } .mg-dash2 { --d-navy: var(--navy-900, #0B2238); --d-ink: var(--ink, #1B2A39); --d-slate: var(--slate, #4A5B6C); --d-green: var(--green-brand, #B0CB1F); --d-g6: var(--green-600, #4D6F12); --d-g7: var(--green-700, #3F5C0E); --d-sage: var(--sage-50, #F5F8EC); --d-sage1: var(--sage-100, #ECF2DA); --d-line: var(--line, rgba(11,34,56,.11)); display: grid; gap: clamp(28px, 4vw, 44px); }
.mg-dash2 .mg-eyebrow { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--d-g7); }
.mg-dash2 svg { width: 20px; height: 20px; flex: none; } .mg-hero { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 32px; padding: clamp(24px, 4vw, 40px); border-radius: var(--r-lg, 14px); background: var(--d-navy); color: #D9E3EC; }
.mg-hero::before { content: ""; position: absolute; right: -140px; top: -180px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(176,203,31,.22), transparent 65%); pointer-events: none; }
.mg-hero > * { position: relative; }
.mg-hero-who { display: flex; align-items: center; gap: 20px; min-width: 0; }
.mg-hero-ava { flex: none; width: 76px; height: 76px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: rgba(176,203,31,.18); border: 3px solid rgba(255,255,255,.18); font: 800 1.5rem/1 var(--font-head, inherit); color: var(--d-green); }
.mg-hero-ava img { width: 100%; height: 100%; object-fit: cover; }
.mg-hero .mg-eyebrow { color: var(--d-green); }
.entry-content .mg-hero h2 { margin: 4px 0 0; color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.mg-hero .mg-groups { margin: 10px 0 0; }
.mg-hero .mg-badge { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); color: #E6EEF5; }
.mg-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-content .mg-hero-actions a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; font-size: .9375rem; font-weight: 600; text-decoration: none; transition: background .2s, border-color .2s; }
.mg-hero-actions a svg { width: 18px; height: 18px; color: var(--d-green); }
@media (hover: hover) { .entry-content .mg-hero-actions a:hover { background: rgba(255,255,255,.14); border-color: var(--d-green); } } .mg-block-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 24px; margin-bottom: 18px; }
.entry-content .mg-block-head h2 { margin: 0; font-size: clamp(1.35rem, 2.2vw, 1.6rem); }
.mg-block-head p { margin: 0; color: var(--d-slate); font-size: .9375rem; }
.entry-content .mg-sections, .mg-sections { list-style: none !important; padding: 0 !important; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mg-sec { display: flex; flex-direction: column; margin: 0 !important; border: 1px solid var(--d-line); border-radius: var(--r-lg, 12px); background: #fff; overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .2s; }
@media (hover: hover) { .mg-sec:hover { border-color: var(--d-green); box-shadow: 0 22px 44px -32px rgba(11,34,56,.45); transform: translateY(-2px); } }
.entry-content a.mg-sec-main, a.mg-sec-main { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 20px 20px 18px; text-decoration: none; color: inherit; }
.mg-sec-icon { grid-row: 1 / span 2; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: var(--d-sage1); color: var(--d-g7); transition: background .2s, color .2s; }
.mg-sec-icon svg { width: 22px; height: 22px; }
@media (hover: hover) { .mg-sec:hover .mg-sec-icon { background: var(--d-green); color: var(--d-navy); } }
.mg-sec-title { font-family: var(--font-head, inherit); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; color: var(--d-navy); }
.mg-sec-count { font-size: .8125rem; color: var(--d-slate); }
.entry-content .mg-sec-links, .mg-sec-links { list-style: none !important; margin: 0; padding: 4px 20px 16px 80px !important; display: grid; gap: 2px; border-top: 1px solid var(--d-line); padding-top: 12px !important; }
.mg-sec-links li { margin: 0 !important; }
.entry-content .mg-sec-links a, .mg-sec-links a { display: block; padding: 5px 0; font-size: .9375rem; color: var(--d-slate); text-decoration: none; line-height: 1.4; transition: color .2s, transform .2s; }
@media (hover: hover) { .entry-content .mg-sec-links a:hover { color: var(--d-g7); transform: translateX(3px); } } .mg-dash2 .mg-praxis { margin: 0; }
.mg-praxis-sum { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; }
.mg-praxis-photo { width: 84px; height: 84px; border-radius: 50%; overflow: hidden; background: var(--d-sage1); display: grid; place-items: center; font: 800 1.5rem/1 var(--font-head, inherit); color: var(--d-g7); }
.mg-praxis-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.entry-content .mg-praxis-info h3 { margin: 4px 0 2px; font-size: 1.25rem; }
.mg-praxis-meta { margin: 0; color: var(--d-slate); font-size: .9375rem; }
.mg-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: .8125rem; font-weight: 600; color: var(--d-slate); }
.mg-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #B9C2CC; }
.mg-status.is-on { color: #2D6E29; }
.mg-status.is-on::before { background: #3E9B3A; box-shadow: 0 0 0 4px rgba(62,155,58,.15); }
.mg-praxis-edit { margin-top: 20px; border-top: 1px solid var(--d-line); }
.mg-praxis-edit > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding: 10px 16px; border: 1.5px solid var(--d-line); border-radius: 10px; font-weight: 600; color: var(--d-navy); transition: border-color .2s, background .2s; }
.mg-praxis-edit > summary::-webkit-details-marker { display: none; }
.mg-praxis-edit > summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.mg-praxis-edit[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
@media (hover: hover) { .mg-praxis-edit > summary:hover { border-color: var(--d-g6); background: var(--d-sage); } }
.mg-praxis-edit .mg-praxis-form { margin-top: 22px; } .mg-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.mg-dash2 .mg-card + .mg-card { margin-top: 0; }
.mg-mini { display: flex; flex-direction: column; }
.mg-mini-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--d-sage1); color: var(--d-g7); margin-bottom: 14px; }
.entry-content .mg-mini h3 { margin: 0; font-size: 1.125rem; }
.mg-mini > p { margin: 4px 0 10px; font-size: .875rem; color: var(--d-slate); overflow-wrap: anywhere; }
.mg-mini .mg-list { margin-top: auto; }
.mg-mini-admin { background: linear-gradient(160deg, #fff, var(--d-sage)); }
.mg-dash2 .mg-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 6px; border-radius: 99px; background: var(--d-green); color: var(--d-navy); font-size: .75rem; font-weight: 800; }
@media (max-width: 1024px) { .entry-content .mg-sections, .mg-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
.entry-content .mg-sections, .mg-sections { grid-template-columns: 1fr; }
.mg-praxis-sum { grid-template-columns: auto 1fr; }
.mg-praxis-actions { grid-column: 1 / -1; }
.mg-hero-who { align-items: flex-start; }
.mg-hero-ava { width: 60px; height: 60px; }
.entry-content .mg-sec-links, .mg-sec-links { padding-left: 20px !important; }
} .entry-content .mg-hero-actions a, .entry-content .mg-hero-actions a:visited { color: #fff !important; text-decoration: none !important; opacity: 1; }
.entry-content .mg-sec-links a, .entry-content .mg-sec-links a:visited { color: var(--d-slate) !important; text-decoration: none !important; }
@media (hover: hover) { .entry-content .mg-sec-links a:hover { color: var(--d-g7) !important; } }
.entry-content a.mg-sec-main { text-decoration: none !important; }
.entry-content .mg-sections, .mg-sections { display: block; columns: 3 300px; column-gap: 16px; }
.mg-sec { break-inside: avoid; margin: 0 0 16px !important; }
@media (hover: hover) { .mg-sec:hover { transform: none; } }
@media (max-width: 1024px) { .entry-content .mg-sections, .mg-sections { columns: 2 280px; } }
@media (max-width: 640px) { .entry-content .mg-sections, .mg-sections { columns: 1; } }
@media (max-width: 640px) { .mg-hero-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; } .entry-content .mg-hero-actions a { justify-content: center; padding: 10px; font-size: .875rem; } } .mg-mini .mg-list .mg-badge { margin: 0 0 0 6px; padding: 1px 8px; font-size: .75rem; vertical-align: 1px; }
.mg-mini .mg-list .mg-badge-ok { background: #EAF5DD; border-color: #CFE6B5; color: #2D6E29; }
.mg-mini .mg-list .mg-badge-warn { background: #FDF1E3; border-color: #F2C998; color: #8A4B08; }
@media (max-width: 600px) {
.mg-section > legend { display: block; position: relative; min-height: 36px; padding-left: 48px; padding-top: 5px; line-height: 1.3; }
.mg-section > legend .mg-num { position: absolute; left: 0; top: 0; }
.mg-section > legend small { white-space: nowrap; }
}  .mg-siegel { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(20px, 3vw, 36px); align-items: start; }
.mg-siegel-preview { display: grid; place-items: center; height: 220px; padding: 14px; border-radius: 14px; background: var(--sage-50, #F5F8EC); }
.mg-siegel-preview img { display: block; width: 100%; max-width: 180px; height: auto; }
.mg-siegel.is-quer .mg-siegel-preview img { max-width: 100%; }
.mg-siegel .mg-eyebrow { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--green-600, #4D6F12); }
.mg-siegel h3 { margin: 6px 0 8px; font-size: 1.25rem; }
.mg-siegel-body > p { color: var(--slate, #4A5B6C); }
.mg-siegel-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 0; }
.mg-siegel-opts label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 999px; font-size: .875rem; font-weight: 600; cursor: pointer; }
.mg-siegel-opts label:has(input:checked) { background: var(--navy-900, #0B2238); border-color: var(--navy-900, #0B2238); color: #fff; }
.mg-siegel-opts input { position: absolute; opacity: 0; pointer-events: none; }
.mg-siegel-opts label:has(input:focus-visible) { outline: 2px solid var(--green-600, #4D6F12); outline-offset: 2px; }
.mg-siegel-sep { width: 1px; height: 22px; margin: 0 4px; background: var(--line-strong, rgba(11,34,56,.18)); }
.mg-siegel-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.mg-siegel-code { margin-top: 18px; border-top: 1px solid var(--line, rgba(11,34,56,.11)); padding-top: 14px; }
.mg-siegel-code summary { cursor: pointer; font-weight: 600; color: var(--navy-900, #0B2238); }
.mg-siegel-code p { margin: 10px 0 8px; font-size: .875rem; color: var(--slate, #4A5B6C); }
.mg-siegel-code textarea { width: 100%; font: 12.5px/1.5 ui-monospace, Consolas, monospace; padding: 10px 12px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 10px; background: #F7F9FA; resize: vertical; }
.mg-siegel-code .btn { margin-top: 10px; }
.mg-siegel-link { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: var(--sage-50, #F5F8EC); border: 1px solid var(--sage-100, #E9F0D2); }
.mg-siegel-link h4 { margin: 0 0 6px !important; font-size: 1rem; color: var(--navy-900, #0B2238); }
.mg-siegel-link p { margin: 0 0 10px !important; font-size: .9rem; color: var(--slate, #4A5B6C); }
.mg-siegel-link .mg-siegel-link-bsp { margin: 12px 0 6px !important; font-size: .8125rem; }
.mg-siegel-link-zeile { display: flex; gap: 8px; }
.mg-siegel-link-zeile input { flex: 1; min-width: 0; padding: 10px 12px; font: 12.5px/1.4 ui-monospace, Consolas, monospace; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 10px; background: #fff; color: var(--ink, #1B2A39); }
.mg-siegel-link-zeile .btn { flex: none; --pad-y: 9px; --pad-x: 14px; font-size: .875rem; font-weight: 700; white-space: nowrap; }
.mg-siegel-schritte { margin: 12px 0 14px; padding-left: 1.3em; display: grid; gap: 8px; font-size: .9375rem; color: var(--ink, #1B2A39); }
.mg-siegel-schritte li::marker { color: var(--green-600, #4D6F12); font-weight: 700; }
.mg-siegel-schritte strong { color: var(--navy-900, #0B2238); }
.mg-siegel-code code { font-size: .85em; padding: 1px 5px; border-radius: 4px; background: #EEF2F5; }
.mg-siegel-agentur { margin-top: 10px !important; font-size: .875rem; color: var(--slate, #4A5B6C); }
.mg-siegel-dsgvo { margin-top: 18px; padding: 18px 20px; border-radius: 12px; background: var(--blue-50, #EEF4FA); border: 1px solid #D3E1EE; }
.mg-siegel-dsgvo h4 { margin: 0 0 8px !important; font-size: 1.0625rem; color: var(--navy-900, #0B2238); }
.mg-siegel-dsgvo p, .mg-siegel-dsgvo li { font-size: .9rem; line-height: 1.6; color: var(--ink, #1B2A39); }
.mg-siegel-dsgvo p { margin: 8px 0 0 !important; }
.mg-siegel-dsgvo ul { margin: 10px 0 0; padding-left: 1.2em; display: grid; gap: 8px; }
.mg-siegel-dsgvo li::marker { color: var(--green-600, #4D6F12); }
.mg-siegel-dsgvo strong { color: var(--navy-900, #0B2238); }
.mg-siegel-dsgvo-fuss { font-size: .8125rem !important; color: var(--slate, #4A5B6C) !important; }
.mg-siegel-more { margin-top: 16px; font-size: .9375rem; }
.mg-siegel-hint { margin-top: 6px; font-size: .8125rem; color: var(--slate, #4A5B6C); }
@media (max-width: 720px) {
.mg-siegel { grid-template-columns: 1fr; }
.mg-siegel-preview { max-width: 320px; height: 200px; }
} .siegel-vorschau { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) repeat(2, minmax(0, 1.4fr)); gap: 16px; align-items: center; margin: 0; }
.siegel-v { display: grid; place-items: center; margin: 0; padding: 22px; min-height: 100%; border: 1px solid var(--line, rgba(11,34,56,.11)); border-radius: 16px; background: #fff; }
.siegel-v.is-dark { background: var(--sage-50, #F5F8EC); }
.siegel-v img { width: 100%; height: auto; max-width: 200px; }
.siegel-v-quer img { max-width: 336px; }
@media (max-width: 900px) { .siegel-vorschau { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .siegel-vorschau { grid-template-columns: 1fr; } .siegel-v-rund img { max-width: 180px; } }
.siegel-check { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border-radius: 16px; border: 1px solid var(--line, rgba(11,34,56,.11)); background: #fff; }
.siegel-check strong { display: block; font-family: var(--font-head, inherit); font-size: 1.125rem; color: var(--navy-900, #0B2238); }
.siegel-check p { margin: 6px 0 0; color: var(--slate, #4A5B6C); }
.siegel-check-icon { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font: 800 1.125rem/1 var(--font-head, sans-serif); background: var(--blue-100, #DCE8F4); color: var(--navy-900, #0B2238); }
.siegel-check.is-ok { border-color: var(--sage-300, #CADB8A); background: var(--sage-50, #F5F8EC); }
.siegel-check.is-ok .siegel-check-icon { background: var(--green-600, #4D6F12); color: #fff; }
.siegel-check.is-bad { border-color: #F1C7C2; background: #FDF4F2; }
.siegel-check.is-bad .siegel-check-icon { background: #A4231A; color: #fff; }
.siegel-praxis { display: flex; gap: 14px; align-items: center; margin-top: 14px; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line, rgba(11,34,56,.11)); line-height: 1.45; }
.siegel-praxis b { font-family: var(--font-head, inherit); color: var(--navy-900, #0B2238); }
.siegel-praxis small { color: var(--slate, #4A5B6C); font-size: .875rem; }
.siegel-praxis-ava { flex: none; width: 56px; height: 56px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--sage-100, #E9F0D2); color: var(--green-600, #4D6F12); font: 700 1rem var(--font-head, sans-serif); }
.siegel-praxis-ava img { width: 100%; height: 100%; object-fit: cover; }
.siegel-stand { font-size: .8125rem; }
.mg-siegel .mg-siegel-actions .btn, .mg-siegel .mg-siegel-code .btn { --pad-y: 11px; --pad-x: 18px; font-size: .9375rem; font-weight: 700; text-decoration: none; }
.mg-siegel .btn-secondary { border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)) !important; color: var(--navy-900, #0B2238) !important; background: #fff; }
@media (hover: hover) { .mg-siegel .btn-secondary:hover { border-color: var(--navy-900, #0B2238) !important; } } .mg-hint { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: 14px; background: #FFF6E0; border: 1px solid #F1D48A; color: #4A3300; }
.mg-hint-icon { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #8A5A00; color: #fff; font: 800 .9375rem/1 var(--font-head, sans-serif); }
.mg-hint strong { display: block; color: #3A2800; }
.mg-hint p { margin: 4px 0 12px; font-size: .9375rem; }
.mg-hint .btn { padding: 9px 16px; font-size: .9375rem; }
.mg-praxis-actions .btn { white-space: nowrap; } .mg-mp { --d-navy: var(--navy-900, #0B2238); --d-slate: var(--slate, #4A5B6C); --d-g6: var(--green-600, #4D6F12); --d-g7: var(--green-700, #3F5C0E); --d-sage: var(--sage-50, #F5F8EC); --d-sage1: var(--sage-100, #E9F0D2); --d-line: var(--line, rgba(11,34,56,.11)); display: grid; gap: 24px; }
.mg-mp .mg-eyebrow { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--d-g7); }
.mg-mp-back { margin: 0; }
.mg-mp-head h2 { margin: 4px 0 6px; font-family: var(--font-head, inherit); font-size: clamp(1.5rem, 3vw, 2rem); color: var(--d-navy); }
.mg-mp-head p { margin: 0; color: var(--d-slate); }
.mg-mp .mg-flash { margin: 0; }
.mg-mp-preview { border: 1px solid var(--d-line); border-radius: 16px; background: var(--d-sage); padding: 16px; }
.mg-mp-preview-bar { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; align-items: center; margin: 0 4px 14px; }
.entry-content .mg-mp-preview-bar h3 { margin: 0; font-size: 1rem; color: var(--d-navy); }
.mg-mp-entry { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 20px 40px -32px rgba(11,34,56,.5); }
.mg-mp-photo { background: var(--d-sage1); min-height: 260px; }
.mg-mp-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
.mg-mp-photo.is-initials { display: grid; place-items: center; }
.mg-mp-photo.is-initials span { font: 800 2.5rem/1 var(--font-head, inherit); color: var(--d-g7); opacity: .8; }
.mg-mp-body { padding: 24px 28px; }
.mg-mp-body p { margin: 0; }
.mg-mp-name { margin-top: 4px !important; font-family: var(--font-head, inherit); font-weight: 800; font-size: 1.5rem; line-height: 1.25; color: var(--d-navy); }
.mg-mp-fach { margin-top: 6px !important; font-weight: 600; color: var(--d-g7); }
.mg-mp-praxis { margin-top: 8px !important; }
.mg-mp-adr { margin-top: 8px !important; color: var(--d-slate); }
.entry-content .mg-mp-kontakt, .mg-mp-kontakt { list-style: none; margin: 14px 0 0 !important; padding: 12px 0 0 !important; border-top: 1px solid var(--d-line); display: grid; gap: 4px; font-size: .9375rem; overflow-wrap: anywhere; }
.mg-mp-kontakt li { margin: 0; }
.mg-mp-kontakt span { display: inline-block; min-width: 76px; color: var(--d-slate); }
.mg-mp-live { margin-top: 14px !important; }
.entry-content .mg-mp-form-card h3 { margin: 0 0 4px; }
.mg-mp .mg-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; } .mg-zeiten { margin: 24px 0 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--d-line, rgba(11,34,56,.11)); min-width: 0; }
.mg-zeiten legend { padding: 0; font-family: var(--font-head, inherit); font-weight: 700; font-size: 1.0625rem; color: var(--d-navy, #0B2238); }
.mg-optional { margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--d-sage1, #E9F0D2); font: 600 .75rem/1.4 var(--font-body, inherit); color: var(--d-g7, #3F5C0E); vertical-align: 2px; }
.mg-zeiten-info { margin: 6px 0 14px; }
.mg-zeiten-grid { display: grid; grid-template-columns: 110px repeat(2, minmax(0, 1fr)); gap: 8px 16px; align-items: center; }
.mg-zeiten-col { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--d-slate, #4A5B6C); }
.mg-zeiten-tag { font-weight: 600; }
.mg-zeiten-range { display: flex; align-items: center; gap: 6px; min-width: 0; }
.mg-zeiten-range input { flex: 1 1 0; min-width: 0; height: 42px; padding: 0 8px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 8px; font: inherit; background: #fff; }
.mg-zeiten-range input:focus { outline: 2px solid var(--d-g6, #4D6F12); outline-offset: 1px; }
.mg-zeiten-hinweis { display: block; margin-top: 14px; }
.mg-zeiten-hinweis span { display: block; margin-bottom: 6px; font-weight: 600; font-size: .9375rem; }
.mg-zeiten-hinweis input { box-sizing: border-box; width: 100%; height: 44px; padding: 0 12px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 10px; font: inherit; }
@media (max-width: 720px) {
.mg-mp-entry { grid-template-columns: 1fr; }
.mg-mp-photo { min-height: 0; aspect-ratio: 4 / 3; }
.mg-mp-body { padding: 20px; }
.mg-zeiten-grid { grid-template-columns: 1fr; gap: 6px; }
.mg-zeiten-grid > span:first-child, .mg-zeiten-col { display: none; }
.mg-zeiten-tag { margin-top: 10px; }
}
.entry-content .mg-mp-head h2 { margin: 4px 0 6px !important; }
.entry-content .mg-mp-kontakt li { padding-left: 0 !important; list-style: none !important; }
.entry-content .mg-mp-kontakt li::before, .entry-content .mg-mp-kontakt li::marker { content: none !important; display: none !important; } .mg-auth { max-width: 520px; }
.entry-content .mg-auth h2 { margin: 4px 0 8px; font-size: 1.5rem; }
.mg-auth .mg-eyebrow { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--green-700, #3F5C0E); }
.mg-auth-form { display: grid; gap: 8px; margin: 16px 0 12px; }
.mg-auth-form label { font-weight: 600; font-size: .9375rem; margin-top: 6px; }
.mg-auth-form input:not([type=hidden]) { box-sizing: border-box; width: 100%; height: 48px; padding: 0 14px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 10px; font: inherit; background: #fff; }
.mg-auth-form input:focus { outline: 2px solid var(--green-600, #4D6F12); outline-offset: 1px; }
.mg-auth-form .btn { justify-self: start; margin-top: 8px; }
.mg-auth-form .mg-small { margin: 0; }
.mg-code-input { font-size: 1.5rem !important; letter-spacing: .25em; text-align: center; font-variant-numeric: tabular-nums; }
.mg-auth .mg-errors, .mg-auth .mg-flash, .mg-card > .mg-errors:first-child, .mg-card > .mg-flash:first-child { margin: 0 0 16px; } .mg-konto-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-content .mg-konto-nav a { padding: 8px 14px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 999px; font-size: .9375rem; font-weight: 600; color: var(--navy-900, #0B2238); text-decoration: none; transition: border-color .2s, background .2s; }
@media (hover: hover) { .entry-content .mg-konto-nav a:hover { border-color: var(--green-600, #4D6F12); background: var(--sage-50, #F5F8EC); } }
.mg-konto .mg-card { margin: 0; scroll-margin-top: 110px; }
.entry-content .mg-konto .mg-card h3 { margin: 0 0 12px; font-size: 1.25rem; }
.mg-field-wide { grid-column: 1 / -1; }
.mg-field input[readonly] { background: #F4F6F8; color: var(--slate, #4A5B6C); }
.mg-konto .mg-actions { margin: 16px 0 0; }
.mg-2fa-status { padding: 12px 16px; border-radius: 10px; background: #F4F6F8; }
.mg-2fa-status.is-on { background: #EAF5DD; color: #1F4D1C; }
.mg-2fa-status.is-req { background: #FFF6E0; color: #4A3300; }
.mg-2fa-wahl { margin: 12px 0; padding: 0; border: 0; display: grid; gap: 8px; }
.mg-2fa-wahl legend { font-weight: 700; margin-bottom: 6px; }
.mg-2fa-confirm { max-width: 280px; }
.entry-content .mg-2fa-steps { margin: 16px 0; padding-left: 1.3em; display: grid; gap: 14px; }
.mg-2fa-qr { width: 200px; height: 200px; margin: 12px 0; padding: 10px; background: #fff; border: 1px solid var(--line, rgba(11,34,56,.11)); border-radius: 12px; }
.mg-2fa-qr svg { width: 100%; height: 100%; display: block; }
.mg-2fa-secret { font-size: 1rem; letter-spacing: .06em; overflow-wrap: anywhere; }
.mg-2fa-activate { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; align-items: center; }
.mg-2fa-activate input { width: 11em; height: 48px; padding: 0 12px; border: 1.5px solid var(--line-strong, rgba(11,34,56,.18)); border-radius: 10px; font: inherit; }
.mg-2fa-codes { margin-bottom: 18px; padding: 16px 20px; border: 2px solid #DBA617; border-radius: 12px; background: #FFF9E8; }
.entry-content .mg-2fa-codes h4 { margin: 0 0 6px; }
.entry-content .mg-2fa-codes ol { columns: 2; max-width: 380px; }
.mg-2fa-codes code { font-size: 1rem; }
@media print { body * { visibility: hidden; } .mg-2fa-codes, .mg-2fa-codes * { visibility: visible; } .mg-2fa-codes { position: absolute; left: 0; top: 0; } .mg-2fa-codes .btn { display: none; } }
.mg-card.mg-auth { max-width: 560px; } .mg-aktiv-eintrag { display: grid; gap: 2px; margin: 4px 0 8px; padding: 16px 18px; border-radius: 12px; background: var(--sage-50, #F5F8EC); border: 1px solid var(--sage-300, #CADB8A); }
.mg-aktiv-eintrag strong { font-family: var(--font-head, inherit); font-size: 1.125rem; color: var(--navy-900, #0B2238); }
.mg-aktiv-eintrag span { font-size: .9375rem; color: var(--slate, #4A5B6C); }
.mg-auth-form .mg-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.mg-auth-form .mg-check input { width: 20px !important; height: 20px !important; flex: none; margin-top: 2px; }
.mg-dash2 > .mg-flash { margin: 0; } .mg-beitritt-weg { --mg-navy: var(--navy-900, #0B2238); --mg-line: var(--line, rgba(11,34,56,.11)); --mg-green-600: var(--green-600, #4D6F12); --mg-sage: var(--sage-50, #F5F8EC); }
.mg-weg { border: 0; margin: 0 0 28px; padding: 0; min-width: 0; }
.mg-weg legend { font-family: var(--font-display, inherit); font-size: 1.25rem; font-weight: 700; color: var(--mg-navy); margin-bottom: 12px; padding: 0; }
.mg-weg-optionen { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.mg-weg-karte { position: relative; display: grid; gap: 6px; padding: 18px 20px 18px 52px; border: 1.5px solid var(--mg-line); border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; }
@media (hover: hover) { .mg-weg-karte:hover { border-color: rgba(77,111,18,.45); } }
.mg-weg-karte input { position: absolute; left: 20px; top: 21px; width: 18px; height: 18px; margin: 0; accent-color: var(--mg-green-600); }
.mg-weg-karte:has(input:checked) { border-color: var(--mg-green-600); background: var(--mg-sage); box-shadow: 0 0 0 3px rgba(77,111,18,.12); }
.mg-weg-karte:has(input:focus-visible) { outline: 2px solid var(--mg-green-600); outline-offset: 2px; }
.mg-weg-titel { font-weight: 700; color: var(--mg-navy); }
.mg-weg-titel em { font-style: normal; font-size: .75rem; font-weight: 600; margin-left: 6px; padding: 2px 8px; border-radius: 99px; background: var(--mg-green-600); color: #fff; vertical-align: 2px; }
.mg-weg-text { font-size: .9rem; color: var(--slate, #4A5B6C); line-height: 1.5; }
.mg-post { margin-bottom: 28px; }
.mg-post h3 { margin-top: 0; }
.mg-post-schritte { margin: 0 0 18px; padding-left: 1.3em; display: grid; gap: 8px; }
.mg-post-adresse { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 18px 0; }
.mg-post-adresse > div { padding: 14px 16px; border-radius: 12px; background: var(--mg-sage); }
.mg-post-adresse address, .mg-post-adresse p { font-style: normal; margin: 4px 0 0; font-weight: 600; color: var(--mg-navy); } .mg-beitritt-weg:has(#mg-weg-online:checked) .mg-post { display: none; }
.mg-beitritt-weg:has(#mg-weg-post:checked) .mg-beitritt { display: none; } .mg-plan { display: inline-block; margin-right: 4px; padding: 1px 8px; border-radius: 99px; background: #E8EEF6; color: #1D3A5C; font-size: .75rem; font-weight: 700; letter-spacing: .02em; vertical-align: 1px; }
.mg-kim-hinweis { margin: 6px 0 0; }
.mg-hint-plan { background: #EEF3F9; border-color: #C9D7E8; color: #1D3A5C; margin-top: 16px; }
.mg-hint-plan .mg-hint-icon { background: #1D3A5C; font-family: Georgia, serif; font-style: italic; }
.mg-hint-plan strong { color: #0B2238; }
.mg-hint-plan p { margin-bottom: 0; } .mg-admin-flag { margin: 10px 0 0; font-size: .875rem; color: #E6EEF5; line-height: 1.5; }
.mg-hero .mg-admin-flag a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mg-hero .mg-badge.mg-badge-admin, .mg-badge-admin { background: #C8102E; border-color: #C8102E; color: #fff; margin-right: 8px; letter-spacing: .02em; } .mg-mp-loeschen { border-color: #F1C9C9; background: #FFFBFB; margin-top: 24px; }
.mg-mp-loeschen h3 { margin-top: 0; color: #8A1F1F; }
.mg-btn-danger, .btn.mg-btn-danger { background: #fff; color: #B42318; border: 1.5px solid #E4A9A9; box-shadow: none; }
@media (hover: hover) { .mg-btn-danger:hover, .btn.mg-btn-danger:hover { background: #B42318; border-color: #B42318; color: #fff; } } .zert-wrap { margin: 0 0 clamp(40px, 6vw, 72px); max-width: none; scroll-margin-top: 100px; }
.zert-verweis { display: flex; gap: 10px; align-items: center; margin-top: 10px; padding: 14px 16px; border-radius: 12px; font-weight: 600; text-decoration: none; color: var(--navy-900, #0B2238); background: var(--sage-50, #F5F8EC); border: 1px solid var(--sage-300, #CADB8A); }
.zert-verweis span { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--green-600, #4D6F12); color: #fff; font-weight: 800; }
.zert-verweis.is-bad { background: #FDF4F2; border-color: #F1C7C2; }
.zert-verweis.is-bad span { background: #A4231A; }
.zert { container: zert / inline-size; --z-navy: var(--navy-900, #0B2238); --z-gruen: var(--green-brand, #B0CB1F); --z-tinte: #4D6F12;
position: relative; isolation: isolate; overflow: hidden; padding: clamp(10px, 1.6vw, 16px); border-radius: 18px;
background: linear-gradient(135deg, #FBFCF6 0%, #F2F6E4 45%, #EEF4FA 100%); box-shadow: 0 30px 70px -40px rgba(11,34,56,.55), 0 0 0 1px rgba(11,34,56,.08); color: var(--ink, #1B2A39); font-family: var(--font-body, inherit); }
.zert-grund { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; fill: none; stroke: var(--z-tinte); stroke-width: .5; opacity: .14; }
.zert-rahmen { position: relative; border: 1.5px solid rgba(77,111,18,.45); border-radius: 12px; padding: 0 clamp(18px, 3.4vw, 40px); outline: 1px solid rgba(77,111,18,.25); outline-offset: 4px; }
.zert svg { max-width: none; }
.zert-band { display: block; width: calc(100% + 2 * clamp(18px, 3.4vw, 40px)); height: 26px; margin: 0 calc(-1 * clamp(18px, 3.4vw, 40px)); fill: none; stroke: var(--z-tinte); stroke-width: .9; opacity: .55; }
.zert-band.unten { transform: scaleY(-1); }
.zert-kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 20px; padding: 14px 0 0; }
.zert-eyebrow { font: 700 .75rem/1.2 var(--font-head, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--z-tinte); }
.zert-nr { font-size: .8125rem; color: var(--slate, #4A5B6C); letter-spacing: .04em; }
.zert-nr b { font: 600 .8125rem/1 ui-monospace, "SF Mono", Consolas, monospace; color: var(--z-navy); letter-spacing: .08em; }
.zert-mitte { display: grid; grid-template-columns: minmax(180px, 250px) minmax(0, 1fr); gap: clamp(20px, 4vw, 48px); align-items: center; padding: 18px 0 22px; }
.zert-emblem { position: relative; aspect-ratio: 1; width: 100%; }
.zert-rosette, .zert-ring { position: absolute; inset: 0; width: 100%; height: 100%; }
.zert-rosette { fill: none; stroke-width: 1; }
.zert-rosette .l0 { stroke: var(--z-tinte); }
.zert-rosette .l1 { stroke: var(--z-navy); }
.zert-rosette .l2 { stroke: #6E8F1F; }
.zert-rosette .l3 { stroke: var(--z-tinte); stroke-width: .7; }
.zert-ring text { font: 700 11.5px/1 var(--font-head, sans-serif); letter-spacing: .18em; fill: var(--z-navy); opacity: .72; }
.zert-scheibe { position: absolute; inset: 31%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #16395A, var(--z-navy) 70%); display: grid; place-items: center; box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px rgba(77,111,18,.5), 0 10px 26px -10px rgba(11,34,56,.7); }
.zert-scheibe svg { width: 66%; height: auto; }
.zert-marke { position: absolute; right: 9%; bottom: 9%; width: 25%; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: var(--z-gruen); box-shadow: 0 0 0 3px #fff, 0 8px 18px -8px rgba(11,34,56,.6); }
.zert-marke svg { width: 58%; fill: none; stroke: var(--z-navy); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.zert-titel { margin: 0 !important; font: 700 .8125rem/1.2 var(--font-head, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: var(--slate, #4A5B6C); }
.zert .zert-h { margin: 8px 0 0 !important; font: 800 clamp(1.4rem, 2.6vw, 1.9rem)/1.15 var(--font-head, sans-serif); letter-spacing: -.02em; color: var(--z-navy); max-width: none; }
.zert-p { margin: 14px 0 0 !important; font-size: .9375rem; line-height: 1.6; color: var(--slate, #4A5B6C); }
.zert-praxis { display: flex; gap: 14px; align-items: center; margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,.82); border: 1px solid rgba(11,34,56,.1); backdrop-filter: blur(2px); line-height: 1.45; }
.zert-praxis > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.zert-praxis b { font: 700 1.0625rem/1.3 var(--font-head, sans-serif); color: var(--z-navy); }
.zert-praxis small { color: var(--slate, #4A5B6C); font-size: .875rem; }
.zert-ava { flex: none; width: 58px; height: 58px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--sage-100, #E9F0D2); color: var(--z-tinte); font: 700 1rem var(--font-head, sans-serif); box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(77,111,18,.35); }
.zert-ava img { width: 100%; height: 100%; object-fit: cover; } .zert-gruppe { margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,.82); border: 1px solid rgba(11,34,56,.1); backdrop-filter: blur(2px); }
.zert-gruppe-kopf { margin: 0 0 12px; display: flex; flex-direction: column; line-height: 1.45; }
.zert-gruppe-kopf b { font: 700 1.0625rem/1.3 var(--font-head, sans-serif); color: var(--z-navy); }
.zert-gruppe-kopf small { color: var(--slate, #4A5B6C); font-size: .875rem; }
.zert-personen { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.zert-praxis.is-person { margin-top: 0; padding: 10px 12px; background: #fff; }
.zert-praxis.is-person .zert-ava { width: 46px; height: 46px; font-size: .875rem; }
.zert-praxis.is-person b { font-size: 1rem; }
.zert-fuss { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px 24px; align-items: center; padding: 14px 0 12px; border-top: 1px dashed rgba(77,111,18,.4); }
.zert-fuss small { display: block; font-size: .6875rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--slate, #4A5B6C); }
.zert-fuss b { display: block; margin-top: 3px; font: 700 .9375rem/1.3 var(--font-head, sans-serif); color: var(--z-navy); font-variant-numeric: tabular-nums; }
.zert-status { display: inline-flex !important; align-items: center; gap: 8px; }
.zert-punkt { width: 9px; height: 9px; border-radius: 50%; background: #3C9A35; box-shadow: 0 0 0 3px rgba(60,154,53,.22); }
.zert-holo { position: relative; overflow: hidden; width: 92px; height: 56px; border-radius: 10px; display: grid; place-content: center; text-align: center; line-height: 1; color: rgba(11,34,56,.75);
background: conic-gradient(from 210deg, #D6E78E, #9FD8E8, #C7B8F0, #F3C9D9, #F6E7A8, #D6E78E); box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 4px 12px -6px rgba(11,34,56,.4); }
.zert-holo span:first-child { font: 800 1rem/1 var(--font-head, sans-serif); letter-spacing: -.01em; }
.zert-holo span:last-child { font: 700 .625rem/1.2 var(--font-head, sans-serif); letter-spacing: .14em; }
.zert-holo::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 50% 120%, rgba(255,255,255,.0) 0 3px, rgba(255,255,255,.35) 3px 4px); mix-blend-mode: overlay; }
.zert-holo::after { content: ""; position: absolute; top: -20%; bottom: -20%; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.85), transparent); transform: skewX(-18deg); }
.zert-mikro { margin: 8px 0 0 !important; overflow: hidden; white-space: nowrap; font: 600 6px/1 var(--font-head, sans-serif); letter-spacing: .12em; color: var(--z-tinte); opacity: .6; text-align: center; }
.zert-stempel, .zert-stempel-ok { position: absolute; right: calc(120px + 4%); bottom: 11%; padding: 6px 16px; border: 3px solid currentColor; border-radius: 8px; font: 800 1.125rem/1 var(--font-head, sans-serif); letter-spacing: .14em; text-transform: uppercase; transform: rotate(-12deg); pointer-events: none; }
.zert-stempel { color: rgba(164,35,26,.78); }
.zert-stempel-ok { color: rgba(77,111,18,.5); font-size: 1.5rem; padding: 6px 18px; mix-blend-mode: multiply; } .zert.is-bad { background: linear-gradient(135deg, #FBF8F7, #F4EEEC); }
.zert.is-bad .zert-grund, .zert.is-bad .zert-band { stroke: #8A97A3; }
.zert.is-bad .zert-rosette { filter: grayscale(1); opacity: .55; }
.zert.is-bad .zert-rahmen { border-color: rgba(164,35,26,.3); outline-color: rgba(164,35,26,.18); }
.zert.is-bad .zert-marke { background: #A4231A; } .zert.is-bad .zert-marke svg { stroke: #fff; }
.zert.is-bad .zert-scheibe { filter: grayscale(.8); }
.zert.is-bad .zert-punkt { background: #A4231A; box-shadow: 0 0 0 3px rgba(164,35,26,.2); }
.zert.is-bad .zert-holo { filter: grayscale(1); opacity: .5; } @media (prefers-reduced-motion: no-preference) {
.zert .zert-linie { stroke-dasharray: 1; stroke-dashoffset: 1; }
.zert.is-an .zert-linie { animation: zert-zeichnen 2.4s cubic-bezier(.4,.1,.2,1) forwards; }
.zert.is-an .zert-rosette .l1 { animation-delay: .25s; } .zert.is-an .zert-rosette .l2 { animation-delay: .5s; } .zert.is-an .zert-rosette .l3 { animation-delay: .1s; animation-duration: 1.6s; }
.zert-rosette { animation: zert-drehen 120s linear infinite; }
.zert-ring { animation: zert-drehen 90s linear infinite reverse; }
.zert-scheibe, .zert-marke { opacity: 0; transform: scale(.6); }
.zert.is-an .zert-scheibe { animation: zert-auf .7s .6s cubic-bezier(.2,1.4,.4,1) forwards; }
.zert.is-an .zert-marke { animation: zert-auf .6s 1.4s cubic-bezier(.2,1.6,.4,1) forwards; }
.zert-marke path { stroke-dasharray: 1; stroke-dashoffset: 1; }
.zert.is-an .zert-marke path { animation: zert-zeichnen .5s 1.85s ease-out forwards; }
.zert-holo::after { animation: zert-glanz 4.5s 2.2s ease-in-out infinite; }
.zert-stempel, .zert-stempel-ok { opacity: 0; }
.zert.is-an .zert-stempel, .zert.is-an .zert-stempel-ok { animation: zert-stempel .45s 2.1s cubic-bezier(.3,1.5,.5,1) forwards; }
.zert.is-ok .zert-punkt { animation: zert-puls 2s ease-in-out infinite; }
.zert.is-bad .zert-rosette, .zert.is-bad .zert-ring { animation: none; }
}
@keyframes zert-zeichnen { to { stroke-dashoffset: 0; } }
@keyframes zert-drehen { to { transform: rotate(360deg); } }
@keyframes zert-auf { to { opacity: 1; transform: none; } }
@keyframes zert-glanz { 0% { left: -60%; } 45%, 100% { left: 130%; } }
@keyframes zert-stempel { from { opacity: 0; transform: rotate(-12deg) scale(1.8); } to { opacity: 1; transform: rotate(-12deg) scale(1); } }
@keyframes zert-puls { 50% { box-shadow: 0 0 0 6px rgba(60,154,53,0); } }
@container zert (max-width: 640px) {
.zert-mitte { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.zert-emblem { max-width: 210px; }
.zert-praxis { text-align: left; }
.zert-fuss { grid-template-columns: 1fr 1fr; }
.zert-holo { grid-column: 1 / -1; justify-self: center; }
.zert-stempel, .zert-stempel-ok { top: 12%; right: 5%; font-size: .9rem; }
.zert-stempel-ok { font-size: 1.1rem; }
}
@media print { .zert { box-shadow: none; } } .zert-web { margin-top: 2px; }
.zert-web b { color: var(--z-navy); font-weight: 600; }
.zert-tipp { margin: 12px 0 0 !important; padding: 10px 14px; border-radius: 10px; background: rgba(238,244,250,.9); border: 1px solid #D3E1EE; font-size: .875rem; line-height: 1.5; color: #12324F; }
.zert-tipp strong { color: var(--z-navy); }
.zert-warnung { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: #FDF0EE; border: 1.5px solid #E7A59D; color: #6E1A12; font-size: .9rem; line-height: 1.5; }
.zert-warnung strong { display: block; color: #A4231A; }
.zert-warnung b { font-family: ui-monospace, Consolas, monospace; font-size: .875em; }
.zert-stempel-warn { display: none; }
.zert.is-warn .zert-stempel-ok { display: none; }
.zert.is-warn .zert-stempel-warn { display: block; color: rgba(164,35,26,.78); }
.zert.is-warn .zert-tipp { display: none; }.clearfix{zoom:1}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.rp4wp-related-job_listing>ul,ul.job_listings{border-top:1px solid #eee;margin:0;padding:0}.rp4wp-related-job_listing>ul.loading,ul.job_listings.loading{background:url(//www.aengie.net/wp-content/plugins/wp-job-manager/assets/dist/images/ajax-loader.ea183bf2.gif) no-repeat center 32px;border-bottom:1px solid #eee;min-height:96px}.rp4wp-related-job_listing>ul li.job_listing,.rp4wp-related-job_listing>ul li.no_job_listings_found,ul.job_listings li.job_listing,ul.job_listings li.no_job_listings_found{border-bottom:1px solid #eee;list-style:none outside;margin:0;padding:0}.rp4wp-related-job_listing>ul li.job_listing.job_position_filled a,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_filled a,ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}.rp4wp-related-job_listing>ul li.job_listing.no_job_listings_found,.rp4wp-related-job_listing>ul li.no_job_listings_found.no_job_listings_found,ul.job_listings li.job_listing.no_job_listings_found,ul.job_listings li.no_job_listings_found.no_job_listings_found{border-bottom:1px solid #eee;padding:1em}.rp4wp-related-job_listing>ul li.job_listing a,.rp4wp-related-job_listing>ul li.no_job_listings_found a,ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{border:0;display:block;line-height:1.5em;overflow:hidden;padding:1em 1em 1em 2em;position:relative;text-decoration:none;zoom:1}.rp4wp-related-job_listing>ul li.job_listing a:focus,.rp4wp-related-job_listing>ul li.job_listing a:hover,.rp4wp-related-job_listing>ul li.no_job_listings_found a:focus,.rp4wp-related-job_listing>ul li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:focus,ul.job_listings li.no_job_listings_found a:hover{background-color:#fcfcfc}.rp4wp-related-job_listing>ul li.job_listing a img.company_logo,.rp4wp-related-job_listing>ul li.no_job_listings_found a img.company_logo,ul.job_listings li.job_listing a img.company_logo,ul.job_listings li.no_job_listings_found a img.company_logo{box-shadow:none;float:left;height:42px;left:1em;margin-right:1em;position:absolute;vertical-align:middle;width:42px}.rp4wp-related-job_listing>ul li.job_listing a div.location,.rp4wp-related-job_listing>ul li.job_listing a div.position,.rp4wp-related-job_listing>ul li.job_listing a ul.meta,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.location,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position,.rp4wp-related-job_listing>ul li.no_job_listings_found a ul.meta,ul.job_listings li.job_listing a div.location,ul.job_listings li.job_listing a div.position,ul.job_listings li.job_listing a ul.meta,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.no_job_listings_found a ul.meta{box-sizing:border-box}.rp4wp-related-job_listing>ul li.job_listing a div.position,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;line-height:1.5em;padding:0 0 0 42px;width:55%}.rp4wp-related-job_listing>ul li.job_listing a div.position h3,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position h3,ul.job_listings li.job_listing a div.position h3,ul.job_listings li.no_job_listings_found a div.position h3{font-size:inherit;line-height:inherit;margin:0;padding:0}.rp4wp-related-job_listing>ul li.job_listing a div.position .company,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position .company,ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#767676}.rp4wp-related-job_listing>ul li.job_listing a div.position .company .tagline,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position .company .tagline,ul.job_listings li.job_listing a div.position .company .tagline,ul.job_listings li.no_job_listings_found a div.position .company .tagline{margin-left:.5em}.rp4wp-related-job_listing>ul li.job_listing a div.location,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.location,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{color:#767676;float:left;line-height:1.5em;padding:0 0 0 1em;text-align:left;width:25%}.rp4wp-related-job_listing>ul li.job_listing a .meta,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta,ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{color:#767676;float:right;line-height:1.5em;list-style:none outside;margin:0;padding:0 0 0 1em;text-align:right;width:20%}.rp4wp-related-job_listing>ul li.job_listing a .meta li,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta li,ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{display:block;list-style:none outside;margin:0}.rp4wp-related-job_listing>ul li.job_listing a .meta .job-type,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta .job-type,ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:700}.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a,ul.job_listings li.job_listing.job_position_featured a,ul.job_listings li.no_job_listings_found.job_position_featured a{background:#fefee5}.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a:focus,.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a:hover,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a:focus,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a:hover,ul.job_listings li.job_listing.job_position_featured a:focus,ul.job_listings li.job_listing.job_position_featured a:hover,ul.job_listings li.no_job_listings_found.job_position_featured a:focus,ul.job_listings li.no_job_listings_found.job_position_featured a:hover{background-color:#fefed8}.widget ul.job_listings li.job_listing a{padding:1em 0}.widget ul.job_listings li.job_listing .image{float:left}.widget ul.job_listings li.job_listing .image img{left:0;position:relative}.widget ul.job_listings li.job_listing .content{overflow:hidden}.widget ul.job_listings li.job_listing .position{float:none;padding:0;width:auto}.widget ul.job_listings li.job_listing ul.meta{float:none;margin:0;padding:0;text-align:left;width:auto}.widget ul.job_listings li.job_listing ul.meta li{display:inline;float:none;font-weight:400;margin:0 .5em 0 0;padding:0}.widget ul.job_listings li.job_listing ul.meta li:after{content:"‣";padding:0 0 0 .5em}.widget ul.job_listings li.job_listing ul.meta li:last-child:after{content:""}.job-manager .job-type,.job-types .job-type,.job_listing .job-type{color:#f08d3c}.job-manager .full-time,.job-types .full-time,.job_listing .full-time{color:#90da36}.job-manager .part-time,.job-types .part-time,.job_listing .part-time{color:#f08d3c}.job-manager .temporary,.job-types .temporary,.job_listing .temporary{color:#d93674}.job-manager .freelance,.job-types .freelance,.job_listing .freelance{color:#39c}.job-manager .internship,.job-types .internship,.job_listing .internship{color:#6033cc}@media only screen and (max-width:767px){ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{padding:1em}ul.job_listings li.job_listing a img.company_logo,ul.job_listings li.no_job_listings_found a img.company_logo{visibility:hidden}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;padding:0;width:60%}ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:right;font-size:.75em;line-height:2em;padding:0 0 0 1em;text-align:right;width:40%}ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;font-size:.75em;line-height:2em;width:40%}ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{font-size:1em}}.twenty-eleven ul.job_listings li.job_listing,.twenty-eleven ul.job_listings li.no_job_listings_found{padding:0!important}@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/inter-latin-ext-400-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/inter-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/inter-latin-ext-500-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/inter-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/inter-latin-ext-600-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/inter-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/plus-jakarta-sans-latin-ext-600-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/plus-jakarta-sans-latin-ext-700-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/plus-jakarta-sans-latin-ext-800-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url(//www.aengie.net/wp-content/themes/aengie/assets/fonts/plus-jakarta-sans-latin-800-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; } :root { --navy-950: #08192A;
--navy-900: #0B2238;
--navy-800: #12324F;
--ink:      #1B2A39; --slate:    #4A5B6C;   --green-brand: #B0CB1F; --green-700: #3F5C0E; --green-600: #4D6F12; --green-400: #B0CB1F;
--green-200: #D6E78E; --sage-50:  #F5F8EC;
--sage-100: #E9F0D2;
--sage-300: #CADB8A;
--blue-50:  #EEF4FA;
--blue-100: #DCE8F4; --bg:       #FCFDFC;
--surface:  #FFFFFF;
--line:     rgba(11, 34, 56, 0.11);
--line-strong: rgba(11, 34, 56, 0.18);
--line-inv: rgba(255, 255, 255, 0.14); --font-head: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; --r-sm: 8px;
--r-md: 10px;
--r-lg: 12px;
--ease: cubic-bezier(.22, .61, .36, 1);
--t: 220ms var(--ease);
--container: 1200px;
--gutter: clamp(16px, 4vw, 32px);
--section: clamp(72px, 10vw, 128px); --i-arzt-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F5C0E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6 6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3'/%3E%3Cpath d='M8 15v1a6 6 0 0 0 6 6 6 6 0 0 0 6-6v-4'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E");
--i-arzt-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2238' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6 6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3'/%3E%3Cpath d='M8 15v1a6 6 0 0 0 6 6 6 6 0 0 0 6-6v-4'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E");
--i-herz-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F5C0E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E");
--i-herz-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2238' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E");
--i-koffer-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F5C0E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E");
--i-koffer-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2238' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E");
--i-arrow-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2238' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
--i-check-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F5C0E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
--i-check-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D6E78E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); --i-arzt: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6 6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3%22/%3E%3Cpath d=%22M8 15v1a6 6 0 0 0 6 6 6 6 0 0 0 6-6v-4%22/%3E%3Ccircle cx=%2220%22 cy=%2210%22 r=%222%22/%3E%3C/svg%3E");
--i-herz: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z%22/%3E%3C/svg%3E");
--i-koffer: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%227%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16%22/%3E%3C/svg%3E");
--i-arrow: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E");
--i-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 6 9 17l-5-5%22/%3E%3C/svg%3E");
--i-phone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2Z%22/%3E%3C/svg%3E");
--i-mail: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22m22 7-10 6L2 7%22/%3E%3C/svg%3E");
--i-download: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 4v12M6 10l6 6 6-6M5 20h14%22/%3E%3C/svg%3E");
--i-external: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 17 17 7M8 7h9v9%22/%3E%3C/svg%3E");
--i-zoom: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227%22/%3E%3Cpath d=%22m20 20-3.5-3.5M11 8v6M8 11h6%22/%3E%3C/svg%3E");
--i-instagram: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%222%22 width=%2220%22 height=%2220%22 rx=%225%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224.2%22/%3E%3Ccircle cx=%2217.5%22 cy=%226.5%22 r=%221%22 fill=%22%230B2238%22 stroke=%22none%22/%3E%3C/svg%3E");
--i-facebook: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M24 12a12 12 0 1 0-13.9 11.9v-8.4H7.1V12h3V9.4c0-3 1.8-4.7 4.6-4.7 1.3 0 2.7.2 2.7.2v3h-1.5c-1.5 0-2 .9-2 1.9V12h3.4l-.5 3.5h-2.9v8.4A12 12 0 0 0 24 12Z%22/%3E%3C/svg%3E");
} *, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
margin: 0;
background: var(--bg);
color: var(--ink);
font-family: var(--font-body);
font-size: 1.0625rem; line-height: 1.7;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, h4 {
font-family: var(--font-head);
color: var(--navy-900);
line-height: 1.15;
letter-spacing: -0.02em;
margin: 0;
}
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } :focus-visible {
outline: 3px solid var(--green-600);
outline-offset: 3px;
border-radius: 6px;
}
.skip-link {
position: absolute; left: 16px; top: -60px; z-index: 100;
background: var(--navy-900); color: #fff; padding: 12px 18px;
border-radius: var(--r-sm); font-weight: 600; text-decoration: none;
transition: top var(--t);
}
.skip-link:focus { top: 12px; } .eyebrow {
display: inline-flex; align-items: center; gap: 10px;
font-family: var(--font-head);
font-size: .8125rem; font-weight: 700;
letter-spacing: .12em; text-transform: uppercase;
color: var(--green-600);
}
.eyebrow::before {
content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor;
}
.section-title { font-size: clamp(1.9rem, 3.4vw, 2.75rem); font-weight: 800; margin-top: 14px; }
.lede { color: var(--slate); font-size: 1.125rem; max-width: 60ch; margin-top: 18px; } .btn {
--pad-y: 15px; --pad-x: 26px;
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
padding: var(--pad-y) var(--pad-x);
border-radius: var(--r-md);
font-family: var(--font-head); font-weight: 700; font-size: 1rem; line-height: 1.2;
text-decoration: none; cursor: pointer; border: 1.5px solid transparent;
transition: background-color var(--t), color var(--t), border-color var(--t), transform var(--t), box-shadow var(--t);
}
.btn svg { width: 18px; height: 18px; transition: transform var(--t); }
@media (hover: hover) { .btn:hover svg { transform: translateX(3px); } }
.btn-primary { background: var(--green-brand); color: var(--navy-900); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 8px 20px -10px rgba(120,150,20,.7); }
@media (hover: hover) { .btn-primary:hover { background: #C2DA34; transform: translateY(-1px); box-shadow: 0 14px 28px -12px rgba(120,150,20,.75); } }
.btn-secondary { background: transparent; color: var(--navy-900); border-color: var(--line-strong); }
@media (hover: hover) { .btn-secondary:hover { border-color: var(--navy-900); background: var(--surface); } }
.btn-light { background: #fff; color: var(--navy-900); }
@media (hover: hover) { .btn-light:hover { background: var(--sage-100); transform: translateY(-1px); } }
.text-link {
display: inline-flex; align-items: center; gap: 8px;
color: var(--green-600); font-weight: 600; text-decoration: none;
background-image: linear-gradient(currentColor, currentColor);
background-size: 0% 1.5px; background-position: 0 100%; background-repeat: no-repeat;
transition: background-size var(--t), color var(--t);
}
@media (hover: hover) { .text-link:hover { background-size: 100% 1.5px; color: var(--green-700); } }
.text-link svg { width: 16px; height: 16px; transition: transform var(--t); }
@media (hover: hover) { .text-link:hover svg { transform: translateX(3px); } } :root { --top-h: 84px; }
.site-header {
position: sticky; top: calc(var(--top-h) * -1); z-index: 50; background: rgba(252, 253, 252, .92);
backdrop-filter: saturate(1.4) blur(12px);
-webkit-backdrop-filter: saturate(1.4) blur(12px);
border-bottom: 1px solid var(--line);
}
.header-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: var(--top-h); }
.header-actions { display: flex; align-items: center; gap: 6px; }
.header-link {
display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: var(--r-sm);
font-size: .9375rem; font-weight: 500; color: var(--ink); text-decoration: none;
transition: background-color var(--t), color var(--t);
}
.header-link svg { width: 17px; height: 17px; color: var(--green-600); flex: none; }
@media (hover: hover) { .header-link:hover { background: var(--sage-50); color: var(--green-700); } }
.header-login { border: 1px solid var(--line-strong); margin: 0 6px 0 4px; }
@media (hover: hover) { .header-login:hover { border-color: var(--green-600); } }
.header-logout { color: var(--slate); }
@media (hover: hover) { .header-logout:hover { color: #A4231A; background: #FDF0EE; } }
.member-sub .member-sub-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.member-sub .member-sub-logout a { display: flex; align-items: center; gap: 8px; color: #A4231A; }
.member-sub .member-sub-logout svg { width: 16px; height: 16px; }
.header-login.is-aktiv { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
.header-login.is-aktiv svg { color: var(--green-brand); }
@media (hover: hover) { .header-login.is-aktiv:hover { background: var(--navy-800); color: #fff; } }
.header-actions .btn { --pad-y: 11px; --pad-x: 20px; font-size: .9375rem; }
.nav-row { border-top: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { width: 54px; height: 46px; flex: none; transition: transform var(--t); }
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name { font-family: var(--font-head); font-weight: 800; font-size: 1.375rem; color: var(--navy-900); letter-spacing: -0.02em; }
.brand-sub { font-size: .75rem; color: var(--slate); font-weight: 500; letter-spacing: .02em; }
.main-nav > ul { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin-inline: -12px; padding-block: 7px; }
.main-nav li { position: relative; }
.main-nav > ul > li > a {
display: inline-flex; align-items: center; gap: 6px;
padding: 10px 12px; border-radius: var(--r-sm);
font-weight: 500; font-size: .9688rem; color: var(--ink); text-decoration: none;
transition: background-color var(--t), color var(--t);
}
.main-nav > ul > li:focus-within > a { background: var(--sage-50); color: var(--green-700); }
@media (hover: hover) { .main-nav > ul > li > a:hover { background: var(--sage-50); color: var(--green-700); } }
.main-nav .menu-home > a { padding: 10px; color: var(--navy-900); }
.main-nav .menu-home > a[aria-current="page"],
.main-nav > ul > li.current-menu-item > a, .main-nav > ul > li.current_page_item > a,
.main-nav > ul > li.current-menu-ancestor > a, .main-nav > ul > li.current-menu-parent > a,
.main-nav > ul > li.current-page-ancestor > a, .main-nav > ul > li.is-aktiv-bereich > a { color: var(--green-700); background: var(--sage-50); }
.main-nav .submenu li.current-menu-item > a, .main-nav .submenu li.current_page_item > a { color: var(--green-700); background: var(--sage-50); font-weight: 600; }
@media (max-width: 1100px) {
.main-nav.is-open > ul > li.current-menu-item > a, .main-nav.is-open > ul > li.current-menu-ancestor > a,
.main-nav.is-open > ul > li.current-page-ancestor > a, .main-nav.is-open > ul > li.is-aktiv-bereich > a { background: none; color: var(--green-700); }
}
.main-nav .menu-home svg { display: block; }
.main-nav .menu-home-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.main-nav .chev { width: 14px; height: 14px; opacity: .55; transition: transform var(--t); }
.main-nav li:focus-within .chev { transform: rotate(180deg); }
@media (hover: hover) { .main-nav li:hover .chev { transform: rotate(180deg); } }
.submenu {
position: absolute; top: calc(100% + 8px); left: 0; min-width: 260px; width: max-content; max-width: min(400px, calc(100vw - 32px));
background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
box-shadow: 0 24px 48px -24px rgba(11,34,56,.28);
padding: 8px;
opacity: 0; visibility: hidden; transform: translateY(-4px);
transition: opacity var(--t), transform var(--t), visibility var(--t);
}
.main-nav > ul > li:nth-last-child(-n+2) > .submenu { left: auto; right: 0; } .submenu::before { content: ""; position: absolute; inset: -10px 0 auto 0; height: 10px; } .main-nav li:focus-within > .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
@media (hover: hover) { .main-nav li:hover > .submenu { opacity: 1; visibility: visible; transform: translateY(0); } }
.submenu a {
display: block; padding: 10px 18px 10px 14px; border-radius: var(--r-sm);
font-size: .9375rem; color: var(--ink); text-decoration: none; line-height: 1.4;
transition: background-color var(--t), color var(--t), padding var(--t);
} .submenu a:focus-visible { background: var(--sage-50); color: var(--green-700); padding-left: 18px; padding-right: 14px; }
@media (hover: hover) { .submenu a:hover { background: var(--sage-50); color: var(--green-700); padding-left: 18px; padding-right: 14px; } }
.nav-toggle {
display: none; align-items: center; justify-content: center;
width: 46px; height: 46px; border-radius: var(--r-md);
border: 1px solid var(--line-strong); background: var(--surface); color: var(--navy-900); cursor: pointer;
}
.nav-toggle svg { width: 22px; height: 22px; }  .mask-icon, .wp-block-button.is-style-primary .wp-block-button__link::after,
.wp-block-button.is-style-light .wp-block-button__link::after,
.wp-block-button.is-style-link .wp-block-button__link::after {
content: ""; display: inline-block; flex: none; width: 18px; height: 18px;
background-color: currentColor;
-webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat;
transition: transform var(--t);
} .is-style-eyebrow {
display: inline-flex; align-items: center; gap: 10px;
font-family: var(--font-head); font-size: .8125rem; font-weight: 700;
letter-spacing: .12em; text-transform: uppercase; color: var(--green-600);
}
.is-style-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor; }
.is-style-lede { color: var(--slate); font-size: 1.125rem; max-width: 60ch; margin-top: 18px; }
.eyebrow-link { text-decoration: none; }
@media (hover: hover) { .eyebrow-link:hover { color: var(--green-700); } } .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.wp-block-buttons > .wp-block-button { margin: 0; }
.wp-block-button .wp-block-button__link {
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
padding: 15px 26px; border-radius: var(--r-md);
font-family: var(--font-head); font-weight: 700; font-size: 1rem; line-height: 1.2;
text-decoration: none; border: 1.5px solid transparent; box-shadow: none;
background: var(--navy-900); color: #fff;
transition: background-color var(--t), color var(--t), border-color var(--t), transform var(--t), box-shadow var(--t);
}
@media (hover: hover) { .wp-block-button .wp-block-button__link:hover svg, .wp-block-button .wp-block-button__link:hover::after { transform: translateX(3px); } }
.wp-block-button.is-style-primary .wp-block-button__link,
.btn-primary { background: var(--green-brand); color: var(--navy-900); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 8px 20px -10px rgba(120,150,20,.7); }
@media (hover: hover) { .wp-block-button.is-style-primary .wp-block-button__link:hover, .btn-primary:hover { background: #C2DA34; color: var(--navy-900); transform: translateY(-1px); box-shadow: 0 14px 28px -12px rgba(120,150,20,.75); } }
.wp-block-button.is-style-secondary .wp-block-button__link,
.btn-secondary { background: transparent; color: var(--navy-900); border-color: var(--line-strong); }
@media (hover: hover) { .wp-block-button.is-style-secondary .wp-block-button__link:hover, .btn-secondary:hover { border-color: var(--navy-900); background: var(--surface); } }
.wp-block-button.is-style-light .wp-block-button__link,
.btn-light { background: #fff; color: var(--navy-900); }
@media (hover: hover) { .wp-block-button.is-style-light .wp-block-button__link:hover, .btn-light:hover { background: var(--sage-100); transform: translateY(-1px); } }
.wp-block-button.is-style-link .wp-block-button__link {
padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
font-family: var(--font-body); font-weight: 600; font-size: 1rem; color: var(--green-600); gap: 8px;
background-image: linear-gradient(currentColor, currentColor);
background-size: 0% 1.5px; background-position: 0 100%; background-repeat: no-repeat;
transition: background-size var(--t), color var(--t);
}
.wp-block-button.is-style-link .wp-block-button__link::after { width: 16px; height: 16px; }
@media (hover: hover) { .wp-block-button.is-style-link .wp-block-button__link:hover { background-size: 100% 1.5px; color: var(--green-700); } }
.btn-download .wp-block-button__link::after { -webkit-mask-image: var(--i-download); mask-image: var(--i-download); }
@media (hover: hover) { .btn-download .wp-block-button__link:hover::after { transform: translateY(2px); } } .is-style-dots { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.is-style-dots li { display: inline-flex; align-items: center; gap: 10px; font-size: .9375rem; font-weight: 500; color: var(--slate); }
.is-style-dots li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green-brand); box-shadow: 0 0 0 4px var(--sage-100); }
.is-style-check li { display: flex; gap: 18px; align-items: flex-start; }
.is-style-check li::before {
content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; margin-top: -1px;
background: var(--sage-100) var(--i-check-green) center / 15px no-repeat;
-webkit-mask: none; mask: none;
} .plugin-hint {
margin-top: 20px; padding: 14px 16px; border: 1.5px dashed var(--line-strong); border-radius: var(--r-md);
font-size: .875rem; color: var(--slate); background: repeating-linear-gradient(-45deg, transparent 0 8px, rgba(11,34,56,.025) 8px 16px);
} .front-content figure, .front-content .wp-block-image { margin: 0; }
.front-content .wp-block-image img { height: auto; }  .hero {
position: relative; overflow: hidden;
padding-block: clamp(56px, 8vw, 104px) clamp(110px, 12vw, 150px);
background:
radial-gradient(900px 500px at 85% 20%, var(--blue-50), transparent 65%),
radial-gradient(700px 500px at 0% 100%, var(--sage-50), transparent 60%),
var(--bg);
}
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.hero h1 {
font-size: clamp(2.5rem, 5.6vw, 4.25rem); font-weight: 800; letter-spacing: -0.035em; line-height: 1.04;
margin-top: 20px;
}
.hero h1 em { font-style: normal; color: var(--green-600); position: relative; white-space: nowrap; z-index: 0; }
.hero h1 em::after {
content: ""; position: absolute; left: 0; right: 0; bottom: .06em; height: .14em;
background: var(--green-brand); opacity: .45; border-radius: 4px; z-index: -1;
}
.hero .is-style-lede { font-size: clamp(1.125rem, 1.6vw, 1.25rem); margin-top: 24px; }
.hero-actions { margin-top: 36px; }
.hero .disciplines { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.hero-visual { position: relative; }
.hero-photo img {
width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block;
border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--sage-50);
box-shadow: 0 40px 70px -40px rgba(11,34,56,.45);
}
.hero-photo figcaption, .hero-photo .wp-element-caption { display: flex; justify-content: flex-end; margin: 14px 0 0; font-size: .9375rem; text-align: right; }
.hero-photo figcaption a {
display: inline-flex; align-items: center; gap: 8px; color: var(--green-600); font-weight: 600; text-decoration: none;
}
.hero-photo figcaption a::after {
content: ""; width: 16px; height: 16px; background-color: currentColor; transition: transform var(--t);
-webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat;
}
@media (hover: hover) { .hero-photo figcaption a:hover { color: var(--green-700); } }
@media (hover: hover) { .hero-photo figcaption a:hover::after { transform: translateX(3px); } } .event-card {
position: absolute; z-index: 3; left: -14%; bottom: -24%;
display: block; width: min(296px, 58%);
background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
box-shadow: 0 30px 60px -30px rgba(11,34,56,.35);
padding: 20px 22px; text-decoration: none; color: inherit;
transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
@media (hover: hover) { .event-card:hover { transform: translateY(-3px); border-color: var(--green-200); box-shadow: 0 36px 70px -30px rgba(11,34,56,.42); } }
.event-label { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--green-600); }
.event-label .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green-600); box-shadow: 0 0 0 0 rgba(77,111,18,.5); animation: dot 2s infinite; }
@keyframes dot { 0% { box-shadow: 0 0 0 0 rgba(77,111,18,.45); } 70% { box-shadow: 0 0 0 8px rgba(77,111,18,0); } 100% { box-shadow: 0 0 0 0 rgba(77,111,18,0); } }
.event-body { display: flex; gap: 16px; margin-top: 12px; align-items: flex-start; }
.date-chip { flex: none; width: 58px; text-align: center; border-radius: var(--r-sm); background: var(--navy-900); color: #fff; padding: 8px 0 9px; line-height: 1; }
.date-chip .d { display: block; font-family: var(--font-head); font-weight: 800; font-size: 1.5rem; }
.date-chip .m { display: block; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-top: 4px; color: var(--green-200); }
.event-card h3 { font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }
.event-meta { font-size: .875rem; color: var(--slate); margin-top: 4px; line-height: 1.5; }
.countdown { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.cd-units { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.cd-unit { display: flex; flex-direction: column; align-items: center; padding: 8px 0 7px; border-radius: var(--r-sm); background: var(--sage-50); border: 1px solid var(--line); }
.cd-unit b { font-family: var(--font-head); font-weight: 800; font-size: 1.375rem; line-height: 1; color: var(--navy-900); font-variant-numeric: tabular-nums; }
.cd-unit small { margin-top: 4px; font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); }
.cd-live { display: none; align-items: flex-start; gap: 10px; line-height: 1.45; font-family: var(--font-head); font-weight: 700; color: #2D6E29; }
.cd-live::before { content: ""; flex: none; width: 10px; height: 10px; margin-top: .45em; border-radius: 50%; background: #3E9B3A; animation: dot 2s infinite; }
.countdown.is-live .cd-units { display: none; }
.countdown.is-live .cd-live { display: flex; } .paths { border-block: 1px solid var(--line); background: var(--surface); }
.paths-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.path {
position: relative; display: grid; grid-template-columns: 48px 1fr; column-gap: 18px; align-content: start;
padding: 36px clamp(20px, 3vw, 36px); transition: background-color var(--t);
background-image: linear-gradient(var(--green-brand), var(--green-brand));
background-size: 0% 3px; background-repeat: no-repeat; background-position: 0 0;
}
.path + .path { border-left: 1px solid var(--line); }
.path::before {
content: ""; grid-row: 1 / span 3; width: 48px; height: 48px; border-radius: var(--r-md);
background: var(--sage-100) var(--icon) center / 24px no-repeat;
transition: background-color var(--t);
}
.path-icon-arzt   { --icon: var(--i-arzt-green);   --icon-hover: var(--i-arzt-navy); }
.path-icon-herz   { --icon: var(--i-herz-green);   --icon-hover: var(--i-herz-navy); }
.path-icon-koffer { --icon: var(--i-koffer-green); --icon-hover: var(--i-koffer-navy); }
@media (hover: hover) { .path:hover { background-color: var(--sage-50); background-size: 100% 3px; transition: background-color var(--t), background-size 320ms var(--ease); } }
@media (hover: hover) { .path:hover::before { background-color: var(--green-brand); background-image: var(--icon-hover); } }
.path > * { grid-column: 2; }
.path-kicker { font-size: .8125rem; font-weight: 600; color: var(--slate); }
.path .path-title { font-size: 1.25rem; font-weight: 700; margin-top: 2px; }
.path .path-title a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.path .path-title a::after {
content: ""; width: 18px; height: 18px; background-color: var(--green-600); transition: transform var(--t);
-webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat;
}
.path .path-title a::before { content: ""; position: absolute; inset: 0; } @media (hover: hover) { .path:hover .path-title a::after { transform: translateX(4px); } }
.path p:not(.path-kicker) { font-size: .9688rem; color: var(--slate); margin-top: 6px; line-height: 1.6; } .services { padding-block: var(--section); }
.services-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(40px, 7vw, 96px); align-items: start; }
.services-intro { position: sticky; top: 120px; }
.quote {
margin-top: 36px; padding: 24px 0 0; border-top: 1px solid var(--line);
font-family: var(--font-head); font-size: 1.25rem; font-weight: 600; line-height: 1.45; color: var(--navy-800);
}
.quote::before { content: "„"; display: block; font-size: 3rem; line-height: .6; color: var(--green-brand); margin-bottom: 8px; }
.service-list > .service { border-top: 1px solid var(--line); }
.service-list > .service:last-child { border-bottom: 1px solid var(--line); }
.service {
position: relative; display: grid; grid-template-columns: 64px 1fr auto; column-gap: 24px; row-gap: 8px; align-items: start;
padding: 32px 8px; border-radius: var(--r-md);
transition: background-color var(--t), box-shadow var(--t);
} @media (hover: hover) { .service:hover { background: var(--sage-50); box-shadow: -14px 0 0 var(--sage-50), 14px 0 0 var(--sage-50); } }
.service-num { grid-column: 1; grid-row: 1; font-family: var(--font-head); font-weight: 800; font-size: 1rem; color: var(--green-600); padding-top: 6px; letter-spacing: .04em; }
.service h3 { grid-column: 2; grid-row: 1; font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 700; }
.service h3 a { color: inherit; text-decoration: none; }
.service h3 a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.service > p:not(.service-num) { grid-column: 2; grid-row: 2; color: var(--slate); max-width: 56ch; }
.service::after {
content: ""; grid-column: 3; grid-row: 1 / span 2; align-self: center;
width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-strong);
background: var(--i-arrow-navy) center / 18px no-repeat;
transition: background-color var(--t), border-color var(--t), transform var(--t);
}
@media (hover: hover) { .service:hover::after { background-color: var(--green-brand); border-color: var(--green-brand); transform: rotate(-45deg); } } .why { position: relative; overflow: hidden; background: var(--navy-900); color: #D9E3EC; padding-block: var(--section); }
.why::before {
content: ""; position: absolute; right: -200px; top: -200px; width: 600px; height: 600px; border-radius: 50%;
background: radial-gradient(circle, rgba(176,203,31,.18), transparent 65%); pointer-events: none;
}
.why .is-style-eyebrow { color: var(--green-200); }
.why h2 { color: #fff; }
.why .is-style-lede { color: #B9C8D6; }
.why-head { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 48px; }
.why-cta { margin-top: 32px; }
.why .hero-logo { width: 100%; max-width: 440px; justify-self: end; filter: drop-shadow(0 30px 50px rgba(0,0,0,.35)); }
.goals { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; margin-top: 56px; }
.goals li { padding: 22px 0; border-top: 1px solid var(--line-inv); font-size: 1.0625rem; color: #EEF3F7; line-height: 1.55; }
.goals li:nth-last-child(-n+2) { border-bottom: 1px solid var(--line-inv); }
.goals.is-style-check li::before { background: rgba(176,203,31,.18) var(--i-check-light) center / 15px no-repeat; } .hero-logo { width: 100%; height: auto; overflow: visible; }
.hero-logo * { transform-box: fill-box; transform-origin: center; }
.js .hero-logo:not(.is-visible), .js .hero-logo:not(.is-visible) * { animation-play-state: paused; }
.lg-float { animation: lg-float 9s ease-in-out 3.2s infinite; transform-box: view-box !important; }
.lg-land  { animation: lg-land 1s var(--ease) both; }
.lg-pop   { animation: lg-pop .7s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(1s + var(--i) * .16s); }
.lg-ring  { fill: none; stroke: #fff; stroke-width: 70; opacity: 0; animation: lg-ring 3.8s var(--ease) infinite; animation-delay: calc(2.6s + var(--i) * .55s); }
.lg-node:first-child .lg-ring { stroke-width: 90; }
@keyframes lg-land  { from { opacity: 0; transform: scale(.94) translateY(12px); } }
@keyframes lg-pop   { from { opacity: 0; transform: scale(0); } }
@keyframes lg-ring  { 0% { opacity: .9; transform: scale(.7); } 80%, 100% { opacity: 0; transform: scale(2.3); } }
@keyframes lg-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-160px); } } .news { padding-block: var(--section); }
.news-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.news-links { gap: 24px; }
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; margin-top: 48px; }
.news-feature + .news-grid { margin-top: 0; }
.news-feature {
margin-top: 48px; margin-bottom: 40px;
display: grid; grid-template-columns: 230px 1.15fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center;
padding: clamp(28px, 4vw, 48px); border-radius: var(--r-lg);
background: linear-gradient(160deg, var(--blue-50), var(--sage-50)); border: 1px solid var(--line);
}
.flyer-thumb { transform: rotate(-3deg); transition: transform 500ms cubic-bezier(.22,1,.36,1); }
.flyer-thumb img { width: 100%; border-radius: 6px; box-shadow: 0 2px 4px rgba(11,34,56,.1), 0 30px 50px -24px rgba(11,34,56,.55); cursor: zoom-in; }
@media (hover: hover) { .flyer-thumb:hover { transform: rotate(0deg) scale(1.03); } }
.flyer-thumb .lightbox-trigger { opacity: 1; background: rgba(255,255,255,.94); border-radius: 999px; width: 36px; height: 36px; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tag {
display: inline-flex; align-items: center; padding: 5px 11px; border-radius: 999px;
background: var(--surface); border: 1px solid var(--line); font-size: .8125rem; font-weight: 600; color: var(--green-700); line-height: 1.4;
}
.tag-free { background: var(--green-brand); border-color: transparent; color: var(--navy-900); }
.news-feature h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; margin-top: 16px; }
.feature-text > p { color: var(--slate); margin-top: 12px; max-width: 52ch; }
.facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 28px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line-strong); }
.facts p { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); line-height: 1.6; }
.facts strong { display: inline-block; margin-top: 4px; font-family: var(--font-head); font-size: 1.0625rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--navy-900); line-height: 1.35; }
.event-actions { margin-top: 28px; }
.event-actions .wp-block-button__link { padding: 13px 22px; }
.workshops { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px 26px; align-self: stretch; display: flex; flex-direction: column; }
.workshops h4 { font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--slate); }
.ws-list { margin-top: 10px; }
.ws-list li { position: relative; padding: 14px 0 14px 76px; border-bottom: 1px solid var(--line); font-weight: 600; color: var(--navy-900); line-height: 1.4; }
.ws-list li:last-child { border-bottom: 0; }
.ws-list strong { position: absolute; left: 0; top: 15px; font-family: var(--font-head); font-weight: 800; color: var(--green-600); font-size: .9375rem; }
.ws-list em { display: block; font-style: normal; font-weight: 400; font-size: .875rem; color: var(--slate); margin-top: 2px; line-height: 1.45; }
.ws-note { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font-size: .875rem; color: var(--slate); }
.news-item { display: grid; grid-template-columns: 76px 1fr; gap: 20px; padding: 28px 0; border-block: 1px solid var(--line); text-decoration: none; color: inherit; }
.news-date { font-family: var(--font-head); line-height: 1.1; color: var(--slate); }
.news-date .d { display: block; font-size: 1.75rem; font-weight: 800; color: var(--navy-900); }
.news-date .m { font-size: .8125rem; font-weight: 600; }
.news-item h3 { font-size: 1.1875rem; font-weight: 700; line-height: 1.35; transition: color var(--t); }
@media (hover: hover) { .news-item:hover h3 { color: var(--green-700); } }
.news-item p { font-size: .9688rem; color: var(--slate); margin-top: 8px; line-height: 1.6; }
.news-item .text-link { margin-top: 12px; font-size: .9375rem; } .contact { padding-block: 0 var(--section); }
.contact-wrap { display: grid; grid-template-columns: 1.1fr .9fr; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; background: var(--surface); }
.callback { padding: clamp(28px, 5vw, 56px); }
.callback h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 800; margin-top: 14px; }
.callback .is-style-lede { font-size: 1.0625rem; }
.callers { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.callers .avatar + .avatar { margin-left: -30px; }
.callers p { font-size: .9375rem; color: var(--slate); line-height: 1.5; }
.callers strong { color: var(--navy-900); font-weight: 600; }
.avatar { flex: none; }
.avatar img { border-radius: 50%; object-fit: cover; border: 3px solid var(--surface); box-shadow: 0 6px 14px -6px rgba(11,34,56,.35); }
.office { background: var(--sage-50); border-left: 1px solid var(--line); padding: clamp(28px, 5vw, 56px); }
.office h3 { font-size: 1.25rem; font-weight: 700; }
.office-sub { font-size: .9375rem; color: var(--slate); margin-top: 6px; margin-bottom: 24px; }
.person { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); }
.person .avatar img { border-color: var(--sage-50); box-shadow: 0 8px 18px -8px rgba(11,34,56,.4); }
.person p { font-size: .8125rem; color: var(--slate); font-weight: 500; line-height: 1.55; }
.person strong { font-family: var(--font-head); font-size: 1.0625rem; font-weight: 700; color: var(--navy-900); }
.person a, .contact-row a { display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 1.0625rem; font-weight: 600; color: var(--navy-900); text-decoration: none; transition: color var(--t); }
@media (hover: hover) { .person a:hover, .contact-row a:hover { color: var(--green-700); } }
.person a[href^="tel:"]::before, .contact-row a::before {
content: ""; width: 15px; height: 15px; background-color: var(--green-600);
-webkit-mask: var(--i-phone) center / contain no-repeat; mask: var(--i-phone) center / contain no-repeat;
}
.contact-row { padding: 16px 0; border-block: 1px solid var(--line); font-size: .8125rem; color: var(--slate); font-weight: 500; }
.contact-mail a::before { -webkit-mask-image: var(--i-mail); mask-image: var(--i-mail); width: 17px; height: 17px; }
.hours-title { margin-top: 28px; font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--slate); }
.wp-block-table.hours { margin: 10px 0 0; }
.wp-block-table.hours table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.wp-block-table.hours td { text-align: left; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--slate); }
.wp-block-table.hours td:first-child { font-weight: 600; color: var(--navy-900); padding-right: 16px; white-space: nowrap; width: 1%; } .form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 32px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field label { font-size: .9375rem; font-weight: 600; color: var(--navy-900); }
.field label span { color: var(--green-700); }
.field input, .field textarea, .field select {
font: inherit; font-size: 1rem; color: var(--ink); padding: 14px 16px; border-radius: var(--r-sm);
border: 1.5px solid var(--line-strong); background: var(--bg);
transition: border-color var(--t), background-color var(--t), box-shadow var(--t);
}
.field input::placeholder, .field textarea::placeholder { color: #7D8B98; }
@media (hover: hover) { .field input:hover, .field textarea:hover { border-color: rgba(11,34,56,.32); } }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--green-600); background: #fff; box-shadow: 0 0 0 4px rgba(176,203,31,.22); }
.consent { grid-column: 1 / -1; display: flex; gap: 12px; align-items: flex-start; font-size: .875rem; color: var(--slate); line-height: 1.55; }
.consent input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--green-600); cursor: pointer; }
.consent a { color: var(--green-700); font-weight: 600; }
.form .btn { grid-column: 1 / -1; justify-self: start; margin-top: 6px; } .stay { background: var(--sage-50); border-block: 1px solid var(--line); padding-block: clamp(64px, 8vw, 104px); overflow: hidden; }
.brochure { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 88px); align-items: center; }
.bro-mock { position: relative; aspect-ratio: 1 / .92; width: 100%; max-width: 540px; }
.bro-mock::before {
content: ""; position: absolute; inset: 8% 6% 4% 10%; border-radius: 50%;
background: radial-gradient(circle, rgba(176,203,31,.32), rgba(176,203,31,0) 68%);
}
.bro-mock > .wp-block-image {
position: absolute; width: 50%; aspect-ratio: 595 / 842; border-radius: 4px; background: #fff; margin: 0;
transition: transform 700ms cubic-bezier(.22,1,.36,1), box-shadow 700ms var(--ease); transform-origin: 50% 100%;
}
.bro-mock > .wp-block-image a { display: block; height: 100%; }
.bro-mock > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }
.bro-mock .bro-p2 { left: 41%; top: 8%; transform: rotate(9deg); box-shadow: 0 18px 40px -18px rgba(11,34,56,.35); }
.bro-mock .bro-p1 { left: 29%; top: 5%; transform: rotate(3.5deg); box-shadow: 0 22px 44px -18px rgba(11,34,56,.38); }
.bro-mock .bro-cover { left: 12%; top: 3%; transform: rotate(-4deg); box-shadow: 0 2px 4px rgba(11,34,56,.08), 0 40px 60px -22px rgba(11,34,56,.5); }
.bro-mock .bro-cover::after {
content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
background:
linear-gradient(90deg, rgba(0,0,0,.22) 0, rgba(0,0,0,.05) 2.5%, rgba(255,255,255,.35) 3.5%, rgba(255,255,255,0) 7%),
linear-gradient(125deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 38%);
}
@media (hover: hover) { .bro-mock:hover .bro-cover { transform: rotate(-7deg) translate(-4%, -3%); box-shadow: 0 2px 4px rgba(11,34,56,.08), 0 50px 70px -24px rgba(11,34,56,.55); } }
@media (hover: hover) { .bro-mock:hover .bro-p1 { transform: rotate(6deg) translate(6%, -1%); } }
@media (hover: hover) { .bro-mock:hover .bro-p2 { transform: rotate(14deg) translate(14%, 2%); } }
.bro-badge {
position: absolute; z-index: 2; left: 4%; bottom: 6%;
display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px;
background: var(--navy-900); color: #fff; font-size: .8125rem; font-weight: 600; letter-spacing: .01em;
box-shadow: 0 14px 28px -14px rgba(11,34,56,.6);
}
.bro-badge::before { content: ""; width: 16px; height: 16px; background-color: var(--green-brand); -webkit-mask: var(--i-download) center / contain no-repeat; mask: var(--i-download) center / contain no-repeat; }
.bro-facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 36px; margin-top: 32px; padding-block: 22px; border-block: 1px solid var(--line-strong); }
.bro-facts p { font-size: .875rem; color: var(--slate); line-height: 1.5; }
.bro-facts strong { display: inline-block; font-family: var(--font-head); font-size: 1.75rem; font-weight: 800; color: var(--navy-900); line-height: 1.1; margin-bottom: 4px; }
.bro-actions { margin-top: 30px; display: inline-flex; vertical-align: middle; }
.bro-meta { display: inline-block; margin: 30px 0 0 20px; vertical-align: middle; font-size: .875rem; color: var(--slate); }
.stay-grid { display: grid; grid-template-columns: 1.4fr 1fr; margin-top: clamp(56px, 7vw, 88px); padding-top: clamp(40px, 5vw, 56px); border-top: 1px solid var(--line-strong); }
.stay-col { padding: 8px clamp(20px, 3vw, 40px); }
.stay-col:first-child { padding-left: 0; }
.stay-col + .stay-col { border-left: 1px solid var(--line-strong); }
.stay h2 { font-size: clamp(1.5rem, 2.4vw, 1.875rem); font-weight: 800; margin-top: 12px; }
.stay .section-title { font-size: clamp(1.9rem, 3.4vw, 2.75rem); }
.stay h3 { font-size: 1.125rem; font-weight: 700; }
.stay-col > p { color: var(--slate); margin-top: 10px; font-size: .9688rem; }
.stay-col .wp-block-buttons { margin-top: 22px; }
.social { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.social a {
display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--navy-900); font-weight: 600;
padding: 10px 14px; border-radius: var(--r-sm); border: 1px solid var(--line-strong); background: var(--surface);
transition: border-color var(--t), color var(--t), transform var(--t);
}
.social a::before { content: ""; width: 20px; height: 20px; background-color: currentColor; -webkit-mask: var(--i-mail) center / contain no-repeat; mask: var(--i-mail) center / contain no-repeat; }
.social a[href*="facebook"]::before { -webkit-mask-image: var(--i-facebook); mask-image: var(--i-facebook); }
.social a[href*="instagram"]::before { -webkit-mask-image: var(--i-instagram); mask-image: var(--i-instagram); }
@media (hover: hover) { .social a:hover { border-color: var(--green-600); color: var(--green-700); transform: translateX(3px); } } .partners { padding-block: var(--section); }
.partners-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.partner-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 44px; border-top: 1px solid var(--line); }
.partner-grid li { border-bottom: 1px solid var(--line); }
.partner-grid li:not(:nth-child(4n+1)) { border-left: 1px solid var(--line); }
.partner-grid a {
display: flex; flex-direction: column; justify-content: space-between; gap: 18px; height: 100%; min-height: 148px;
padding: 24px; text-decoration: none; font-size: .8125rem; color: var(--slate);
transition: background-color var(--t), color var(--t);
}
.partner-grid a br { display: none; }
.partner-grid a strong { font-family: var(--font-head); font-weight: 700; font-size: 1rem; line-height: 1.4; color: var(--navy-900); }
@media (hover: hover) { .partner-grid a:hover { background: var(--sage-50); color: var(--green-700); } } .members-map { padding-block: 0 var(--section); } .text-link {
display: inline-flex; align-items: center; gap: 8px;
color: var(--green-600); font-weight: 600; text-decoration: none;
background-image: linear-gradient(currentColor, currentColor);
background-size: 0% 1.5px; background-position: 0 100%; background-repeat: no-repeat;
transition: background-size var(--t), color var(--t);
}
@media (hover: hover) { .text-link:hover, a:hover .text-link { background-size: 100% 1.5px; color: var(--green-700); } }
.text-link svg { width: 16px; height: 16px; transition: transform var(--t); }
@media (hover: hover) { .text-link:hover svg, a:hover .text-link svg { transform: translateX(3px); } }
.btn {
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
padding: 15px 26px; border-radius: var(--r-md);
font-family: var(--font-head); font-weight: 700; font-size: 1rem; line-height: 1.2;
text-decoration: none; cursor: pointer; border: 1.5px solid transparent;
transition: background-color var(--t), color var(--t), border-color var(--t), transform var(--t), box-shadow var(--t);
}
.btn svg { width: 18px; height: 18px; transition: transform var(--t); }
@media (hover: hover) { .btn:hover svg { transform: translateX(3px); } }
.header-actions .btn { padding: 11px 20px; font-size: .9375rem; } .page-hero {
padding-block: clamp(48px, 7vw, 88px) clamp(36px, 5vw, 56px);
background:
radial-gradient(800px 400px at 90% 0%, var(--blue-50), transparent 65%),
radial-gradient(600px 400px at 0% 100%, var(--sage-50), transparent 60%),
var(--bg);
border-bottom: 1px solid var(--line);
}
.page-title { font-size: clamp(2.1rem, 4.4vw, 3.25rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.08; margin-top: 14px; max-width: 28ch; }
.page-hero .lede, .page-hero .is-style-lede { margin-top: 18px; }
.post-meta { margin-top: 14px; color: var(--slate); font-size: .9375rem; }
.container-narrow { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.post-thumb { margin-top: 40px; }
.post-thumb img { width: 100%; height: auto; border-radius: var(--r-lg); } .entry-content { width: 100%; max-width: var(--container); margin-inline: auto; padding: clamp(40px, 6vw, 72px) var(--gutter); }
.entry-content > * { max-width: none; margin-inline: 0; } .entry-content > .alignfull { max-width: none; margin-inline: calc(50% - 50vw); }
.entry-content > * + * { margin-top: 1.25em; }
.entry-content .is-style-lede, .entry-content .lede { max-width: none; } .entry-content > :first-child { margin-top: 0; }
.entry-content h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; margin-top: 2em; }
.entry-content h3 { font-size: 1.375rem; font-weight: 700; margin-top: 1.75em; }
.entry-content h4 { font-size: 1.125rem; font-weight: 700; margin-top: 1.5em; }
.entry-content a:not(.wp-block-button__link) { color: var(--green-600); font-weight: 500; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
@media (hover: hover) { .entry-content a:not(.wp-block-button__link):hover { color: var(--green-700); } }
.entry-content ul:not([class*="is-style"]), .entry-content ol { padding-left: 1.3em; }
.entry-content ul:not([class*="is-style"]) { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: .4em; }
.entry-content li::marker { color: var(--green-600); }
.entry-content blockquote, .entry-content .wp-block-quote {
border-left: 3px solid var(--green-brand); padding: 4px 0 4px 24px; font-family: var(--font-head); font-size: 1.25rem; color: var(--navy-800);
}
.entry-content .wp-block-quote cite { display: block; margin-top: 8px; font-family: var(--font-body); font-size: .875rem; font-style: normal; color: var(--slate); }
.entry-content figure { margin-block: 2em; }
.entry-content img { height: auto; border-radius: var(--r-md); }
.entry-content figcaption { font-size: .875rem; color: var(--slate); margin-top: 8px; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .9688rem; }
.entry-content th, .entry-content td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.entry-content th { font-weight: 600; color: var(--navy-900); background: var(--sage-50); }
.entry-content hr, .entry-content .wp-block-separator { border: 0; border-top: 1px solid var(--line-strong); margin-block: 2.5em; }
.entry-content .wp-block-file { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); }
.entry-content .wp-block-file .wp-block-file__button { margin-left: auto; padding: 10px 16px; border-radius: var(--r-sm); background: var(--green-brand); color: var(--navy-900); font-weight: 700; text-decoration: none; } .entry-content .m-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.m-intro-text > h2 { margin-top: 12px; }
.m-intro-text > p:not(.is-style-eyebrow) { margin-top: 1em; }
.m-intro-text a { white-space: nowrap; }
.m-signature { color: var(--slate); }
.fee-card {
position: sticky; top: 90px; padding: clamp(24px, 3vw, 36px); border-radius: var(--r-lg);
background: linear-gradient(160deg, var(--blue-50), var(--sage-50)); border: 1px solid var(--line);
box-shadow: 0 30px 60px -44px rgba(11,34,56,.45);
}
.fee-label { font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--slate); }
.fee { margin-top: 6px; font-size: 1.0625rem; color: var(--slate); }
.fee strong { font-family: var(--font-head); font-size: clamp(2.25rem, 4vw, 3rem); font-weight: 800; color: var(--navy-900); letter-spacing: -0.02em; margin-right: 6px; }
.entry-content .fee-card .is-style-check { margin-top: 20px; padding: 18px 0 0; border-top: 1px solid var(--line-strong); display: grid; gap: 12px; }
.entry-content .fee-card .is-style-check li { margin: 0; font-size: .9688rem; line-height: 1.45; }
.entry-content .fee-card .is-style-check li::before { width: 24px; height: 24px; background-size: 13px; }
.fee-card .wp-block-buttons { margin-top: 24px; gap: 14px 20px; }
.entry-content .m-benefits-head { margin-top: clamp(56px, 7vw, 88px); padding-top: clamp(40px, 5vw, 56px); border-top: 1px solid var(--line); }
.m-benefits-head h2 { max-width: none; margin-top: 12px; font-size: clamp(1.6rem, 3vw, 2.25rem); }
.entry-content .benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; counter-reset: benefit; }
.benefit {
position: relative; padding: 28px 28px 28px 84px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface);
transition: border-color var(--t), box-shadow var(--t);
}
@media (hover: hover) { .benefit:hover { border-color: var(--green-brand); box-shadow: 0 20px 40px -30px rgba(11,34,56,.35); } }
.benefit::before {
counter-increment: benefit; content: counter(benefit, decimal-leading-zero);
position: absolute; left: 24px; top: 26px; width: 40px; height: 40px; border-radius: var(--r-md);
display: grid; place-items: center; background: var(--sage-100); color: var(--green-700);
font-family: var(--font-head); font-weight: 800; font-size: .9375rem;
}
.entry-content .benefit h3 { margin-top: 6px; font-size: 1.1875rem; }
.entry-content .benefit p { margin-top: .8em; color: var(--slate); font-size: .9688rem; line-height: 1.65; }
.entry-content .cta-band {
display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap;
margin-top: clamp(48px, 6vw, 72px); padding: clamp(28px, 4vw, 48px); border-radius: var(--r-lg);
background: var(--navy-900); color: #D9E3EC; position: relative; overflow: hidden;
}
.cta-band::before { content: ""; position: absolute; right: -120px; top: -160px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(176,203,31,.22), transparent 65%); pointer-events: none; }
.cta-band > * { position: relative; }
.entry-content .cta-band h2 { margin: 0; color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.entry-content .cta-band p { margin-top: 10px; color: #B9C8D6; max-width: 56ch; }
.cta-band .is-style-secondary .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.35); }
@media (hover: hover) { .cta-band .is-style-secondary .wp-block-button__link:hover { background: rgba(255,255,255,.08); border-color: #fff; } } .subpages { padding-bottom: var(--section); }
.subpage-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.subpage-card {
position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 24px 64px 24px 24px;
border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); text-decoration: none; color: inherit;
transition: border-color var(--t), transform var(--t), box-shadow var(--t);
}
@media (hover: hover) { .subpage-card:hover { border-color: var(--green-brand); transform: translateY(-2px); box-shadow: 0 20px 40px -28px rgba(11,34,56,.35); } }
.subpage-title { font-family: var(--font-head); font-weight: 700; font-size: 1.125rem; color: var(--navy-900); hyphens: auto; -webkit-hyphens: auto; }
.subpage-text { font-size: .9375rem; color: var(--slate); line-height: 1.55; }
.subpage-arrow { position: absolute; right: 20px; top: 22px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line-strong); transition: background-color var(--t), border-color var(--t); }
.subpage-arrow svg { width: 15px; height: 15px; }
@media (hover: hover) { .subpage-card:hover .subpage-arrow { background: var(--green-brand); border-color: var(--green-brand); } } .archive-list { padding-block: clamp(32px, 5vw, 56px) var(--section); }
.news-grid-archive { margin-top: 0; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.nav-links .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: var(--r-sm); border: 1px solid var(--line-strong); text-decoration: none; font-weight: 600; color: var(--navy-900); }
.nav-links .page-numbers.current { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
@media (hover: hover) { .nav-links a.page-numbers:hover { border-color: var(--green-600); color: var(--green-700); } }
.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: var(--section); }
.post-nav a { display: block; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--r-md); text-decoration: none; font-weight: 600; color: var(--navy-900); }
@media (hover: hover) { .post-nav a:hover { border-color: var(--green-brand); } }
.post-nav small { display: block; font-size: .8125rem; font-weight: 500; color: var(--slate); }
.post-nav-next { grid-column: 2; text-align: right; } .search-form { position: relative; display: flex; gap: 10px; max-width: 560px; margin-top: 28px; }
.search-form .icon { position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--slate); pointer-events: none; }
.search-form input {
flex: 1; font: inherit; padding: 14px 16px 14px 44px; border-radius: var(--r-sm);
border: 1.5px solid var(--line-strong); background: #fff; color: var(--ink);
}
.search-form input:focus { outline: none; border-color: var(--green-600); box-shadow: 0 0 0 4px rgba(176,203,31,.22); }
.page-hero-404 { padding-bottom: var(--section); }
.page-hero-404 .hero-actions { margin-top: 28px; } .site-footer { background: var(--navy-950); color: #B9C8D6; font-size: .9375rem; }
.footer-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding-block: 48px; border-bottom: 1px solid var(--line-inv); }
.footer-cta h2 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; max-width: 22ch; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-block: 56px; }
.site-footer .brand-name { color: #fff; }
.site-footer .brand-sub { color: #8FA3B6; }
.footer-about { margin-top: 18px; max-width: 38ch; line-height: 1.65; }
.site-footer .footer-mg { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 11px 18px; border-radius: var(--r-md); border: 1.5px solid rgba(214, 231, 142, .55); color: #fff; font-weight: 600; transition: background var(--t), border-color var(--t), color var(--t); }
.site-footer .footer-mg svg { width: 18px; height: 18px; color: var(--green-brand); }
@media (hover: hover) { .site-footer .footer-mg:hover { background: var(--green-brand); border-color: var(--green-brand); color: var(--navy-900); } }
@media (hover: hover) { .site-footer .footer-mg:hover svg { color: var(--navy-900); } }
.site-footer h3 { color: #fff; font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.footer-list { margin-top: 18px; display: grid; gap: 10px; }
.site-footer a { color: #DCE6EF; text-decoration: none; transition: color var(--t); }
@media (hover: hover) { .site-footer a:hover { color: var(--green-200); } }
.site-footer .btn-primary { color: var(--navy-900); }
@media (hover: hover) { .site-footer .btn-primary:hover { color: var(--navy-900); } } .footer-list small { display: block; color: #8FA3B6; font-size: .8125rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 24px; border-top: 1px solid var(--line-inv); font-size: .875rem; color: #8FA3B6; }
.footer-bottom nav { display: flex; gap: 24px; } @media (max-width: 1200px) {
.header-mail { display: none; }
}
@media (max-width: 1100px) {
:root { --top-h: 72px; }
.site-header { top: 0; }
.nav-row { border-top: 0; }
.main-nav, .header-login, .header-actions .btn { display: none; }
.header-link span { display: none; }
.header-link { padding: 12px; }
.nav-toggle { display: inline-flex; }
.main-nav.is-open {
display: block; position: absolute; top: 100%; left: 0; right: 0;
background: var(--surface); border-bottom: 1px solid var(--line);
box-shadow: 0 24px 40px -24px rgba(11,34,56,.3);
max-height: calc(100vh - var(--top-h)); overflow-y: auto; padding: 12px var(--gutter) 24px;
}
.main-nav.is-open > ul { flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 0; }
.main-nav.is-open > ul > li { border-bottom: 1px solid var(--line); }
.main-nav.is-open > ul > li > a { padding: 14px 4px; font-weight: 600; font-size: 1.0625rem; }
.main-nav.is-open .chev { display: none; }
.main-nav.is-open .menu-home > a { gap: 10px; padding: 14px 4px; background: none; }
.main-nav.is-open .menu-home-text { position: static; width: auto; height: auto; clip: auto; }
.main-nav.is-open .submenu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 12px 8px; min-width: 0; }
.main-nav.is-open .submenu a { padding: 8px 12px; color: var(--slate); }
.main-nav.is-open .mobile-cta { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 18px; }
}
@media (max-width: 1080px) {
.hero { padding-bottom: clamp(64px, 9vw, 120px); }
.hero-grid { grid-template-columns: 1fr; }
.hero-visual { max-width: 520px; margin-inline: auto; width: 100%; }
.event-card { position: relative; left: auto; bottom: auto; width: 100%; margin-top: 16px; }
.services-grid { grid-template-columns: 1fr; }
.services-intro { position: static; }
.footer-grid { grid-template-columns: 1fr 1fr; }
.partner-grid { grid-template-columns: repeat(2, 1fr); }
.partner-grid li:not(:nth-child(4n+1)) { border-left: 0; }
.partner-grid li:nth-child(2n) { border-left: 1px solid var(--line); }
.news-feature { grid-template-columns: 200px 1fr; }
.workshops { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
.entry-content .m-intro, .entry-content .benefit-grid { grid-template-columns: 1fr; }
.fee-card { position: static; }
.paths-grid { grid-template-columns: 1fr; }
.path + .path { border-left: 0; border-top: 1px solid var(--line); }
.goals { grid-template-columns: 1fr; }
.why-head { grid-template-columns: 1fr; gap: 40px; }
.why .hero-logo { justify-self: center; max-width: 380px; }
.goals li:nth-last-child(2) { border-bottom: 0; }
.news-grid { grid-template-columns: 1fr; }
.news-item + .news-item { border-top: 0; }
.contact-wrap { grid-template-columns: 1fr; }
.office { border-left: 0; border-top: 1px solid var(--line); }
.brochure { grid-template-columns: 1fr; }
.bro-mock { max-width: 460px; margin-inline: auto; }
.stay-grid { grid-template-columns: 1fr; gap: 32px; }
.stay-col { padding: 0; }
.stay-col + .stay-col { border-left: 0; border-top: 1px solid var(--line-strong); padding-top: 32px; }
.post-nav { grid-template-columns: 1fr; }
.post-nav-next { grid-column: 1; }
}
@media (max-width: 600px) {
.brand-sub { display: none; }
.benefit { padding: 76px 22px 24px; }
.benefit::before { left: 22px; top: 22px; }
.form { grid-template-columns: 1fr; }
.facts { grid-template-columns: 1fr 1fr; }
.news-feature { grid-template-columns: 1fr; }
.flyer-thumb { max-width: 230px; margin-inline: auto; }
.service { grid-template-columns: 44px 1fr; }
.service::after { display: none; }
.partner-grid { grid-template-columns: 1fr; }
.partner-grid li:nth-child(2n) { border-left: 0; }
.footer-grid { grid-template-columns: 1fr; }
.bro-meta { display: block; margin: 12px 0 0; }
} @media (prefers-reduced-motion: reduce) {
.lg-packets { display: none; }
*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.fee-card .m-signature { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line-strong); font-size: .9375rem; }
.fee-card .m-signature a { color: var(--green-700, #3F5C0E); font-weight: 600; }
.entry-content .m-intro + .mg-beitritt, .entry-content .m-intro + p > .mg-beitritt { margin-top: clamp(40px, 6vw, 64px); } .entry-content .member-types { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; padding: 0; }
.entry-content .member-types li { margin: 0; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-md, 10px); background: #fff; line-height: 1.5; }
.entry-content .benefit-grid.is-odd > :last-child:nth-child(odd), .entry-content .member-types > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.facts-card .fee strong { margin-right: 8px; }
.facts-card .wp-block-buttons { margin-top: 24px; }
@media (max-width: 720px) { .entry-content .member-types { grid-template-columns: 1fr; } } .entry-content .satzung-head { max-width: none; }
.entry-content .satzung-head .is-style-lede { margin-top: 12px; }
.entry-content .satzung { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: start; margin-top: clamp(32px, 5vw, 48px); }
.entry-content .satzung-toc { position: sticky; top: 96px; padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--r-lg, 12px); background: linear-gradient(180deg, #fff, var(--sage-50, #F5F8EC)); }
.entry-content ul.satzung-toc-list { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 2px; }
.entry-content .satzung-toc-list li { margin: 0; }
.entry-content .satzung-toc-list a { display: block; padding: 7px 10px; margin: 0 -10px; border-radius: 8px; color: var(--navy-900); font-size: .9375rem; font-weight: 500; text-decoration: none; line-height: 1.35; transition: background .2s, color .2s; }
.entry-content .satzung-toc-list a.is-active { background: rgba(176,203,31,.18); color: var(--green-700, #3F5C0E); }
@media (hover: hover) { .entry-content .satzung-toc-list a:hover { background: rgba(176,203,31,.18); color: var(--green-700, #3F5C0E); } }
.entry-content .satzung-stand { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); font-size: .8125rem; color: var(--slate); }
.entry-content .satzung-text { max-width: none; }
.entry-content .satzung-par { padding: clamp(22px, 3vw, 30px) 0; border-top: 1px solid var(--line); scroll-margin-top: 96px; }
.entry-content .satzung-par:first-child { border-top: 0; padding-top: 0; }
.entry-content .satzung-par h3 { scroll-margin-top: 96px; font-size: 1.25rem; margin: 0 0 14px; color: var(--navy-900); }
.entry-content .satzung-par p, .entry-content .satzung-par li { line-height: 1.7; color: var(--ink); }
.entry-content .satzung-par p + p, .entry-content .satzung-par p + .wp-block-list, .entry-content .satzung-par .wp-block-list + p, .entry-content .satzung-par .wp-block-list + .wp-block-list { margin-top: .75em; }
.entry-content .satzung-par li > .wp-block-list { margin-top: .4em; }
.entry-content .satzung-cont { padding-left: 1.3em; }
.entry-content .satzung-fuss { margin-top: 8px; padding: 16px 20px; border-radius: var(--r-md, 10px); background: var(--sage-50, #F5F8EC); color: var(--slate); font-size: .9375rem; }
@media (max-width: 900px) {
.entry-content .satzung { grid-template-columns: 1fr; }
.entry-content .satzung-toc { position: static; }
.entry-content ul.satzung-toc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
}
@media print { .entry-content .satzung { display: block; } .entry-content .satzung-toc { display: none; } }
@media (max-width: 560px) { .entry-content ul.satzung-toc-list { grid-template-columns: 1fr; } }
.entry-content .satzung-toc-list a, .entry-content .satzung-par h3 { overflow-wrap: anywhere; hyphens: auto; } .entry-content .board-intro { align-items: center; }
.entry-content .board-photo { margin: 0; }
.entry-content .board-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-lg, 12px); box-shadow: 0 30px 60px -40px rgba(11,34,56,.55); }
.entry-content .board-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: clamp(48px, 7vw, 80px); }
.board-card { display: grid; grid-template-columns: minmax(130px, 38%) 1fr; background: var(--surface, #fff); border: 1px solid var(--line); border-radius: var(--r-lg, 12px); overflow: hidden; transition: border-color var(--t), box-shadow var(--t), transform var(--t); }
@media (hover: hover) { .board-card:hover { border-color: var(--green-brand); box-shadow: 0 24px 48px -32px rgba(11,34,56,.4); transform: translateY(-2px); } }
.entry-content .board-portrait { margin: 0; height: 100%; }
.entry-content .board-portrait img { width: 100%; height: 100%; min-height: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 20%; display: block; }
.entry-content .board-body { padding: clamp(20px, 2.4vw, 28px); display: flex; flex-direction: column; }
.entry-content .board-body h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; }
.entry-content .board-fach { margin-top: 6px; font-size: .875rem; font-weight: 600; color: var(--green-700, #3F5C0E); line-height: 1.45; }
.entry-content .board-adr { margin-top: 14px; font-size: .9375rem; color: var(--slate); line-height: 1.6; }
.entry-content .board-contact { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); font-size: .9375rem; line-height: 1.9; color: var(--slate); }
.entry-content .board-body .board-adr + .board-contact { margin-top: 16px; }
.board-contact a { display: inline-flex; align-items: center; gap: 8px; color: var(--navy-900); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; transition: color var(--t); }
@media (hover: hover) { .board-contact a:hover { color: var(--green-700, #3F5C0E); } }
.board-contact a::before, .board-contact .c-fax::before { content: ""; flex: none; width: 15px; height: 15px; background-color: var(--green-600); -webkit-mask: var(--i-phone) center / contain no-repeat; mask: var(--i-phone) center / contain no-repeat; }
.board-contact .c-fax { display: inline-flex; align-items: center; gap: 8px; font-size: .875rem; }
.board-contact .c-fax::before { opacity: .45; }
.board-contact .c-mail::before { -webkit-mask-image: var(--i-mail); mask-image: var(--i-mail); }
.board-contact .c-web::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3Cpath d=%22M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3Cpath d=%22M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z%22/%3E%3C/svg%3E"); }
.entry-content .board-grid + .cta-band { margin-top: clamp(48px, 7vw, 80px); }
@media (max-width: 1024px) { .entry-content .board-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .board-card { grid-template-columns: 1fr; } .entry-content .board-portrait img { aspect-ratio: 4 / 3; height: auto; object-position: center 25%; } } .entry-content .form-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: clamp(32px, 5vw, 72px); align-items: start; margin-top: clamp(56px, 7vw, 88px); padding-top: clamp(40px, 5vw, 56px); border-top: 1px solid var(--line); }
.form-section-text h2 { margin-top: 12px; }
.form-section-text > p:not(.is-style-eyebrow) { margin-top: 1em; }
.aengie-form {
background: var(--surface, #fff); border: 1px solid var(--line); border-radius: var(--r-lg, 12px);
padding: clamp(22px, 4vw, 36px); box-shadow: 0 30px 60px -48px rgba(11,34,56,.4);
}
.aengie-form .wpforms-container, .aengie-form div.wpforms-container-full {
margin: 0 !important; max-width: none;
--wpforms-field-border-radius: 8px; --wpforms-field-border-color: rgba(11,34,56,.18); --wpforms-field-background-color: #FBFCFD;
--wpforms-field-text-color: #1B2A39; --wpforms-label-color: #0B2238; --wpforms-label-sublabel-color: #4A5B6C;
--wpforms-label-error-color: #A12828; --wpforms-button-border-radius: 10px; --wpforms-button-background-color: #B0CB1F;
--wpforms-button-text-color: #0B2238; --wpforms-field-size-input-height: 46px; --wpforms-field-size-font-size: 16px;
--wpforms-label-size-font-size: 15px; --wpforms-field-size-input-spacing: 6px;
}
.aengie-form .wpforms-form .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
.aengie-form .wpforms-form .wpforms-field { grid-column: 1 / -1; padding: 8px 0 !important; }
.aengie-form .wpforms-form .wpforms-field.aengie-half { grid-column: auto; }
.aengie-form .wpforms-form .wpforms-field-label { font-family: inherit; font-weight: 600 !important; color: var(--navy-900) !important; }
.aengie-form .wpforms-form .wpforms-required-label { color: var(--green-700, #3F5C0E) !important; }
.aengie-form .wpforms-form input[type=text], .aengie-form .wpforms-form input[type=email], .aengie-form .wpforms-form textarea { width: 100% !important; max-width: 100% !important; font-family: inherit !important; }
.aengie-form .wpforms-form input:focus, .aengie-form .wpforms-form textarea:focus { border-color: var(--green-600) !important; box-shadow: 0 0 0 4px rgba(176,203,31,.22) !important; outline: none; }
.aengie-form .wpforms-form textarea { min-height: 150px; } .aengie-form .aengie-chips ul { display: flex !important; flex-wrap: wrap; gap: 8px !important; margin: 4px 0 0 !important; padding: 0 !important; list-style: none !important; }
.aengie-form .aengie-chips ul li { position: relative; margin: 0 !important; padding: 0 !important; }
.aengie-form .aengie-chips ul li input { position: absolute !important; opacity: 0; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; cursor: pointer; z-index: 1; }
.aengie-form .aengie-chips ul li input::before, .aengie-form .aengie-chips ul li input::after { display: none !important; }
.aengie-form .aengie-chips ul li label { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 9px 16px !important; border: 1px solid rgba(11,34,56,.18); border-radius: 99px; background: #FBFCFD; font-size: .9375rem !important; font-weight: 500; color: var(--ink, #1B2A39) !important; transition: background .2s, border-color .2s, color .2s; }
.aengie-form .aengie-chips ul li label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 2px solid rgba(11,34,56,.25); transition: background .2s, border-color .2s; }
@media (hover: hover) { .aengie-form .aengie-chips ul li:hover label { border-color: var(--green-600); } }
.aengie-form .aengie-chips ul li input:checked + label, .aengie-form .aengie-chips ul li.wpforms-selected label { background: var(--sage-50, #F5F8EC); border-color: var(--green-600); color: var(--green-700, #3F5C0E) !important; font-weight: 600; }
.aengie-form .aengie-chips ul li input:checked + label::before, .aengie-form .aengie-chips ul li.wpforms-selected label::before { background: var(--green-600); border-color: var(--green-600); }
.aengie-form .aengie-chips ul li input:focus-visible + label { box-shadow: 0 0 0 4px rgba(176,203,31,.3); } .aengie-form .aengie-consent ul { padding: 0 !important; margin: 0 !important; list-style: none !important; }
.aengie-form .aengie-consent label { font-size: .9375rem !important; color: var(--slate) !important; line-height: 1.55 !important; }
.aengie-form .aengie-consent a { color: var(--green-700, #3F5C0E); font-weight: 600; } .aengie-form .wpforms-submit-container { margin-top: 14px !important; padding: 0 !important; }
.aengie-form .wpforms-form button.wpforms-submit { display: inline-flex !important; align-items: center; gap: 10px; height: auto !important; padding: 14px 24px !important; border: 0 !important; border-radius: 10px !important; background: var(--green-brand, #B0CB1F) !important; color: var(--navy-900) !important; font-family: var(--font-head, inherit) !important; font-weight: 700 !important; font-size: 1rem !important; box-shadow: 0 10px 22px -10px rgba(140,165,20,.7); cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
@media (hover: hover) { .aengie-form .wpforms-form button.wpforms-submit:hover { background: #C2DA35 !important; transform: translateY(-1px); } }
.aengie-form .wpforms-confirmation-container-full, .aengie-form div[submit-success] > .wpforms-confirmation-container-full { background: #EAF5DD !important; border: 1px solid rgba(62,155,58,.35) !important; color: #2D6E29 !important; border-radius: 10px; padding: 18px 20px !important; margin: 0 !important; }
.aengie-form-fallback { font-size: 1rem; }
.aengie-form-hint { margin-top: 10px; font-size: .875rem; color: var(--slate); }
@media (max-width: 900px) { .entry-content .form-section { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .aengie-form .wpforms-form .wpforms-field-container { grid-template-columns: 1fr; } .aengie-form .wpforms-form .wpforms-field.aengie-half { grid-column: 1 / -1; } } .hours-card .hours-row { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-strong); color: var(--slate); line-height: 1.55; }
.hours-card .hours-row strong { color: var(--navy-900); font-family: var(--font-head); font-size: 1.0625rem; }
.hours-card .wp-block-buttons { margin-top: 22px; }
.entry-content .info-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.info-card { padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--r-lg, 12px); background: var(--surface, #fff); }
.entry-content .info-card h3 { margin: 0 0 10px; font-size: 1.0625rem; }
.entry-content .info-card p { color: var(--slate); line-height: 1.7; }
.entry-content .form-section.is-first { margin-top: 0; padding-top: 0; border-top: 0; }
.entry-content .contact-facts { margin-top: 28px; display: grid; gap: 0; border-top: 1px solid var(--line); }
.entry-content .contact-facts .fact { display: grid; grid-template-columns: 150px 1fr; gap: 12px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--ink); line-height: 1.55; }
.contact-facts .fact span { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); padding-top: 2px; }
.contact-facts .fact a { color: var(--navy-900); font-weight: 600; text-decoration: none; }
@media (hover: hover) { .contact-facts .fact a:hover { color: var(--green-700, #3F5C0E); } }
.entry-content .contact-more { margin-top: 20px; font-size: .9375rem; color: var(--slate); }
@media (max-width: 900px) { .entry-content .info-cards { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .entry-content .contact-facts .fact { grid-template-columns: 1fr; gap: 2px; } } .partner-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 44px; }
.partner-logos .partner-logo { margin: 0; }
.partner-logos .partner-logo a { display: grid; place-items: center; height: 100%; aspect-ratio: 3 / 2; padding: 8px 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg, 12px); transition: border-color var(--t), box-shadow var(--t), transform var(--t); }
.partner-logos .partner-logo img { width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); opacity: .78; transition: filter var(--t), opacity var(--t); }
.partner-logos .partner-logo a:focus-visible { border-color: var(--green-brand); box-shadow: 0 20px 40px -30px rgba(11,34,56,.4); transform: translateY(-2px); }
@media (hover: hover) { .partner-logos .partner-logo a:hover { border-color: var(--green-brand); box-shadow: 0 20px 40px -30px rgba(11,34,56,.4); transform: translateY(-2px); } }
.partner-logos .partner-logo a:focus-visible img { filter: none; opacity: 1; }
@media (hover: hover) { .partner-logos .partner-logo a:hover img { filter: none; opacity: 1; } }
@media (max-width: 900px) { .partner-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } } .entry-content .form-block { max-width: none; margin-top: clamp(48px, 6vw, 72px); }
.entry-content .form-block > h3 { margin: 0 0 16px; font-size: 1.375rem; }
.entry-content .steps-card .is-style-check { margin-top: 18px; padding-top: 0; border-top: 0; gap: 16px; }
.entry-content .steps-card .is-style-check li { line-height: 1.5; }
.entry-content .steps-card .is-style-check strong { color: var(--navy-900); }
.aengie-form .wpforms-field-description { font-size: .875rem !important; color: var(--slate) !important; margin-top: 6px !important; }
.aengie-form .wpforms-form textarea.wpforms-field-small { min-height: 110px; }
.entry-content .steps-card .is-style-check li { display: block; position: relative; padding-left: 42px; }
.entry-content .steps-card .is-style-check li::before { position: absolute; left: 0; top: 0; } .member-menu { position: relative; }
.member-menu .header-login .chev { width: 14px; height: 14px; color: var(--slate); opacity: .7; transition: transform var(--t); }
.member-menu:focus-within .header-login .chev { transform: rotate(180deg); }
@media (hover: hover) { .member-menu:hover .header-login .chev { transform: rotate(180deg); } }
.member-sub { left: auto; right: 0; z-index: 60; min-width: 300px; }
.member-menu:focus-within > .member-sub { opacity: 1; visibility: visible; transform: translateY(0); }
@media (hover: hover) { .member-menu:hover > .member-sub { opacity: 1; visibility: visible; transform: translateY(0); } }
.member-sub li { position: relative; }
.member-sub .submenu { top: -9px; left: auto; right: calc(100% + 6px); min-width: 280px; }
.member-sub .submenu::before { inset: 0 -10px 0 auto; width: 10px; height: auto; }
.member-sub li:focus-within > .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
@media (hover: hover) { .member-sub li:hover > .submenu { opacity: 1; visibility: visible; transform: translateY(0); } }
.member-sub .menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.member-sub .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .5; flex: none; }
.member-sub .current-menu-item > a, .member-sub .current-menu-ancestor > a { color: var(--green-700); background: var(--sage-50); }
.member-sub .chev { display: none; }
.member-sub a { white-space: normal; }  h1, h2, h3, .page-title, .entry-title { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; } html, body { overflow-x: clip; } .partner-logos .partner-logo a { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
.partner-logos .partner-logo img { min-width: 0; min-height: 0; max-width: 100%; }
@media (max-width: 600px) {
.page-title { font-size: clamp(1.75rem, 7.6vw, 2.1rem); } .bro-mock { max-width: 82%; margin-inline: auto 18%; } .footer-list { gap: 4px; }
.footer-list a, .footer-bottom nav a { display: inline-block; padding-block: 6px; }
.footer-bottom nav { flex-wrap: wrap; gap: 4px 24px; }
.eyebrow { padding-block: 3px; }
.wp-block-button.is-style-link .wp-block-button__link { padding-block: 6px; background-position: 0 calc(100% - 4px); }
.cd-unit small, .date-chip .m { font-size: .75rem; }
} .nav-toggle .icon-close { display: none; }
.nav-toggle[aria-expanded="true"] .icon-open { display: none; }
.nav-toggle[aria-expanded="true"] .icon-close { display: block; }
html.nav-open { overflow: hidden; }
@media (max-width: 1100px) {
.main-nav.is-open { max-height: calc(100dvh - var(--top-h)); overscroll-behavior: contain; }
.mobile-member { flex: 1 1 100%; margin: 4px 0 6px; padding: 14px 16px; border-radius: var(--r-lg, 12px); background: var(--sage-50); border: 1px solid var(--line); }
.mobile-member-title { display: flex; align-items: center; gap: 10px; padding: 6px 0 10px; font-weight: 700; font-size: 1.0625rem; color: var(--navy-900); text-decoration: none; }
.mobile-member-title .icon { width: 18px; height: 18px; color: var(--green-600); }
.mobile-member-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.mobile-member-list > li { border-bottom: 1px solid var(--line); }
.mobile-member-list a { display: block; padding: 11px 2px; color: var(--navy-900); font-weight: 600; text-decoration: none; }
.mobile-member-list .sub-menu { list-style: none; margin: -4px 0 8px; padding: 0 0 0 12px; }
.mobile-member-list .sub-menu a { padding: 7px 2px; font-weight: 500; color: var(--slate); font-size: .9375rem; }
.mobile-member-list .current-menu-item > a { color: var(--green-700); }
.mobile-member-logout { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 8px 0; color: var(--slate); font-weight: 600; text-decoration: none; }
.mobile-member-logout .icon { width: 18px; height: 18px; }
} .entry-content .section-head { margin-top: clamp(56px, 7vw, 88px); padding-top: clamp(40px, 5vw, 56px); border-top: 1px solid var(--line); }
.entry-content .section-head > * { max-width: none; }
.entry-content .section-head.page-intro { margin-top: 0; padding-top: 0; border-top: 0; }
.entry-content .section-head h2 { margin-top: 12px; font-size: clamp(1.6rem, 3vw, 2.25rem); }
.entry-content .section-head .is-style-lede { margin-top: 12px; }
.entry-content .section-head + * { margin-top: 28px; }
.entry-content .duty-note, .entry-content .info-card .duty-note { font-size: .875rem; color: var(--slate); }
.entry-content .info-cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.entry-content .info-card > * + * { margin-top: .75em; }
.entry-content .info-card .is-style-eyebrow + h3 { margin-top: 8px; }
.entry-content a.big-tel, .entry-content .info-card a.big-tel { font-family: var(--font-head); font-size: 1.5rem; font-weight: 800; color: var(--navy-900); text-decoration: none; }
@media (hover: hover) { .entry-content .big-tel:hover { color: var(--green-700); } }
.entry-content .link-card-more a { font-weight: 600; }
.entry-content .benefit .is-style-dots { display: grid; gap: 8px; margin-top: .9em; }
.entry-content .benefit .is-style-dots li { display: flex; align-items: baseline; font-weight: 400; color: var(--ink); line-height: 1.5; }
.entry-content .benefit .is-style-dots li::before { flex: none; transform: translateY(-2px); } .emergency-card { position: sticky; top: 90px; padding: clamp(24px, 3vw, 32px); border-radius: var(--r-lg); background: #FFF4F2; border: 1px solid #F2C6BF; }
.entry-content .emergency-card > * + * { margin-top: 10px; }
.entry-content .emergency-label { font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #A3271B; }
.entry-content .emergency-number a { font-family: var(--font-head); font-size: clamp(3rem, 6vw, 4rem); font-weight: 800; line-height: 1; color: #B42318; text-decoration: none; letter-spacing: -.02em; }
.entry-content .emergency-sub { margin-top: 18px !important; padding-top: 16px; border-top: 1px solid #F2C6BF; }
.entry-content .emergency-sub a { font-weight: 700; color: var(--navy-900); } .entry-content .duty-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.duty-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.entry-content .duty-card h3 { font-size: 1.125rem; margin: 0; }
.entry-content .duty-card .duty-kurz { margin-top: 4px; font-size: .9375rem; color: var(--slate); }
.entry-content .duty-row { margin-top: 14px; font-size: .9375rem; line-height: 1.55; }
.entry-content .duty-row strong { display: block; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.entry-content .duty-tel a { font-weight: 700; color: var(--navy-900); }
.entry-content .duty-hours { margin-top: 16px; }
.entry-content .duty-hours td { padding: 6px 0; font-size: .875rem; }
.entry-content .is-closed { color: #8A97A5; } .entry-content .apo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: none; }
.entry-content .apo-tels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.entry-content a.apo-tel { display: grid; gap: 4px; padding: 20px 22px 20px 64px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface) ; text-decoration: none; color: var(--navy-900); position: relative; transition: border-color var(--t), transform var(--t); }
.entry-content a.apo-tel::before { content: ""; position: absolute; left: 20px; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%; background: var(--sage-100); }
.entry-content a.apo-tel::after { content: ""; position: absolute; left: 27px; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: var(--green-700); -webkit-mask: var(--i-phone) center / contain no-repeat; mask: var(--i-phone) center / contain no-repeat; }
@media (hover: hover) { .entry-content a.apo-tel:hover { border-color: var(--green-600); transform: translateY(-2px); } }
.entry-content .apo-tel-k { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.entry-content .apo-tel strong { font-family: var(--font-head); font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
.entry-content .apo-such { padding: clamp(22px, 3vw, 32px); border-radius: var(--r-lg); background: linear-gradient(160deg, var(--sage-50), var(--blue-50)); border: 1px solid var(--line); }
.entry-content .apo-form label { display: block; font-family: var(--font-head); font-weight: 700; font-size: 1.125rem; color: var(--navy-900); }
.entry-content .apo-form-row { display: flex; gap: 10px; margin-top: 12px; max-width: 460px; }
.entry-content .apo-form input { flex: 1; min-width: 0; padding: 13px 16px; font: inherit; border: 1px solid var(--line-strong); border-radius: var(--r-md); background: #fff; color: var(--ink); }
.entry-content .apo-form input:focus { outline: 2px solid var(--green-600); outline-offset: 1px; border-color: transparent; }
.entry-content .apo-oder { margin-top: 22px; font-size: .875rem; color: var(--slate); }
.entry-content ul.apo-orte { list-style: none; padding: 0; margin: 10px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.entry-content ul.apo-orte li { margin: 0; padding: 0; }
.entry-content ul.apo-orte li::before { content: none; }
.entry-content .apo-orte a { display: inline-block; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line-strong); color: var(--navy-900); font-size: .9375rem; font-weight: 500; text-decoration: none; transition: background var(--t), border-color var(--t); }
.entry-content .apo-orte a:focus-visible { background: var(--sage-100); border-color: var(--green-600); }
@media (hover: hover) { .entry-content .apo-orte a:hover { background: var(--sage-100); border-color: var(--green-600); } }
.entry-content .apo-hinweis { font-size: .875rem; color: var(--slate); max-width: 80ch; }
.entry-content .apo-live { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.entry-content .apo-live-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.entry-content .apo-live-titel { margin: 0; font-size: 1.25rem; }
.entry-content .apo-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-content .apo-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line-strong); background: #fff; color: var(--navy-900); font: 600 .9375rem/1 var(--font-body); cursor: pointer; transition: background var(--t), border-color var(--t); }
@media (hover: hover) { .entry-content .apo-tabs button:hover { border-color: var(--green-600); background: var(--sage-50); } }
.entry-content .apo-tabs button[aria-selected="true"] { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
.entry-content .apo-tabs button:focus-visible { outline: 2px solid var(--green-600); outline-offset: 2px; }
.entry-content .apo-live-dot { display: none; width: 8px; height: 8px; border-radius: 50%; background: #3C9A35; box-shadow: 0 0 0 3px rgba(60,154,53,.2); }
.entry-content .apo-tabs button.is-live .apo-live-dot { display: inline-block; }
.entry-content .apo-tabs button[aria-selected="true"].is-live .apo-live-dot { background: var(--green-brand); box-shadow: 0 0 0 3px rgba(176,203,31,.3); }
.entry-content .apo-zeit { margin-top: 18px; font-size: .9375rem; color: var(--slate); }
.entry-content .apo-jetzt { color: #2D6E29; font-weight: 600; }
.entry-content ul.apo-karten { list-style: none; padding: 0; margin: 14px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.entry-content ul.apo-karten li { margin: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--r-md); background: linear-gradient(180deg, #fff, var(--sage-50)); display: flex; flex-direction: column; gap: 6px; }
.entry-content ul.apo-karten li::before { content: none; }
.entry-content .apo-panel:not(.alle) .apo-mehr { display: none; }
.entry-content .apo-karte h3 { margin: 0; font-size: 1.0625rem; line-height: 1.3; }
.entry-content .apo-adr { font-size: .9375rem; color: var(--slate); line-height: 1.5; }
.entry-content .apo-dist { font-size: .8125rem; font-weight: 600; color: var(--green-700); }
.entry-content .apo-aktion { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
.entry-content a.apo-anruf { font-family: var(--font-head); font-weight: 800; font-size: 1.0625rem; color: var(--navy-900); text-decoration: none; white-space: nowrap; }
.entry-content .apo-aktion .duty-route { font-size: .875rem; }
@media (hover: hover) { .entry-content a.apo-anruf:hover { color: var(--green-700); } }
.entry-content .apo-alle { margin-top: 14px; padding: 10px 18px; border-radius: var(--r-md); border: 1px solid var(--line-strong); background: #fff; color: var(--navy-900); font: 600 .9375rem/1.2 var(--font-body); cursor: pointer; }
@media (hover: hover) { .entry-content .apo-alle:hover { border-color: var(--green-600); background: var(--sage-50); } }
.entry-content .apo-quelle { margin-top: 16px; font-size: .8125rem; color: var(--slate); }
@media (max-width: 1080px) { .entry-content ul.apo-karten { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .entry-content ul.apo-karten { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .entry-content .apo-tels { grid-template-columns: 1fr; } } .entry-content .link-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.link-card { display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-radius: var(--r-lg); background: linear-gradient(180deg, #fff, var(--sage-50)); }
.entry-content .link-card h3 { margin: 0; font-size: 1.0625rem; }
.entry-content .link-card p { margin-top: 8px; font-size: .9375rem; color: var(--slate); line-height: 1.6; }
.entry-content .link-card .link-card-more { margin-top: auto; padding-top: 12px; } .entry-content .wb-timeline { display: grid; grid-template-columns: 12fr 24fr minmax(150px, 6fr) 18fr; gap: 6px; }
.wb-phase { position: relative; padding: 16px 16px 18px; border-radius: var(--r-md); background: var(--sage-100); min-width: 0; }
.wb-phase.wb-m12 { background: var(--blue-100); }
.wb-phase.wb-m6 { background: var(--sage-300); }
.wb-phase.wb-m18 { background: var(--sage-50); border: 1px dashed var(--sage-300); }
.entry-content .wb-months { font-size: .875rem; color: var(--slate); }
.entry-content .wb-months strong { font-family: var(--font-head); font-size: 1.75rem; font-weight: 800; color: var(--navy-900); margin-right: 4px; }
.entry-content .wb-text { margin-top: 6px; font-size: .875rem; line-height: 1.45; color: var(--ink); overflow-wrap: anywhere; hyphens: auto; }
.entry-content .wb-ort { color: var(--slate); font-size: .8125rem; }
.entry-content .wb-hinweis { margin-top: 18px; max-width: none; color: var(--slate); }
.entry-content .wb-hinweis + .info-cards { margin-top: clamp(40px, 6vw, 64px); } .entry-content .clinic-list { display: grid; gap: 12px; }
.entry-content details.clinic { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); padding: 0; margin: 0; }
.entry-content details.clinic > summary { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; padding: 18px 56px 18px 22px; cursor: pointer; list-style: none; position: relative; font-size: 1.0625rem; color: var(--navy-900); }
.entry-content details.clinic > summary::-webkit-details-marker { display: none; }
.entry-content details.clinic > summary::after { content: ""; position: absolute; right: 22px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid var(--green-600); border-bottom: 2px solid var(--green-600); transform: rotate(45deg); transition: transform var(--t); }
.entry-content details.clinic[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
@media (hover: hover) { .entry-content details.clinic > summary:hover { background: var(--sage-50); border-radius: var(--r-lg); } }
.entry-content .clinic-meta { font-size: .8125rem; font-weight: 600; color: var(--green-700); background: var(--sage-100); padding: 3px 10px; border-radius: 999px; }
.entry-content details.clinic > :not(summary) { margin: 0 22px; }
.entry-content details.clinic > :not(summary) + * { margin-top: 12px; }
.entry-content details.clinic > :last-child { margin-bottom: 22px; }
.entry-content details.clinic .is-style-dots { display: grid; gap: 8px; }
.entry-content details.clinic .is-style-dots li { display: flex; align-items: baseline; font-weight: 400; color: var(--ink); }
.entry-content .clinic-adr { color: var(--slate); }
.entry-content .clinic-note { padding: 12px 16px; border-radius: var(--r-md); background: var(--sage-50); color: var(--slate); font-size: .9375rem; }
.entry-content .wb-partner { margin-top: clamp(48px, 6vw, 72px); } .award-card, .logo-card { position: sticky; top: 90px; padding: clamp(24px, 3vw, 32px); border-radius: var(--r-lg); background: linear-gradient(160deg, var(--blue-50), var(--sage-50)); border: 1px solid var(--line); text-align: center; }
.entry-content .award-card > * + *, .entry-content .logo-card > * + * { margin-top: 12px; }
.entry-content .award-seal img { width: 160px; height: auto; margin-inline: auto; }
.entry-content .award-title { font-family: var(--font-head); font-size: 1.25rem; color: var(--navy-900); }
.entry-content .award-card p:last-child { font-size: .9375rem; color: var(--slate); text-align: left; }
.entry-content .logo-card-img { padding: 20px; background: #fff; border-radius: var(--r-md); }
.entry-content .logo-card-img img { max-height: 140px; width: auto; margin-inline: auto; }
.entry-content .logo-card .wp-block-buttons { justify-content: center; }
.entry-content .flyer-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: none; }
.entry-content .flyer-img { margin: 0; }
.entry-content .flyer-img img { width: 100%; height: auto; border-radius: var(--r-md); border: 1px solid var(--line); box-shadow: 0 24px 50px -36px rgba(11,34,56,.5); transition: transform var(--t); }
@media (hover: hover) { .entry-content .flyer-img a:hover img { transform: translateY(-3px); } } .entry-content .ws-card .ws-time { font-family: var(--font-head); font-weight: 800; color: var(--green-700); }
.entry-content .ws-card h3 { margin-top: 4px !important; }
.entry-content .program-table { max-width: none; }
.entry-content .program-table table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.entry-content .program-table th { text-align: left; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); padding: 10px 12px; border-bottom: 2px solid var(--line-strong); }
.entry-content .program-table td { padding: 11px 12px; border: 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.entry-content .program-table td:first-child { white-space: nowrap; color: var(--green-700); font-weight: 600; width: 1%; }
.entry-content .program-table tr:nth-child(even) td { background: var(--sage-50); } .entry-content .board-grid-single { margin-top: 28px; }
.entry-content .supporter-card { display: flex; flex-direction: column; }
.entry-content .supporter-card .link-card-more { margin-top: auto; padding-top: 12px; } .entry-content .member-types.reasons li { position: relative; padding-left: 46px; }
.entry-content .member-types.reasons li::before { content: ""; position: absolute; left: 16px; top: 19px; width: 18px; height: 18px; border-radius: 50%; background: var(--sage-100) var(--i-check-green) center / 11px no-repeat; } .entry-content .jobs-empty { padding: 24px 28px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); background: var(--sage-50); }
.entry-content .jobs-empty p + p { margin-top: 6px; color: var(--slate); } .entry-content .legal-head { max-width: none; }
.entry-content .legal-head h2 { margin-top: 12px; }
.entry-content .legal-head .is-style-lede { margin-top: 10px; }
.entry-content .legal-head + .info-cards { margin-top: 32px; }
.entry-content .info-cards + .info-cards { margin-top: 16px; }
.entry-content .legal-text { max-width: none; margin-top: clamp(48px, 6vw, 72px); padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid var(--line); }
.entry-content .legal-text h3 { font-size: 1.125rem; margin-top: 1.8em; }
.entry-content .legal-text h3:first-child { margin-top: 0; }
.entry-content .legal-text p { margin-top: .6em; line-height: 1.7; color: var(--ink); }
@media (max-width: 1080px) {
.entry-content .link-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.entry-content .duty-grid { grid-template-columns: 1fr; }
.emergency-card, .award-card, .logo-card { position: static; }
}
@media (max-width: 900px) {
.entry-content .info-cards-2 { grid-template-columns: 1fr; }
.entry-content .wb-timeline { grid-template-columns: 1fr; }
.wb-phase { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: baseline; }
.entry-content .wb-text { margin-top: 0; }
}
@media (max-width: 600px) {
.entry-content .link-cards, .entry-content .flyer-pair { grid-template-columns: 1fr; }
.entry-content .program-table td:first-child { white-space: normal; }
.entry-content .program-table th:last-child, .entry-content .program-table td:last-child { display: none; }
}
.entry-content a.big-tel { text-decoration: none; }
.entry-content .m-intro-text .is-style-dots, .entry-content .info-card .is-style-dots { display: grid; gap: 8px; }
.entry-content .m-intro-text .is-style-dots li, .entry-content .info-card .is-style-dots li { display: flex; align-items: baseline; color: var(--ink); line-height: 1.5; }
.entry-content .m-intro-text .is-style-dots li::before, .entry-content .info-card .is-style-dots li::before { flex: none; transform: translateY(-2px); }
.entry-content .program-table table, .entry-content .program-table thead, .entry-content .program-table th { border: 0; }
.entry-content .program-table th { border-bottom: 2px solid var(--line-strong); }
.entry-content ul.member-types { list-style: none; padding-left: 0; }
.entry-content .fee-card > p + p, .entry-content .fee-card > p + .wp-block-table { margin-top: 12px; } .entry-content .benefit .is-style-dots li, .entry-content .m-intro-text .is-style-dots li, .entry-content .info-card .is-style-dots li, .entry-content details.clinic .is-style-dots li, .entry-content .satzung-par .is-style-dots li { display: block; position: relative; padding-left: 22px; }
.entry-content .benefit .is-style-dots li::before, .entry-content .m-intro-text .is-style-dots li::before, .entry-content .info-card .is-style-dots li::before, .entry-content details.clinic .is-style-dots li::before, .entry-content .satzung-par .is-style-dots li::before { position: absolute; left: 4px; top: .55em; transform: none; }
@media (max-width: 600px) { .entry-content .program-table td:first-child { white-space: nowrap; } } .entry-content .job_listings, .entry-content .job-manager-form, .entry-content #job-manager-job-dashboard { --aj-radius: var(--r-lg); }
.entry-content form.job_filters { margin-top: 32px; padding: clamp(18px, 2.5vw, 24px); border: 1px solid var(--line); border-radius: var(--r-lg); background: linear-gradient(160deg, var(--blue-50), var(--sage-50)); box-shadow: 0 30px 60px -48px rgba(11,34,56,.45); }
.entry-content .job_filters .search_jobs { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; padding: 0; background: none; border: 0; }
.entry-content .job_filters .search_jobs > div { float: none; width: auto; margin: 0; padding: 0; }
.entry-content .job_filters .search_jobs .search_keywords, .entry-content .job_filters .search_jobs .search_location, .entry-content .job_filters .search_jobs .search_categories { flex: 1 1 220px; }
.entry-content .job_filters .search_jobs .search_submit { flex: 0 0 auto; }
.entry-content .job_filters .search_jobs .search_remote_position { order: 9; flex: 1 1 100%; display: flex; align-items: center; gap: 8px; font-size: .9375rem; color: var(--ink); }
.entry-content .job_filters .search_jobs .search_remote_position label { font-weight: 500; }
.entry-content .job_filters label.screen-reader-text, .entry-content .job_filters .search_jobs > div > label[for^=search_] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.entry-content .job_filters .search_remote_position label { position: static !important; width: auto !important; height: auto !important; clip: auto !important; }
.entry-content .job_filters input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--green-600); }
.entry-content .job_filters input[type=text], .entry-content .job_filters select,
.entry-content .job-manager-form input[type=text], .entry-content .job-manager-form input[type=email], .entry-content .job-manager-form input[type=url], .entry-content .job-manager-form input[type=password], .entry-content .job-manager-form input[type=number], .entry-content .job-manager-form input[type=date], .entry-content .job-manager-form input[type=tel], .entry-content .job-manager-form select, .entry-content .job-manager-form textarea, .entry-content #job-manager-job-dashboard input[type=search] {
width: 100%; min-height: 48px; padding: 11px 14px; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); background-color: #fff; font: inherit; font-size: 1rem; color: var(--ink); box-shadow: none;
}
.entry-content #job-manager-job-dashboard input[type=search] { padding-left: 40px; }
.entry-content .job_filters input:focus, .entry-content .job-manager-form input:focus, .entry-content .job-manager-form textarea:focus, .entry-content .job-manager-form select:focus, .entry-content #job-manager-job-dashboard input[type=search]:focus { outline: none; border-color: var(--green-600); box-shadow: 0 0 0 3px rgba(176,203,31,.3); } .entry-content .job_filters .search_submit input, .entry-content .job_filters .search_submit button, .entry-content .job-manager-form input[type=submit], .entry-content .job-manager-form button[type=submit], .entry-content .application_button, .entry-content .jm-ui-button:not(.jm-ui-button--icon), .entry-content .load_more_jobs {
display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-height: 48px; margin: 0; padding: 12px 24px; border: 1.5px solid var(--green-brand); border-radius: var(--r-sm); background: var(--green-brand); color: var(--navy-900) !important; font-family: var(--font-head); font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none; text-shadow: none; box-shadow: 0 10px 22px -14px rgba(77,111,18,.8); cursor: pointer; transition: background var(--t), transform var(--t);
}
@media (hover: hover) { .entry-content .job_filters .search_submit input:hover, .entry-content .job-manager-form input[type=submit]:hover, .entry-content .application_button:hover, .entry-content .jm-ui-button:not(.jm-ui-button--icon):hover, .entry-content .load_more_jobs:hover { background: #C2DA34; border-color: #C2DA34; transform: translateY(-1px); } }
.entry-content .job-manager-form input[name=save_draft], .entry-content .job-manager-form input[name=edit_job] { background: #fff; border-color: var(--line-strong); box-shadow: none; }
@media (hover: hover) { .entry-content .job-manager-form input[name=save_draft]:hover, .entry-content .job-manager-form input[name=edit_job]:hover { background: var(--sage-50); border-color: var(--navy-900); } } .entry-content ul.job_types { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 16px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--line-strong); background: none; }
.entry-content ul.job_types li { margin: 0; padding: 0; border: 0; background: none; }
.entry-content ul.job_types label { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; font-size: .875rem; font-weight: 500; color: var(--ink); cursor: pointer; transition: border-color var(--t), background var(--t); }
@media (hover: hover) { .entry-content ul.job_types label:hover { border-color: var(--green-600); } }
.entry-content ul.job_types label:has(input:checked) { border-color: var(--green-600); background: var(--sage-100); color: var(--green-700); }
.entry-content ul.job_types input { width: 15px; height: 15px; margin: 0; accent-color: var(--green-600); }
.entry-content .showing_jobs { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0 0; padding: 0; border: 0; background: none; font-size: .875rem; color: var(--slate); }
.entry-content .showing_jobs a { color: var(--green-600); font-weight: 600; } .entry-content ul.job_listings { list-style: none; margin: 20px 0 0; padding: 0; border: 0; display: grid; gap: 12px; }
.entry-content ul.job_listings > li { margin: 0; padding: 0; border: 0; background: none; }
.entry-content ul.job_listings li.no_job_listings_found { padding: 28px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); background: var(--sage-50); color: var(--slate); text-align: center; }
.entry-content ul.job_listings li.aj-item a { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto 24px; gap: 18px; align-items: center; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); color: inherit; text-decoration: none; transition: border-color var(--t), box-shadow var(--t), transform var(--t); }
@media (hover: hover) { .entry-content ul.job_listings li.aj-item a:hover { border-color: var(--green-brand); box-shadow: 0 22px 44px -30px rgba(11,34,56,.4); transform: translateY(-1px); } }
.entry-content ul.job_listings li.aj-item.job_position_featured a { border-color: var(--sage-300); background: linear-gradient(160deg, #fff, var(--sage-50)); }
.entry-content .aj-logo { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--r-md); background: #fff; border: 1px solid var(--line); overflow: hidden; flex: none; }
.entry-content .aj-logo img { width: 100%; height: 100%; object-fit: contain; margin: 0; }
.entry-content .aj-logo.is-initials { background: var(--sage-100); border-color: transparent; color: var(--green-700); font-family: var(--font-head); font-weight: 800; font-size: 1.0625rem; letter-spacing: .02em; }
.entry-content .aj-main { display: grid; gap: 4px; min-width: 0; }
.entry-content .aj-title { font-family: var(--font-head); font-weight: 700; font-size: 1.125rem; color: var(--navy-900); line-height: 1.3; }
.entry-content .aj-praxis { color: var(--slate); }
.entry-content .aj-sub { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .9375rem; color: var(--slate); }
.entry-content .aj-loc { display: inline-flex; align-items: center; gap: 6px; }
.entry-content .aj-loc::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.entry-content .aj-meta { display: grid; justify-items: end; gap: 6px; text-align: right; }
.entry-content .aj-type, .entry-content .job-type { display: inline-block; padding: 4px 11px; border-radius: 999px; background: var(--sage-100) !important; color: var(--green-700) !important; font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.entry-content .aj-date { font-size: .8125rem; color: var(--slate); white-space: nowrap; }
.entry-content .aj-arrow { width: 22px; height: 22px; color: var(--green-600); transition: transform var(--t); }
@media (hover: hover) { .entry-content li.aj-item a:hover .aj-arrow { transform: translateX(3px); } } .entry-content .aj-single .aj-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.entry-content .aj-single .job_description { margin-top: 12px; max-width: none; font-size: 1.0625rem; line-height: 1.75; color: var(--ink); }
.entry-content .aj-single .job_description > * + * { margin-top: 1em; }
.entry-content .aj-single .job_description ul { padding-left: 1.2em; }
.entry-content .aj-side { position: sticky; top: 96px; }
.entry-content .aj-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); background: linear-gradient(160deg, var(--blue-50), var(--sage-50)); box-shadow: 0 30px 60px -44px rgba(11,34,56,.45); }
.entry-content .aj-company { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--line-strong); }
.entry-content .aj-company-name { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: 1.125rem; color: var(--navy-900); line-height: 1.3; }
.entry-content .aj-tagline { margin: 2px 0 0; font-size: .875rem; color: var(--slate); }
.entry-content .aj-facts { display: grid; gap: 0; margin: 8px 0 0; }
.entry-content .aj-facts > div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.entry-content .aj-facts dt { font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--slate); }
.entry-content .aj-facts dd { margin: 0; font-weight: 600; color: var(--navy-900); }
.entry-content .aj-card .job_application { margin-top: 20px; }
.entry-content .aj-card .application_button { width: 100%; }
.entry-content .aj-card .application_details { margin-top: 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; font-size: .9375rem; line-height: 1.6; overflow-wrap: anywhere; }
.entry-content .aj-card .application_details a { font-weight: 700; }
.entry-content .aj-website { margin: 14px 0 0; text-align: center; font-size: .9375rem; }
.entry-content .aj-back { margin: 16px 0 0; font-size: .9375rem; }
.entry-content .aj-back a { color: var(--green-600); font-weight: 600; text-decoration: none; }
.entry-content .job-manager-info, .entry-content .job-manager-message, .entry-content .job-manager-error { margin: 0 0 24px; padding: 14px 18px; border: 0; border-left: 4px solid var(--green-brand); border-radius: var(--r-md); background: var(--sage-50); color: var(--ink); }
.entry-content .job-manager-error { border-left-color: #D64545; background: #FFF4F2; color: #8A1C12; } .entry-content form.job-manager-form { max-width: none; margin-top: 32px; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); box-shadow: 0 30px 60px -50px rgba(11,34,56,.45); }
.entry-content .job-manager-form fieldset { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 8px 28px; margin: 0; padding: 16px 0; border: 0; }
.entry-content .job-manager-form fieldset + fieldset { border-top: 1px solid var(--line); }
.entry-content .job-manager-form fieldset::before, .entry-content .job-manager-form fieldset::after, .entry-content .job_filters .search_jobs::before, .entry-content .job_filters .search_jobs::after { content: none; display: none; }
.entry-content .job-manager-form fieldset > label { float: none !important; width: auto !important; max-width: none; margin: 0; padding: 12px 0 0; font-weight: 600; color: var(--navy-900); line-height: 1.35; }
.entry-content .job-manager-form fieldset > label small { display: block; margin-top: 2px; font-weight: 400; font-size: .8125rem; color: var(--slate); }
.entry-content .job-manager-form fieldset > div.field { float: none !important; width: auto !important; margin: 0; }
.entry-content .job-manager-form .field small.description, .entry-content .job-manager-form .description { display: block; margin-top: 6px; font-size: .8125rem; color: var(--slate); }
.entry-content .job-manager-form h2 { margin: 28px 0 0; padding: 24px 0 4px; border-top: 2px solid var(--line-strong); font-size: 1.375rem; }
.entry-content .job-manager-form .fieldset-logged_in .field, .entry-content .job-manager-form .fieldset-login_required .field { display: block !important; text-align: left !important; padding-left: 0 !important; padding-top: 12px; font-size: .9375rem; color: var(--slate); }
.entry-content .job-manager-form .fieldset-logged_in .field br { display: none; }
.entry-content .job-manager-form .fieldset-logged_in .field .button, .entry-content .job-manager-form .fieldset-logged_in .field a { display: inline; margin-left: 10px; padding: 0; border: 0; background: none; box-shadow: none; min-height: 0; color: var(--green-600) !important; font: inherit; font-weight: 600; text-decoration: underline; }
.entry-content .job-manager-form .fieldset-logged_in .field a::before { display: none; }
.entry-content .job-manager-form input[type=file] { width: 100%; padding: 10px; border: 1.5px dashed var(--line-strong); border-radius: var(--r-sm); background: var(--sage-50); font-size: .9375rem; }
.entry-content .job-manager-form input[type=file]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.entry-content .job-manager-form .wp-editor-wrap { border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); overflow: hidden; }
.entry-content .job-manager-form .mce-tinymce { border: 0 !important; box-shadow: none !important; }
.entry-content .job-manager-form p:has(> input[type=submit]) { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; padding-top: 24px; border-top: 1px solid var(--line); }
.entry-content .job-manager-form .select2-container .select2-selection { min-height: 48px; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); } .entry-content #job_preview { margin-top: 24px; }
.entry-content #job_preview .job_listing_preview_title { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 20px; margin-bottom: 24px; border-radius: var(--r-lg); background: var(--navy-900); }
.entry-content #job_preview .job_listing_preview_title h2 { margin: 0; color: #fff; font-size: 1.25rem; }
.entry-content #job_preview .job_listing_preview_title input { margin: 0 0 0 8px; }
.entry-content #job_preview .job_listing_preview { padding: 0; border: 0; } .entry-content #job-manager-job-dashboard { margin-top: 28px; }
.entry-content #job-manager-job-dashboard .jm-dashboard-job, .entry-content #job-manager-job-dashboard .jm-dashboard-row { border-radius: var(--r-lg); }
.entry-content #job-manager-job-dashboard a { color: var(--navy-900); }
.entry-content #job-manager-job-dashboard .job_title a, .entry-content #job-manager-job-dashboard .jm-dashboard-job-column.job_title a { font-family: var(--font-head); font-weight: 700; color: var(--navy-900); }
@media (max-width: 960px) {
.entry-content .aj-single .aj-grid { grid-template-columns: 1fr; }
.entry-content .aj-side { position: static; order: -1; }
}
@media (max-width: 720px) {
.entry-content ul.job_listings li.aj-item a { grid-template-columns: 48px minmax(0, 1fr); gap: 12px 14px; padding: 16px; }
.entry-content .aj-logo { width: 48px; height: 48px; }
.entry-content .aj-meta { grid-column: 2; justify-items: start; text-align: left; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.entry-content .aj-arrow { display: none; }
.entry-content .job_filters .search_jobs .search_submit { flex: 1 1 100%; }
.entry-content .job_filters .search_jobs .search_submit input { width: 100%; }
.entry-content .job-manager-form fieldset { grid-template-columns: 1fr; }
.entry-content .job-manager-form fieldset > label { padding-top: 0; }
.entry-content .job-manager-form p:has(> input[type=submit]) input { flex: 1 1 100%; }
}
.entry-content .job-manager-form fieldset .field input[type=checkbox] { width: 20px !important; height: 20px; margin: 12px 0 0; display: block; accent-color: var(--green-600); } .live-status { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; padding: 14px 16px; border-radius: var(--r-md); border: 1px solid var(--line); background: var(--surface); font-size: .875rem; line-height: 1.5; color: var(--slate); }
.live-status strong { color: var(--navy-900); font-weight: 700; }
.live-text { display: grid; gap: 2px; min-width: 0; text-wrap: pretty; }
.live-text .nw { white-space: nowrap; }
.live-hinweis { margin-top: 4px; }
.live-status .live-text a { margin-top: 2px; justify-self: start; }
.live-status a { display: inline-block; margin-top: 4px; font-weight: 600; color: var(--green-600); text-decoration: none; }
@media (hover: hover) { .live-status a:hover { color: var(--green-700); text-decoration: underline; } }
.live-status.is-open { background: var(--sage-50); border-color: var(--sage-300); }
.live-dot { flex: none; position: relative; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #9AA6B2; }
.is-open .live-dot { background: #3E9B3A; box-shadow: 0 0 0 0 rgba(62,155,58,.5); animation: live-pulse 2s infinite; }
@keyframes live-pulse { 70% { box-shadow: 0 0 0 8px rgba(62,155,58,0); } 100% { box-shadow: 0 0 0 0 rgba(62,155,58,0); } }
@media (prefers-reduced-motion: reduce) { .is-open .live-dot { animation: none; } } .hero:has(+ .mitglieder-band) { padding-bottom: clamp(40px, 4vw, 56px); }
@media (max-width: 1080px) { .hero:has(+ .mitglieder-band) { padding-bottom: 36px; } } .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.entry-content .tk { margin-top: 28px; }
.entry-content .tk-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: var(--r-lg); background: linear-gradient(160deg, var(--blue-50), var(--sage-50)); }
.entry-content .tk-tabs { display: flex; gap: 6px; }
.entry-content .tk-tabs a { padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: .9375rem; color: var(--navy-900); text-decoration: none; }
@media (hover: hover) { .entry-content .tk-tabs a:hover { background: rgba(255,255,255,.7); } }
.entry-content .tk-tabs a.is-active { background: var(--navy-900); color: #fff; }
.entry-content .tk-search { position: relative; flex: 1 1 280px; max-width: 420px; margin: 0; }
.entry-content .tk-search svg { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--slate); pointer-events: none; }
.entry-content .tk-search input { width: 100%; min-height: 46px; padding: 10px 14px 10px 42px; border: 1.5px solid var(--line-strong); border-radius: 999px; background: #fff; font: inherit; font-size: .9375rem; color: var(--ink); }
.entry-content .tk-search input:focus { outline: none; border-color: var(--green-600); box-shadow: 0 0 0 3px rgba(176,203,31,.3); }
.entry-content .tk-group { margin-top: 32px; }
.entry-content .tk-month { margin: 0 0 12px; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--green-600); display: flex; align-items: center; gap: 12px; }
.entry-content .tk-month::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.entry-content ul.tk-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.entry-content .tk-list > li { margin: 0; padding: 0; }
.entry-content .tk-list > li::before { content: none; }
.entry-content .tk-item > a { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 24px; align-items: center; gap: 18px; padding: 14px 18px 14px 14px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); color: inherit; text-decoration: none; transition: border-color var(--t), box-shadow var(--t), transform var(--t); }
@media (hover: hover) { .entry-content .tk-item > a:hover { border-color: var(--green-brand); box-shadow: 0 20px 40px -32px rgba(11,34,56,.45); transform: translateY(-1px); } }
.entry-content .tk-item.is-featured > a { border-color: var(--sage-300); background: linear-gradient(90deg, var(--sage-50), #fff 55%); }
.entry-content .tk-date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 64px; padding: 8px 0 7px; border-radius: var(--r-md); background: var(--navy-900); color: #fff; line-height: 1; }
.entry-content .tk-date b { font-family: var(--font-head); font-size: 1.5rem; font-weight: 800; }
.entry-content .tk-date small { margin-top: 3px; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--green-200); }
.entry-content .tk-date i { margin-top: 5px; padding-top: 4px; border-top: 1px solid rgba(255,255,255,.18); width: 70%; text-align: center; font-style: normal; font-size: .6875rem; color: #B9C8D6; }
.entry-content .tk-main { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.entry-content .tk-title { font-family: var(--font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.35; color: var(--navy-900); }
.entry-content .tk-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: .875rem; color: var(--slate); }
.entry-content .tk-meta > span + span::before { content: "·"; margin-right: 14px; color: var(--line-strong); }
.entry-content .tk-meta .tk-chip::before { content: none !important; }
.entry-content .tk-zeit { font-weight: 600; color: var(--ink); }
.entry-content .tk-chip { padding: 2px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; background: var(--blue-100); color: var(--navy-800); } .entry-content .tk-item.is-aengie > a { border: 1.5px solid var(--green-brand); border-left-width: 6px; background: linear-gradient(90deg, var(--sage-100), #fff 60%); }
@media (hover: hover) { .entry-content .tk-item.is-aengie > a:hover { border-color: var(--green-600); } }
.entry-content .tk-item.is-aengie .tk-date { background: var(--green-brand); color: var(--navy-900); }
.entry-content .tk-item.is-aengie .tk-date small { color: var(--navy-900); }
.entry-content .tk-item.is-aengie .tk-date i { color: var(--navy-800); border-top-color: rgba(11,34,56,.22); }
.entry-content .tk-chip.is-aengie { background: var(--green-brand); color: var(--navy-900); letter-spacing: .01em; }
.entry-content .tk-cost { justify-self: end; padding: 5px 12px; border-radius: 999px; font-size: .8125rem; font-weight: 700; white-space: nowrap; background: var(--blue-50); color: var(--navy-900); }
.entry-content .tk-cost.is-free { background: var(--sage-100); color: var(--green-700); }
.entry-content .tk-cost.is-empty { padding: 0; background: none; }
.entry-content .tk-arrow { color: var(--green-600); }
.entry-content .tk-arrow svg { width: 20px; height: 20px; transition: transform var(--t); }
@media (hover: hover) { .entry-content .tk-item > a:hover .tk-arrow svg { transform: translateX(3px); } }
.entry-content .tk-empty { margin-top: 28px; padding: 28px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); text-align: center; color: var(--slate); }
.entry-content .tk-abo { margin-top: 28px; font-size: .875rem; color: var(--slate); }
.entry-content .tk-next { margin-top: 24px; }
.entry-content .tk-more { margin-top: 20px; } .te-lede { max-width: none; }
.entry-content .te-date { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 58px; height: 62px; border-radius: var(--r-md); background: var(--navy-900); color: #fff; line-height: 1; }
.entry-content .te-date b { font-family: var(--font-head); font-size: 1.5rem; font-weight: 800; }
.entry-content .te-date small { margin-top: 4px; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--green-200); }
.entry-content .te-adr { font-weight: 400; color: var(--slate); font-size: .9375rem; }
.entry-content .te-map { font-size: .875rem; font-weight: 600; }
.entry-content .te-cta { margin: 20px 0 0; }
.entry-content .te-cta .btn { width: 100%; }
.entry-content .te-cta .btn svg { width: 16px; height: 16px; }
.entry-content .te-cal { margin: 14px 0 0; font-size: .875rem; color: var(--slate); text-align: center; }
.entry-content .te-cal a { font-weight: 600; }
.entry-content .te-description a { overflow-wrap: anywhere; }
@media (max-width: 720px) {
.entry-content .tk-bar { padding: 10px; }
.entry-content .tk-search { max-width: none; flex-basis: 100%; }
.entry-content .tk-item > a { grid-template-columns: 56px minmax(0, 1fr); gap: 12px 14px; padding: 12px; }
.entry-content .tk-date { width: 56px; }
.entry-content .tk-cost { grid-column: 2; justify-self: start; }
.entry-content .tk-cost.is-empty, .entry-content .tk-arrow { display: none; }
}
.entry-content .tk-more .btn-secondary { border: 1.5px solid var(--line-strong); color: var(--navy-900); text-decoration: none; }
@media (hover: hover) { .entry-content .tk-more .btn-secondary:hover { border-color: var(--navy-900); } }
.entry-content .tk-more .btn svg { width: 18px; height: 18px; } .ext-hinweis { width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overscroll-behavior: contain; overflow: auto; padding: 28px 28px 24px; border: 0; border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: 0 30px 80px -20px rgba(8,25,42,.45); font-family: var(--font-body); }
.ext-hinweis::backdrop { background: rgba(8,25,42,.42); -webkit-backdrop-filter: blur(10px) saturate(1.1); backdrop-filter: blur(10px) saturate(1.1); }
.ext-hinweis h2 { margin: 6px 0 12px; font-family: var(--font-head); font-size: 1.375rem; line-height: 1.25; color: var(--navy-900); }
.ext-hinweis p { margin: 0 0 12px; font-size: .9688rem; line-height: 1.55; }
.ext-hinweis .is-style-eyebrow { margin: 0; }
.ext-hinweis-url { padding: 8px 12px; border-radius: var(--r-sm); background: var(--blue-50); color: var(--slate); font-size: .8125rem !important; word-break: break-all; }
.ext-hinweis-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 18px; }
@media (max-width: 480px) { .ext-hinweis { padding: 22px 18px 18px; } .ext-hinweis-actions .btn { flex: 1 1 100%; justify-content: center; } } .duty-now { margin-top: clamp(32px, 5vw, 56px); padding: clamp(22px, 3vw, 32px); border-radius: var(--r-lg); background: var(--navy-900); color: #D9E3EC; }
.duty-now[hidden] { display: none; }
.duty-now-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
.duty-now-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green-200); }
.duty-now-eyebrow .live-dot { margin-top: 0; background: #3E9B3A; box-shadow: 0 0 0 0 rgba(62,155,58,.5); animation: live-pulse 2s infinite; }
.entry-content .duty-now h2 { flex: 1 1 100%; order: -1; margin: 0; font-size: clamp(1.375rem, 2.4vw, 1.75rem); color: #fff; }
.duty-now-time { margin: 0; font-size: .875rem; color: #AFC0CF; }
.entry-content ul.duty-now-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.entry-content ul.duty-now-list li, .entry-content ul.duty-now-list li + li { margin: 0; padding: 14px 16px 14px 36px; position: relative; border-radius: var(--r-md); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); line-height: 1.4; }
.entry-content ul.duty-now-list li::marker { content: none; }
.duty-now-list .live-dot { position: absolute; left: 16px; top: 19px; margin: 0; background: #8796A5; }
.duty-now-list li.is-open { background: rgba(176,203,31,.14); border-color: rgba(176,203,31,.45); }
.entry-content .duty-now-list a { display: block; font-weight: 700; color: #fff; text-decoration: none; }
@media (hover: hover) { .entry-content .duty-now-list a:hover { text-decoration: underline; } }
.duty-now-list span:last-child { display: block; margin-top: 2px; font-size: .875rem; color: #C6D3DF; }
.duty-now-list li.is-open span:last-child { color: var(--green-200); }
.entry-content .duty-now-phone { margin: 16px 0 0; font-size: .9375rem; }
.duty-now-phone strong { color: #fff; }
.entry-content .duty-now-phone a, .entry-content .duty-now-note a { color: var(--green-200); font-weight: 700; }
.entry-content .duty-now-note { margin: 6px 0 0; font-size: .8125rem; color: #AFC0CF; }
.entry-content .duty-live { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 8px 12px; border-radius: var(--r-sm); background: #F1F4F7; font-size: .875rem; font-weight: 600; line-height: 1.4; color: var(--slate); }
.entry-content .duty-live.is-open { background: var(--sage-50); color: #2D6E29; }
.duty-live .live-dot { margin-top: 4px; }
.entry-content .duty-route { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-weight: 600; color: var(--green-600); text-decoration: none; }
@media (hover: hover) { .entry-content .duty-route:hover { color: var(--green-700); text-decoration: underline; } }
.entry-content .duty-disclaimer { margin: 18px 0 0; padding: 14px 18px; border-radius: var(--r-md); background: #F7F8FA; border: 1px solid var(--line); font-size: .875rem; line-height: 1.55; color: var(--slate); }
.duty-disclaimer strong { color: var(--navy-900); }
@media (max-width: 900px) { .entry-content ul.duty-now-list { grid-template-columns: 1fr; } }
.entry-content .duty-row strong + br { display: none; } .admin-flag { display: inline-flex; align-items: center; margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: #C8102E; color: #fff; font-size: .6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.5; white-space: nowrap; }
.mobile-member-title .admin-flag { margin-left: auto; } .header-link, .header-actions .btn, .brand-sub, .brand-name { white-space: nowrap; }
@media (max-width: 1320px) {
.header-mail span, .header-logout span { display: none; }
.header-mail { padding-left: 10px; padding-right: 10px; }
} .to-top { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px)); z-index: 40; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--navy-900); color: #fff; box-shadow: 0 10px 24px -10px rgba(11,34,56,.55); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity var(--t), transform var(--t), visibility 0s linear 220ms, background var(--t); }
.to-top.is-visible { opacity: 1; visibility: visible; transform: none; transition: opacity var(--t), transform var(--t), visibility 0s, background var(--t); }
@media (hover: hover) { .to-top:hover { background: var(--green-brand); color: var(--navy-900); } }
.to-top:focus-visible { outline: 3px solid var(--green-brand); outline-offset: 3px; }
@media (min-width: 900px) { .to-top { right: 28px; bottom: 28px; width: 52px; height: 52px; } }
@media (prefers-reduced-motion: reduce) { .to-top, .to-top.is-visible { transition: none; transform: none; } }
@media print { .to-top { display: none; } } .entry-content .wb-praxen { display: grid; gap: 16px; max-width: none; }
.entry-content .wb-praxen > * { margin: 0; max-width: none; }
.entry-content .wbp-tabelle { margin-bottom: 16px !important; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.entry-content .wbp-tabelle table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.entry-content .wbp-tabelle th { text-align: left; font: 700 .7rem/1.2 var(--font-head); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); padding: 14px 14px 10px; border: 0; border-bottom: 1.5px solid var(--line-strong); white-space: nowrap; }
.entry-content .wbp-tabelle td { padding: 11px 14px; border: 0; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.45; }
.entry-content .wbp-tabelle tr:last-child td { border-bottom: 0; }
.entry-content .wbp-tabelle tbody tr:nth-child(even) td { background: var(--sage-50); }
.entry-content .wbp-tabelle td strong { color: var(--navy-900); font-weight: 600; }
.entry-content .wbp-tabelle figcaption { margin: 0; padding: 10px 14px 12px; font-size: .8125rem; color: var(--slate); text-align: left; border-top: 1px solid var(--line); }
.entry-content .wbp-ja { color: var(--green-700); font-weight: 700; }
.entry-content .wbp-nein { color: var(--slate); }
.entry-content .wbp-na { color: #8A97A3; font-style: italic; font-weight: 400; }
.entry-content .wbp-card { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.entry-content .wbp-head { display: flex; align-items: center; gap: 14px; padding: 14px 22px; background: var(--sage-50); border-bottom: 1px solid var(--sage-100); }
.entry-content .wbp-head > * { margin: 0 !important; }
.entry-content .wbp-nr { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--green-brand); color: var(--navy-900); font: 800 .875rem/1 var(--font-head); }
.entry-content .wbp-head h3 { font-size: 1.125rem; line-height: 1.3; }
.entry-content .wbp-body { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 28px; padding: 20px 22px 22px; }
.entry-content .wbp-side, .entry-content .wbp-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.entry-content .wbp-side > *, .entry-content .wbp-main > * { margin: 0; }
.entry-content .wbp-i { position: relative; padding-left: 28px; font-size: .9375rem; line-height: 1.5; }
.entry-content .wbp-i::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; background: var(--green-600); -webkit-mask: var(--wbp-i) center / contain no-repeat; mask: var(--wbp-i) center / contain no-repeat; }
.entry-content .wbp-adr { --wbp-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.entry-content .wbp-web { --wbp-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20M12 2a15 15 0 0 0 0 20'/%3E%3C/svg%3E"); overflow-wrap: anywhere; }
.entry-content .wbp-ap { --wbp-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.entry-content .wbp-ap small { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .04em; color: var(--slate); }
.entry-content .wbp-facts { display: grid; grid-template-columns: auto 1fr 1fr; gap: 8px; margin-top: 4px !important; }
.entry-content .wbp-facts p { margin: 0; padding: 8px 10px; border-radius: var(--r-sm); background: var(--blue-50); }
.entry-content .wbp-facts small { display: block; font-size: .6875rem; font-weight: 600; color: var(--slate); white-space: nowrap; }
.entry-content .wbp-facts strong { display: block; font: 800 1rem/1.3 var(--font-head); color: var(--navy-900); }
.entry-content .wbp-facts .wbp-nein { color: var(--slate); font-weight: 700; }
.entry-content .wbp-wb { padding: 14px 18px; border-radius: var(--r-md); background: var(--navy-900); color: #fff; margin-bottom: 6px !important; }
.entry-content .wbp-wb > * { margin: 0; }
.entry-content .wbp-wb-label { font: 700 .6875rem/1 var(--font-head); letter-spacing: .12em; text-transform: uppercase; color: var(--green-200); }
.entry-content .wbp-wb-text { margin-top: 8px !important; font: 700 1.0625rem/1.4 var(--font-head); color: #fff; }
.entry-content .wbp-h { margin-top: 6px !important; font: 700 .75rem/1.2 var(--font-head); letter-spacing: .1em; text-transform: uppercase; color: var(--green-600); }
.entry-content .wbp-t { font-size: .9375rem; line-height: 1.6; color: var(--ink); margin-top: -4px !important; }
.entry-content .wb-praxen-pdf { margin-top: 20px; padding: 16px 20px; border-radius: var(--r-lg); background: var(--blue-50); color: #12324F; font-size: .9375rem; max-width: none; }
.entry-content .wb-praxen-pdf strong { color: var(--navy-900); }
.entry-content .wb-praxen-pdf + .section-head { margin-top: clamp(56px, 7vw, 88px); }
@media (max-width: 860px) {
.entry-content .wbp-body { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.entry-content .wbp-side { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px 20px; }
.entry-content .wbp-facts { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
.entry-content .wbp-head { padding: 12px 16px; }
.entry-content .wbp-body { padding: 16px; }
.entry-content .wbp-tabelle { display: none; } } .entry-content .pi-nav { position: sticky; top: 62px; z-index: 30; max-width: none; margin: 0 0 clamp(36px, 5vw, 56px); }
.entry-content .pi-nav-innen { display: flex; align-items: center; gap: 10px 16px; padding: 8px; border: 1px solid var(--sage-300); border-radius: 14px; background: rgba(245, 248, 236, .94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); box-shadow: 0 14px 30px -24px rgba(11,34,56,.5); }
.entry-content .pi-nav-titel { display: none; flex: none; font: 700 .75rem/1 var(--font-head); letter-spacing: .14em; text-transform: uppercase; color: var(--green-700); }
.entry-content .pi-nav ul { flex: 1; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.entry-content .pi-nav li { margin: 0; padding: 0; flex: 1 1 auto; }
.entry-content .pi-nav li a { width: 100%; justify-content: center; }
.entry-content .pi-nav li::before { content: none; }
.entry-content .pi-nav a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 13px; border-radius: 999px; background: #fff; border: 1px solid var(--line-strong); color: var(--navy-900); font-size: .875rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background var(--t), border-color var(--t), color var(--t); }
@media (hover: hover) { .entry-content .pi-nav a:hover { border-color: var(--green-600); background: var(--sage-100); } }
.entry-content .pi-nav a:focus-visible { outline: 2px solid var(--green-600); outline-offset: 2px; }
.entry-content .pi-nav a.is-aktiv { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
.entry-content [data-pi-ziel] { scroll-margin-top: 220px; }
@media (max-width: 1100px) {
.entry-content .pi-nav { top: 72px; margin-left: calc(var(--gutter) * -1); margin-right: calc(var(--gutter) * -1); }
.entry-content .pi-nav-innen { border-radius: 0; border-left: 0; border-right: 0; padding: 8px var(--gutter); }
.entry-content .pi-nav ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-padding-inline: var(--gutter); }
.entry-content .pi-nav ul::-webkit-scrollbar { display: none; }
.entry-content .pi-nav li { flex: none; }
.entry-content [data-pi-ziel] { scroll-margin-top: 180px; }
}
@media (prefers-reduced-motion: no-preference) { html:has(.pi-nav) { scroll-behavior: smooth; } } .mg-band { background: var(--navy-900); color: #fff; border-top: 3px solid var(--green-brand); }
.mg-band-innen { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-height: 42px; }
.mg-band-innen svg { width: 16px; height: 16px; flex: none; color: var(--green-brand); }
.mg-band-innen p { margin: 0; font-size: .9375rem; font-weight: 500; letter-spacing: .01em; color: #DCE5EE; }
.mg-band-innen p strong { color: #fff; font-weight: 700; }
.mg-band-innen .mg-band-ab { margin-left: 14px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.25); color: #C9D4DF; font-size: .875rem; text-decoration: underline; text-underline-offset: 3px; }
@media (hover: hover) { .mg-band-innen .mg-band-ab:hover { color: #fff; } }
@media (max-width: 600px) { .mg-band-innen .mg-band-ab { display: none; } .mg-band-lang { display: none; } } .single-post .entry-content > p, .single-post .entry-content > ul, .single-post .entry-content > ol,
.single-post .entry-content > h2, .single-post .entry-content > h3, .single-post .entry-content > h4,
.single-post .entry-content > .wp-block-quote, .single-post .entry-content > .wp-block-details,
.single-post .entry-content > .wp-block-group, .single-post .entry-content > .wp-block-buttons,
.single-post .entry-content > .wp-block-file { max-width: 780px; }
.single-post .entry-content > .is-style-lede { font-size: 1.25rem; line-height: 1.6; }
.single-post .entry-content > p, .single-post .entry-content li { font-size: 1.0625rem; line-height: 1.75; } .entry-content .wp-block-group.is-style-hinweis, .entry-content .wp-block-group.is-style-wichtig { padding: 18px 22px 18px 58px; border-radius: var(--r-md); position: relative; }
.entry-content .wp-block-group.is-style-hinweis { background: var(--blue-50); border: 1px solid #D3E1EE; color: #12324F; }
.entry-content .wp-block-group.is-style-wichtig { background: #FFF8E6; border: 1px solid #F1D48A; color: #5C4108; }
.entry-content .wp-block-group.is-style-hinweis::before, .entry-content .wp-block-group.is-style-wichtig::before { content: ""; position: absolute; left: 20px; top: 20px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font: 800 .875rem/24px var(--font-head); text-align: center; }
.entry-content .wp-block-group.is-style-hinweis::before { content: "i"; background: var(--navy-900); color: #fff; }
.entry-content .wp-block-group.is-style-wichtig::before { content: "!"; background: #B7791F; color: #fff; }
.entry-content .wp-block-group.is-style-hinweis > * + *, .entry-content .wp-block-group.is-style-wichtig > * + * { margin-top: .6em; }
.entry-content .wp-block-group.is-style-hinweis strong { color: var(--navy-900); } .entry-content .wp-block-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.entry-content .wp-block-gallery > .wp-block-image { margin: 0; }
.entry-content .wp-block-gallery img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.entry-content .wp-block-gallery > figcaption { grid-column: 1 / -1; margin-top: 0; } .entry-content .wp-block-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(20px, 3vw, 40px); align-items: center; }
.entry-content .wp-block-column > * + * { margin-top: 1em; }
.entry-content .wp-block-column figure { margin: 0; } .single-post .entry-content .wp-block-quote { padding: 6px 0 6px 24px; border-left: 4px solid var(--green-brand); font-family: var(--font-head); font-size: 1.25rem; font-weight: 600; line-height: 1.5; color: var(--navy-900); }
.entry-content .wp-block-details { padding: 0; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
.entry-content .wp-block-details + .wp-block-details { margin-top: 10px; }
.entry-content .wp-block-details summary { cursor: pointer; padding: 16px 20px; font-weight: 600; color: var(--navy-900); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.entry-content .wp-block-details summary::-webkit-details-marker { display: none; }
.entry-content .wp-block-details summary::after { content: "+"; font: 700 1.25rem/1 var(--font-head); color: var(--green-600); }
.entry-content .wp-block-details[open] summary::after { content: "–"; }
.entry-content .wp-block-details > :not(summary) { padding: 0 20px 18px; margin: 0; color: var(--slate); }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content .wp-block-table tbody tr:nth-child(even) td { background: var(--sage-50); }
@media (max-width: 600px) { .entry-content .wp-block-gallery { grid-template-columns: 1fr 1fr; } } .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image { width: 100% !important; max-width: none; margin: 0 !important; flex: none; }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.entry-content .wp-block-gallery.has-nested-images > figcaption { text-align: left; flex-basis: auto; }
.entry-content .wp-block-table table, .entry-content .wp-block-table th, .entry-content .wp-block-table td { border: 0; }
.entry-content .wp-block-table thead { border: 0; }
.entry-content .wp-block-table th { border-bottom: 1.5px solid var(--line-strong); }
.entry-content .wp-block-table td { border-bottom: 1px solid var(--line); }
.entry-content .wp-block-table table { border: 1px solid var(--line); border-radius: var(--r-md); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.entry-content .wp-block-table tbody tr:last-child td { border-bottom: 0; } .archive-head { margin-bottom: clamp(24px, 3vw, 36px); }
.archive-head h2 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); font-weight: 800; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.post-card { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; transition: border-color var(--t), transform var(--t), box-shadow var(--t); }
@media (hover: hover) { .post-card:hover { border-color: var(--green-brand); transform: translateY(-3px); box-shadow: 0 18px 40px -28px rgba(11,34,56,.45); } }
.post-card-bild { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--navy-900); }
.post-card-bild img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
@media (hover: hover) { .post-card:hover .post-card-bild img { transform: scale(1.03); } }
.post-card-platzhalter { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, var(--navy-900), var(--navy-800)); }
.post-card-platzhalter svg { width: 30%; height: auto; opacity: .9; }
.post-card-text { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; flex: 1; }
.post-card-text time { font-size: .8125rem; font-weight: 600; letter-spacing: .04em; color: var(--green-600); }
.post-card-text h3 { font-size: 1.125rem; line-height: 1.35; margin: 0; }
.post-card-text h3 a { color: var(--navy-900); text-decoration: none; }
.post-card-text h3 a::after { content: ""; position: absolute; inset: 0; } .post-card-text h3 a:focus-visible { outline: none; }
.post-card:focus-within { outline: 2px solid var(--green-600); outline-offset: 2px; }
.post-card-text p { margin: 0; color: var(--slate); font-size: .9375rem; line-height: 1.6; }
.post-card-text .text-link { margin-top: auto; padding-top: 6px; }
.archive-termine { padding-bottom: var(--section); }
.archive-termine .container { padding-top: clamp(40px, 6vw, 72px); border-top: 1px solid var(--line); }
@media (max-width: 1100px) { .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .post-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .post-card, .post-card-bild img { transition: none; } @media (hover: hover) { .post-card:hover { transform: none; } } @media (hover: hover) { .post-card:hover .post-card-bild img { transform: none; } } }
.archive-termine .entry-content { padding: 0; max-width: none; }