/* ===== Layout ===== */
.shell {
  width: 100%;
  max-width: calc(var(--solaris-max) + var(--solaris-pad) * 2);
  margin: 0 auto;
  padding-left: max(var(--solaris-pad), env(safe-area-inset-left));
  padding-right: max(var(--solaris-pad), env(safe-area-inset-right));
  box-sizing: border-box;
}

.btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 56px;
  border: 0;
  border-radius: 48px;
  background: linear-gradient(90deg, var(--solaris-gold-start), var(--solaris-gold-end));
  color: var(--solaris-text);
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.32px;
  cursor: pointer;
  text-align: center;
  transition: filter 0.2s;
}

.btn-gold:hover {
  filter: brightness(1.05);
}

.btn-gold:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.kicker {
  font-size: 12px;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  color: #d9b436;
  margin: 0 0 8px;
}

.section-title {
  margin: 0;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -3px;
  font-weight: 700;
  color: var(--solaris-text);
}

.section-title--light {
  color: var(--solaris-white);
}

.section-sub {
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--solaris-text-muted);
}

/* ===== Header (padrão landing-jacana) ===== */
.header-parent {
  position: sticky;
  top: 0;
  z-index: 100;
  flex-direction: column;
  text-align: left;
  font-size: var(--font-size-14);
  color: var(--color-azure-15);
  font-family: var(--font-family-Font-1);
}

.container,
.header,
.header-parent {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
}

.header {
  flex-direction: column;
  width: 100%;
}

.container {
  justify-content: center;
  padding: var(--padding-12) var(--padding-0);
  position: relative;
  isolation: isolate;
  width: 100%;
}

.overlayoverlayblur {
  height: 100%;
  width: 100%;
  position: absolute;
  margin: 0 !important;
  inset: 0;
  backdrop-filter: blur(4px);
  background-color: var(--color-white-60);
  z-index: 0;
  flex-shrink: 0;
}

.nav {
  align-self: stretch;
  display: flex;
  width: 100%;
  max-width: 1200px;
  flex-direction: column;
  align-items: flex-start;
  z-index: 1;
  flex-shrink: 0;
  margin: 0 auto;
}

.container2 {
  align-items: center;
  max-width: 1150px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 0 24px;
  box-sizing: border-box;
}

.link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-shrink: 0;
}

.container-icon {
  width: 167px;
  height: 26px;
  position: relative;
}

.list {
  display: flex;
  align-items: center;
  gap: var(--line-height-24);
  flex-shrink: 0;
}

.container3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.container4 {
  display: flex;
  align-items: center;
}

.link-imveis {
  position: relative;
  line-height: var(--line-height-20);
  font-weight: var(--font-weight-600);
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.container13 {
  cursor: pointer;
  border: 0;
  padding: var(--padding-01);
  background-color: transparent;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  flex-shrink: 0;
}

.link2 {
  background-color: var(--color-azure-15);
  display: flex;
  align-items: center;
  padding: var(--padding-10) var(--padding-16);
  gap: var(--item-spacing-10);
  white-space: nowrap;
}

.svg-icon {
  height: var(--height-16);
  width: 14px;
  position: relative;
  flex-shrink: 0;
}

.client-area-text {
  position: relative;
  font-size: var(--font-size-14);
  line-height: var(--line-height-20);
  font-weight: var(--font-weight-600);
  font-family: var(--font-family-Font-1);
  color: var(--color-white-solid);
  text-align: left;
}

.menu-toggle {
  display: none;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  color: var(--color-azure-15);
  font: inherit;
  font-weight: 600;
  text-transform: lowercase;
  cursor: pointer;
}

.menu-toggle-icon {
  position: relative;
  width: 20px;
  height: 14px;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.menu-toggle-icon::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 5px;
  border-top: 2px solid currentColor;
}

.mobile-menu-panel {
  position: fixed;
  inset: 0;
  background: rgba(247, 248, 250, 0.96);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  padding: 24px 20px;
}

.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}

.mobile-menu-brand {
  display: flex;
  align-items: center;
  line-height: 0;
  text-decoration: none;
}

.mobile-menu-brand__logo {
  width: min(150px, 46vw);
  height: auto;
  max-height: 26px;
  object-fit: contain;
  display: block;
}

.mobile-menu-close {
  border: 0;
  background: transparent;
  color: var(--Neutral-800);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: inherit;
  font-size: 32px;
  line-height: 1;
}

.mobile-menu-links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  margin-top: 56px;
}

.mobile-menu-links a {
  color: var(--Neutral-800);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.mobile-menu-links a:not(.mobile-client-area) {
  font-size: clamp(20px, 5.2vw, 24px);
}

.mobile-menu-links .mobile-client-area {
  margin-top: 10px;
  background: var(--Neutral-800);
  color: #fff !important;
  padding: 10px 16px;
  border-radius: 4px;
  font-size: clamp(14px, 3.8vw, 16px);
  font-weight: 600;
}

body.mobile-menu-open {
  overflow: hidden;
}

body.mobile-menu-open .mobile-menu-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

@media screen and (max-width: 1400px) {
  .container2 {
    gap: 24px;
  }
}

@media screen and (max-width: 925px) {
  .container {
    padding: 12px 20px;
    overflow: visible;
  }

  .nav {
    width: 100%;
    max-width: 100%;
  }

  .list {
    display: none;
  }

  .menu-toggle {
    display: inline-flex;
    z-index: 2;
  }

  .link {
    flex: 1;
  }

  .container-icon {
    width: 154px;
    height: auto;
    max-width: 100%;
  }

  .header-parent {
    position: sticky;
    z-index: 100;
  }

  .container2 {
    padding: 0 12px;
  }

  .mobile-menu-links {
    gap: 10px;
    margin-top: 44px;
  }
}

/* ===== Hero (Figma node 2:11696 / 13:3576) ===== */
.hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(950px, 72vh, 952px); 
  color: #fff;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.hero__bg picture {
  position: absolute;
  inset: 0;
  display: block;
}

