/* Shared accessibility and small-screen corrections. */
:focus-visible { outline: 3px solid #7FBF3F; outline-offset: 4px; }
button:disabled { opacity: .65; cursor: wait; }
.form-note { font-size: .875rem; line-height: 1.6; margin: 12px 0; }
.form-note a { text-decoration: underline; }
#contactStatus { margin: 16px 0; font-size: 1rem; line-height: 1.6; }
.info-content a { overflow-wrap: anywhere; }
.site-menu-toggle { display: none; background: #4B1D73; color: #fff; border: 0; border-radius: 10px; padding: 10px 12px; font: inherit; cursor: pointer; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 20000; background: #fff; color: #4B1D73; padding: 12px 20px; border-radius: 10px; }
.skip-link:focus { top: 12px; }
.site-contact-footer { text-align: center; background: #F8FAFC; border-top: 1px solid #E2E8F0; padding: 18px 20px; font-size: .9rem; }
.site-contact-footer a { color: #4B1D73; text-decoration: underline; }
.site-contact-footer span { display: inline-block; margin: 4px 10px; }
@media (max-width: 900px) {
    .header-inner { gap: 12px; flex-wrap: wrap; }
    .header .logo img { max-width: 145px; object-fit: contain; }
    .site-menu-toggle { display: inline-flex; }
    .header .nav-links.site-open { display: flex !important; flex-direction: column; position: fixed; top: 85px; left: 12px; right: 12px; padding: 24px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 12px 35px rgba(0,0,0,.12); border-radius: 16px; z-index: 10000; }
    .header .site-menu-toggle ~ .btn { padding: 10px 12px; font-size: 13px; }
    .form-row > .form-group { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 900px) {
    .header-inner { flex-wrap: nowrap; gap: 10px; padding-block: 12px; }
    .header .logo img { max-width: 90px; height: 42px !important; }
    .header .header-actions { gap: 6px; margin-left: auto; }
    .header .header-actions .language-switcher { display: none; }
    .header .header-actions .btn { white-space: nowrap; padding: 10px 14px; font-size: 12px; }
    .header:has(#hamburgerBtn) nav { display: none; }
    .header .hamburger { display: flex; flex-shrink: 0; }
    .header .header-inner > nav:has(.nav-links) { min-width: 0; }
    .hero { scroll-margin-top: 76px; }
    .mobile-menu { padding-top: 90px; }
}
.testimonial-card-home blockquote { margin: 20px 0; color: #334155; font-size: 1.1rem; line-height: 1.8; }
.testimonial-card-home .review-author { margin: 20px 0 12px; font-weight: 600; }
.review-source { color: #4B1D73; text-decoration: underline; font-size: .875rem; }
