/* Shared accessibility and narrow-screen fixes. */
:focus-visible{outline:3px solid #087c54;outline-offset:3px}
input,select,textarea,button{font:inherit}
main{min-width:0}
.table{overflow-x:auto}
.public a,.public p,.public h1,.public h2{overflow-wrap:anywhere}
.public .public-header nav{flex-wrap:wrap;justify-content:flex-end}
.public .public-footer div{flex-wrap:wrap}
@media(max-width:800px){
 .public .public-header{flex-direction:column;align-items:flex-start;gap:16px}
 .public .public-header nav{gap:8px 16px;justify-content:flex-start;width:100%}
 .public .public-header nav a:not(.compact){display:inline-flex;align-items:center;min-height:44px}
 .public .actions{flex-wrap:wrap}
 .public .recovery-board{padding:20px;min-width:0}
 .public .recovery-board>div:first-child strong{font-size:2.2rem}
 .public .cta{padding:28px}
 .public .doc-layout{gap:25px}
 .public .doc-layout aside{display:flex;flex-direction:row;flex-wrap:wrap}
 .public .legal h1,.public .doc-layout article h1{font-size:2.4rem}
 .public .demo-list p{grid-template-columns:12px minmax(0,1fr)}
 .public .demo-list p b{grid-column:2}
 .public .compare>div{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:14px}
}

/* Phase 1: readable hero typography and illustrative dashboard contrast. */
.public .public-hero h1{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.12;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal}
.public .recovery-board{transform:none}
.public .recovery-board>div>span,.public .recovery-board>div>strong{display:block}
.public .recovery-board strong{font-size:2rem;margin-top:10px}
.public .recovery-board p,.public .recovery-board span,.public .recovery-board .mini-grid b{color:#d5e8ed}
.public .recovery-board strong{color:#fff}
@media(max-width:380px){.public .public-hero h1{font-size:1.85rem}}
