/* ==========================================
   RESPONSIVO: DESKTOP MENOR
   ========================================== */
@media (max-width: 1380px) {
  .conteiner {
    padding: 0 1.5rem;
  }

  .caixa-imagem-inicio {
    position: relative;
    justify-content: center;
    min-height: 560px;
  }

  .imagem-camera {
    width: min(100%, 700px);
    margin-left: 220px;
    margin-top: -60px;
  }

  .brilho {
    right: -160px;
    margin-top: -160px;
    width: 80%;
  }

  .reflexo {
    right: 420px;
    margin-top: -70px;
    width: 200px;
  }

  .titulo-lateral-contato {
    font-size: 150px;
  }
}

/* ==========================================
   RESPONSIVO: TABLET GRANDE
   ========================================== */
@media (max-width: 1380px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1360px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1340px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1320px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1300px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1280px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1182px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
  }
@media (max-width: 1180px) {
  .links-navegacao {
    gap: 1.5rem;
  }

  .inicio {
    min-height: auto;
    padding-top: calc(var(--header-height) + 60px); /* Aumentado para respiro do logo */
    padding-bottom: 60px;
    margin-bottom: 110px;
  }

  .conteudo-inicio {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .texto-inicio {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .texto-inicio h1 {
    font-size: clamp(3rem, 7vw, 4.6rem);
  }

  .texto-inicio p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .botoes-inicio {
    justify-content: center;
  }

  .caixa-imagem-inicio {
    display: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .visual-sobre {
    max-width: 560px;
    margin: 0 auto;
  }

  .grade-clientes {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-cliente,
  .card-cliente:hover {
    height: 860px;
  }

  .estrutura-galeria {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .lateral-galeria {
    position: static;
  }

  .descricao-galeria {
    max-width: 100%;
  }

  .filtros-galeria {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .filtro-galeria {
    width: auto;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
  }

  .filtro-galeria:hover,
  .filtro-galeria.ativo {
    padding-left: 16px;
    background: rgba(255, 102, 0, 0.08);
  }

  .grade-galeria {
    min-height: 760px;
  }

  .estrutura-contato {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .titulo-lateral-contato {
    writing-mode: initial;
    transform: none;
    font-size: 4.6rem;
    line-height: 1;
    letter-spacing: 0.12rem;
    margin-top: 0;
  }

  .rodape-contato {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   RESPONSIVO: TABLET
   ========================================== */
@media (max-width: 920px) {
  header {
    height: auto;
    padding: 24px 0;
  }

  header.rolado {
    height: auto !important;
    padding: 16px 0;
  }

  nav {
    flex-direction: column;
    gap: 14px;
  }

  .links-navegacao {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem 1.4rem;
  }

  .inicio {
    padding-top: 200px; /* Aumentado para o logo não ser cortado */
  }

  .texto-inicio h1 {
    font-size: clamp(2.7rem, 8vw, 4rem);
  }

  .titulo-principal,
  .titulo-galeria {
    font-size: 3.2rem;
  }

  .grade-clientes {
    grid-template-columns: 1fr;
  }

  .card-cliente,
  .card-cliente:hover {
    height: 1060px;
  }

  .secao-galeria {
    padding: 100px 0 110px;
  }

  .cabecalho-galeria {
    flex-direction: column;
    align-items: flex-start;
  }

  .grade-galeria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 110px;
    min-height: 710px;
  }

  .item-galeria,
  .item-galeria.tamanho-quadrado,
  .item-galeria.tamanho-alto,
  .item-galeria.tamanho-largo,
  .item-galeria.tamanho-grande {
    grid-column: span 6;
    grid-row: span 8;
    min-height: 620px;
  }

  .cabecalho-contato h2,
  .cabecalho-contato p {
    font-size: 1.7rem;
  }

  .titulo-social-contato{
    display: none;
  }
}

/* ==========================================
   RESPONSIVO: CELULAR
   ========================================== */

@media (max-width: 640px) {
  .conteiner {
    padding: 0 1rem;
  }

  .texto-logo {
    font-size: 1.2rem;
  }

  .links-navegacao {
    gap: 0.8rem 1rem;
  }

  .links-navegacao a {
    font-size: 0.78rem;
    letter-spacing: 0.08rem;
  }

  .inicio {
    padding-top: 220px; /* Aumentado para dar respiro total à logo no mobile */
    padding-bottom: 36px;
    margin-bottom: 80px;
  }

  .texto-inicio h1 {
    font-size: clamp(2.2rem, 10vw, 3rem);
    line-height: 1.02;
  }

  .texto-inicio p {
    font-size: 0.98rem;
    line-height: 1.55;
    margin-bottom: 2rem;
  }

  .botoes-inicio {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    max-width: 280px;
    margin: 0 auto;
  }

  .botao {
    width: 100%;
    text-align: center;
    padding: 1rem 1.3rem;
  }

  .sobre {
    padding: 86px 0;
  }

  .titulo-principal,
  .titulo-galeria {
    font-size: 2.5rem;
  }

  .texto-bio {
    font-size: 1rem;
  }

  .card-info-tecnico {
    padding: 20px;
  }

  .secao-clientes {
    margin-top: 90px;
  }

  .titulo-clientes {
    font-size: 0.95rem;
    letter-spacing: 0.18rem;
  }

  /* Ajustado para iPhones maiores (Pro Max) não cortarem a foto */
  .card-cliente,
  .card-cliente:hover {
    height: 500px;
  }

  .foto-cliente {
    object-fit: cover;
    object-position: center;
  }

  .sociais-cliente {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .secao-galeria {
    padding: 86px 0 94px;
  }

  .apoio-galeria {
    letter-spacing: 0.18rem;
  }

  .filtros-galeria {
    gap: 10px;
  }

  .filtro-galeria {
    padding: 9px 14px;
    font-size: 0.88rem;
  }

  .grade-galeria {
    grid-template-columns: 1fr;
    grid-auto-rows: 120px;
    min-height: auto;
  }

  .item-galeria,
  .item-galeria.tamanho-quadrado,
  .item-galeria.tamanho-alto,
  .item-galeria.tamanho-largo,
  .item-galeria.tamanho-grande {
    grid-column: span 4;
    grid-row: span 6;
    min-height: 550px;
  }

  .secao-contato {
    padding: 82px 0 88px;
  }

  .titulo-lateral-contato {
    font-size: 2.7rem;
  }

  .cabecalho-contato {
    text-align: left;
  }

  .cabecalho-contato h2,
  .cabecalho-contato p {
    font-size: 1.35rem;
    line-height: 1.05;
  }

  .linha-formulario-contato {
    grid-template-columns: 1fr;
  }

  .campo-contato input,
  .campo-contato textarea {
    font-size: 0.95rem;
  }

  .botao-enviar-contato {
    font-size: 1rem;
  }

  .card-social-contato,
  .card-visual-contato,
  .mapa-contato {
    min-height: 180px;
  }

  .rotulo-social-contato {
    font-size: 0.82rem;
  }

  .item-email-contato .rotulo-social-contato {
    font-size: 0.72rem;
  }

  .titulo-social-contato{
    display: none;
  }
}

/* ==========================================
   RESPONSIVO: CELULAR PEQUENO
   ========================================== */
@media (max-width: 420px) {
  .inicio {
    padding-top: 230px; /* Respiro máximo para evitar corte da logo em telas minúsculas */
  }

  .texto-inicio h1 {
    font-size: 2rem;
  }

  .texto-inicio p {
    font-size: 0.92rem;
  }

  .titulo-principal,
  .titulo-galeria {
    font-size: 2.15rem;
  }

  .titulo-lateral-contato {
    font-size: 2.3rem;
  }

  /* Mantido em 500px para consistência visual */
  .card-cliente,
  .card-cliente:hover {
    height: 500px;
  }

  .card-social-contato,
  .card-visual-contato,
  .mapa-contato {
    min-height: 160px;
  }

  .titulo-social-contato{
    display: none;
  }
}