/* Touch targets */
button, label, .clickable {
    min-height: 44px;
}

/* Safe area for notched phones */
@supports (padding: env(safe-area-inset-bottom)) {
    .footer {
        padding-bottom: calc(20px + env(safe-area-inset-bottom));
    }
}

/* Tablet / small desktop */
@media (min-width: 768px) {
    .container {
        max-width: 580px;
        padding: 28px 24px;
    }
    .hero h2 {
        font-size: 1.6rem;
    }
}

/* Prevent zoom on input focus (iOS) */
input, select, textarea {
    font-size: 16px;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
