/* Hero exclusiva da home. A foto pode ser trocada no template sem alterar o layout. */
.home-hero {
  --home-hero-wine-rgb: 123, 24, 34;
  --home-hero-wine: rgb(var(--home-hero-wine-rgb));
  --home-hero-wine-dark: #601019;
  --home-hero-cream: #fffaf6;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 47%) minmax(28rem, 53%);
  height: clamp(40rem, calc(100svh - 5.75rem), 48rem);
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--home-hero-wine);
}

/* O mesmo vinho-base perde somente opacidade sobre a fotografia. */
.home-hero::after {
  display: None;
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: calc(47% - 1px);
  width: clamp(14rem, 16vw, 20rem);
  content: "";
  pointer-events: none;
  background: linear-gradient(
    90deg,
    var(--home-hero-wine) 0%,
    rgba(var(--home-hero-wine-rgb), 0.98) 8%,
    rgba(var(--home-hero-wine-rgb), 0.92) 19%,
    rgba(var(--home-hero-wine-rgb), 0.81) 33%,
    rgba(var(--home-hero-wine-rgb), 0.66) 47%,
    rgba(var(--home-hero-wine-rgb), 0.49) 61%,
    rgba(var(--home-hero-wine-rgb), 0.32) 74%,
    rgba(var(--home-hero-wine-rgb), 0.18) 85%,
    rgba(var(--home-hero-wine-rgb), 0.07) 94%,
    transparent 100%
  );
}

.home-hero__wine {
  position: relative;
  z-index: 3;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: clamp(3.4rem, 5.5vw, 5.7rem) clamp(1.75rem, 3.4vw, 3.8rem) clamp(2.4rem, 4vw, 3.7rem) max(2rem, calc((100vw - 75rem) / 2));
  color: var(--home-hero-cream);
  background: linear-gradient(110deg, rgba(66, 7, 15, 0.2) 0%, rgba(66, 7, 15, 0.08) 42%, transparent 70%);
}

.home-hero__wine::before,
.home-hero__wine::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}

.home-hero__wine::before {
  display: None;
  right: -9rem;
  bottom: -15rem;
  width: 34rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  box-shadow: 0 0 0 4.5rem rgba(255, 255, 255, 0.018), 0 0 0 9rem rgba(255, 255, 255, 0.012);
}

.home-hero__wine::after {
  display: none;
}

.home-hero__content {
  width: min(100%, 43rem);
}

.home-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.2rem;
  color: rgba(255, 250, 246, 0.92);
  font-size: clamp(0.72rem, 0.86vw, 0.86rem);
  font-weight: 750;
  letter-spacing: 0.28em;
  line-height: 1.4;
  text-transform: uppercase;
}

.home-hero__eyebrow::after {
  width: clamp(2.4rem, 4vw, 4rem);
  height: 1px;
  content: "";
  background: rgba(255, 250, 246, 0.58);
}

.home-hero h1 {
  max-width: 13.5ch;
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 5.25vw, 5rem);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1.07;
  text-wrap: normal;
}

.home-hero__description {
  max-width: 34rem;
  margin: 1.55rem 0 0;
  color: rgba(255, 250, 246, 0.86);
  font-size: clamp(1rem, 1.18vw, 1.16rem);
  line-height: 1.58;
}

.home-hero__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 39rem);
  gap: 0.75rem;
  margin-top: 2rem;
}

.home-hero__button {
  display: inline-flex;
  min-width: 0;
  min-height: 3.8rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 0.55rem;
  padding: 0.9rem 1.15rem;
  color: #fff;
  font-size: 0.89rem;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.home-hero__button--primary {
  border-color: var(--home-hero-cream);
  color: #841723;
  background: var(--home-hero-cream);
}

.home-hero__button span {
  flex: 0 0 auto;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1;
  transition: transform 180ms ease;
}

.home-hero__button:hover,
.home-hero__button:focus-visible {
  transform: translateY(-2px);
}

.home-hero__button--primary:hover,
.home-hero__button--primary:focus-visible {
  background: #fff;
}

.home-hero__button--outline:hover,
.home-hero__button--outline:focus-visible {
  color: #76131e;
  background: var(--home-hero-cream);
}

.home-hero__button:hover span,
.home-hero__button:focus-visible span {
  transform: translateX(0.25rem);
}

.home-hero__button:focus-visible,
.home-hero__trust-item--google:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.86);
  outline-offset: 3px;
}

