/* Shared visual architecture derived from the Projetos page. */
body {
  background: var(--color-white);
}

.page-v3 main,
.page-portal main {
  overflow: clip;
}

.page-hero,
.page-v3 .compact-hero,
.page-v3 .home-hero,
.page-v3 .donate-hero,
.page-v3 .contact-hero,
.page-portal .portal-hero {
  min-height: clamp(31rem, 68vh, 45rem);
  padding-block: calc(var(--header-height) + var(--space-6)) var(--space-7);
}

.page-hero::before {
  background-position: center;
}

.page-hero::after {
  background: linear-gradient(90deg, rgb(0 0 0 / .42), rgb(0 0 0 / .08) 62%, rgb(0 0 0 / .18));
}

.page-hero-card,
.page-portal .page-hero-card {
  width: min(100%, 44rem);
  padding: clamp(1.75rem, 4vw, 3rem);
  border: 0;
  border-radius: var(--radius-xl);
  background: rgb(4 13 19 / .72);
  box-shadow: 0 1.25rem 3.5rem rgb(0 0 0 / .28);
  backdrop-filter: none;
}

.page-hero-card h1 {
  max-width: 14ch;
}

.page-hero-card p {
  max-width: 38rem;
}

.page-portal .portal-hero .page-hero-card {
  border-top: 0;
}

.section {
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.intro-section .content-narrow,
.page-portal .portal-hero + .section .portal-section-narrow > .section-head {
  display: grid;
  justify-items: center;
  text-align: center;
}

.intro-section .section-lead {
  max-width: 58rem;
  margin-inline: auto;
}

.photo-split,
.person-row,
.project-row {
  border: 1px solid rgb(7 93 132 / .09);
  border-radius: var(--radius-xl);
  box-shadow: 0 1.2rem 3rem rgb(7 17 23 / .12);
}

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

.panel-yellow {
  background: #e8f5fb;
}

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

.cta-panel,
.cta-panel-yellow,
.cost-panel,
.portal-download-cta,
.annual-result {
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-xl);
  background: var(--color-blue-deep);
  box-shadow: var(--shadow-md);
  color: var(--color-white);
}

.cta-panel h2,
.cta-panel p,
.cta-panel-yellow h2,
.cta-panel-yellow p,
.cost-panel h2,
.cost-panel p,
.portal-download-cta h2,
.portal-download-cta p,
.annual-result h2,
.annual-result p {
  color: var(--color-white);
}

.cta-panel .eyebrow,
.cost-panel .eyebrow,
.portal-download-cta .eyebrow,
.annual-result .eyebrow {
  color: var(--color-blue-light);
}

.cta-panel .eyebrow::before,
.cost-panel .eyebrow::before,
.portal-download-cta .eyebrow::before,
.annual-result .eyebrow::before {
  background: var(--color-blue-light);
}

.contact-main {
  margin-top: 0;
  padding-top: clamp(4.5rem, 8vw, 7rem);
}

.form-card,
.contact-method,
.document-group,
.annual-number,
.pie-panel {
  border-color: rgb(7 93 132 / .13);
  box-shadow: 0 .8rem 2rem rgb(7 17 23 / .08);
}

.page-portal {
  background: var(--color-white);
}

.page-portal .section-soft,
.section-soft {
  background: #f2f8fb;
}

.page-portal .portal-download-cta .button,
.cta-panel .button-primary,
.cost-panel .button-secondary {
  background: var(--color-yellow);
  color: var(--color-black);
}

.footer-belt,
.home-hero-belt {
  display: none;
}

@media (max-width: 48rem) {
  .page-hero,
  .page-v3 .compact-hero,
  .page-v3 .home-hero,
  .page-v3 .donate-hero,
  .page-v3 .contact-hero,
  .page-portal .portal-hero {
    min-height: 34rem;
    padding-block: calc(var(--header-height) + var(--space-5)) var(--space-6);
  }

  .page-hero::after {
    background: linear-gradient(180deg, rgb(0 0 0 / .2), rgb(0 0 0 / .5));
  }
}
