.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Barrierefreiheits-Widget */
.a11y-fab{position:fixed;left:20px;bottom:20px;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#54a4ed,#2f86d6);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px -10px rgba(15,29,58,.6);z-index:80;transition:transform .2s ease}
.a11y-fab:hover{transform:translateY(-2px)}
.a11y-fab svg{width:28px;height:28px;fill:#fff}
.a11y-panel{position:fixed;left:20px;bottom:86px;width:290px;max-width:calc(100vw - 40px);background:#fff;color:#12203c;border:1px solid rgba(84,164,237,.35);border-radius:16px;box-shadow:0 24px 60px -18px rgba(15,29,58,.55);padding:1.1rem 1.2rem;z-index:81;display:none;font-family:"Inter",system-ui,sans-serif}
.a11y-panel.open{display:block}
.a11y-panel h2{font-size:1.02rem;margin:0 0 .9rem;color:#0f1d3a;font-family:inherit}
.a11y-group{margin-bottom:1rem}
.a11y-group>.lbl{font-size:.82rem;font-weight:700;color:#0f1d3a;display:block;margin-bottom:.45rem}
.a11y-opts{display:flex;gap:.4rem;flex-wrap:wrap}
.a11y-opts button{flex:1;min-width:60px;border:1px solid rgba(84,164,237,.45);background:#f2f8ff;color:#1c3557;border-radius:9px;padding:.55rem .6rem;font:inherit;font-size:.85rem;cursor:pointer}
.a11y-opts button:hover{background:#e4f0fd}
.a11y-opts button[aria-pressed="true"]{background:#54a4ed;color:#fff;border-color:transparent;font-weight:600}
.a11y-reset{margin-top:.2rem;background:transparent;border:0;color:#1c66b3;cursor:pointer;font:inherit;font-size:.82rem;text-decoration:underline;padding:.3rem 0}
.a11y-fab:focus-visible,.a11y-panel :focus-visible{outline:3px solid #1c66b3;outline-offset:2px;border-radius:6px}

/* Hoher Kontrast (per Widget aktivierbar) */
html.hc body{background:#fff}
html.hc :where(.card,.value,.pillar,.stepc,.contact-info,.founder,.chooser,.quote,header){border:1px solid #2a3550 !important}
html.hc :where(p,li,.muted,.section-head p,.card p,.value p,.step p,.cpanel p,.contact-info p,.foot-bottom,.trust-strip span){color:#161b26 !important}
html.hc .hero p,html.hc .cta p,html.hc .news p,html.hc .cta .eyebrow,html.hc .news .eyebrow{color:#fff !important}
html.hc .hero::after{background:linear-gradient(180deg,rgba(10,18,36,.86),rgba(10,18,36,.92)) !important}
html.hc a:not(.btn):not(.brand):not(.a11y-reset){text-decoration:underline}

/* Bewegung aus (per Widget aktivierbar) */
html.no-motion *,html.no-motion *::before,html.no-motion *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.no-motion .reveal{opacity:1 !important;transform:none !important}
