.site-install { margin: 0 0 28px; padding: 0; color: var(--wine, #8b0836); }
.site-install button { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer-mobile-links, .site-footer-description--mobile { display: none; }
@media (max-width: 809px) {
    header { max-width: calc(100% - 24px); }
    header .header-account { min-width: 0; gap: 8px; }
    header .header-login { padding: 10px; font-size: 13px; }
    header .header-cta { padding: 12px; }
    header .menu { min-width: 44px; min-height: 44px; }
    .hero-copy { padding: 0 20px; }
    .hero-wrap { background: linear-gradient(180deg, transparent 0%, transparent 86%, #fff 100%); }
    .hero { height: auto; min-height: 0; padding-top: 184px; padding-bottom: 0; }
    .hero-copy { margin-bottom: 72px; }
    .hero > .cloud { top: 84px; width: 240px; height: 92px; }
    .hero > .cloud.left { left: -100px; }
    .hero > .cloud.right { right: -100px; }
    .hero h1 { font-size: clamp(32px, 8vw, 46px); line-height: 1.16; }
    .hero-copy p { font-size: 16px; line-height: 1.65; }
    .dashboard-stage { height: auto; aspect-ratio: auto; margin: 0 16px; }
    /* Keep the mobile hero crop identical to desktop while preserving the
       scroll-driven zoom range. */
    .workspace { width: 100%; max-width: 100%; height: auto; aspect-ratio: 1.53143; left: auto; }
    .workspace > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
    .workspace { transform-origin: center top; border-radius: 14px 14px 0 0; }
    .feature-visual { height: auto; padding: 20px; }
    .feature-visual img { width: 100%; height: auto; object-fit: contain; border-radius: 14px; }
    .feature-visual picture { display: block; }
    .actions { flex-wrap: wrap; justify-content: center; gap: 8px; }
    .plans .plan, .plans .plan.featured { min-height: 0; padding: 28px 24px; }
    .plans .plan .button { margin-top: 24px; min-height: 48px; }
    .feature-row, .feature-copy, .resource-card, .resource-highlights > article, .contact-support-copy { text-align: center; }
    .feature-copy { align-items: center; }
    .feature-copy h2, .resources-section > h2, .benefits h2, .pricing h2, .contact-section h2, .contact-support-copy h3 { font-size: clamp(28px, 7.5vw, 36px); line-height: 1.2; }
    .feature-description, .resource-card p, .contact-description, .contact-support-copy > p { max-width: 540px; margin-left: auto; margin-right: auto; }
    .feature-copy > .button, .contact-support-copy > .button { align-self: center; }
    .resource-icon { margin-left: auto; margin-right: auto; }
    .resource-card { min-height: 0; }
    .pricing { padding-top: 128px; }
    .pricing > .cloud.left, .pricing > .cloud.right { top: 16px; width: 260px; height: 100px; }
    .pricing > .cloud.left { left: -100px; }
    .pricing > .cloud.right { right: -100px; }
    .plans .plan > h3, .plans .plan > p { text-align: center; }
    .plan-name-row { justify-content: center; }
    .contact-support-copy { display: flex; flex-direction: column; align-items: center; }
    .site-footer { overflow-wrap: anywhere; padding: 40px 20px calc(28px + env(safe-area-inset-bottom)); text-align: center; border-radius: 28px 28px 0 0; }
    .site-footer-columns { display: none; }
    .site-install { margin-bottom: 20px; text-align: center; }
    .site-footer .site-install button { justify-content: center; text-align: center; font-size: 14px; line-height: 1.5; }
    .site-footer-mobile-links { display: flex; flex-direction: column; align-items: center; gap: 0; margin: 0 0 28px; font-size: 15px; line-height: 24px; }
    .site-footer-mobile-links a { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 12px; }
    .site-footer-mobile-links { gap: 20px; }
    .site-footer-mobile-group h2 { margin: 0 0 8px; font-size: 17px; line-height: 24px; letter-spacing: 0; }
    .site-footer-bottom { display: flex; flex-direction: column; align-items: center; gap: 20px; padding-top: 28px; }
    .site-footer-identity { display: contents; }
    .site-footer-identity > a { order: 0; }
    .site-footer .lgpd-badge { order: 1; }
    .site-footer-identity > p { order: 2; font-size: 13px; }
    .site-footer-logo { width: 180px; }
    .site-footer-description--desktop { display: none; }
    .site-footer-description--mobile { display: block; margin: 20px auto 0; max-width: 360px; font-size: 12px; line-height: 1.7; }
    .site-footer-credit { font-size: 12px; line-height: 1.7; margin: 12px auto 0; max-width: 340px; }
    .site-footer .footer-socials { justify-content: center; margin-top: 20px; }
    .site-footer a, .site-footer [data-app-install] { min-height: 36px; }
    .contact-form input, .contact-form textarea, .login-modal input, .login-modal select { font-size: 16px; }
    .login-modal-overlay { padding: 12px; }
    .login-modal { max-height: calc(100dvh - 24px); }
}
@media (max-width: 400px) {
    header .logo { width: 100px; }
    header .header-cta { display: none; }
    .site-footer-columns { grid-template-columns: minmax(0, 1fr); }
    .section { padding-left: 16px; padding-right: 16px; }
}
