.page-v3 main {
  overflow: clip;
}

.compact-hero {
  min-height: clamp(30rem, 66vh, 43rem);
}

.about-hero { --hero-image: url("../../img/photos/quem-somos-hero.webp"); }
.history-hero { --hero-image: url("../../img/photos/historia-hero.webp"); }
.mvv-hero { --hero-image: url("../../img/photos/mvv-hero.webp"); }
.identity-hero { --hero-image: url("../../img/photos/identidade-hero.webp"); }
.founders-hero { --hero-image: url("../../img/photos/equipe-hero.webp"); }
.projects-hero { --hero-image: url("../../img/photos/projetos-hero.webp"); }
.contact-hero { --hero-image: url("../../img/photos/contato-hero.webp"); }
.transparency-hero { --hero-image: url("../../img/photos/transparencia-hero.webp"); }

.intro-section .section-title,
.content-narrow .section-title {
  margin-inline: auto;
}

.center-cluster {
  justify-content: center;
}

.photo-split {
  display: grid;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--color-white);
  box-shadow: var(--shadow-md);
}

.photo-split-media {
  position: relative;
  display: block;
  min-height: clamp(19rem, 62vw, 30rem);
  overflow: hidden;
  background: var(--color-gray-100);
}

.photo-split-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.photo-split-content {
  display: grid;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  align-content: center;
  justify-items: start;
  gap: var(--space-4);
}

.photo-split-content h2,
.photo-split-content h3,
.panel-blue h2,
.panel-blue h3,
.panel-yellow h2,
.panel-yellow h3 {
  color: var(--color-black);
}

.photo-split-content p,
.panel-blue p,
.panel-yellow p {
  color: var(--color-black);
}

.panel-blue {
  background: var(--color-blue);
  color: var(--color-black);
}

.panel-yellow {
  background: var(--color-blue-light);
  color: var(--color-black);
}

.panel-blue .eyebrow,
.panel-yellow .eyebrow {
  color: var(--color-black);
}

.panel-blue .eyebrow::before {
  background: var(--color-blue-light);
}

.panel-yellow .eyebrow::before {
  background: var(--color-blue);
}

.impact-ribbon {
  background: var(--color-dark);
  color: var(--color-white);
}

.impact-ribbon-inner {
  display: grid;
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
  gap: 1rem;
}

.impact-ribbon-inner div {
  display: grid;
  padding: .55rem 0;
  border-bottom: 1px solid rgb(255 255 255 / .15);
  gap: .2rem;
}

.impact-ribbon-inner div:last-child {
  border-bottom: 0;
}

.impact-ribbon-inner strong {
  color: var(--color-blue-light);
  font-family: var(--font-title);
  text-transform: uppercase;
  font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.7rem);
  font-weight: 400;
  line-height: 1;
}

.impact-ribbon-inner span {
  color: #dce5e9;
  font-size: var(--step--1);
}

.statement-text {
  max-width: 42ch;
  font-size: var(--step-1);
  font-weight: 650;
  line-height: 1.55;
}

.definition-list {
  display: grid;
  width: 100%;
  gap: .75rem;
}

.definition-list > div {
  padding: .9rem 0;
  border-top: 1px solid rgb(0 0 0 / .2);
}

.definition-list dt {
  font-family: var(--font-title);
  text-transform: uppercase;
  font-size: 1.45rem;
  line-height: 1.1;
}

.definition-list dd {
  margin-top: .25rem;
}

.definition-list-compact {
  gap: 0;
}

.definition-list-compact > div {
  padding-block: .55rem;
}

.definition-list-compact dt {
  font-size: 1.2rem;
}

.identity-preview,
.identity-character {
  display: grid;
  background: linear-gradient(145deg, #e9edf0, #cfd5d9);
  place-items: end center;
}

.identity-preview img,
.identity-character img {
  width: min(86%, 31rem);
  height: auto;
  min-height: 0;
  object-fit: contain;
}

.identity-lineup {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(13rem, 1fr);
  padding-bottom: .75rem;
  gap: var(--space-4);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

.identity-lineup figure {
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .15);
  border-radius: var(--radius-lg);
  background: #d9dde0;
  scroll-snap-align: start;
}

.identity-lineup img {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
}

.identity-lineup figcaption {
  padding: .85rem;
  background: var(--color-blue-light);
  color: var(--color-black);
  font-weight: 700;
  text-align: center;
}

.people-list,
.projects-list .container {
  display: grid;
  gap: var(--space-6);
}

.person-row,
.project-row {
  display: grid;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--color-white);
  box-shadow: var(--shadow-md);
}

.person-photo,
.project-row-media {
  min-height: 20rem;
  background: var(--color-gray-100);
}

.person-photo img,
.project-row-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.person-copy,
.project-row-copy {
  display: grid;
  padding: clamp(1.5rem, 5vw, 3.25rem);
  align-content: center;
  justify-items: start;
  gap: var(--space-3);
}

.person-role,
.project-location {
  font-size: var(--step--1);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.person-copy strong {
  display: inline-block;
  margin-top: .35rem;
}

.project-row-copy .button {
  margin-top: var(--space-2);
}

.contact-hero {
  min-height: clamp(27rem, 58vh, 36rem);
  padding-bottom: 7rem;
}

.contact-main {
  position: relative;
  z-index: 2;
  margin-top: -5rem;
  padding-top: 0;
}

.redirect-page {
  display: grid;
  min-height: 100vh;
  padding-top: var(--header-height);
  align-items: center;
  background: var(--color-gray-50);
}

@media (max-width: 48rem) {
  .about-hero { --hero-image: url("../../img/photos/quem-somos-hero.webp"); }
  .history-hero { --hero-image: url("../../img/photos/historia-hero.webp"); }
  .mvv-hero { --hero-image: url("../../img/photos/mvv-hero.webp"); }
  .identity-hero { --hero-image: url("../../img/photos/identidade-hero.webp"); }
  .founders-hero { --hero-image: url("../../img/photos/equipe-hero.webp"); }
  .projects-hero { --hero-image: url("../../img/photos/projetos-hero.webp"); }
  .contact-hero { --hero-image: url("../../img/photos/contato-hero.webp"); }
  .transparency-hero { --hero-image: url("../../img/photos/transparencia-hero.webp"); }
}

@media (min-width: 48rem) {
  .impact-ribbon-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .impact-ribbon-inner div {
    padding: .35rem clamp(1rem, 3vw, 2rem);
    border-right: 1px solid rgb(255 255 255 / .15);
    border-bottom: 0;
  }

  .impact-ribbon-inner div:first-child {
    padding-left: 0;
  }

  .impact-ribbon-inner div:last-child {
    padding-right: 0;
    border-right: 0;
  }
}

@media (min-width: 60rem) {
  .photo-split,
  .person-row,
  .project-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .photo-split-reverse .photo-split-media,
  .person-row-reverse .person-photo,
  .project-row-reverse .project-row-media {
    order: 2;
  }

  .photo-split-media,
  .person-photo,
  .project-row-media {
    min-height: 32rem;
  }

  .photo-split-tall .photo-split-media {
    min-height: 46rem;
  }

  .identity-feature {
    grid-template-columns: minmax(20rem, .85fr) minmax(0, 1.15fr);
  }

  .identity-lineup {
    grid-auto-flow: initial;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .person-row,
  .project-row {
    grid-template-columns: minmax(20rem, .8fr) minmax(0, 1.2fr);
  }

  .person-row-reverse,
  .project-row-reverse {
    grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
  }
}
