/* Apresentação pública e adaptação da primeira dobra para celular. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.abrindo, .abrindo body { overflow: hidden; }
.abertura-site { z-index: 2000; }
.abertura-conteudo { width: min(29vw, 150px); }
.abertura-conteudo p { margin-top: 4px; font-size: clamp(6px, 1.9vw, 10px); line-height: 1.35; letter-spacing: .12em; }
.sem-midia { grid-template-columns: 1fr; gap: 0; }
.sem-midia > div { max-width: 900px; }
.v7-servico-card > h3:first-child, .v7-servico-card > [hidden] + h3 { margin-top: 0; }
.blog-vazio { min-height: 55vh; }
.marca-flutuante { display: none; }
.dados-contato:has(> div:not([hidden])) { display: block; }
.dados-contato:not(:has(> div:not([hidden]))) { display: none; }
.redes:empty, .dados-rodape:not(:has(p:not([hidden]))) { display: none; }
.barra-mobile a[aria-disabled="true"], .rodape-nav a[aria-disabled="true"] { cursor: default; }
@media (max-width: 767px) {
  :root { --margem: 22px; }
  body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
  .cabecalho-interior { min-height: 80px; padding-block: 6px; gap: 10px; flex-wrap: nowrap; }
  .marca { gap: 12px; }
  .menu-botao { flex: 0 0 28px; width: 28px; height: 44px; padding: 0; border-radius: 0; }
  .hamburguer { width: 25px; gap: 7px; }
  .hamburguer span { height: 2px; }
  .logo-cabecalho { flex: 0 0 70px; width: 70px; }
  .nome-marca { font-size: clamp(11px, 3.65vw, 18px); line-height: 1.32; letter-spacing: .12em; }
  .pagina-inicial .hero { gap: 0; padding-top: 22px; padding-bottom: 28px; }
  .pagina-inicial .hero-imagem { margin-bottom: 24px; }
  .pagina-inicial .arte-principal {
    width: calc(100% + 12px);
    max-width: none;
    height: clamp(215px, calc(100svh - 400px), 480px);
    aspect-ratio: auto;
    margin-left: -6px;
  }
  .pagina-inicial .hero .sobretitulo { display: none; }
  .pagina-inicial .hero h1 { font-size: clamp(25px, 7.8vw, 48px); line-height: 1.04; letter-spacing: .075em; }
  .pagina-inicial .hero-subtitulo {
    max-width: 17em;
    font-size: clamp(18px, 5.7vw, 31px);
    line-height: 1.28;
    letter-spacing: .10em;
    margin: 16px 0 0;
    text-wrap: balance;
  }
  .pagina-inicial .hero .introducao { margin-top: 24px; }
  .barra-mobile {
    padding: 0 84px env(safe-area-inset-bottom) 0;
    min-height: calc(60px + env(safe-area-inset-bottom));
    border-top: 0;
    box-shadow: 0 -6px 24px rgb(0 0 0 / 4%);
  }
  .barra-mobile a { position: relative; min-height: 60px; padding: 12px; }
  .barra-mobile a + a::before { content: ''; position: absolute; left: 0; width: 1px; height: 12px; background: #ededed; }
  .barra-mobile a svg { width: 25px; height: 25px; stroke-width: 1.9; background: none; border-radius: 0; }
  .barra-mobile a[data-channel="whatsapp"] { color: #25b84b; }
  .barra-mobile a[data-channel="telefone"] { color: #111; }
  .barra-mobile a[data-channel="telefone"] svg { fill: currentColor; stroke-width: .7; }
  .barra-mobile a[data-channel="instagram"] { color: #101010; }
  .marca-flutuante {
    position: fixed;
    z-index: 91;
    right: 18px;
    bottom: calc(20px + env(safe-area-inset-bottom));
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    padding: 4px;
    border: 1px solid #e3e3e3;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 8px rgb(0 0 0 / 10%);
  }
  .marca-flutuante img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
}
@media (max-width: 359px) {
  :root { --margem: 18px; }
  .logo-cabecalho { flex-basis: 58px; width: 58px; }
  .marca { gap: 8px; }
}