.home-hero__trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 43rem);
  gap: 0;
  margin-top: clamp(2.2rem, 4.5vh, 3.4rem);
}

.home-hero__trust-item {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  gap: 0.65rem;
  padding: 0.15rem clamp(0.75rem, 1.3vw, 1.15rem);
  color: inherit;
  text-decoration: none;
}

.home-hero__trust-item:first-child {
  padding-left: 0;
}

.home-hero__trust-item + .home-hero__trust-item {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.home-hero__trust-icon,
.home-hero__google {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
}

.home-hero__trust-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.home-hero__google {
  display: flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  align-items: center;
  justify-content: center;
}

.home-hero__google img {
  display: block;
  width: 1.65rem;
  height: 1.65rem;
  object-fit: contain;
}

.home-hero__trust-copy {
  display: grid;
  min-width: 0;
  gap: 0.18rem;
}

.home-hero__trust-copy strong,
.home-hero__trust-copy small {
  display: block;
}

.home-hero__trust-copy strong {
  color: #fff;
  font-size: clamp(0.69rem, 0.72vw, 0.79rem);
  line-height: 1.28;
}

.home-hero__trust-copy small {
  color: rgba(255, 250, 246, 0.7);
  font-size: clamp(0.59rem, 0.62vw, 0.68rem);
  line-height: 1.35;
}

.home-hero__stars {
  color: #e8b54b;
  font-size: 0.62rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.home-hero__media {
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: var(--home-hero-wine);
}

.home-hero__media::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(0deg, rgba(48, 9, 15, 0.2), transparent 40%);
}

.home-hero__media .home-hero__slide {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 54% 46%;
  filter: saturate(0.88) contrast(1.02);
  opacity: 1;
  transform: scale(1.015);
  pointer-events: none;
}

@media (max-width: 63.99rem) {
  .home-hero {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    min-height: 0;
  }

  .home-hero::after {
    display: none;
  }

  .home-hero__wine {
    justify-content: flex-start;
    overflow: visible;
    padding: clamp(2.55rem, 8vw, 3.7rem) clamp(1.7rem, 7vw, 2.35rem) clamp(1.8rem, 5vw, 2.6rem);
    background: linear-gradient(110deg, rgba(66, 7, 15, 0.18) 0%, rgba(66, 7, 15, 0.06) 46%, transparent 72%);
  }

  .home-hero__wine::after {
    display: none;
  }

  .home-hero__content,
  .home-hero__trust {
    width: min(100%, 40rem);
    margin-right: auto;
    margin-left: auto;
  }

  .home-hero h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 12.8vw, 4.65rem);
    line-height: 0.96;
  }

  .home-hero__description {
    max-width: 32rem;
    margin-top: 1.25rem;
    font-size: clamp(1rem, 4.25vw, 1.2rem);
    line-height: 1.55;
  }

  .home-hero__actions {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 0.65rem;
    margin-top: 1.4rem;
  }

  .home-hero__button {
    min-height: 3.45rem;
    padding-inline: 1.25rem;
    font-size: clamp(0.88rem, 3.7vw, 1rem);
  }

  .home-hero__trust {
    margin-top: clamp(2rem, 6.5vw, 3rem);
  }

  .home-hero__trust-item {
    grid-template-columns: 1.55rem minmax(0, 1fr);
    gap: 0.4rem;
    padding: 0 0.5rem;
  }

  .home-hero__trust-item:first-child {
    padding-left: 0;
  }

  .home-hero__trust-item:last-child {
    padding-right: 0;
  }

  .home-hero__trust-icon,
  .home-hero__google {
    width: 1.55rem;
    height: 1.55rem;
  }

  .home-hero__trust-icon svg {
    width: 1.45rem;
    height: 1.45rem;
  }

  .home-hero__google {
    font-size: 1.38rem;
  }

  .home-hero__trust-copy strong {
    font-size: clamp(0.65rem, 2.6vw, 0.76rem);
  }

  .home-hero__trust-copy small {
    font-size: clamp(0.54rem, 2.15vw, 0.64rem);
  }

  .home-hero__media {
    height: clamp(16.5rem, 74vw, 22rem);
    min-height: 0;
    margin-top: -0.2rem;
    border-radius: 50% 50% 0 0 / 2.8rem 2.8rem 0 0;
  }

  .home-hero__media::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: clamp(4.75rem, 20vw, 6.25rem);
    display: block;
    content: "";
    pointer-events: none;
    background: linear-gradient(
      180deg,
      var(--home-hero-wine) 0%,
      rgba(var(--home-hero-wine-rgb), 0.94) 12%,
      rgba(var(--home-hero-wine-rgb), 0.8) 30%,
      rgba(var(--home-hero-wine-rgb), 0.59) 49%,
      rgba(var(--home-hero-wine-rgb), 0.36) 67%,
      rgba(var(--home-hero-wine-rgb), 0.16) 83%,
      transparent 100%
    );
  }

  .home-hero__media::after {
    background: linear-gradient(0deg, rgba(47, 8, 13, 0.25), transparent 45%);
  }

  .home-hero__media .home-hero__slide {
    object-position: 50% 39%;
  }
}