.hero__bg-img {
  position: absolute;
  width: 113.44%;
  height: 128.4%;
  max-width: none;
  left: -13.42%;
  top: -9.44%;
  object-fit: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.hero__badges {
  position: absolute;
  top: 39px;
  right: max(24px, calc((100vw - var(--solaris-max)) / 2));
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  max-width: calc(100% - 48px);
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 17px;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero__badge--mcmv {
  background: #96974f;
  color: #fff;
}

.hero__badge--mcmv img {
  width: 96px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

.hero__badge--launch {
  background: #d9b436;
  color: #000;
}

.hero__visual {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(1004px, calc(100% - 48px));
  margin: 0 auto;
  padding-top: 158px;
}

@media (min-width: 925px) {
  /* Station continua absoluto em relação ao .hero */
  .hero__visual {
    position: static;
  }
}

.hero__promo {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
  width: min(1004px, calc(100% - 48px));
  margin: 0 auto;
  padding: 32px 0 120px;
}

.hero__kicker {
  display: none;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  color: #d9b436;
}

.hero__logo {
  position: relative;
  width: min(276px, 62vw);
  aspect-ratio: 276 / 104;
  display: block;
}

.hero__logo-word {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 61.87%;
  object-fit: contain;
  object-position: center top;
}

.hero__logo-sub {
  position: absolute;
  left: 0;
  right: 0;
  top: 71.94%;
  bottom: 0;
  display: block;
}

.hero__logo-bar {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.hero__logo-jd {
  position: absolute;
  left: 30.2%;
  right: 30.2%;
  top: 22%;
  bottom: 16%;
  width: auto;
  height: auto;
  margin: auto;
  object-fit: contain;
}

.hero__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.hero__title {
  margin: 0;
  max-width: 1004px;
  font-family: "Montserrat", "Poppins", sans-serif;
  font-size: clamp(32px, 4.8vw, 56px);
  font-weight: 700;
  line-height: 1.11;
  letter-spacing: -0.05em;
}

.hero__sub {
  margin: 0;
  max-width: 656px;
  font-family: "Roboto", sans-serif;
  font-size: clamp(16px, 2vw, 18px);
  font-weight: 400;
  line-height: normal;
}

.hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(416px, 100%);
  padding: 16px 56px;
  border: 0;
  border-radius: 48px;
  background: #d9b436;
  color: #1d2433;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.32px;
  cursor: pointer;
  transition: filter 0.2s;
}

.hero__cta:hover {
  filter: brightness(1.05);
}

.hero__station {
  position: absolute;
  z-index: 3;
  right: max(24px, calc((100vw - var(--solaris-max)) / 2));
  top: clamp(380px, 54%, 513px);
  width: 127px;
  height: 127px;
  pointer-events: none;
}

.hero__station-icon-wrap {
  position: absolute;
  left: 24.09px;
  top: 24.09px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78.828px;
  height: 78.828px;
  border-radius: 50%;
  background: #5a3b40;
}

.hero__station-icon-wrap img {
  width: 55.179px;
  height: 55.179px;
  display: block;
}

.hero__station-ring {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 127px;
  height: 127px;
  display: block;
  pointer-events: none;
}

/* ===== Hero mobile (Figma 221:201 + 221:216 + 221:226) ===== */
@media (max-width: 924px) {
  .hero {
    min-height: 0;
    overflow: hidden;
    padding-bottom: 80px;
  }

  /* Fundo do hero cobre até o card — sem faixa laranja */
  .hero__bg {
    bottom: 0;
    clip-path: none;
  }

  .hero__bg-img {
    width: 428%;
    height: 102.4%;
    left: -177.65%;
    top: 1.84%;
  }

  .hero__overlay {
    background:
      linear-gradient(153deg, rgba(0, 0, 0, 0) 34.6%, rgba(0, 0, 0, 0.2) 104.6%),
      rgba(0, 0, 0, 0.7);
  }

  .hero__badges {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    transform: none;
    width: 100%;
    max-width: none;
    justify-content: center;
    gap: 0;
  }

  .hero__badge--mcmv {
    width: 100%;
    max-width: none;
    min-height: 44px;
    padding: 12px 20px;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    font-size: 14px;
    white-space: nowrap;
  }

  .hero__badge--mcmv img {
    width: 80px;
    height: 20px;
  }

  .hero__badge--launch {
    display: none;
  }

  .hero__visual {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 48px 24px 0;
    align-items: flex-start;
    min-height: 190px;
  }

  .hero__logo {
    width: 167px;
    margin: 0;
  }

  .hero__station {
    position: absolute;
    top: 59px;
    right: 24px;
    bottom: auto;
    left: auto;
    width: 127px;
    height: 127px;
    transform: none;
  }

  .hero__promo {
    width: calc(100% - 48px);
    max-width: 342px;
    margin: 0 24px;
    padding: 40px 0 24px;
    align-items: stretch;
    text-align: left;
    gap: 24px;
  }

  .hero__kicker {
    display: block;
    width: 100%;
  }

  .hero__copy {
    align-items: flex-start;
    gap: 8px;
    text-align: left;
  }

  .hero__title {
    font-size: 32px;
    line-height: 32px;
    letter-spacing: -1px;
    max-width: none;
  }

  .hero__sub {
    font-size: 16px;
    max-width: none;
  }

  .hero__cta {
    width: 100%;
    min-width: 0;
    padding: 16px 24px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0;
  }
}

/* ===== Lead section (Figma 15:517) ===== */
.lead-section {
  /* Altura da faixa proporcional à tela, com piso p/ notebooks */
  --lead-band-h: clamp(96px, 9.167vw, 176px);
  position: relative;
  z-index: 10;
  margin-top: clamp(-150px, -14vw, -120px);
  padding: 0 0 72px;
  background: transparent;
  overflow: hidden;
}

/* Faixa amarela — clip-path CSS, rente ao topo da section (Figma 12:61) */
.lead-section__band {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1;
  height: var(--lead-band-h);
  background: #f7ab59;
  pointer-events: none;
  clip-path: polygon(0 60.511%, 100% 0, 100% 39.489%, 0 100%);
}

.lead-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* Alinha com a base direita da faixa (69.5/176) — Figma y=905 */
  top: calc(var(--lead-band-h) * 0.39489);
  bottom: 0;
  background: #4a2930;
  z-index: 0;
}

.lead-section__shell {
  position: relative;
  z-index: 2;
}

.lead-section__card {
  display: grid;
  align-items: center;
  gap: 32px;
  padding: 32px 24px;
  border-radius: 32px;
  border: 1px solid #775d61;
  background: #5a3b40;
  overflow: hidden;
}

.lead-section__benefits {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
}

.lead-section__intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  width: 100%;
}

.lead-section__benefits .kicker {
  margin: 0;
  color: #d9b436;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.lead-section__copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  color: #fff;
}

.lead-section__benefits h2 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 0.97;
  letter-spacing: -0.05em;
  color: #fff;
}

