.hero-content {
  width: min(100% - 64px, 1240px);
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  padding-right: clamp(80px, 12vw, 220px);
}
 
.hero-eyebrow {
  position: relative;
  z-index: 3;
}
 
.hero {
  padding-top: 82px;
  padding-bottom: 64px;
  height: auto;
  min-height: 0;
  max-height: none;
  justify-content: flex-start;
  box-sizing: border-box;
}
 
.site-shell {
  padding-top: 0;
  overflow: clip;
}
 
.site-shell .signal-strip {
  display: none;
}
 
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 20;
  background: #050505;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  transform: translateY(0);
  will-change: transform;
  transition: transform .3s ease-in-out, background .24s ease, color .24s ease, box-shadow .24s ease;
}
 
body.smart-header-hidden .site-header {
  transform: translateY(-100%);
  pointer-events: none;
}
 
.info-section {
  scroll-margin-top: 104px;
}
 
.legal-page .legal-aside .section-index {
  display: none;
}
 
.legal-page .legal-aside h1 {
  font-size: clamp(42px, 4vw, 64px);
  line-height: .9;
}
 
.legal-page .legal-content h2 {
  font-size: clamp(34px, 4vw, 56px);
  line-height: .92;
}
 
.progress-rail.is-on-light a,
.registration-rail.is-on-light a {
  color: #050505;
  text-shadow: none;
}
 
.progress-rail.is-on-light span,
.registration-rail.is-on-light span,
.progress-rail.is-on-light b,
.registration-rail.is-on-light b {
  color: #050505;
}
 
.progress-rail.is-on-light a:hover,
.progress-rail.is-on-light a.is-active,
.registration-rail.is-on-light a:hover,
.registration-rail.is-on-light a.is-active {
  color: #8a7600;
}
 
.progress-rail.is-on-light .progress-rail-line,
.registration-rail.is-on-light .progress-rail-line {
  background: rgba(5, 5, 5, .75) !important;
  box-shadow: none !important;
}

/* Números (caixas) sobre secções claras: fundo claro, texto e borda pretos */
.progress-rail.is-on-light b,
.registration-rail.is-on-light b,
.progress-rail.is-on-light a b,
.registration-rail.is-on-light a b {
  background: #f4f1e8 !important;
  color: #050505 !important;
  border-color: #050505 !important;
}

.progress-rail.is-on-light a:hover b,
.progress-rail.is-on-light a.is-active b,
.registration-rail.is-on-light a:hover b,
.registration-rail.is-on-light a.is-active b {
  background: #f4f1e8 !important;
  color: #050505 !important;
  border-color: #050505 !important;
}
 
.hero h1 {
  max-width: 680px;
  text-wrap: balance;
}
 
.hero-photo {
  background-size: 108% auto;
  background-position: 50% 52%;
}
 
.hero-photo:nth-child(1) {
  background-position: 54% 57%;
}
 
.hero-photo:nth-child(2) {
  background-size: 101% auto;
  background-position: 59% 48%;
  opacity: 0;
}
 
.hero-photo:nth-child(2).is-active {
  opacity: .68;
}
 
.hero-photo:nth-child(3) {
  background-position: 57% 55%;
}
 
.hero-scrim {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .58) 32%, rgba(0, 0, 0, .14) 66%, rgba(0, 0, 0, .04) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .62), transparent 48%);
}
 
.hero-meta {
  position: relative;
  z-index: 2;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: min(100% - 64px, 1240px);
  margin: clamp(12px, 2vh, 24px) auto 0;
  box-sizing: border-box;
  transform: none;
  flex-wrap: wrap;
  align-items: end;
}
 
@media (min-width: 801px) {
  .hero-content {
    transform: none;
    margin-top: 0;
    padding-top: clamp(56px, 8vh, 96px);
    padding-bottom: 0;
  }
}
 
@media (max-width: 800px) {
  .site-shell {
    padding-top: 0;
  }
 
  .hero-content {
    width: calc(100% - 40px);
    margin-top: 0;
    padding: 16px 0 0;
  }
 
  .hero {
    padding-top: 70px;
    padding-bottom: 48px;
    height: auto;
    min-height: 0;
    max-height: none;
    justify-content: flex-start;
  }
 
  .hero h1 {
    max-width: 100%;
  }
 
  .hero-meta {
    width: calc(100% - 40px);
    margin-top: 12px;
    gap: 28px;
    align-items: start;
  }
 
  .hero-photo {
    background-size: auto 108%;
    background-position: 55% center;
  }
 
  .hero-photo:nth-child(1) {
    background-position: 58% 54%;
  }
 
  .hero-photo:nth-child(2) {
    background-size: auto 102%;
    background-position: 60% center;
    opacity: 0;
  }
 
  .hero-photo:nth-child(2).is-active {
    opacity: .74;
  }
 
  .hero-photo:nth-child(3) {
    background-position: 60% 54%;
  }
}
 
/* FIX: o hero tem de crescer para conter o .hero-meta (texto por baixo dos botões) */
.site-shell .hero {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden;
  position: relative;
}
 
.site-shell .hero > .hero-meta {
  position: relative !important;
  inset: auto !important;
  margin-top: 12px !important;
  z-index: 2;
}
/* FIX 2: texto logo por baixo dos botões (sem espaço a mais entre .hero-content e .hero-meta) */
.site-shell .hero > .hero-content {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.site-shell .hero .hero-actions {
  margin-bottom: 0 !important;
}

.site-shell .hero > .hero-meta {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  align-self: center;
}