/* Shared responsive safeguards across KADE public pages. */
html{scrollbar-gutter:stable}body{overflow-x:clip}*,*:before,*:after{box-sizing:border-box}img,video,canvas{max-width:100%}button,input,textarea,select{font-family:inherit}main,section,article,figure,fieldset{min-width:0}p,a{overflow-wrap:break-word}button,a,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #729eed;outline-offset:4px}
footer{align-items:start}footer .footer-legal{gap:12px 24px;align-items:center;align-content:start}footer .footer-legal a{line-height:1.5;min-height:44px}footer .trust-identity{line-height:1.8}
@media(max-width:900px){footer .footer-legal{justify-content:flex-start}.section{scroll-margin-top:90px}}
@media(max-width:600px){input,textarea,select{font-size:16px}footer{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}footer>*{grid-column:1!important;grid-row:auto!important;max-width:100%;text-align:left!important}footer .footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-start}footer .footer-signoff{justify-self:start}footer .footer-brand{max-width:180px}header nav a{min-height:44px}h1,h2,h3{overflow-wrap:break-word}.hero-actions{flex-wrap:wrap}table{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Final usability pass: keep controls readable and keyboard focus consistent. */
:where(input,textarea,select,[role=button],[role=tab]):focus-visible{outline:2px solid #729eed;outline-offset:4px}
@media(max-width:600px){body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){font-size:16px}fieldset{min-inline-size:0}.hero-actions>a{min-height:44px;display:inline-flex;align-items:center}}
.faq-answer-tools{flex-wrap:wrap;gap:12px}.faq-answer-tools [role=status]{font-size:14px;overflow-wrap:anywhere}
.ux-view-tools output{min-width:0;overflow-wrap:anywhere}