@media (max-width: 28rem) {
  .home-page .site-header__container {
    grid-template-columns: minmax(0, 1fr) auto;
    width: calc(100% - 2rem);
    min-height: 4.8rem;
    padding-block: 0;
  }

  .home-page .brand img {
    width: clamp(8.5rem, 38vw, 9.5rem);
  }

  .home-page .header-actions {
    display: none;
  }

  .home-page .menu-toggle {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 22rem) {
  .home-hero__wine {
    padding-inline: clamp(1.2rem, 7vw, 1.55rem);
  }

  .home-hero__eyebrow {
    letter-spacing: 0.22em;
  }

  .home-hero h1 {
    font-size: clamp(2.72rem, 12.7vw, 3.35rem);
  }

  .home-hero__trust-item {
    grid-template-columns: 1.45rem minmax(0, 1fr);
    gap: 0.3rem;
    padding-inline: 0.45rem;
  }

  .home-hero__trust-icon,
  .home-hero__google {
    width: 1.45rem;
    height: 1.45rem;
  }

  .home-hero__trust-icon svg {
    width: 1.35rem;
    height: 1.35rem;
  }

  .home-hero__trust-copy strong {
    font-size: 0.6rem;
  }

  .home-hero__trust-copy small {
    font-size: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__media .home-hero__slide {
    animation: none;
    transition: none;
  }

  .home-hero__button,
  .home-hero__button span {
    transition: none;
  }
}
@media (max-width: 63.99rem) {
  .home-hero__media {
    height: clamp(16.5rem, 74vw, 22rem);
    min-height: 0;
    margin-top: 0;
    border-radius: 2rem 2rem 0 0;
    overflow: hidden;
  }

  .home-hero__media::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: clamp(3.4rem, 14vw, 4.8rem);
    display: block;
    content: "";
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(var(--home-hero-wine-rgb), 0.90) 0%,
      rgba(var(--home-hero-wine-rgb), 0.72) 18%,
      rgba(var(--home-hero-wine-rgb), 0.46) 42%,
      rgba(var(--home-hero-wine-rgb), 0.20) 68%,
      transparent 100%
    );
  }

  .home-hero__media::after {
    background: linear-gradient(
      0deg,
      rgba(47, 8, 13, 0.16),
      transparent 42%
    );
  }

  .home-hero__media .home-hero__slide {
    object-position: 50% 36%;
  }
}
@media (prefers-reduced-motion: no-preference) {

  .home-hero__eyebrow,
  .home-hero h1,
  .home-hero__description,
  .home-hero__actions,
  .home-hero__trust {
    opacity: 0;
    animation:
      home-hero-content-in
      780ms
      cubic-bezier(0.16, 1, 0.3, 1)
      both;
  }

  .home-hero__eyebrow {
    animation-delay: 120ms;
  }

  .home-hero h1 {
    animation-delay: 220ms;
  }

  .home-hero__description {
    animation-delay: 340ms;
  }

  .home-hero__actions {
    animation-delay: 460ms;
  }

  .home-hero__trust {
    animation-delay: 600ms;
  }
}

