/* Public entry point shares the app's touch and small-screen standards. */
body { overflow-wrap: anywhere; }
img { max-width: 100%; height: auto; }
.btn, .nav-link, .navbar-toggler { min-height: 44px; }
.navbar-toggler { min-width: 44px; }
:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.hero { min-height: 560px; height: auto; padding: 6rem 1.5rem; background-color: #1e293b; }
@media (max-width: 767.98px) {
 .navbar { padding: .75rem 1rem; }
 .navbar-brand { font-size: 1.3rem; max-width: calc(100% - 56px); white-space: normal; }
 .navbar-brand img { max-height: 32px; }
 .hero { min-height: 460px; padding: 4rem 1rem; }
 .hero h1 { font-size: 2rem; }
 .hero p { font-size: 1.125rem; }
 .features, .testimonials, .pricing { padding: 2.5rem 1rem; }
 .footer { padding: 1.5rem 1rem; }
}
@media (prefers-reduced-motion: reduce) { .hero { background-image: none; } }
