/* Accessibility additions; existing layout and component styles remain in style.css. */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:fixed; top:auto; bottom:calc(env(safe-area-inset-bottom, 0px) + 0px); left:50%; z-index:10000; display:inline-flex; align-items:center; gap:12px; max-width:calc(100vw - 32px); padding:8px 10px 8px 18px; transform:translate3d(-50%, calc(100% + 20px), 0); background:#111; color:#fff; font:600 .9375rem/1.2 Manrope,sans-serif; text-decoration:none; border:1px solid rgba(255,255,255,.32); border-radius:999px; box-shadow:0 8px 28px rgba(0,0,0,.28); transition:transform .24s ease, background-color .2s ease; white-space:nowrap; }
.skip-link::after { content:"\2193"; display:inline-grid; place-items:center; flex:0 0 32px; width:32px; height:32px; color:#fff; background:#d9232d; border-radius:50%; font:700 1.15rem/1 Arial,sans-serif; }
.skip-link:focus, .skip-link:focus-visible { transform:translate3d(-50%, 0, 0); bottom:calc(env(safe-area-inset-bottom, 0px) + 30px);}
.skip-link:hover { background:#252525; }
@media (prefers-reduced-motion:reduce) { .skip-link { transition:none; } }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #111!important; outline-offset:3px!important; box-shadow:0 0 0 6px #fff!important; }
main:focus { outline:none; }
main:focus-visible { box-shadow:inset 0 3px #111!important; outline:none!important; }
:where(a,button,input,select,textarea,[tabindex],section) { scroll-margin-top:110px; }
main h1 { scroll-margin-top:110px; }
button.header__nav-link { border:0; background:transparent; cursor:pointer; line-height:normal; }
.header__nav-link[aria-current="page"], .header__dropdown-link[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; }
.footer__disclaimer, .footer__bottom, .footer__legal-link { color:#aaa; }
.contact-page__nda-note { color:#666; }
.contact-page__form-input::placeholder, .fsa-interest__input::placeholder { color:#707070; opacity:1; }
.contact-page__form-input, .fsa-interest__input { border-color:#858585; }
.contact-page__form .invalid-feedback, .fsa-interest__form .invalid-feedback { display:block; color:#b31b25!important; font:500 .875rem/1.5 Manrope,sans-serif; }
[aria-invalid="true"] { border:2px solid #b31b25!important; }
.fsa-interest__type-btn[aria-checked="true"] { box-shadow:inset 0 0 0 1px currentColor; text-decoration:underline; text-underline-offset:3px; }
.ticker { cursor:pointer; }
.ticker.a11y-ticker-paused .ticker__track { animation-play-state:paused; }
.founders-slider__controls { flex-wrap:wrap; }
.founders-slider__controls .a11y-motion-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:36px; padding:6px 4px; border:0; border-radius:0; color:#0a0a0a; background:transparent; cursor:pointer; transition:color .25s ease,opacity .2s ease; -webkit-tap-highlight-color:transparent; }
.founders-slider__controls .a11y-motion-toggle::before { content:"Ⅱ"; display:block; font:600 24px/1 Arial,sans-serif; letter-spacing:-3px; }
.founders-slider__controls .a11y-motion-toggle[data-paused="true"]::before { content:"▶"; font-size:18px; letter-spacing:0; margin-left:2px; }
.founders-slider__controls .a11y-motion-toggle:hover { color:var(--color-red,#be1e2d); background:transparent; }

.founders-slider__photo-wrap[role="button"] { cursor:pointer; }
.founders-slider__photo-wrap:focus-visible { outline-offset:-5px!important; box-shadow:inset 0 0 0 8px white!important; }
[data-scroll-reveal]:focus-within { opacity:1!important; transform:none!important; visibility:visible!important; }
.founders-slider__panel { overflow-y:auto; }
.founders-slider__panel-bio { flex-shrink:0; }
.popup-form { max-width:calc(100vw - 40px); }
@media (max-width:480px) {
    .fsa-interest__types { grid-template-columns:1fr; }
    .fsa-interest__slider-top, .fsa-interest__horizon-card { flex-wrap:wrap; }
    .fsa-interest__input, .contact-page__form-input { min-width:0; }
    .fsa-offerings__card-top, .founders-slider__header { flex-wrap:wrap; }
    .fsa-offerings__tabs { flex-wrap:wrap; }
    .fsb-portfolio__val { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto!important; }
    *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
    [data-scroll-reveal] { opacity:1!important; transform:none!important; visibility:visible!important; }
}
@media (forced-colors:active) {
    :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid Highlight!important; }
    .fsa-interest__type-btn[aria-checked="true"] { border:3px solid Highlight; }
}
