/* TechStartupLabs | responsive/accessibility integrity patch | 2026-10-19
   Additive protection of the approved institutional design; do not alter page family shells. */
html {scroll-padding-top:100px}
body {overflow-wrap:break-word}
img,svg,video,iframe {max-width:100%}
:where(main,.section,.wrap,.research,.hero,.contact-hero,.home-grid,.explore,.spotlight,.section-pad,.block,.card,.video-copy,.advisory-copy) {min-width:0}
:where(h1,h2,h3,h4,p,li,a) {overflow-wrap:break-word}
:where(a,button,input,select,textarea,[tabindex]):focus-visible {outline:3px solid #0e6db5;outline-offset:3px}
.source-buttons a,.source-buttons button {min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1.25}
.source-buttons {min-width:0}
/* Two-dimensional tables may scroll within their own labelled region, never the entire document. */
.tsl-table-scroll {max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;margin:18px 0 26px;border:1px solid #d8e2ea}
.tsl-table-scroll:focus-visible {outline:3px solid #0e6db5;outline-offset:2px}
.tsl-table-scroll table {margin:0;max-width:none}
/* Matching institutional treatment for the required ecosystem modules. */
.tsl-ecosystem-audit {padding:35px clamp(18px,4vw,52px);border-top:1px solid #d8e2ea;background:#f4f8fb}
.tsl-ecosystem-audit h2 {font-size:clamp(24px,3vw,36px);line-height:1.15;color:#10233f;margin:0 0 12px}
.tsl-ecosystem-audit p {color:#5d6b7d;margin:0 0 16px;max-width:850px}
.tsl-ecosystem-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;max-width:1100px}
.tsl-ecosystem-links a {display:block;padding:10px 0;color:#10233f;font-weight:700;border-bottom:1px solid #d8e2ea;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.tsl-ecosystem-links a:is(:hover,:focus-visible) {color:#0e6db5;text-decoration-color:currentColor}
.tsl-cta-addition {margin:25px auto;padding:25px clamp(18px,4vw,42px);max-width:1300px;background:#10233f;color:#fff}
.tsl-cta-addition h2 {font-size:clamp(21px,2.7vw,30px);line-height:1.2;margin:0 0 10px;color:#fff}
.tsl-cta-addition p {color:#eaf6fd;margin:0 0 14px}
.tsl-cta-addition .cta {display:inline-block;background:#0e6db5;color:#fff}
@media (max-width:1120px) {
 .site-nav .nav-inner {gap:12px}
 .site-nav .brand {min-width:0;flex:0 1 auto}
 .site-nav .nav-actions {margin-left:auto;min-width:0}
 .site-nav .nav-links {max-height:calc(100dvh - 72px);overflow-y:auto;z-index:100;box-shadow:0 9px 20px rgba(16,35,63,.12)}
}
@media (max-width:700px) {
 .site-nav .nav-inner {padding:0 12px;gap:8px}
 .site-nav .brand img {width:100px;max-width:100%}
 .site-nav .nav-actions {gap:5px}
 .site-nav .nav-btn.primary {padding:9px 10px;font-size:12px;white-space:nowrap}
 .site-nav .menu-btn {font-size:14px;padding:8px 4px;white-space:nowrap}
 .source-buttons {grid-template-columns:repeat(2,minmax(0,1fr))}
 .tsl-ecosystem-links {grid-template-columns:1fr}
 .tsl-table-scroll {margin-left:0;margin-right:0}
}
@media (max-width:380px) {
 .site-nav .nav-inner {gap:5px;padding:0 8px}
 .site-nav .brand img {width:85px}
 .site-nav .nav-actions {gap:3px}
 .site-nav .nav-btn.primary {padding:8px 7px;font-size:11px}
 .site-nav .menu-btn {padding:7px 2px;font-size:12px}
 .hero h1,.contact-hero h1 {font-size:clamp(32px,9.7vw,40px);line-height:1.07}
 .research,.video-copy {min-width:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
