/* REVIG v28 — capa responsiva; mantém a composição de duas colunas no PC. */
.revig-hero {
  background:
    radial-gradient(ellipse at 83% 78%, #15543b 0, transparent 62%),
    linear-gradient(110deg, #002e23, #003226 72%, #00271f);
}

/* Arco amplo e independente da fotografia, como na referência da campanha. */
.revig-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 2%;
  left: 12%;
  width: 160%;
  aspect-ratio: 1;
  border: 1px solid rgba(193, 211, 118, .44);
  border-radius: 50%;
  background: radial-gradient(ellipse at 20% 13%, rgba(116, 151, 59, .16), transparent 43%);
  box-shadow: -9px -8px 36px rgba(147, 182, 75, .07), inset 15px 16px 54px rgba(164, 189, 86, .12);
  pointer-events: none;
}
.revig-hero-art {
  inset: 0 0 0 auto;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  width: 61%;
  overflow: visible;
}
.revig-hero-art img {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: right bottom;
}
.revig-hero-art::before,
.revig-hero-art::after { content: none; }
.revig-hero-copy { z-index: 1; }

@media (min-width: 700px) and (max-width: 1150px) {
  .revig-hero-art { width: 63%; }
}

@media (max-width: 699px) {
  .revig-home { --header-height: 68px; }
  .revig-home .header,
  .revig-home .header.is-scrolled {
    padding-left: max(18px, env(safe-area-inset-left));
    padding-right: max(18px, env(safe-area-inset-right));
    gap: 12px;
  }
  .revig-home .header > .brand { width: clamp(116px, 33vw, 158px); }
  .revig-home .header-actions { gap: 8px; }
  .revig-home .header-cta,
  .revig-home .header:not(.is-scrolled) .header-cta {
    min-height: 44px;
    height: 44px;
    padding-inline: 13px;
  }
  .revig-home .menu-toggle { flex-basis: 44px; width: 44px; height: 44px; }
  .revig-home .menu-toggle span { left: 12px; top: 17px; width: 18px; }
  .revig-home .menu-toggle span + span { top: 25px; }

  .revig-hero {
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
  }
  .revig-hero::before {
    top: 17%;
    left: -1%;
    width: 210%;
    border-color: rgba(193, 211, 118, .36);
    box-shadow: -6px -5px 25px rgba(147, 182, 75, .06), inset 14px 12px 40px rgba(164, 189, 86, .10);
  }
  .revig-hero-copy {
    order: 0;
    width: 100%;
    max-width: 580px;
    padding: clamp(28px, 7.2vw, 40px) max(18px, 5vw) 18px;
    text-align: center;
  }
  .revig-hero-rule {
    width: 32px;
    margin: 0 auto 18px;
    transform-origin: center;
  }
  .revig-hero-title {
    font-size: clamp(32px, 9.2vw, 54px);
    line-height: 1.08;
    letter-spacing: -.042em;
    text-wrap: balance;
  }
  .revig-title-line { transform-origin: center; }
  .revig-title-gold {
    font-size: 1.12em;
    letter-spacing: -.03em;
    margin-top: 5px;
    padding-right: 0;
  }
  .revig-hero-description {
    max-width: 100%;
    margin: 14px auto 0;
    font-size: clamp(13px, 3.55vw, 17px);
    line-height: 1.55;
    letter-spacing: -.018em;
    color: #e4eae3;
  }
  .revig-hero-actions {
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: clamp(14px, 4vw, 24px);
    row-gap: 10px;
    margin: 21px auto 0;
    max-width: 100%;
    white-space: normal;
  }
  .revig-hero-actions .revig-hero-schedule {
    min-height: 48px;
    max-width: 100%;
    padding: 10px 16px;
    font-size: clamp(12px, 3.1vw, 15px);
    line-height: 1.4;
    border-width: 1px;
    border-radius: 8px;
    white-space: normal;
  }
  .revig-hero-about {
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    gap: 7px;
    padding: 9px 0;
    font-size: clamp(12px, 3.1vw, 15px);
    line-height: 1.4;
    white-space: normal;
  }
  .revig-hero-about .icon { display: block; width: 14px; height: 14px; }
  .revig-hero-art {
    order: 1;
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 560px;
    aspect-ratio: auto;
    margin: 0;
  }
  .revig-hero-art img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center bottom;
  }
}

@media (max-width: 359px) {
  .revig-home .header,
  .revig-home .header.is-scrolled { padding-inline: 12px; gap: 8px; }
  .revig-home .header > .brand { width: 108px; }
  .revig-home .header-actions { gap: 6px; }
  .revig-home .header-cta,
  .revig-home .header:not(.is-scrolled) .header-cta { padding-inline: 11px; }
  .revig-hero-title { font-size: 9.5vw; }
  .revig-hero-copy { padding-top: 26px; }
  .revig-hero-actions { column-gap: 12px; }
  .revig-hero-actions .revig-hero-schedule { padding-inline: 12px; }
  .revig-hero-about { gap: 5px; }
}