.lead-section__copy p {
  margin: 0;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}

.benefit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
}

.benefit-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  border-radius: 8px;
  background: #66484d;
  border: 1px solid #c6c78b;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  min-height: 64px;
}

.benefit-chip__icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 799px;
  background: #949559;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6.4px;
  box-sizing: border-box;
}

.benefit-chip__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.lead-form {
  display: flex;
  flex-direction: column;
  gap: 21px;
  background: #fff;
  border-radius: 24px;
  padding: 32px 24px;
  overflow: hidden;
}

.lead-form__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lead-form h3 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  color: #1d2433;
}

.lead-form__desc {
  margin: 0;
  color: rgba(29, 36, 51, 0.65);
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: normal;
}

.lead-form__fields {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.lead-form__field {
  margin: 0;
}

.lead-form__field label {
  display: block;
  margin-bottom: 8px;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.32px;
  color: #1d2433;
}

.lead-form__field input {
  width: 100%;
  padding: 8px 16px;
  border: 1px solid #e1e6ef;
  border-radius: 999px;
  background: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #1d2433;
}

.lead-form__field input::placeholder {
  color: rgba(29, 36, 51, 0.8);
}

.lead-form__submit {
  width: 100%;
  margin-top: 0;
}

.lead-form__legal {
  margin: 0;
  font-size: 12px;
  color: rgba(29, 36, 51, 0.65);
  line-height: normal;
}

.lead-form__feedback {
  display: none;
  text-align: center;
  padding: 24px 0;
}

.lead-form.is-feedback .lead-form__fields,
.lead-form.is-feedback .lead-form__header,
.lead-form.is-feedback .lead-form__submit,
.lead-form.is-feedback .lead-form__legal {
  display: none;
}

.lead-form.is-feedback .lead-form__feedback {
  display: block;
}

@media (min-width: 925px) {
  .lead-section {
    margin-top: -211px;
  }

  .lead-section__card {
    grid-template-columns: 1fr 1fr;
    padding: 56px;
    gap: 56px;
  }

  .lead-form {
    padding: 32px;
  }
}

@media (max-width: 924px) {
  .lead-section {
    margin-top: -48px;
    padding-bottom: 50px;
    overflow-x: clip;
    max-width: 100%;
  }

  .lead-section__band {
    display: none;
  }

  .lead-section::before {
    top: 48px;
    /* Mais escuro que o card #5a3b40 — faixa sob o bloco do form */
    background: #4a2930;
    clip-path: none;
  }

  .lead-section__shell {
    max-width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 2;
    padding: 0;
  }

  .lead-section__card {
    border-radius: 32px 32px 0 0;
    border-bottom: 0;
    overflow: hidden;
    max-width: 100%;
    min-width: 0;
    /* Lateral 0 para o grid vazar; bottom 32px para o marrom sobressair sob o form */
    padding: 32px 0 32px;
    gap: 16px;
    background: #5a3b40;
  }

  .lead-section__benefits {
    gap: 20px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .lead-section__intro {
    padding: 0 24px;
    gap: 20px;
    box-sizing: border-box;
  }

  .lead-section__benefits .kicker {
    white-space: normal;
    letter-spacing: 0;
  }

  .lead-section__benefits h2 {
    font-size: 32px;
    line-height: 32px;
    letter-spacing: -1px;
  }

  .lead-section__copy {
    min-width: 0;
    max-width: 100%;
  }

  .lead-section__copy p {
    display: none;
  }

  .benefit-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    padding-left: 24px;
    padding-right: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x;
    margin-left: 24px;
  }

  .benefit-grid::-webkit-scrollbar {
    display: none;
  }

  .benefit-chip {
    flex: 0 0 244px;
    width: 244px;
    max-width: 244px;
    box-sizing: border-box;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    padding: 16px;
    min-height: 96px;
    scroll-snap-align: start;
  }

  .benefit-chip:last-child {
    margin-right: 24px;
  }

  .benefit-chip__icon {
    width: 24px;
    height: 24px;
  }

  .benefit-chip__icon img {
    width: 14px;
    height: 14px;
  }

  .benefit-chip > span:last-child {
    font-size: 14px;
    line-height: 16px;
  }

  .lead-form {
    min-width: 0;
    max-width: none;
    margin: 0 24px;
    box-sizing: border-box;
    border-radius: 24px;
    padding: 24px 16px;
  }
}

/* ===== Features (Figma 15:612) ===== */
.features {
  padding: 72px 0;
  background: #fff9f1;
}

.features__head {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 56px;
}

.features__tags {
  display: flex;
  flex-wrap: wrap;
}

.tag-split {
  --tag-slant: 6.5px;
  display: flex;
  align-items: stretch;
  gap: 4px;
}

.tag-split__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;
}

.tag-split__item--dark {
  background: #4a2930;
  color: #fff;
  padding-right: calc(24px + var(--tag-slant));
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--tag-slant)) 100%, 0 100%);
}