@keyframes home-hero-content-in {
  from {
    opacity: 0;
    transform: translateY(1.2rem);
    filter: blur(3px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .home-hero::after {
    animation:
      home-hero-gradient-in
      1.25s
      cubic-bezier(0.16, 1, 0.3, 1)
      both;
  }
}

@keyframes home-hero-gradient-in {
  from {
    opacity: 0;
    transform: translateX(-2rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Composição final: fotografia em toda a hero e vinho em uma única camada contínua. */
.home-page .home-hero {
  display: block;
  height: auto;
  min-height: clamp(40rem, calc(100svh - 5.75rem), 48rem);
  background: #590c16;
}

.home-page .home-hero::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: auto;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(67, 6, 15, 0.99) 0%,
    rgba(80, 8, 18, 0.98) 10%,
    rgba(93, 11, 22, 0.94) 23%,
    rgba(105, 14, 27, 0.85) 35%,
    rgba(112, 17, 29, 0.69) 45%,
    rgba(112, 17, 29, 0.47) 54%,
    rgba(105, 15, 27, 0.23) 65%,
    rgba(92, 12, 23, 0.07) 100%,
    transparent 80%
  );
}

.home-page .home-hero__wine {
  z-index: 3;
  width: 100%;
  height: auto;
  min-height: inherit;
  overflow: visible;
  padding-right: max(2rem, calc((100vw - 75rem) / 2));
  background: transparent;
}

.home-page .home-hero__content,
.home-page .home-hero__trust {
  width: min(100%, 43rem);
}

.home-page .home-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
}

.home-page .home-hero__media::before {
  display: none;
}

.home-page .home-hero__media::after {
  z-index: 2;
  background: linear-gradient(0deg, rgba(37, 5, 11, 0.22), transparent 38%);
}

.home-page .home-hero__media .home-hero__slide {
  object-position: center 50%;
  filter: saturate(0.86) contrast(1.03) brightness(0.94);
}

/*
  Em notebooks e janelas baixas, o conteúdo precisa definir a altura real da
  hero. A composição fica mais compacta, mas nenhum elemento é recortado.
*/
@media (min-width: 64rem) and (max-height: 52rem) {
  .home-page .home-hero {
    min-height: calc(100svh - 5.75rem);
  }

  .home-page .home-hero__wine {
    justify-content: center;
    padding-top: clamp(2rem, 4.5vh, 3rem);
    padding-bottom: clamp(1.8rem, 4vh, 2.7rem);
  }

  .home-page .home-hero__eyebrow {
    margin-bottom: clamp(0.65rem, 1.7vh, 1rem);
  }

  .home-page .home-hero h1 {
    font-size: clamp(3rem, 8.4vh, 4.25rem);
    line-height: 0.98;
  }

  .home-page .home-hero__description {
    margin-top: clamp(0.8rem, 2vh, 1.2rem);
    font-size: clamp(0.92rem, 2.2vh, 1.05rem);
    line-height: 1.48;
  }

  .home-page .home-hero__actions {
    margin-top: clamp(1rem, 2.7vh, 1.5rem);
  }

  .home-page .home-hero__button {
    min-height: 3.35rem;
    padding-block: 0.72rem;
  }

  .home-page .home-hero__trust {
    margin-top: clamp(1.2rem, 3vh, 2rem);
  }
}

@media (max-width: 63.99rem) {
  .home-page .home-hero {
    height: clamp(47rem, 194vw, 54rem);
  }

  .home-page .home-hero::after {
    background:
      linear-gradient(
        180deg,
        rgba(74, 8, 17, 0.99) 0%,
        rgba(91, 12, 22, 0.98) 54%,
        rgba(105, 15, 27, 0.92) 68%,
        rgba(102, 14, 26, 0.72) 79%,
        rgba(91, 11, 22, 0.34) 91%,
        rgba(72, 8, 17, 0.12) 100%
      ),
      linear-gradient(90deg, rgba(63, 6, 14, 0.34), transparent 78%);
  }

  .home-page .home-hero__wine {
    justify-content: flex-start;
    padding: clamp(2.55rem, 8vw, 3.7rem) clamp(1.7rem, 7vw, 2.35rem) clamp(2.2rem, 7vw, 3.1rem);
  }

  .home-page .home-hero__content,
  .home-page .home-hero__trust {
    width: min(100%, 40rem);
    margin-right: auto;
    margin-left: auto;
  }

  .home-page .home-hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
  }

  .home-page .home-hero__media .home-hero__slide {
    object-position: 56% center;
  }

}

@media (max-width: 30rem) {
  .home-page .home-hero {
    height: clamp(46rem, 198vw, 51rem);
  }

  .home-page .home-hero h1 {
    max-width: 10.5ch;
  }

  .home-page .home-hero__trust {
    margin-top: clamp(1.65rem, 6vw, 2.2rem);
  }
}
@media (max-width: 63.99rem) {

  .home-page .home-hero {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    background: var(--home-hero-wine);
  }

  .home-page .home-hero__wine {
    position: relative;
    z-index: 3;
    width: 100%;
    height: auto;
    padding:
      clamp(2.55rem, 8vw, 3.7rem)
      clamp(1.7rem, 7vw, 2.35rem)
      clamp(2rem, 7vw, 3rem);
  }

  .home-page .home-hero__media {
    position: relative;
    z-index: 1;
    inset: auto;
    width: 100%;
    height: clamp(18rem, 72vw, 25rem);
    margin: 0;
    overflow: hidden;
    border-radius: 0;
  }

  .home-page .home-hero__media .home-hero__slide {
    object-fit: cover;
    object-position: center 42%;
  }

  .home-page .home-hero::after {
    background: linear-gradient(
      180deg,
      rgba(74, 8, 17, 0.99) 0%,
      rgba(91, 12, 22, 0.85) 38%,
      rgba(91, 12, 22, 0.38) 58%,
      transparent 72%
    );
    pointer-events: none;
  }
}
@media (max-width: 63.99rem) {
  .home-hero__google {
    width: 1.55rem;
    height: 1.55rem;
    flex-basis: 1.55rem;
  }

  .home-hero__google img {
    width: 1.35rem;
    height: 1.35rem;
  }

}

/* Palavra final dinâmica: o contêiner mantém a altura e a largura estáveis. */
.home-page .home-hero h1 {
  max-width: 100%;
}

.home-hero__rotating-wrapper {
  display: block;
  width: 100%;
  min-height: 1em;
  overflow: visible;
  line-height: inherit;
}

.home-hero__rotating-word {
  display: inline-block;
  max-width: 100%;
  color: inherit;
  font: inherit;
  line-height: inherit;
  white-space: nowrap;
  transform: translateY(0);
  transform-origin: left center;
  opacity: 1;
  filter: blur(0);
  transition:
    opacity 300ms ease,
    transform 340ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 300ms ease;
  will-change: opacity, transform, filter;
}

.home-hero__rotating-word.is-leaving {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(-10px);
}

.home-hero__rotating-word.is-entering {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(10px);
}

@media (max-width: 36rem) {
  .home-hero__rotating-word {
    font-size: min(1em, 11vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__rotating-word {
    transition: none;
    will-change: auto;
  }
}

/* Convite exibido uma única vez quando o visitante demonstra intenção de sair. */
.home-exit-offer[hidden] {
  display: none;
}

.home-exit-offer {
  position: fixed;
  z-index: 10010;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 2rem);
  opacity: 0;
  transition: opacity 220ms ease;
}

.home-exit-offer.is-visible {
  opacity: 1;
}

.home-exit-offer__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(37, 4, 9, 0.7);
  backdrop-filter: blur(4px);
  cursor: default;
}

.home-exit-offer__dialog {
  position: relative;
  width: min(100%, 42rem);
  overflow: hidden;
  border: 1px solid rgba(117, 20, 31, 0.16);
  border-radius: 1rem;
  padding: clamp(2rem, 6vw, 3.5rem);
  color: #3d3032;
  background:
    radial-gradient(circle at 100% 0%, rgba(151, 29, 42, 0.1), transparent 38%),
    #fffaf6;
  box-shadow: 0 2rem 5rem rgba(34, 3, 8, 0.34);
  opacity: 0;
  transform: translateY(12px) scale(0.985);
  transition:
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

.home-exit-offer.is-visible .home-exit-offer__dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.home-exit-offer__dialog::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 6.5rem;
  height: 3px;
  content: "";
  background: #991f2c;
}

.home-exit-offer__close {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 0;
  border-radius: 50%;
  padding: 0;
  color: #771721;
  font: inherit;
  font-size: 1.55rem;
  line-height: 1;
  background: rgba(119, 23, 33, 0.07);
  cursor: pointer;
}

.home-exit-offer__eyebrow {
  margin: 0 0 0.9rem;
  color: #971f2c;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.home-exit-offer h2 {
  max-width: 15ch;
  margin: 0;
  color: #67131c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.1rem, 5vw, 3.35rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.home-exit-offer__dialog > p:not(.home-exit-offer__eyebrow) {
  max-width: 35rem;
  margin: 1.2rem 0 0;
  color: #665c5e;
  font-size: 1rem;
  line-height: 1.62;
}

.home-exit-offer__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem 1.2rem;
  margin-top: 1.7rem;
}

