/* Shared incremental accessibility fixes; no change to pricing or policies. */
:root { --text-muted: #596579; --primary-dark: #226d40; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 3px solid #226d40; outline-offset: 3px; }
.hero h1 span, .hero .highlight, .hero .text-gradient, .hero .accent, .feature-tag { color: #226d40; }
.form-group > label { display: block; color: #2f3747; font-size: .9rem; font-weight: 600; margin: 0 0 .45rem; }
.password-visibility { background: transparent; border: 1px solid #64748b; border-radius: 6px; padding: .45rem .7rem; margin-top: .4rem; color: #334155; cursor: pointer; font: inherit; font-size: .85rem; }
.auth-container input { font-size: 16px; }
.auth-container .input-hint, .auth-container .tertiary-link { color: #586174; }
.nav-auth .btn, .nav-logo, .blog-nav-cta { white-space: nowrap; }
.landing-plan-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.phone-screen video { position: relative; z-index: 1; }
.table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5rem 0; }
.table-scroll table { margin: 0; }
.article-body { min-width: 0; overflow-wrap: anywhere; overflow-x: auto; }
.article-body pre { max-width: 100%; overflow-x: auto; }
.blog-nav { flex-wrap: wrap; gap: 14px; }
.blog-nav-links { flex-wrap: wrap; }
.stats-status { color: #475569; margin: 1rem 0; }
.stats-status button { margin-left: .75rem; padding: .4rem .75rem; cursor: pointer; }
@media (max-width: 768px) {
    .nav .container { padding-inline: 12px; }
    .nav-inner { gap: 8px; }
    .nav-logo { font-size: 1rem; gap: 5px; min-width: 0; }
    .nav-logo svg { width: 20px; flex-shrink: 0; }
    .nav-auth { margin-left: auto; gap: 0; }
    .nav-auth .btn-ghost, .nav-user-avatar, .nav-user > span { display: none; }
    .nav-auth .btn { padding: 9px 10px; font-size: .8rem; min-width: 0; }
    .mobile-menu-btn { flex: 0 0 36px; width: 36px; height: 40px; padding: 5px; }
    .hero .container, .hero-content, .hero-visual { min-width: 0; max-width: 100%; }
    .hero-stats, .hero-trust, .hero-cta { flex-wrap: wrap; }
    .phones-showcase { max-width: 100%; }
    .blog-nav { padding-inline: 16px; }
    .blog-nav-logo { font-size: 18px; }
    .blog-nav-links { gap: 12px; }
}
@media (max-width: 360px) {
    .hero .container { padding-inline: 16px; }
    .hero h1 { font-size: 2.1rem; overflow-wrap: anywhere; }
    .hero-cta .btn { max-width: 100%; white-space: normal; }
    .hero-phones { width: 100%; gap: 8px; }
    .hero-phones .phone-mockup { flex: 1; min-width: 0; width: auto; }
    .hero-phones .phone-mockup:nth-child(2) { flex: 1.12; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
    .feature-card, .step-card, .pricing-card { opacity: 1 !important; transform: none !important; }
}