.tag-split__item--gold {
  background: #f7a450;
  color: #4a2930;
  padding-left: calc(24px + var(--tag-slant));
  clip-path: polygon(var(--tag-slant) 0, 100% 0, 100% 100%, 0 100%);
}

.features__intro {
  display: grid;
  gap: 24px;
  color: #1d2433;
}

.features__title {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(32px, 4.2vw, 52px);
  font-weight: 700;
  line-height: 0.87;
  letter-spacing: -0.03em;
  color: #1d2433;
}

.features__sub {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: clamp(16px, 2vw, 24px);
  font-weight: 400;
  line-height: normal;
  color: #1d2433;
}

@media (min-width: 925px) {
  .features__intro {
    grid-template-columns: 1fr 1fr;
    gap: 136px;
    align-items: end;
  }
}

.feature-cards {
  display: grid;
  gap: 24px;
}

@media (min-width: 900px) {
  .feature-cards {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 899px) {
  /* Head mantém padding; carrossel encosta na lateral direita */
  .features__shell {
    padding-right: 0;
  }

  .features__head {
    padding-right: max(24px, env(safe-area-inset-right));
    box-sizing: border-box;
  }

  .feature-cards {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    padding-right: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
  }

  .feature-cards::-webkit-scrollbar {
    display: none;
  }

  .feature-cards .feature-card {
    flex: 0 0 min(244px, 78vw);
    scroll-snap-align: start;
  }

  .feature-cards .feature-card:last-child {
    margin-right: max(24px, env(safe-area-inset-right));
  }
}

.feature-card {
  background: #fff;
  border: 1px solid #e1e6ef;
  border-radius: 24px;
  padding: 32px;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  overflow: hidden;
  box-sizing: border-box;
}

.feature-card__icon {
  width: auto;
  height: auto;
  border-radius: 999px;
  padding: 6px;
  background: #5c3d42;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.feature-card__icon-inner {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: #4e2c32;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  box-sizing: border-box;
}

.feature-card__icon-inner img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  display: block;
}

.feature-card__icon--olive {
  background: #949559;
}

.feature-card__icon--olive .feature-card__icon-inner {
  background: #8b8c4b;
}

.feature-card__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.feature-card h3 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  color: #1d2433;
}

.feature-card p {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: rgba(29, 36, 51, 0.65);
}

/* ===== Gallery / club-carousel (Figma 372:308 + mobile 375:360) ===== */
#galeria.page {
  padding: 118px 0 72px;
  background: #faf9f6;
}

#galeria .title-container {
  text-align: center;
  margin-bottom: 40px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: center;
  color: #1d2433;
}

#galeria .identification-text {
  margin: 0;
  font-family: "Poppins", "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #1d2433;
  width: 100%;
}

#galeria .subtitle-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  width: 100%;
}

#galeria .feature-title-clube {
  margin: 0;
  font-family: "Poppins", "Montserrat", sans-serif;
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 700;
  line-height: 40px;
  letter-spacing: 0;
  color: #1d2433;
  width: 100%;
}

#galeria .no-qualquer {
  margin: 0;
  font-family: "Poppins", "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: #1d2433;
  width: 100%;
}

.club-carousel--fullwidth .club-carousel-viewport {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  cursor: grab;
  user-select: none;
  padding: 0;
  border-radius: 12px;
}

.club-carousel--fullwidth .club-carousel-viewport.is-dragging {
  cursor: grabbing;
}

.club-carousel--fullwidth .club-carousel-track {
  display: flex;
  align-items: stretch;
  gap: 0;
  transition: transform 0.35s ease;
  will-change: transform;
}

.club-carousel--fullwidth .club-carousel-slide {
  flex: 0 0 100%;
  width: 100%;
  height: clamp(220px, 42vw, 500px);
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.club-carousel--fullwidth .club-carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.club-carousel--fullwidth .club-carousel-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(26, 28, 30, 0.3);
  pointer-events: none;
  z-index: 1;
}

.club-carousel-slide__overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 18px;
  color: #fff;
  pointer-events: none;
}

.club-carousel-slide__kicker {
  margin: 0;
  font-family: "Poppins", "Montserrat", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
}

.club-carousel-slide__title {
  margin: 0;
  font-family: "Poppins", "Montserrat", sans-serif;
  font-size: clamp(16px, 2.2vw, 20px);
  font-weight: 400;
  line-height: normal;
}

.club-carousel--fullwidth .club-carousel-slide--pre {
  display: none;
}

/* Painel de navegação — padrão Terranoá / Figma */
.pagination-container {
  align-self: stretch;
  width: 100%;
  border-radius: 90px;
  background-color: #23272f;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  gap: 20px;
  margin-top: 24px;
  box-sizing: border-box;
}

.pagination-container--club {
  background-color: #23272f;
  padding: 24px;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  box-sizing: border-box;
}

.pagination-container--club .left-arrow-container,
.pagination-container--club .right-arrow-container {
  position: relative;
  width: 56px;
  height: 56px;
  overflow: hidden;
  flex-shrink: 0;
  border-radius: 999px;
  border: 0;
  box-sizing: border-box;
  isolation: isolate;
  cursor: pointer;
  padding: 0;
  display: grid;
  place-items: center;
  transition: box-shadow 0.4s ease, background-color 0.2s ease;
}

.pagination-container--club .left-arrow-container {
  background: #3f444d;
}

.pagination-container--club .right-arrow-container {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.pagination-container--club .left-arrow-container > *,
.pagination-container--club .right-arrow-container > * {
  position: relative;
  z-index: 20;
}

.pagination-container--club .left-arrow-container::after,
.pagination-container--club .right-arrow-container::after {
  background: #fff;
  content: "";
  height: 155px;
  left: -75px;
  opacity: 0.2;
  position: absolute;
  top: -50px;
  transform: rotate(35deg);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 50px;
  z-index: -10;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .pagination-container--club .left-arrow-container:not([aria-disabled="true"]):hover,
  .pagination-container--club .right-arrow-container:not([aria-disabled="true"]):hover {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.2),
      inset 0 0 18px rgba(255, 255, 255, 0.06),
      inset 0 -6px 16px rgba(255, 255, 255, 0.04);
  }

  .pagination-container--club .left-arrow-container:not([aria-disabled="true"]):hover::after,
  .pagination-container--club .right-arrow-container:not([aria-disabled="true"]):hover::after {
    left: 120%;
    transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  }
}

