/* Lucas Bassetti Fotografia — Responsivo (todos os @media aqui)
   Breakpoints: 1024 / 768 / 480 — galeria escura / cinema */

@media (max-width: 1024px) {
    .hero { min-height: auto; }
    .hero-screen { min-height: 54vh; }
    .hero-copy h1 { font-size: 2.5rem; }
    .strip {
        grid-auto-flow: row;
        justify-content: stretch;
        overflow-x: hidden;
    }
    .frame { width: 100%; }
    .about-grid { grid-template-columns: 1fr; gap: 2.4rem; }
    .about-photo { max-width: 480px; }
    .light-text { columns: 1; }
    .testimonials-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-authority { border-left: none; padding-left: 0; grid-column: 1 / -1; }
}

@media (max-width: 768px) {
    .menu-toggle { display: flex; }
    .brand { grid-column: 2; }
    .nav {
        grid-column: 1 / -1;
        grid-row: 2;
        position: fixed;
        inset: 0;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.1rem;
        background: rgba(13, 13, 13, 0.97);
        backdrop-filter: blur(8px);
        transform: translateY(-100%);
        transition: transform 0.35s ease;
        z-index: -1;
    }
    .nav.open { transform: translateY(0); }
    .nav a {
        font-family: var(--fonte-display);
        font-size: 1.3rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--off);
        border-bottom: none;
    }
    .nav a:hover { border-bottom-color: transparent; }

    .hero { padding-top: 3.4rem; }
    .hero-bar { font-size: 0.55rem; letter-spacing: 0.2em; }
    .film-id { display: none; }
    .hero-copy h1 { font-size: 2rem; }
    .hero-badges { display: none; }
    .hero-bar-bottom { justify-content: center; }
    .hero-credit { align-items: center; }

    h2 { font-size: 1.7rem; }
    .light-grid { grid-template-columns: 1fr; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .booking-grid { grid-template-columns: 1fr; gap: 2.4rem; }
    .footer-grid { grid-template-columns: 1fr; }
    .tab { letter-spacing: 0.18em; }
    .wa-label { display: none; }
}

@media (max-width: 480px) {
    .hero-copy h1 { font-size: 1.75rem; }
    .hero-copy { padding: 1.8rem 1.3rem 2.2rem; }
    .brand-name { font-size: 0.68rem; }
    .brand-mark { width: 2rem; height: 2rem; font-size: 0.95rem; }
    .frame figcaption li { font-size: 0.74rem; }
    .accordion-panel { padding-left: 0.4rem; }
    .accordion-trigger span { padding-left: 2.8rem; }
    .booking-card { padding: 1.5rem 1.3rem 1.5rem 2.1rem; }
    .btn { width: 100%; text-align: center; }
    .footer-bottom p { font-size: 0.55rem; letter-spacing: 0.14em; }
    .lightbox img { padding: 0.35rem; }
}
