:root{font-family:Arial,Helvetica,sans-serif;color:#152332;background:#f3f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:900px;margin:auto;padding:40px 20px 26px}.hero{text-align:center;padding:24px 0 32px}.eyebrow{color:#214f90;font-size:.76rem;font-weight:800;letter-spacing:.13em}.hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;letter-spacing:-.04em;margin:15px 0}.hero p{color:#596a81;font-size:1.08rem;max-width:650px;margin:0 auto;line-height:1.65}.hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:23px}.hero-pills span{background:#e6f0f7;color:#123f70;border-radius:40px;padding:8px 14px;font-size:.83rem;font-weight:650}.panel{background:#fff;border:1px solid #e0e8f3;border-radius:22px;padding:clamp(22px,5vw,42px);box-shadow:0 15px 55px #1d355515}.progress-head{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;font-weight:700;color:#63738a}.progress-track{height:9px;background:#e8eef7;border-radius:10px;overflow:hidden;margin:12px 0 34px}#progress-fill{height:100%;width:0;background:#214f90;transition:width .2s}.section-kicker{color:#214f90;text-transform:uppercase;letter-spacing:.09em;font-size:.77rem;font-weight:800}.section-title{font-size:1.65rem;letter-spacing:-.025em;margin:8px 0 8px}.section-desc{color:#68788d;margin:0 0 24px;line-height:1.5}.question{border:0;border-top:1px solid #e9eef5;padding:23px 0;margin:0;min-width:0}.question legend{font-weight:700;line-height:1.45;padding:0 0 12px;width:100%}.options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.option{position:relative;cursor:pointer}.option input{position:absolute;opacity:0;width:1px;height:1px}.option span{display:block;text-align:center;border:1.5px solid #d9e2ee;border-radius:11px;padding:13px 6px;font-size:.9rem;font-weight:650;color:#44546b;transition:.15s}.option input:checked+span{background:#edf5fa;border-color:#214f90;color:#123f70}.option input:focus-visible+span{outline:3px solid #78a9d2;outline-offset:2px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.btn{appearance:none;border:0;border-radius:11px;padding:14px 22px;font:inherit;font-weight:750;cursor:pointer;background:#214f90;color:white;min-height:48px}.btn:hover{background:#123f70}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-secondary{background:#eaf0f8;color:#2c466c}.btn-secondary:hover{background:#dbe7f6}.score{display:flex;gap:20px;align-items:center;background:#f3f7fd;border-radius:15px;padding:22px;margin:20px 0}.score-number{font-size:3.2rem;line-height:1;font-weight:850;letter-spacing:-.05em;color:#123f70}.score h3{margin:0 0 5px}.score p{margin:0;color:#66778b;line-height:1.5}.result-row{padding:16px 0;border-bottom:1px solid #e7edf5}.result-top{display:flex;justify-content:space-between;gap:12px;font-weight:700}.mini-track{height:7px;background:#e7edf5;border-radius:6px;margin:10px 0}.mini-fill{height:100%;background:#214f90;border-radius:6px}.result-row p{color:#5b6b81;font-size:.89rem;line-height:1.5;margin:7px 0 0}.callout{background:#f5f8fe;border:1px solid #dbe7fa;padding:23px;border-radius:15px;margin-top:32px}.callout h3{margin:0 0 8px}.callout>p{color:#5c6d83;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;margin:12px 0}.field label{font-size:.88rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #cdd8e7;border-radius:9px;padding:12px;font:inherit;background:white;color:#17243a}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #78a9d2;border-color:#214f90}.consent{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;line-height:1.55;margin:17px 0}.consent input{width:19px;height:19px;flex-shrink:0;margin-top:2px}.status{font-weight:650;line-height:1.5;margin:14px 0}.status.error{color:#a32424}.status.success{color:#137348}.muted{color:#6a788d;font-size:.85rem;line-height:1.55}.hidden-field{position:absolute;left:-9999px}footer{text-align:center;color:#7a899b;font-size:.8rem;margin:28px 0;line-height:1.8}a{color:#123f70}@media(max-width:620px){.shell{padding:20px 12px}.hero{padding:12px 8px 25px}.panel{border-radius:16px}.options{gap:6px}.option span{font-size:.82rem;padding:12px 3px}.form-grid{grid-template-columns:1fr;gap:0}.score{align-items:flex-start;flex-direction:column;gap:10px}.actions .btn{flex:1;padding:12px 8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Integration in die definitiv! Website */
.brandbar{max-width:1080px;margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brandlink img{display:block;max-width:150px;height:auto}.backlink{font-size:14px;text-decoration:none;color:inherit;font-weight:600}.backlink:hover{text-decoration:underline}@media(max-width:560px){.brandbar{padding:14px 16px}.brandlink img{max-width:115px}.backlink{font-size:12px}}

/* Corporate-Design: definitiv! digital services */
.brandbar{max-width:none;background:#fff;border-bottom:1px solid #dce5ee;padding:18px max(24px,calc((100vw - 1160px)/2));min-height:94px}
.brandlink img{max-width:230px;width:230px}.backlink{color:#214f90}.shell{max-width:1000px;padding-top:48px}.hero{background:linear-gradient(120deg,#f8fbfe,#e6f0f7);border-radius:22px;padding:48px 28px;margin-bottom:28px}.hero h1{color:#0b2f55}.eyebrow,.section-kicker{color:#214f90}.panel{border-radius:16px;box-shadow:0 24px 60px rgba(17,54,89,.11)}.btn{background:#214f90;border-radius:7px}.btn:hover{background:#123f70}.btn-secondary{background:#edf5fa;color:#123f70}.hero-pills span{background:#fff;border:1px solid #dce5ee}.callout{background:#f6f9fb;border-color:#dce5ee}a{color:#214f90}
@media(max-width:620px){.brandbar{min-height:74px}.brandlink img{width:145px;max-width:145px}.hero{padding:32px 17px;border-radius:14px}.shell{padding-top:20px}}

/* Footer aus der Startseite, auf die Check-Seite abgestimmt */
.check-disclaimer{text-align:center;color:#7a899b;font-size:.8rem;margin:28px 0;line-height:1.8}
.site-footer{background:#0c2238;color:#c9d4de;padding:0 0 25px;font-size:15px;line-height:1.6}
.site-footer .container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.site-footer .footer-grid{display:grid;grid-template-columns:1.5fr 1fr .8fr .8fr;gap:50px;padding-top:30px}
.site-footer .footer-grid img{width:250px;max-width:100%;height:auto;filter:brightness(0) invert(1);opacity:.88;margin-bottom:20px}
.site-footer strong{color:#fff;display:block;margin-bottom:15px}
.site-footer a{color:#c9d4de;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:25px;font-size:.85rem}
.site-footer p{margin:0 0 14px}
#cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;max-width:900px;margin:auto;background:#fff;border:1px solid #dce5ee;padding:24px;box-shadow:0 18px 60px rgba(12,34,56,.24);z-index:9999}
#cookie-banner.hidden{display:none}
#cookie-banner h2{font-size:1.35rem;margin:0 0 8px}
#cookie-banner p{margin:0;color:#596a81;line-height:1.5}
#cookie-banner a{color:#214f90;text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.cookie-actions button{font:inherit;font-weight:700;padding:11px 17px;border:1px solid #214f90;background:#fff;color:#214f90;cursor:pointer}
.cookie-actions .primary{background:#214f90;color:#fff}
.cookie-settings-link{cursor:pointer;text-decoration:underline!important}
@media(max-width:800px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:520px){.site-footer .footer-grid{grid-template-columns:1fr;gap:16px}.site-footer .container{width:calc(100% - 32px)}#cookie-banner{left:10px;right:10px;bottom:10px;padding:20px}}

/* Footer: Textausrichtung wie auf der Startseite; überschreibt die alte globale footer-Regel */
.site-footer{margin:0;text-align:left;font-size:15px;line-height:1.6}
.site-footer .footer-grid,.site-footer .footer-grid>div,.site-footer .footer-grid p,.site-footer .footer-grid strong{text-align:left}
.site-footer .footer-bottom{text-align:left}

/* Header bleibt beim Scrollen sichtbar (Desktop und Mobil). */
.brandbar{position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(12,34,56,.08)}
.brandbar .brandlink,.brandbar .backlink{flex-shrink:0}
@media(max-width:560px){.brandbar{gap:10px}.backlink{text-align:right;line-height:1.35}}

/* Keep the questionnaire visible below the sticky navigation. */
#check{scroll-margin-top:120px}

.consultation-link{display:inline-block;text-decoration:none;text-align:center;max-width:100%;white-space:normal}
.consultation-link:focus-visible{outline:3px solid #78a9d2;outline-offset:3px}

.consultation-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin-top:16px}.consultation-actions .btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 240px;line-height:1.3}.consultation-actions .consultation-link{background:#eaf0f8;color:#214f90}.consultation-actions .consultation-link:hover{background:#dbe7f6}.consultation-actions .consultation-link:disabled{opacity:.6;cursor:wait}@media(max-width:620px){.consultation-actions{flex-direction:column}.consultation-actions .btn{flex:auto;width:100%}}

/* Terminbuchungsbutton: blaue Flaeche, weisse Schrift in allen Zustaenden */
#book.btn { background-color:#214f90; color:#ffffff; }
#book.btn:hover, #book.btn:focus-visible { background-color:#123f70; color:#ffffff; }
#book.btn:disabled { background-color:#214f90; color:#ffffff; }

/* Responsive security check: standalone stylesheet, independent of main site CSS */
html { -webkit-text-size-adjust:100%; }
body { min-width:0; overflow-x:clip; }
.shell,.panel,.hero,.question,.options,.option,.score,.callout,.form-grid,.field { min-width:0; max-width:100%; }
.hero h1,.section-title,.question legend,.result-top,.score h3,.callout h3 { overflow-wrap:normal; word-break:normal; hyphens:none; }
.option span,.btn,.backlink { overflow-wrap:normal; word-break:normal; hyphens:none; }
.field input,.field select,.field textarea { min-width:0; }
#cookie-banner { max-height:min(85dvh,700px); overflow-y:auto; }
@media (max-width:700px) {
  .shell { width:100%; padding:18px 16px 26px; }
  .brandbar { padding:12px 16px; gap:12px; min-height:72px; }
  .brandbar .brandlink { min-width:0; }
  .brandlink img { width:clamp(105px,30vw,145px); max-width:100%; }
  .brandbar .backlink { flex:0 1 56%; font-size:.8rem; line-height:1.4; text-align:right; }
  .hero { padding:28px 18px; margin-bottom:18px; }
  .hero h1 { font-size:clamp(1.65rem,7vw,2.5rem); letter-spacing:-.025em; }
  .hero p { font-size:1rem; }
  .hero-pills { gap:8px; }
  .hero-pills span { font-size:.78rem; }
  .panel { padding:22px 16px; }
  .section-title { font-size:clamp(1.4rem,6vw,1.75rem); }
  .progress-head { flex-wrap:wrap; row-gap:6px; }
  .options { grid-template-columns:minmax(0,1fr); gap:8px; }
  .option span { min-height:46px; padding:12px; text-align:left; }
  .actions { gap:10px; }
  .actions .btn { min-width:0; flex:1 1 0; white-space:normal; }
  .score { padding:16px; }
  .result-top { flex-wrap:wrap; }
  .callout { padding:18px 15px; }
  .form-grid { grid-template-columns:minmax(0,1fr); }
  .site-footer .footer-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:360px) {
  .shell { padding-inline:12px; }
  .hero { padding:22px 13px; }
  .panel { padding:18px 12px; }
  .brandbar { padding-inline:12px; }
  .eyebrow { letter-spacing:.06em; }
  .actions { flex-direction:column-reverse; }
  .actions .btn { width:100%; flex:auto; }
}

/* Gleiche Typografie wie auf der Hauptwebsite */
:root { --type-body:1rem; --type-h1:3rem; --type-h2:2.125rem; --type-h3:1.4375rem; }
body { font-size:var(--type-body); line-height:1.6; }
.hero h1 { font-size:var(--type-h1) !important; }
:is(.section-title,#cookie-banner h2) { font-size:var(--type-h2) !important; }
:is(.score h3,.callout h3) { font-size:var(--type-h3) !important; }
:is(.hero h1,.section-title,.score h3,.callout h3) { overflow-wrap:normal;word-break:normal;hyphens:none; }
:is(.hero p,.section-desc,.question legend,.score p,.result-row p,.callout>p) { font-size:var(--type-body); }
@media(max-width:900px) { :root { --type-h1:2.25rem; --type-h2:1.75rem; --type-h3:1.3125rem; } }
@media(max-width:600px) { :root { --type-h1:1.875rem; --type-h2:1.5rem; --type-h3:1.1875rem; } }

/* Typografie und Logogroesse analog zur Hauptwebsite */
.brandbar .brandlink img {display:block;width:416px;max-width:100%;height:auto}
.brandbar .brandlink {min-width:0;flex:0 1 auto}
:root {--type-body:1rem;--type-h1:3rem;--type-h2:2.125rem;--type-h3:1.4375rem}
body,main,.shell {font-size:var(--type-body)}
main h1 {font-size:var(--type-h1)!important;line-height:1.12}
main h2 {font-size:var(--type-h2)!important;line-height:1.2}
main h3 {font-size:var(--type-h3)!important;line-height:1.3}
main :is(p,li,label,legend) {font-size:var(--type-body);line-height:1.6}
main :is(h1,h2,h3,p,li,label,legend) {word-break:normal;overflow-wrap:normal;hyphens:none}
@media(max-width:980px){.brandbar .brandlink img{width:190px}}
@media(max-width:900px){:root{--type-h1:2.25rem;--type-h2:1.75rem;--type-h3:1.3125rem}}
@media(max-width:600px){:root{--type-h1:1.875rem;--type-h2:1.5rem;--type-h3:1.1875rem}.brandbar .brandlink img{width:170px}.brandbar{gap:10px}.brandbar .backlink{min-width:0}}
@media(max-width:360px){.brandbar .brandlink img{width:min(170px,43vw)}}