.club-carousel-prev-icon,
.club-carousel-next-icon,
.expanded-icon {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
}

.right-arrow-icon {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
}

.pagination-dots-container,
.club-carousel-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  flex-wrap: wrap;
}

.club-carousel-dots .inactive-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background-color: #6e6e71;
  cursor: pointer;
  border: 0;
  padding: 0;
  flex-shrink: 0;
}

.club-carousel-dots .inactive-dot.is-active {
  width: 68px;
  height: 8px;
  border-radius: 999px;
  background-color: #6e6e71;
}

@media (max-width: 925px) {
  /* Figma 375:360 */
  #galeria.page {
    padding: 40px 0;
    background: #faf9f6;
  }

  #galeria .title-container {
    margin-bottom: 24px;
    gap: 13px;
  }

  #galeria .feature-title-clube {
    font-size: 36px;
    line-height: 40px;
  }

  .club-carousel--fullwidth .club-carousel-slide {
    height: 248px;
    border-radius: 9px;
  }

  .club-carousel--fullwidth .club-carousel-viewport {
    border-radius: 9px;
  }

  /* Nav mobile: só dots centralizados (sem pill escura / setas) */
  .pagination-container,
  .pagination-container--club {
    margin-top: 12px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    justify-content: center;
    gap: 0;
  }

  .pagination-container--club .left-arrow-container,
  .pagination-container--club .right-arrow-container {
    display: none;
  }

  .pagination-dots-container,
  .club-carousel-dots {
    flex: 0 0 auto;
    gap: 6px;
  }

  .club-carousel-dots .inactive-dot {
    width: 6px;
    height: 6px;
    background-color: #eae8e3;
  }

  .club-carousel-dots .inactive-dot.is-active {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background-color: #c5a880;
  }
}

/* ===== Localização (Figma 15:770) ===== */
.localizacao {
  padding: 72px 0;
  color: #fff;
  background: linear-gradient(136.48deg, #4a2930 35.31%, #66484d 99.51%);
}

.localizacao__grid {
  display: grid;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
}

.localizacao__copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  max-width: 368px;
  width: 100%;
}

.localizacao__kicker {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  color: #d9b436;
  white-space: nowrap;
}

.localizacao__copy-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  color: #fff;
}

.localizacao__copy h2 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 0.97;
  letter-spacing: -0.05em;
  color: #fff;
}

.localizacao__copy-text p {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: #fff;
  opacity: 1;
  max-width: none;
}

