/* Shared public-site layout. Keep browser zoom available for accessibility. */
body.has-unified-header,
body.has-unified-header *,
body.has-unified-header *::before,
body.has-unified-header *::after {
  box-sizing: border-box;
}

body.has-unified-header :is(img, video, iframe, svg) {
  max-width: 100%;
}
body.has-unified-header hr { max-width: 100%; }

body.has-unified-header :is(main, article, form, fieldset),
body.has-unified-header :is(.kv-grid, .kv-team, .kv-split, .kv-contact, .kv-article, .kv-hero__grid) > * {
  min-width: 0;
}

body.has-unified-header :is(h1, h2, h3, p, li, a, label, button) {
  overflow-wrap: break-word;
}

body.has-unified-header .flexwp {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  gap: 32px;
}
body.has-unified-header .flexwp > * { min-width: 0; }
body.has-unified-header .flexwp img { width: 100%; height: auto; }
body.has-unified-header .cont-two hr { max-width: 100%; }

@media (max-width: 980px) {
  body.has-unified-header .kv-grid--2 { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
  /* Show opening photographs at their original ratio, with text below. */
  body.has-unified-header :is(.kv-hero.menu-hero, .pdf-hero.menu-hero) {
    display: block;
    min-height: 0;
    height: auto;
    padding: 0 0 32px;
  }
  body.has-unified-header .menu-hero > .menu-hero__image {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
  }
  body.has-unified-header .menu-hero::before { display: none; }
  body.has-unified-header .menu-hero > :is(.kv-wrap, .pdf-wrap) {
    margin-top: 28px;
  }
  body.has-unified-header .hero-container {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
  }
  body.has-unified-header .hero-bg-img {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    transform: none !important;
  }
  body.has-unified-header .hero-container :is(.overflow, .header-overlay) {
    display: none !important;
  }
  body.has-unified-header .texto-topo-video {
    position: relative !important;
    inset: auto !important;
    width: calc(100% - 32px) !important;
    margin: 24px auto !important;
    padding: 20px !important;
    transform: none !important;
  }
  body.has-unified-header .titulo-video {
    font-size: clamp(1.75rem, 7vw, 3rem) !important;
  }
  body.has-unified-header .hero-arrow { display: none; }

  /* Remove fixed portrait crops and thumbnail zoom on touch screens. */
  body.has-unified-header :is(.kv-person, .kv-article__media, .flexwp, .ebook-card, .unidades-presenca__media) img,
  body.has-unified-header [class^="profissional-"]:not(.profissional-texto):not(.profissional-contato) > img,
  body.has-unified-header [class*=" profissional-"]:not(.profissional-texto):not(.profissional-contato) > img {
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    transform: none !important;
  }
  body.has-unified-header .kv-article__media { min-height: 0; }
  body.has-unified-header .flexwp { grid-template-columns: minmax(0, 1fr); }
  body.has-unified-header .unidades-hero { min-height: 0; background: #11110f; }
  body.has-unified-header .unidades-hero__image {
    position: relative;
    inset: auto;
    display: block;
    height: auto;
    object-fit: contain;
  }
  body.has-unified-header .unidades-hero__overlay { display: none; }
  body.has-unified-header .unidades-hero__content {
    position: relative;
    inset: auto;
    transform: none;
    margin: 0 auto;
    padding: 28px 0 36px;
  }

  /* A profile's old fixed margins and columns cannot fit a phone. */
  body.has-unified-header .quadrado-text {
    margin: 32px 16px;
    width: auto;
    max-width: calc(100% - 32px);
  }
  body.has-unified-header .quadrado-text .conteudo {
    flex-direction: column;
    min-width: 0;
    gap: 24px;
  }
  body.has-unified-header .quadrado-text :is(.cont-left, .cont-rigth) {
    min-width: 0;
    width: auto;
    margin: 16px;
  }
  body.has-unified-header .quadrado-text img { height: auto; }
  body.has-unified-header .quadrado-text .textos { padding: 16px; }
  body.has-unified-header .quadrado-text :is(h1, h2, p) { margin-right: 0; }
  body.has-unified-header .quadrado-text h1 { font-size: clamp(1.75rem, 7vw, 3rem); }
  body.has-unified-header .cont-rigth hr { width: 100%; }

  /* 16px prevents automatic focus zoom in mobile Safari. */
  body.has-unified-header :is(input, select, textarea) {
    min-width: 0;
    max-width: 100%;
    font-size: max(16px, 1rem);
  }
  body.has-unified-header :is(.kv-btn, .btn) {
    max-width: 100%;
    white-space: normal;
  }
}

@media (max-width: 860px) {
  /* Give the home film its own space instead of enlarging it behind text. */
  body.has-unified-header .hero,
  body.has-unified-header .hero__sticky {
    height: auto;
    min-height: 0;
  }
  body.has-unified-header .hero__sticky { display: block; }
  body.has-unified-header .hero__bg {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    object-position: center;
  }
  body.has-unified-header .hero__poster {
    inset: 0 0 auto;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  body.has-unified-header .hero__poster img { height: auto; object-fit: contain; }
  body.has-unified-header .hero__bg-tint { display: none; }
  body.has-unified-header .hero__stage {
    height: auto;
    padding: 28px 20px 36px;
  }
  body.has-unified-header .quem__stats { flex-wrap: wrap; gap: 24px; }
}

@media (max-width: 480px) {
  body.has-unified-header .site-header__logo { min-width: 0; }
  body.has-unified-header .kv-hero__panel { padding: 24px 18px; }
  body.has-unified-header .kv-article__body { padding: 28px 20px; }
}
