@media (max-width: 1050px) {
    .site-nav { gap: 17px; }
    .hero-grid { grid-template-columns: 1fr 420px; gap: 25px; }
    .phone-card { width: 300px; }
    .note-two { right: 0; }
    .steps-grid { grid-template-columns: repeat(2, 1fr); }
    .memory-grid { gap: 55px; }
    .pricing-grid { gap: 14px; }
    .price-card { padding: 32px 25px; }
}

@media (max-width: 820px) {
    .container { width: min(100% - 30px, 680px); }
    .menu-toggle { display: block; position: relative; z-index: 102; }
    .site-nav { position: fixed; inset: 0; z-index: 101; display: flex; flex-direction: column; justify-content: center; gap: 25px; padding: 90px 25px; background: rgba(255,247,249,.98); opacity: 0; visibility: hidden; transform: translateY(-15px); transition: .25s; }
    .site-nav.open { opacity: 1; visibility: visible; transform: none; }
    .site-nav > a:not(.button) { font-family: Georgia, serif; font-size: 1.6rem; }
    .menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-of-type(3) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
    .hero { min-height: auto; }
    .hero-grid { grid-template-columns: 1fr; padding: 75px 0 90px; }
    .hero-copy { text-align: center; }.hero-copy > p { margin-inline: auto; }.hero-copy .button-row, .trust-row { justify-content: center; }
    .hero-visual { min-height: 600px; }
    .note-one { left: 3%; }.note-two { right: 3%; }
    .split-heading, .memory-grid, .faq-layout, .form-layout, .contact-layout { grid-template-columns: 1fr; gap: 45px; }
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .memory-collage { width: min(500px, 100%); margin-inline: auto; }
    .pricing-grid { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; gap: 25px; }
    .price-card.featured { transform: none; }
    .light-card ul { min-height: auto; }
    .demo-callout { align-items: flex-start; flex-direction: column; padding: 38px; }
    .form-aside { position: static; }
    .demo-grid { grid-template-columns: repeat(2, 1fr); }
    .info-strip { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
    h1 { font-size: 2.7rem; }
    .section { padding: 75px 0; }
    .hero-grid { padding-top: 55px; }
    .hero h1 { font-size: 3rem; }
    .hero-copy .button-row { flex-direction: column; align-items: stretch; }
    .hero-copy .text-link { justify-content: center; padding: 8px; }
    .trust-row { display: grid; }
    .hero-visual { min-height: 550px; transform: scale(.9); margin: -30px -15px; }
    .phone-card { width: 290px; min-height: 545px; }.phone-art { min-height: 488px; }
    .note-one { left: -1%; bottom: 70px; }.note-two { right: -1%; top: 100px; }
    .steps-grid, .feature-grid, .demo-grid { grid-template-columns: 1fr; }
    .step-card > span { margin-bottom: 18px; }
    .memory-collage { min-height: 410px; }.memory-badge { right: -5px; width: 135px; height: 135px; }
    .demo-callout { padding: 30px 24px; }.demo-callout .button-row { width: 100%; }.demo-callout .button { width: 100%; }
    .page-hero { padding: 75px 0 60px; }.page-hero h1 { font-size: 2.75rem; }
    .process-item { grid-template-columns: 55px 1fr; gap: 18px; }.process-symbol { display: none; }.process-item h2 { font-size: 1.8rem; }
    .form-card { padding: 27px 20px; }.form-grid, .choice-grid { grid-template-columns: 1fr; }.full { grid-column: auto; }
    .form-aside { padding: 0; }.form-aside h2, .contact-info h2 { font-size: 2.25rem; }
    .lock-card { padding: 38px 22px; }
    .demo-card p { min-height: auto; }
    .error-code { font-size: 7rem; }
    .footer-grid { grid-template-columns: 1fr; gap: 35px; }.footer-bottom { flex-direction: column; gap: 7px; }
    .extra-row { gap: 20px; font-size: .88rem; }.extra-row strong { white-space: nowrap; }
}