.localizacao__cta {
  width: 100%;
  white-space: nowrap;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.localizacao__visual {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: stretch;
  width: 100%;
  max-width: 684px;
  justify-self: end;
}

.localizacao__map-stage {
  position: relative;
  width: 100%;
  height: clamp(280px, 42vw, 448px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.localizacao__map-frame {
  position: relative;
  width: min(100%, 662px);
  height: clamp(260px, 38vw, 412px);
  border: 12px solid #fff;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 16px 16px 64px rgba(44, 11, 18, 0.28);
  transform: rotate(-3.2deg);
  box-sizing: border-box;
}

.localizacao__map-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.localizacao__badge {
  position: absolute;
  left: 18%;
  top: 42%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}

.localizacao__badge-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 9.6px;
  border-radius: 999px;
  background: #66484d;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 18px;
  white-space: nowrap;
}

.localizacao__badge-arrow {
  width: 10px;
  height: 10px;
  margin-top: -2px;
  background: #66484d;
  transform: rotate(45deg);
  border-radius: 1px;
}

.localizacao__stops {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
}

.localizacao__stop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: #66484d;
  color: #fff;
  padding: 6px 20px;
  border-radius: 58px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  flex-shrink: 0;
  white-space: nowrap;
  cursor: default;
  user-select: none;
}

.localizacao__stop--line {
  background: #f5bf3a;
  color: #1d2433;
}

@media (min-width: 925px) {
  .localizacao__grid {
    grid-template-columns: minmax(280px, 368px) minmax(0, 684px);
    gap: 48px;
  }

  .localizacao__copy {
    max-width: 368px;
  }

  .localizacao__kicker {
    white-space: nowrap;
  }

  .localizacao__visual {
    max-width: 684px;
    gap: 56px;
  }

  .localizacao__map-frame {
    border-width: 12px;
    border-radius: 24px;
  }

  .localizacao__badge {
    display: flex;
  }
}

@media (max-width: 924px) {
  /* Figma 226:387 */
  .localizacao {
    padding: 72px 0;
    background: linear-gradient(102.63deg, #4a2930 35.31%, #66484d 99.51%);
  }

  .localizacao__grid {
    gap: 22px;
  }

  .localizacao__copy {
    max-width: none;
    gap: 24px;
  }

  .localizacao__kicker {
    letter-spacing: 4.8px;
    white-space: nowrap;
  }

  .localizacao__copy h2 {
    font-size: 32px;
    line-height: normal;
    letter-spacing: 0;
  }

  .localizacao__cta {
    width: 100%;
  }

  .localizacao__visual {
    max-width: none;
    gap: 24px;
    align-items: stretch;
  }

  .localizacao__map-stage {
    height: 224px;
  }

  .localizacao__map-frame {
    width: 100%;
    height: 206px;
    border-width: 6px;
    border-radius: 12px;
    transform: none;
    box-shadow: 8px 8px 32px rgba(44, 11, 18, 0.28);
  }

  .localizacao__badge {
    display: none;
  }
}

/* ===== Plantas / Sobre (Figma 16:186) ===== */
.plantas {
  position: relative;
  z-index: 1;
  padding: 72px 0 200px;
  background: #fff9f1;
  overflow: visible;
}

.plantas__inner {
  position: relative;
}

.plantas__grid {
  display: grid;
  gap: 40px;
  align-items: center;
}

.plantas__media {
  position: relative;
  width: 100%;
  max-width: 684px;
}

.plantas__map-stage {
  position: relative;
  width: 100%;
  height: clamp(280px, 42vw, 448px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.plantas__frame {
  position: relative;
  width: min(100%, 662px);
  height: clamp(260px, 38vw, 412px);
  border: 12px solid #fff;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16);
  transform: rotate(-3.2deg);
  box-sizing: border-box;
}

.plantas__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.plantas__logo {
  position: absolute;
  right: 8%;
  top: 8%;
  width: min(174px, 36%);
  aspect-ratio: 276 / 104;
  z-index: 2;
  pointer-events: none;
}

.plantas__logo-word {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 61.87%;
  object-fit: contain;
  object-position: center top;
}

.plantas__logo-sub {
  position: absolute;
  left: 0;
  right: 0;
  top: 71.94%;
  bottom: 0;
  display: block;
}

.plantas__logo-bar {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.plantas__logo-jd {
  position: absolute;
  left: 30.2%;
  right: 30.2%;
  top: 22%;
  bottom: 16%;
  width: auto;
  height: auto;
  margin: auto;
  object-fit: contain;
}

.plantas__features {
  position: relative;
  z-index: 4;
  display: flex;
  gap: 32px;
  align-items: flex-start;
  justify-content: center;
  width: min(464px, 100%);
  margin: -72px auto 0;
}

.planta-feature {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;
  text-align: center;
}

.planta-feature__icon {
  width: 88px;
  height: 88px;
  border-radius: 999px;
  background: #5c3d42;
  padding: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
}

.planta-feature__icon-inner {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  background: #4e2c32;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  box-sizing: border-box;
}

.planta-feature__icon-inner img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}

.planta-feature__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.planta-feature strong {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  color: #1d2433;
}

.planta-feature__line {
  display: block;
  width: 40px;
  height: 4px;
  background: #ab9a9d;
}

.plantas__copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  width: 100%;
  max-width: 406px;
}

.plantas__kicker {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  color: #4a2930;
  white-space: nowrap;
}

.plantas__copy-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  color: #1d2433;
}

.plantas__copy h2 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 0.97;
  letter-spacing: -0.05em;
  color: #1d2433;
}

.plantas__copy-text p {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: #1d2433;
}

.plantas__cta {
  width: 100%;
  white-space: nowrap;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

@media (min-width: 925px) {
  .plantas {
    /* Figma 16:186 — pb 312px para features + overlap diagonal do Lazer */
    padding: 72px 0 312px;
  }

  .plantas__grid {
    grid-template-columns: minmax(0, 684px) minmax(0, 406px);
    gap: 62px;
    justify-content: space-between;
    align-items: center;
  }

  .plantas__features {
    position: absolute;
    left: 98px;
    top: calc(clamp(280px, 42vw, 448px) - 63px);
    bottom: auto;
    margin: 0;
    width: 464px;
  }
}

@media (max-width: 924px) {
  /* Figma 226:505 — foto >100% + espaço p/ diagonal do Lazer não tapar o CTA */
  .plantas {
    padding: 56px 0 220px;
    overflow-x: clip;
  }

  .plantas__grid {
    gap: 72px;
  }

  .plantas__media {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
  }

  .plantas__map-stage {
    height: 388px;
    overflow: visible;
  }

  .plantas__frame {
    /* Figma: ~573px em viewport 375 → ~153vw, sangra nas laterais */
    width: 153vw;
    max-width: none;
    height: 95vw;
    max-height: 357px;
    border-width: 10px;
    border-radius: 21px;
    transform: rotate(-3.2deg);
    box-shadow: 0 7px 28px rgba(0, 0, 0, 0.16);
    flex-shrink: 0;
  }

  .plantas__logo {
    display: none;
  }

  .plantas__features {
    gap: 24px;
    width: min(342px, calc(100% - 48px));
    margin: -56px auto 0;
  }

  .planta-feature {
    gap: 16px;
  }

  .planta-feature__icon {
    width: 65px;
    height: 65px;
    padding: 5px;
  }

  .planta-feature__icon-inner {
    width: 55px;
    height: 55px;
    padding: 3px;
  }

  .planta-feature__icon-inner img {
    width: 30px;
    height: 30px;
  }

  .planta-feature strong {
    font-size: 15px;
    line-height: 15px;
  }

  .planta-feature__line {
    width: 30px;
    height: 3px;
  }

  .plantas__copy {
    max-width: none;
  }

  .plantas__kicker {
    white-space: normal;
  }

  .plantas__copy h2 {
    font-size: 32px;
    line-height: normal;
    letter-spacing: 0;
  }
}

/* ===== Lazer (topo diagonal Figma 19:150) ===== */
.lazer {
  position: relative;
  /* Acima do cream de .plantas — senão a base reta do cream esconde a diagonal */
  z-index: 3;
  /* Mobile: overlap menor para não tapar o CTA de plantas */
  margin-top: -100px;
  padding: 140px 0 72px;
  background: #4a2930;
  color: #fff;
  /* Subida ~106.5px em 1920px (Figma) → 5.55vw; esquerda mais baixa, direita no topo */
  clip-path: polygon(0 5.55vw, 100% 0, 100% 100%, 0 100%);
  overflow: visible;
}

.lazer__bg {
  display: none;
}

.lazer__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 40px;
}

.lazer__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 36px;
  max-width: 466px;
}

.lazer__highlight {
  position: relative;
  width: min(243px, 70vw);
  min-height: 112px;
}

.lazer__20 {
  width: min(237px, 100%);
  height: auto;
  display: block;
  opacity: 0.9;
}

.lazer__kicker {
  margin: 8px 0 0;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  color: #d9b436;
}