.home-exit-offer__primary {
  display: inline-flex;
  min-height: 3.4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-radius: 0.5rem;
  padding: 0.85rem 1.15rem;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
  background: #891b26;
  box-shadow: 0 0.7rem 1.5rem rgba(94, 13, 23, 0.16);
}

.home-exit-offer__primary span {
  font-size: 1.3rem;
  line-height: 1;
  transition: transform 180ms ease;
}

.home-exit-offer__primary:hover span,
.home-exit-offer__primary:focus-visible span {
  transform: translateX(0.2rem);
}

.home-exit-offer__secondary {
  border: 0;
  padding: 0.75rem 0;
  color: #6b5e60;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
  background: transparent;
  cursor: pointer;
}

.home-exit-offer :focus-visible {
  outline: 3px solid rgba(137, 27, 38, 0.3);
  outline-offset: 3px;
}

body.has-home-exit-offer {
  overflow: hidden;
}

@media (max-width: 36rem) {
  .home-hero__rotating-wrapper {
    min-height: 1.08em;
  }

  .home-hero__rotating-word {
    font-size: min(1em, 10.6vw);
  }

  .home-exit-offer__dialog {
    padding: 2.4rem 1.35rem 1.5rem;
  }

  .home-exit-offer h2 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  .home-exit-offer__actions,
  .home-exit-offer__primary {
    width: 100%;
  }

  .home-exit-offer__secondary {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-exit-offer,
  .home-exit-offer__dialog {
    transition: none;
  }
}
