/* Casa Offices — telas menores */
.menu { display: flex; gap: 28px; }
@media (max-width: 1060px) { .menu { gap: 18px; font-size: .88rem; } }
.menu-botao, .menu .so-movel { display: none; }
@media (max-width: 860px) {
  .menu-botao { display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; width: 46px; height: 46px; padding: 0 12px; border: 2px solid var(--grafite); border-radius: 50%; background: transparent; cursor: pointer; }
  .menu-botao span { display: block; height: 2px; background: var(--grafite); border-radius: 2px; transition: transform .3s, opacity .3s; }
  .topo.menu-aberto .menu-botao span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .topo.menu-aberto .menu-botao span:nth-child(2) { opacity: 0; }
  .topo.menu-aberto .menu-botao span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .topo-linha { position: relative; }
  .menu { display: none; position: absolute; left: -20px; right: -20px; top: calc(100% + 12px); flex-direction: column; gap: 0; padding: 12px 20px 24px; background: var(--creme); border-bottom: 2px solid var(--grafite); box-shadow: 0 30px 40px -20px rgba(21, 21, 22, .35); }
  .topo.menu-aberto .menu { display: flex; }
  .menu a { font: 800 1.7rem var(--titulo); letter-spacing: -.02em; padding: 14px 0; border-bottom: 1px solid var(--linha); }
  .menu a::after { display: none; }
  .menu .so-movel { display: inline-flex; margin-top: 16px; font: 600 1rem var(--corpo); letter-spacing: 0; border-bottom: 0; padding: 15px 28px; }
  .menu .botao-vermelho { color: #fff; }
  .menu .botao-contorno { color: var(--grafite); margin-top: 10px; }
  .hero-grade, .duas, .local-grade, .detalhe-sala, .aval-resumo { grid-template-columns: 1fr; }
  .casa-foto { max-width: 420px; margin: 0 auto 6%; width: 100%; }
  .conecte-grade, .passos { grid-template-columns: 1fr; }
  .cartao-social, .cartao-social:nth-child(2) { margin-top: 0; min-height: 0; }
  .passos::before, .passos::after { display: none; }
  .passo { padding-top: 66px; }
  .formulario { grid-template-columns: 1fr; box-shadow: 6px 6px 0 var(--vermelho); }
  .paineis { flex-direction: column; height: auto; }
  .painel { flex: none; height: 88px; transition: height .65s cubic-bezier(.2, .8, .2, 1); }
  .painel.ativo { height: 460px; }
  .painel-nome { writing-mode: horizontal-tb; transform: none; left: 22px; bottom: 22px; font-size: 1.5rem; }
  .painel-corpo { padding: 22px; }
  .portas-sala { gap: 8px; }
  .detalhe-foto { min-height: 260px; }
}
@media (max-width: 520px) {
  .topo-acoes .botao-contorno { display: none; }
  .marca img { height: 40px; }
  .selo-giro { width: 104px; height: 104px; right: -2%; }
  .selo-giro text { font-size: 14px; }
  .hero .acoes .botao { flex: 1 1 100%; }
  .porta-sala small { display: none; }
  .wpp-flutua span { display: none; }
  .wpp-flutua { padding: 15px; }
}