.lazer__copy-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.lazer__title {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 43px;
  font-weight: 700;
  line-height: 44px;
  letter-spacing: 0;
  color: #fff;
}

.lazer__sub {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: normal;
  color: #fff;
}

.lazer__copy .btn-gold {
  width: 100%;
}

.lazer__cards {
  display: grid;
  gap: 24px;
  width: 100%;
  max-width: 598px;
}

@media (min-width: 925px) {
  .lazer {
    margin-top: -182px;
    padding: 174px 0 72px;
  }

  .lazer__inner {
    grid-template-columns: minmax(0, 466px) minmax(0, 598px);
    justify-content: space-between;
    align-items: center;
    gap: 48px;
  }

  .lazer__title {
    font-size: clamp(36px, 3.2vw, 43px);
    line-height: 1.02;
    letter-spacing: -0.02em;
  }

  .lazer__sub {
    color: rgba(255, 255, 255, 0.75);
  }

  .lazer__cards {
    grid-template-columns: 1fr 1fr;
    height: 560px;
  }
}

.lazer-card {
  position: relative;
  background: #50373c;
  border: 1px solid #e1e6ef;
  border-radius: 24px;
  padding: 32px;
  min-height: 268px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  overflow: hidden;
  box-sizing: border-box;
}

.lazer-card__curve {
  position: absolute;
  right: -8px;
  top: 41px;
  width: 160.5px;
  height: 55.19px;
  pointer-events: none;
  z-index: 0;
  transform: rotate(180deg);
  transform-origin: center;
}

.lazer-card__curve--flip {
  transform: rotate(180deg) scaleY(-1);
}

.lazer-card__icon {
  position: relative;
  z-index: 1;
  width: auto;
  height: auto;
  border-radius: 999px;
  padding: 6px;
  background: #5c3d42;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.lazer-card__icon-inner {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: #4e2c32;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  box-sizing: border-box;
}

.lazer-card__icon-inner img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
}

.lazer-card__icon--olive {
  background: #949559;
}

.lazer-card__icon--olive .lazer-card__icon-inner {
  background: #8b8c4b;
}

.lazer-card__text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.lazer-card h3 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  color: #fff;
}

.lazer-card p {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: rgba(255, 255, 255, 0.75);
}

.lazer-cards-scroll {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x;
  padding-bottom: 4px;
  padding-right: 0;
  width: 100%;
  box-sizing: border-box;
}

.lazer-cards-scroll::-webkit-scrollbar {
  display: none;
}

.lazer-cards-scroll .lazer-card {
  flex: 0 0 287px;
  width: 287px;
  scroll-snap-align: start;
  min-height: 268px;
}

.lazer-cards-scroll .lazer-card:last-child {
  margin-right: max(24px, env(safe-area-inset-right));
}

@media (max-width: 924px) {
  /* Figma 226:549 / 226:590 — carrossel encosta na parede direita */
  .lazer__inner {
    padding-right: 0;
    gap: 60px;
  }

  .lazer__copy {
    max-width: none;
    padding-right: max(24px, env(safe-area-inset-right));
    box-sizing: border-box;
  }

  .lazer__copy .btn-gold {
    white-space: normal;
    line-height: 1.15;
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (min-width: 925px) {
  .lazer-cards-scroll {
    display: none;
  }
}

.lazer__cards--desktop {
  display: none;
}

@media (min-width: 925px) {
  .lazer__cards--desktop {
    display: grid;
  }
}

/* ===== FAQ ===== */
.faq {
  padding: 72px 0;
  background: var(--solaris-cream-alt);
}

.faq h2 {
  margin: 0 0 24px;
  font-size: 36px;
}

.faq-topics {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  overflow: hidden;
}

.faq-topics__viewport {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  flex: 1;
  scroll-behavior: smooth;
}

.faq-topic-pill {
  flex-shrink: 0;
  border: 1px solid var(--solaris-border);
  background: #fff;
  border-radius: 86px;
  padding: 8px 16px;
  font-size: 14px;
  cursor: pointer;
  color: var(--solaris-text-muted);
}

.faq-topic-pill.is-active {
  background: var(--solaris-navy);
  color: #fff;
  font-weight: 700;
  border-color: var(--solaris-navy);
}

.faq-category-select {
  display: block;
  width: 100%;
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: var(--br-8);
  border: 1px solid var(--solaris-border);
}

@media (min-width: 768px) {
  .faq-category-select {
    display: none;
  }
}

.faq-item {
  background: #fff;
  border: 1px solid #f1f2f9;
  border-radius: var(--br-16);
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(25, 33, 61, 0.06);
}

.faq-item.is-hidden {
  display: none;
}

.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  color: #170f49;
}

.faq-body {
  display: none;
  padding: 0 24px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--solaris-text-muted);
}

.faq-body[hidden] {
  display: none !important;
}

.faq-item.is-open .faq-body {
  display: block;
}

.faq-item.is-open .faq-body[hidden] {
  display: block !important;
}

.faq-item.is-open .faq-trigger-icon {
  transform: rotate(90deg);
}

/* ===== Footer ===== */
.footer-3 {
  background: #fff;
  border-top: 1px solid var(--solaris-border);
  padding: 80px 0 0;
}

.content4 {
  display: grid;
  gap: 40px;
  padding: 0 24px 40px;
  max-width: 1400px;
  margin: 0 auto;
}

@media (min-width: 925px) {
  .content4 {
    grid-template-columns: 1fr 2fr;
    padding: 0 80px 40px;
  }
  .column2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}

.heading3 {
  display: block;
  font-size: 14px;
  margin-bottom: 8px;
}

.social-links {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}

.social-links img {
  width: 24px;
  height: 24px;
}

.credits {
  padding: 24px;
  border-top: 1px solid var(--solaris-border);
}

.credits .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
}

/* ===== Modal CTA (Figma 357:*) ===== */
.cta-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}

.cta-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.cta-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.cta-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 500px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 40px;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 16px 24px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

.cta-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
}

.cta-modal__close--inset {
  top: 30px;
  right: 30px;
}

.cta-modal__dialog.is-success > .cta-modal__close,
.cta-modal__dialog.is-error > .cta-modal__close {
  display: none;
}

.cta-modal__close img {
  display: block;
  width: 24px;
  height: 24px;
}

.cta-modal__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
  margin-bottom: 24px;
  padding-right: 8px;
}

.cta-modal__header h2,
.cta-modal__status-copy h2 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  color: #1d2433;
}

.cta-modal__subtitle {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: rgba(29, 36, 51, 0.8);
}

.cta-modal__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cta-modal.is-loading .cta-modal__form {
  opacity: 0.6;
  pointer-events: none;
}

.cta-modal__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.cta-modal__label {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: normal;
  color: #1d2433;
}

.cta-modal__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.cta-modal__input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1px solid #e1e6ef;
  border-radius: 999px;
  background: #fff;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #1d2433;
  outline: none;
}

.cta-modal__input::placeholder {
  color: rgba(29, 36, 51, 0.65);
}

.cta-modal.is-loading .cta-modal__input {
  background: #f1f3f9;
}

.cta-modal__field-icon {
  position: absolute;
  right: 16px;
  width: 18px;
  height: 18px;
  display: none;
  pointer-events: none;
}

.cta-modal__field.is-invalid .cta-modal__input,
.cta-modal__consent.is-invalid .cta-modal__checkbox-ui {
  border-color: #bb251a;
  border-width: 1.5px;
}

.cta-modal__field.is-invalid .cta-modal__input {
  padding-right: 42px;
}

.cta-modal__field.is-invalid .cta-modal__field-icon {
  display: block;
}

.cta-modal__field-error {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: normal;
  color: #bb251a;
}

.cta-modal__consent {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.cta-modal__consent-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  cursor: pointer;
}

.cta-modal__checkbox {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.cta-modal__checkbox-ui {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 1.5px solid #e1e6ef;
  border-radius: 4px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cta-modal__checkbox-ui img {
  display: none;
  width: 12px;
  height: 12px;
}

.cta-modal__checkbox:checked + .cta-modal__checkbox-ui {
  background: #d9b436;
  border-color: #d9b436;
}

.cta-modal__checkbox:checked + .cta-modal__checkbox-ui img {
  display: block;
}

.cta-modal__consent-text {
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 16px;
  color: rgba(29, 36, 51, 0.65);
}

.cta-modal__consent.is-invalid .cta-modal__consent-text {
  color: #bb251a;
}

.cta-modal__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 8px;
  padding: 16px 32px;
  border: 0;
  border-radius: 48px;
  background: #d9b436;
  color: #1d2433;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}

.cta-modal__form .cta-modal__submit {
  margin-top: 0;
}

.cta-modal__field.is-invalid ~ .cta-modal__submit,
.cta-modal__consent.is-invalid ~ .cta-modal__submit {
  opacity: 0.6;
}

.cta-modal__submit:disabled {
  cursor: wait;
}

.cta-modal__submit-loader {
  display: none;
  width: 16px;
  height: 16px;
}

.cta-modal.is-loading .cta-modal__submit-loader {
  display: block;
  animation: cta-modal-spin 0.9s linear infinite;
}

@keyframes cta-modal-spin {
  to {
    transform: rotate(360deg);
  }
}

.cta-modal__view--success,
.cta-modal__view--error {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}

.cta-modal__view--success[hidden],
.cta-modal__view--error[hidden],
.cta-modal__view--form[hidden],
.cta-modal__confirm[hidden] {
  display: none !important;
}

.cta-modal__dialog.is-success,
.cta-modal__dialog.is-error {
  padding: 48px 40px;
}

.cta-modal__status-icon {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.cta-modal__status-icon--success {
  background: #fff9f1;
  border: 2px solid #d9b436;
}

.cta-modal__status-icon--error {
  background: #fee4e2;
  border: 2px solid #bb251a;
}

.cta-modal__status-copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.cta-modal__status-copy p {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: rgba(29, 36, 51, 0.8);
}

.cta-modal__dialog.is-error .cta-modal__status-copy h2 {
  font-size: 24px;
  line-height: 30px;
}

.cta-modal__dialog.is-error .cta-modal__status-copy p {
  font-size: 15px;
  line-height: 22px;
}

.cta-modal__dialog.is-success .cta-modal__status-copy h2 {
  font-size: 26px;
  line-height: 32px;
}

.cta-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.cta-modal__whatsapp {
  margin-top: 0;
}

.cta-modal__whatsapp img {
  width: 18px;
  height: 18px;
  display: block;
}

.cta-modal__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px 32px;
  border: 1.5px solid #e1e6ef;
  border-radius: 48px;
  background: #fff;
  color: #1d2433;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  box-sizing: border-box;
}

.cta-modal__confirm {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 420px;
}

.cta-modal__confirm-card {
  background: #fff;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 12px 16px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}

.cta-modal__confirm-copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.cta-modal__confirm-copy h2 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  color: #1d2433;
}

.cta-modal__confirm-copy p {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: rgba(29, 36, 51, 0.8);
}

.cta-modal__confirm .cta-modal__actions {
  gap: 8px;
}

.cta-modal__confirm .cta-modal__submit {
  margin-top: 0;
}

.cta-modal__text-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 24px;
  border: 0;
  background: transparent;
  color: #bb251a;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 924px) {
  .cta-modal__dialog {
    padding: 32px 24px;
  }

  .cta-modal__dialog.is-success,
  .cta-modal__dialog.is-error {
    padding: 40px 24px;
  }

  .cta-modal__header h2,
  .cta-modal__status-copy h2,
  .cta-modal__dialog.is-error .cta-modal__status-copy h2 {
    font-size: 22px;
    line-height: 28px;
  }

  .cta-modal__dialog.is-success .cta-modal__status-copy h2 {
    font-size: 24px;
    line-height: 30px;
  }
}
