/* STAK.IO — Site landing page
   Tudo uppercase, Gunterz. Verde profundo + bege paper. */

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--ge-bege-100);
  color: var(--ge-tinta-900);
  font-family: var(--font-display);
  -webkit-font-smoothing: antialiased;
}
img, object, svg { display: block; max-width: 100%; }
a { border: none; color: inherit; text-decoration: none; }

/* ── Page shell ─────────────────────────────────────────── */
.stk-page {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  background: var(--ge-bege-100);
  position: relative;
  overflow-x: clip;
}
@media (min-width: 880px) {
  .stk-page { max-width: 100%; box-shadow: none; }
  body { background: var(--ge-bege-100); padding: 0; }
}

.stk-section { position: relative; }
.stk-section { position: relative; overflow: hidden; }

/* ── Buttons ────────────────────────────────────────────── */
.stk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 16px 28px;
  border-radius: var(--radius-pill);
  border: none;
  cursor: pointer;
  transition: transform 180ms var(--ease-organic),
              background 180ms var(--ease-organic),
              color 180ms var(--ease-organic),
              box-shadow 320ms var(--ease-organic);
  text-align: center;
  width: 100%;
  max-width: 360px;
  box-shadow: var(--shadow-1);
}
.stk-btn:active { transform: translateY(1px); box-shadow: var(--shadow-1); }

.stk-btn--bege {
  background: var(--ge-bege-500);
  color: var(--ge-verde-900);
}
.stk-btn--bege:hover { background: var(--ge-bege-400); box-shadow: var(--shadow-2); }

.stk-btn--verde {
  background: var(--ge-verde-800);
  color: var(--ge-bege-100);
  box-shadow: var(--shadow-deep);
}
.stk-btn--verde:hover { background: var(--ge-verde-900); }

/* ── Eyebrow pills ───────────────────────────────────── */
.stk-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 9px 22px;
  border-radius: 999px;
  border: 1.5px solid var(--ge-verde-800);
  color: var(--ge-verde-800);
  background: transparent;
}
.stk-pill--bege {
  background: var(--ge-bege-500);
  color: var(--ge-verde-900);
  border-color: transparent;
}
.stk-pill--solid {
  background: var(--ge-verde-800);
  color: var(--ge-bege-300);
  border-color: transparent;
}

/* ── Section headings ───────────────────────────────────── */
.stk-h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  line-height: 1.04;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  text-wrap: balance;
}
.stk-h2--bege { color: var(--ge-bege-300); }
.stk-h2--verde { color: var(--ge-verde-800); }
.stk-h2--big { font-size: 34px; }

.stk-sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  margin: 14px 0 0;
}
.stk-sub--bege { color: var(--ge-bege-300); }
.stk-sub--verde { color: var(--ge-verde-800); }
.stk-sub--muted { color: var(--ge-tinta-500); }

/* ────────────────────────────────────────────────────────────
   HERO
   ──────────────────────────────────────────────────────────── */
.hero {
  background: var(--ge-verde-900);
  position: relative;
  padding: 32px 24px 0;
}

.hero__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__photo image-slot {
  width: 100%; height: 100%;
}
.hero__tint {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(8,56,43,0.55) 0%, rgba(8,56,43,0.62) 30%, rgba(8,56,43,0.96) 78%, rgba(8,56,43,1) 100%);
  pointer-events: none;
}

.hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: 760px;
  padding-bottom: 100px;
}

.hero__brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 12px;
}
.hero__logo {
  height: 40px;
  width: auto;
  display: block;
}
.hero__brand-sub {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.34em;
  color: var(--ge-verde-300);
  margin-top: 2px;
  margin-left: 2px;
}

.hero__title {
  margin: auto 0 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 33px;
  line-height: 1.02;
  letter-spacing: -0.005em;
  color: var(--ge-bege-300);
  text-transform: uppercase;
}
.hero__title-quiet {
  display: block;
  color: var(--ge-verde-300);
  opacity: 0.85;
}
.hero__title-em {
  color: var(--ge-bege-300);
}
.hero__lede {
  margin: 18px 0 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.55;
  color: var(--ge-bege-300);
  opacity: 0.88;
  letter-spacing: 0;
  max-width: 380px;
}

.hero__cta {
  white-space: nowrap;
  margin-top: 40px;
  max-width: 260px;
  position: relative;
  z-index: 10;
}

/* ── Marquee ─────────────────────────────────── */
.marquee {
  color: var(--ge-verde-900);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 11px 0;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  z-index: 3;
  border-top: 1px solid rgba(8,56,43,0.18);
  border-bottom: 1px solid rgba(8,56,43,0.18);
}

.marquee__track {
  display: inline-block;
  animation: marquee-scroll 28s linear infinite;
  padding-left: 100%;
}
.marquee__track span { padding: 0 24px; }
.marquee__track span::before {
  content: '·';
  margin-right: 24px;
  color: var(--ge-verde-800);
}
@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

.marquees-band {
  position: relative;
  z-index: 9999;
  margin: 0;
  padding: 14px 0 18px;
  background: var(--ge-bege-100);
}
.marquee--branca {
  background: var(--ge-bege-50);
  border-top: 1px solid rgba(8, 56, 43, 0.10);
  border-bottom: 1px solid rgba(8, 56, 43, 0.10);
}
.marquee--bege {
  background: var(--ge-bege-500);
}
@media (min-width: 880px) {
  .marquees-band { padding: 22px 0 26px; }
}

/* ────────────────────────────────────────────────────────────
   FORM
   ──────────────────────────────────────────────────────────── */
.form-block {
  background: var(--ge-bege-500);
  padding: 36px 24px 56px;
  position: relative;
}

.form-block__inner { position: relative; display: flex; flex-direction: column; gap: 14px; }

.stk-field { position: relative; }
.stk-field input,
.stk-field select {
  width: 100%;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0;
  padding: 18px 22px;
  border: none;
  border-radius: var(--radius-md);
  background: var(--ge-bege-100);
  color: var(--ge-verde-900);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow var(--dur-fast) var(--ease-organic);
}
.stk-field input:focus, .stk-field select:focus { box-shadow: 0 0 0 2px var(--ge-verde-800); }
.stk-field input::placeholder {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ge-tinta-300);
}
.stk-field input::placeholder,
.stk-field select:invalid {
  color: var(--ge-tinta-300);
}
.stk-field--label { display: flex; flex-direction: column; gap: 6px; }
.stk-field__label {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ge-verde-800);
  padding-left: 4px;
}
.stk-field--phone .stk-field__flag {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.stk-field--phone .stk-field__flag::after {
  content: '·';
  color: var(--ge-tinta-300);
  margin-left: 4px;
}
.stk-field--phone input { padding-left: 64px; }
.stk-field--select::after {
  content: '';
  position: absolute;
  right: 22px;
  top: 50%;
  width: 9px; height: 9px;
  border-right: 2px solid var(--ge-verde-800);
  border-bottom: 2px solid var(--ge-verde-800);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
.stk-field--select.stk-field--label::after { top: auto; bottom: 22px; transform: rotate(45deg); }
.stk-field--select select { padding-right: 44px; }

.form-block .stk-btn--verde { margin-top: 8px; }

/* ────────────────────────────────────────────────────────────
   AVISO / STEPS
   ──────────────────────────────────────────────────────────── */
.aviso {
  background: var(--ge-bege-500);
  padding: 64px 24px 56px;
  position: relative;
}

.aviso__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.aviso__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ge-verde-800);
  margin: 0;
}
.aviso__title-quiet { color: var(--ge-musgo-500); }

.aviso__cards { display: flex; flex-direction: column; gap: 18px; width: 100%; align-items: stretch; }
.aviso__card {
  background: var(--ge-bege-300);
  border-radius: 14px;
  display: grid;
  grid-template-columns: 90px 1fr;
  overflow: hidden;
  position: relative;
}
.aviso__card-num {
  background: var(--ge-verde-800);
  color: var(--ge-bege-300);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 1;
  letter-spacing: -0.03em;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 22px;
}
.aviso__card-body { padding: 22px 22px 22px 18px; }
.aviso__card-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.05;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--ge-verde-800);
  margin: 0 0 12px;
}
.aviso__card-copy {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ge-tinta-900);
  margin: 0;
}

/* ────────────────────────────────────────────────────────────
   DEPOIMENTOS (video testimonials)
   ──────────────────────────────────────────────────────────── */
.depo {
  background: transparent;
  padding: 60px 24px 64px;
  position: relative;
}

.depo__inner { position: relative; display: flex; flex-direction: column; align-items: center; }
.depo__title { color: var(--ge-bege-300); }

.depo__viewport {
  margin-top: 32px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.depo__nav {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--ge-bege-500);
  color: var(--ge-verde-900);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  border: none;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  transition: background 180ms var(--ease-organic), transform 180ms var(--ease-organic);
  box-shadow: var(--shadow-2);
}
.depo__nav:hover { background: var(--ge-bege-400); transform: translateY(-50%) scale(1.04); }
.depo__nav { transform: translateY(-50%); }
.depo__nav--left  { left: 6px; }
.depo__nav--right { right: 6px; }

.depo__stage {
  position: relative;
  width: 100%;
  height: 460px;
  perspective: 1000px;
}
.depo__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 240px;
  aspect-ratio: 9 / 16;
  background: var(--ge-bege-200);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 40px -14px rgba(0,0,0,0.45);
  transform: translate(-50%, -50%);
  transition:
    transform 620ms var(--ease-organic),
    opacity   620ms var(--ease-organic),
    filter    620ms var(--ease-organic);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  will-change: transform, opacity, filter;
}
.depo__card.is-active {
  z-index: 3;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  filter: none;
}
.depo__card.is-prev {
  z-index: 1;
  transform: translate(-95%, -50%) scale(0.72);
  opacity: 0.28;
  filter: blur(3px) saturate(60%);
  pointer-events: none;
}
.depo__card.is-next {
  z-index: 1;
  transform: translate(-5%, -50%) scale(0.72);
  opacity: 0.28;
  filter: blur(3px) saturate(60%);
  pointer-events: none;
}
.depo__card.is-far {
  z-index: 0;
  transform: translate(-50%, -50%) scale(0.5);
  opacity: 0;
  filter: blur(6px);
  pointer-events: none;
}
.depo__card-play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 56px; height: 56px;
  border-radius: 999px;
  background: var(--ge-verde-800);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
}
.depo__card-play::before {
  content: '';
  width: 0; height: 0;
  border-style: solid;
  border-width: 9px 0 9px 14px;
  border-color: transparent transparent transparent var(--ge-bege-300);
  margin-left: 4px;
}
.depo__card-credit {
  position: absolute;
  left: 16px; bottom: 18px;
}
.depo__credit-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--ge-verde-900);
  margin: 0 0 6px;
}
.depo__credit-by {
  display: inline-block;
  background: var(--ge-verde-800);
  color: var(--ge-bege-100);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: var(--radius-xs);
}

/* ────────────────────────────────────────────────────────────
   RESULTADOS (Antes / Depois)
   ──────────────────────────────────────────────────────────── */
.results {
  background: transparent;
  padding: 64px 24px 68px;
  position: relative;
}

.results__inner { position: relative; display: flex; flex-direction: column; align-items: center; }
.results__lede {
  margin: 14px 0 24px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ge-bege-300);
  opacity: 0.85;
  max-width: 320px;
}
.results__viewport {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
.results__nav {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--ge-bege-500);
  color: var(--ge-verde-900);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  border: none;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  transition: background 180ms var(--ease-organic), transform 180ms var(--ease-organic);
  box-shadow: var(--shadow-2);
  transform: translateY(-50%);
}
.results__nav:hover { background: var(--ge-bege-400); transform: translateY(-50%) scale(1.04); }
.results__nav--left  { left: 6px; }
.results__nav--right { right: 6px; }

.results__stage {
  position: relative;
  width: 100%;
  height: 460px;
}
.results__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  max-width: 86%;
  background: var(--ge-tinta-900);
  border-radius: 20px;
  padding: 20px 14px 20px;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: 0 18px 40px -14px rgba(0,0,0,0.45);
  transform: translate(-50%, -50%);
  transition:
    transform 620ms var(--ease-organic),
    opacity   620ms var(--ease-organic),
    filter    620ms var(--ease-organic);
  will-change: transform, opacity, filter;
}
.results__card.is-active {
  z-index: 3;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  filter: none;
}
.results__card.is-prev {
  z-index: 1;
  transform: translate(-92%, -50%) scale(0.72);
  opacity: 0.28;
  filter: blur(3px) saturate(60%);
  pointer-events: none;
}
.results__card.is-next {
  z-index: 1;
  transform: translate(-8%, -50%) scale(0.72);
  opacity: 0.28;
  filter: blur(3px) saturate(60%);
  pointer-events: none;
}
.results__card.is-far {
  z-index: 0;
  transform: translate(-50%, -50%) scale(0.5);
  opacity: 0;
  filter: blur(6px);
  pointer-events: none;
}

.results__card-head {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
}
.results__card-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--ge-bege-300);
  margin: 0;
}
.results__card-tag {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ge-tinta-300);
  margin-top: 4px;
}
.results__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  position: relative;
  z-index: 1;
  width: 100%;
}
.results__col {
  padding: 0;
}
.results__col--antes,
.results__col--depois {
  display: flex;
  flex-direction: column;
}
.results__col-head {
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: var(--radius-xs);
  margin-bottom: 10px;
}
.results__col--antes .results__col-head { background: #B33A5C; color: #FFE9EF; }
.results__col--depois .results__col-head { background: var(--ge-verde-700); color: var(--ge-bege-300); }

.results__metric {
  background: rgba(245,241,232,0.05);
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 8px;
}
.results__col--antes .results__metric { background: rgba(179,58,92,0.16); margin-bottom: 8px; }
.results__col--depois .results__metric { background: rgba(30,116,86,0.22); margin-bottom: 8px; }
.results__metric-k {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: flex; align-items: center; gap: 4px;
  margin-bottom: 4px;
}
.results__col--antes .results__metric-k { color: #F5BCC9; }
.results__col--depois .results__metric-k { color: #BDE2CB; }
.results__metric-v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--ge-bege-300);
}

.results__cta { margin-top: 28px; max-width: 300px; }

/* ────────────────────────────────────────────────────────────
   QUEM SOMOS
   ──────────────────────────────────────────────────────────── */
.about {
  background: transparent;
  padding: 60px 24px 64px;
  position: relative;
}

.about__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.about__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.04;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ge-bege-300);
  margin: 0;
  max-width: 360px;
}
.about__manifesto {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 6px;
  max-width: 360px;
}
.about__manifesto p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
  color: var(--ge-bege-300);
  margin: 0;
}
.about__manifesto strong { color: var(--ge-bege-500); font-weight: 600; }
.about__manifesto em { font-style: italic; color: var(--ge-verde-300); }

.about__grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 220px 160px;
  gap: 14px;
  margin-top: 12px;
}
.about__photo {
  background: var(--ge-bege-300);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.about__photo image-slot { width: 100%; height: 100%; }
.about__photo-label {
  position: absolute;
  background: var(--ge-bege-500);
  color: var(--ge-verde-900);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 6px;
  z-index: 2;
}
.about__photo--time { grid-column: 1; grid-row: 1; }
.about__photo--time .about__photo-label { bottom: 22px; left: 16px; }
.about__photo--cultura { grid-column: 2; grid-row: 1; }
.about__photo--cultura .about__photo-label { top: 22px; right: 16px; }
.about__photo--escritorio { grid-column: 1 / span 2; grid-row: 2; }
.about__photo--escritorio .about__photo-label { top: 50%; left: 50%; transform: translate(-50%, -50%); }

.about__cta { margin-top: 18px; max-width: 320px; }

/* ────────────────────────────────────────────────────────────
   SERVIÇOS  (O QUE FAZEMOS + PLANOS)
   ──────────────────────────────────────────────────────────── */
.serv {
  background: var(--ge-bege-100);
  padding: 64px 24px 16px;
  position: relative;
}
.serv__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.serv__sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ge-verde-800);
}
.serv__title {
  font-family: var(--font-display);
  font-weight: 700;
  text-align: center;
  font-size: 26px;
  line-height: 1.04;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ge-verde-800);
  margin: 0;
  max-width: 360px;
}
.serv__nav {
  display: inline-flex;
  background: var(--ge-bege-300);
  border-radius: 8px;
  padding: 2px;
  gap: 2px;
}
.serv__nav button {
  width: 30px; height: 22px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--ge-verde-800);
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 700;
}
.serv__nav button:hover { background: var(--ge-bege-100); }
.serv__nav button + button { border-left: 1px solid rgba(8,56,43,0.2); }

.serv__card-bege {
  width: 100%;
  background: var(--ge-bege-500);
  border-radius: 18px;
  min-height: 220px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: var(--ge-verde-900);
}
.serv__card-bege h4 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--ge-verde-800);
  margin: 0;
}
.serv__card-bege p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ge-verde-900);
  margin: 0;
}
.serv__card-bege ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column;
  gap: 6px;
}
.serv__card-bege li {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0;
  color: var(--ge-verde-900);
  padding-left: 14px;
  position: relative;
}
.serv__card-bege li::before {
  content: '';
  position: absolute;
  left: 0; top: 7px;
  width: 6px; height: 6px;
  border-radius: 999px;
  background: var(--ge-verde-800);
}

.serv__card-verde {
  width: 100%;
  background: var(--ge-verde-800);
  border-radius: 18px;
  min-height: 220px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.serv__card-verde h4 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--ge-bege-300);
  margin: 0;
}
.serv__card-verde .serv__price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  letter-spacing: -0.01em;
  color: var(--ge-bege-300);
}
.serv__card-verde .serv__price small {
  font-size: 11px;
  letter-spacing: 0.08em;
  opacity: 0.7;
}
.serv__card-verde ul {
  list-style: none; padding: 0; margin: 6px 0 0;
  display: flex; flex-direction: column; gap: 6px;
}
.serv__card-verde li {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0;
  color: var(--ge-bege-300);
  padding-left: 16px;
  position: relative;
}
.serv__card-verde li::before {
  content: '+';
  position: absolute;
  left: 0; top: 0;
  color: var(--ge-bege-500);
}

/* Mobile carousel behavior — only active card visible */
.serv__grid-bege, .serv__grid-verde {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.serv__card-bege.is-hidden-mobile,
.serv__card-verde.is-hidden-mobile { display: none; }

.serv__cta { margin-top: 10px; max-width: 320px; }

.serv__divider { height: 36px; }

/* ────────────────────────────────────────────────────────────
   FAQ
   ──────────────────────────────────────────────────────────── */
.faq {
  background: var(--ge-bege-100);
  padding: 56px 24px 40px;
}
.faq__inner { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.faq__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--ge-verde-800);
  margin: 0;
  text-align: center;
}
.faq__sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ge-tinta-500);
  text-align: center;
  margin: -10px 0 8px;
  max-width: 320px;
}

.faq__list { width: 100%; display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0; margin: 0; }
.faq__row {
  background: var(--ge-bege-300);
  border-radius: 10px;
  overflow: hidden;
}
.faq__q {
  width: 100%;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  padding: 18px 18px;
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ge-verde-800);
}
.faq__icon {
  flex-shrink: 0;
  width: 14px; height: 14px;
  border-right: 2px solid var(--ge-verde-800);
  border-bottom: 2px solid var(--ge-verde-800);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 220ms var(--ease-organic);
}
.faq__row.is-open .faq__icon { transform: rotate(225deg) translate(-2px, -2px); }
.faq__a {
  padding: 0 18px 18px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ge-verde-900);
}

.faq__after {
  margin-top: 6px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0;
  color: var(--ge-tinta-500);
}
.faq__cta { max-width: 320px; }

/* ────────────────────────────────────────────────────────────
   FOOTER
   ──────────────────────────────────────────────────────────── */
.footer {
  background: var(--ge-bege-100);
  padding: 40px 24px 36px;
  border-top: 1px solid var(--ge-bege-300);
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.footer__logo {
  height: 36px;
  width: auto;
  display: block;
}
.footer__brand-sub {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.34em;
  color: var(--ge-verde-800);
  opacity: 0.7;
  margin-top: -2px;
}
.footer__socials { display: flex; gap: 10px; margin-top: 4px; }
.footer__social {
  width: 26px; height: 26px;
  background: var(--ge-bege-300);
  border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  color: var(--ge-verde-800);
  cursor: pointer;
}
.footer__social svg { width: 14px; height: 14px; }
.footer__copy {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ge-tinta-500);
  text-align: center;
  margin-top: 4px;
}




/* ── Carousel dots (shared) ─────────────────────────── */
.depo__dots, .results__dots {
  display: flex;
  gap: 8px;
  margin-top: 24px;
  justify-content: center;
}
.depo__dot, .results__dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  border: none;
  background: rgba(245, 241, 232, 0.28);
  cursor: pointer;
  padding: 0;
  transition: background 180ms var(--ease-organic), transform 180ms var(--ease-organic);
}
.depo__dot:hover, .results__dot:hover { background: rgba(245, 241, 232, 0.6); }
.depo__dot.is-active, .results__dot.is-active {
  background: var(--ge-bege-300);
  transform: scale(1.15);
}

/* ════════════════════════════════════════════════════════════════
   DESKTOP (≥ 880px)
   Mobile structure preserved — apenas larguras, grids e ritmo
   ════════════════════════════════════════════════════════════════ */
@media (min-width: 880px) {

  /* ── Hero ───────────────────────────────────────────── */
  .hero { padding: 0; }
  .hero__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 56px 80px 120px;
    min-height: 75vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 80px;
    align-items: start;
  }
  .hero__brand { grid-column: 1; margin-bottom: 0; }
  .hero__logo { height: 56px; }
  .hero__brand-sub { font-size: 14px; letter-spacing: 0.36em; }
  .hero__title {
    grid-column: 1;
    grid-row: 2;
    align-self: end;
    margin-top: 12vh;
    font-size: 44px;
    line-height: 1.0;
    max-width: 540px;
  }
  .hero__lede { grid-column: 1; font-size: 15px; max-width: 460px; }
  .hero__cta {
  white-space: nowrap; grid-column: 1; max-width: 260px; }

  .hero__tint {
    background:
      linear-gradient(180deg, rgba(8,56,43,0.45) 0%, rgba(8,56,43,0.55) 40%, rgba(8,56,43,0.92) 92%),
      linear-gradient(90deg, rgba(8,56,43,0.55) 0%, rgba(8,56,43,0.1) 60%, rgba(8,56,43,0) 100%);
  }

  /* ── Marquees full-bleed ────────────────────────────── */
  .marquee--tilt-1, .marquee--tilt-2 {
    margin-left: -10vw; margin-right: -10vw;
    padding-left: 10vw; padding-right: 10vw;
  }
  .marquee { font-size: 16px; padding: 14px 0; }

  /* ── Form ───────────────────────────────────────────── */
  .form-block { padding: 72px 64px 88px; }

  .form-block__inner {
    max-width: 720px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .form-block__inner > :nth-child(5),
  .form-block__inner > :nth-child(6) { grid-column: span 1; }
  .form-block .stk-btn--verde {
    grid-column: 1 / -1;
    justify-self: center;
    margin-top: 12px;
    max-width: 320px;
  }
  .stk-field input, .stk-field select { font-size: 14px; padding: 20px 24px; }
  .stk-field--phone input { padding-left: 70px; }

  /* ── Aviso ──────────────────────────────────────────── */
  .aviso { padding: 88px 64px 80px; }
  .aviso__inner { max-width: 1100px; margin: 0 auto; gap: 48px; }
  .aviso__title { font-size: 48px; max-width: 920px; }
  .aviso__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    max-width: 980px;
  }
  .aviso__card { grid-template-columns: 120px 1fr; min-height: 220px; }
  .aviso__card-num { font-size: 92px; padding-bottom: 32px; }
  .aviso__card-body { padding: 32px 32px 32px 24px; }
  .aviso__card-title { font-size: 24px; }
  .aviso__card-copy { font-size: 12px; }

  /* ── Depoimentos ────────────────────────────────────── */
  .depo { padding: 80px 64px 88px; }
  .depo__inner { max-width: 1100px; margin: 0 auto; }
  .stk-h2 { font-size: 44px; }
  .depo__title { font-size: 44px; }
  .stk-sub { font-size: 12px; margin-top: 18px; }
  .depo__viewport { margin-top: 48px; max-width: 1100px; margin-left: auto; margin-right: auto; }
  .depo__stage { height: 560px; }
  .depo__card { width: 310px; }
  .depo__card.is-prev { transform: translate(-160%, -50%) scale(0.78); }
  .depo__card.is-next { transform: translate(60%, -50%) scale(0.78); }
  .depo__nav { width: 48px; height: 48px; font-size: 20px; }
  .depo__nav--left  { left: 24px; }
  .depo__nav--right { right: 24px; }
  .depo__credit-name { font-size: 22px; }
  .depo__credit-by { font-size: 11px; padding: 6px 12px; }

  /* ── Resultados ─────────────────────────────────────── */
  .results { padding: 80px 64px 88px; }
  .results__inner { max-width: 1100px; margin: 0 auto; }
  .stk-h2--big { font-size: 52px; }
  .results__lede { font-size: 12px; max-width: 420px; margin: 18px 0 32px; }
  .results__viewport { max-width: 1100px; margin-left: auto; margin-right: auto; }
  .results__stage { height: 540px; }
  .results__card { width: 480px; max-width: 60%; padding: 32px 32px 28px; }
  .results__card.is-prev { transform: translate(-150%, -50%) scale(0.78); }
  .results__card.is-next { transform: translate(50%, -50%) scale(0.78); }
  .results__nav { width: 48px; height: 48px; font-size: 20px; }
  .results__nav--left  { left: 24px; }
  .results__nav--right { right: 24px; }
  .results__card-name { font-size: 22px; }
  .results__card-tag { font-size: 11px; }
  .results__cols { gap: 16px; }
  .results__col-head { font-size: 11px; padding: 6px 14px; }
  .results__metric { padding: 14px 16px; margin-bottom: 10px; }
  .results__metric-k { font-size: 10px; }
  .results__metric-v { font-size: 24px; }
  .results__cta { margin-top: 40px; }

  /* ── Quem Somos ────────────────────────────────────── */
  .about { padding: 88px 64px 88px; }
  .about__inner { max-width: 1100px; margin: 0 auto; gap: 32px; }
  .about__title { font-size: 56px; max-width: 760px; }
  .about__manifesto { max-width: 720px; }
  .about__manifesto p { font-size: 14px; line-height: 1.6; }
  .about__grid {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 360px;
    gap: 20px;
    max-width: 1080px;
  }
  .about__photo--time { grid-column: 1; grid-row: 1; }
  .about__photo--cultura { grid-column: 2; grid-row: 1; }
  .about__photo--escritorio { grid-column: 3 / span 1; grid-row: 1; }
  .about__photo-label { font-size: 12px; padding: 9px 18px; }
  .about__cta { margin-top: 32px; }

  /* ── Serviços ──────────────────────────────────────── */
  .serv { padding: 88px 64px 40px; }
  .serv__inner { max-width: 1240px; margin: 0 auto; gap: 24px; }
  .serv__sub { font-size: 12px; letter-spacing: 0.22em; }
  .serv__title { font-size: 48px; max-width: 820px; }
  .serv__nav { display: none; }
  .serv__card-bege, .serv__card-verde {
    width: 100%;
    max-width: none;
  }
  /* desktop: 3-card grid for serviços + planos */
  .serv__grid-bege, .serv__grid-verde {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    width: 100%;
    max-width: 1100px;
  }
  .serv__grid-bege .serv__card-bege.is-hidden-mobile,
  .serv__grid-verde .serv__card-verde.is-hidden-mobile { display: flex; }
  .serv__grid-bege .serv__card-bege,
  .serv__grid-verde .serv__card-verde { min-height: 320px; padding: 32px 28px; }
  .serv__card-bege h4, .serv__card-verde h4 { font-size: 22px; }
  .serv__divider { height: 64px; }

  /* ── FAQ ───────────────────────────────────────────── */
  .faq { padding: 88px 64px 64px; }
  .faq__inner { max-width: 980px; margin: 0 auto; gap: 28px; }
  .faq__title { font-size: 48px; }
  .faq__sub { font-size: 12px; max-width: 480px; }
  .faq__list { max-width: 820px; gap: 14px; }
  .faq__q { font-size: 14px; padding: 22px 24px; }
  .faq__a { font-size: 13px; padding: 0 24px 22px; line-height: 1.65; }
  .faq__after { font-size: 12px; margin-top: 24px; }
  .faq__cta { margin-top: 4px; }

  /* ── Footer ────────────────────────────────────────── */
  .footer { padding: 56px 64px 36px; }
  .footer__inner {
    max-width: 1100px;
    margin: 0 auto;
    flex-direction: row;
    justify-content: space-between;
    gap: 32px;
  }
  .footer__logo { height: 44px; }
  .footer__brand-sub { font-size: 13px; }
  .footer__copy { text-align: right; }
  .footer__socials { margin-top: 0; }
  .footer__social { width: 32px; height: 32px; }
  .footer__social svg { width: 16px; height: 16px; }
}

/* ── Wider screens, bigger hero type ────────────────── */
@media (min-width: 1240px) {
  .hero__title { font-size: 42px; line-height: 1.0; }
  .stk-h2--big { font-size: 60px; }
  .about__title { font-size: 64px; }
  .aviso__title { font-size: 56px; }
}


/* ────────────────────────────────────────────────────────────
   VIDEO BLOCK (16:9)
   ──────────────────────────────────────────────────────────── */
.video-block {
  background: var(--ge-bege-500);
  padding: 56px 24px 64px;
  position: relative;
}

.video-block__raizes { display: none; }
.video-block__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.video-block__pill {
  border-color: var(--ge-verde-800);
  color: var(--ge-verde-800);
  background: transparent;
  margin-top: 32px;
}
.video-block__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.04;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ge-verde-800);
  margin: 0 0 12px;
}
.video-block__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--ge-tinta-900);
  box-shadow: 0 18px 40px -14px rgba(0,0,0,0.45);
}
.video-block__frame image-slot { width: 100%; height: 100%; }
.video-block__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: var(--ge-verde-800);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 22px rgba(0,0,0,0.28);
  transition: transform var(--dur-fast) var(--ease-organic), background var(--dur-fast) var(--ease-organic);
}
.video-block__play:hover {
  transform: translate(-50%, -50%) scale(1.06);
  background: var(--ge-verde-700);
}
.video-block__play span {
  display: block;
  width: 0; height: 0;
  border-style: solid;
  border-width: 11px 0 11px 16px;
  border-color: transparent transparent transparent var(--ge-bege-100);
  margin-left: 4px;
}
.video-block__caption {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.55;
  text-align: center;
  color: var(--ge-tinta-500);
  opacity: 1;
  margin: 8px 0 0;
  max-width: 380px;
}

@media (min-width: 880px) {
  .video-block { padding: 88px 64px 96px; }
  .video-block__inner { max-width: 960px; margin: 0 auto; gap: 20px; }
  .video-block__title { font-size: 40px; }
  .video-block__caption { font-size: 15px; }
  .video-block__play { width: 80px; height: 80px; }
  .video-block__play span { border-width: 14px 0 14px 20px; }
}


/* Carousels never overflow horizontally */
.depo__viewport, .results__viewport { overflow: hidden; }


/* ── Raiz compartilhada — bloco bege (Video + Form + Aviso) ── */
.stk-raiz-bege {
  position: relative;
  z-index: 0;
  background: var(--ge-bege-500);
}
.stk-raiz-bege::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('assets/raizes.svg') no-repeat center / cover;
  opacity: 0.09;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: multiply;
  filter: brightness(0) saturate(100%) invert(20%) sepia(35%) saturate(800%) hue-rotate(115deg) brightness(85%) contrast(95%);
}
.stk-raiz-bege > * {
  position: relative;
  z-index: 1;
  background: transparent;
}

/* ── Raiz compartilhada — bloco verde (Depo + Results + About) ── */
.stk-raiz-verde {
  position: relative;
  z-index: 1;
  background: var(--ge-verde-900);
}
.stk-raiz-verde::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('assets/raizes.svg') no-repeat center / cover;
  opacity: 0.07;
  pointer-events: none;
  z-index: 0;
  filter: brightness(0) invert(1);
}
.stk-raiz-verde > * {
  position: relative;
  z-index: 1;
  background: transparent;
}

/* Marquee wrapper — garante que fica acima dos blocos seguintes */


/* ── Marquee skew containers — sem transform nas faixas ── */
.marquees-band {
  overflow: hidden;
  padding: 0;
  margin: 0;
  position: relative;
  z-index: 9999;
}
.marquee-skew {
  overflow: hidden;
  margin: 0 -60px;
}
.marquee-skew--1 {
  transform: skewY(-3deg);
  margin-bottom: -8px;
}
.marquee-skew--2 {
  transform: skewY(2.5deg);
  margin-top: -8px;
}
.marquee-skew .marquee {
  transform: none;
  margin: 0;
  padding: 12px 0;
}


/* ── Marquee novo — sobrepõe Hero e bloco bege ── */
.marquee-wrapper {
  position: relative;
  z-index: 9999;
  margin-top: -70px;
  margin-bottom: -80px;
  pointer-events: none;
  background: transparent;
  overflow: visible;
}
.marquees-band {
  position: relative;
  z-index: 9999;
  padding: 20px 0 28px;
  background: transparent;
  pointer-events: auto;
  overflow: visible;
}

.marquee-skew {
  margin: 0 -50vw;
  padding: 0 50vw;
}
.marquee-skew--1 {
  transform: skewY(-3.5deg);
  margin-bottom: 6px;
  position: relative;
  z-index: 2;
}
.marquee-skew--2 {
  transform: skewY(3deg);
  margin-top: -12px;
  position: relative;
  z-index: 1;
}

.marquee--preta {
  background: var(--ge-verde-900);
  color: var(--ge-bege-300);
  padding: 13px 0;
}
.marquee--cinza {
  background: var(--ge-bege-700);
  color: var(--ge-verde-900);
  padding: 13px 0;
}

.marquee--preta .marquee__track span,
.marquee--cinza .marquee__track span {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0 28px;
}
.marquee--preta .marquee__track span::before,
.marquee--cinza .marquee__track span::before {
  content: '·';
  margin-right: 28px;
  opacity: 0.5;
}


/* ── Animações de entrada ─────────────────────────────────── */

/* Estado inicial — elementos invisíveis */
.anim-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s cubic-bezier(.22,.68,.12,1), transform 0.5s cubic-bezier(.22,.68,.12,1);
}
.anim-fade-left {
  opacity: 0;
  transform: translateX(-24px);
  transition: opacity 0.5s cubic-bezier(.22,.68,.12,1), transform 0.5s cubic-bezier(.22,.68,.12,1);
}
.anim-fade-right {
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 0.5s cubic-bezier(.22,.68,.12,1), transform 0.5s cubic-bezier(.22,.68,.12,1);
}
.anim-scale {
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.5s cubic-bezier(.22,.68,.12,1), transform 0.5s cubic-bezier(.22,.68,.12,1);
}
.anim-fade {
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(.22,.68,.12,1);
}

/* Delays escalonados */
.anim-delay-1 { transition-delay: 0.08s; }
.anim-delay-2 { transition-delay: 0.15s; }
.anim-delay-3 { transition-delay: 0.22s; }
.anim-delay-4 { transition-delay: 0.30s; }
.anim-delay-5 { transition-delay: 0.38s; }

/* Estado visível — ativado pelo JS */
.anim-in {
  opacity: 1 !important;
  transform: none !important;
}

/* Hero — anima na entrada direto */
.hero__brand   { animation: fadeDown 0.8s cubic-bezier(.22,.68,.12,1) both; }
.hero__title   { animation: fadeUp 0.9s 0.2s cubic-bezier(.22,.68,.12,1) both; }
.hero__lede    { animation: fadeUp 0.9s 0.4s cubic-bezier(.22,.68,.12,1) both; }
.hero__cta     { animation: fadeUp 0.9s 0.6s cubic-bezier(.22,.68,.12,1) both; }
.hero__photo   { animation: fadeIn 1.2s 0.1s cubic-bezier(.22,.68,.12,1) both; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeDown {
  from { opacity: 0; transform: translateY(-20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Vídeo de fundo no Hero ─────────────────────────────── */
.hero__bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
  filter: saturate(0) brightness(0.6) sepia(1) hue-rotate(90deg) saturate(1.5);
  z-index: 0;
  pointer-events: none;
}
.hero__photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.hero__tint {
  position: absolute;
  inset: 0;
  background: var(--ge-verde-900);
  opacity: 0.72;
  z-index: 1;
}
.hero__inner {
  position: relative;
  z-index: 2;
}

/* ── FormBlock — estado recebido ────────────────────────── */
.form-block__recebido {
  width: 100%;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
}
.form-block__recebido-card {
  background: var(--ge-verde-800);
  border-radius: var(--radius-md);
  padding: 48px 40px;
  width: 100%;
  max-width: 360px;
  text-align: center;
  box-shadow: var(--shadow-deep);
}
.form-block__recebido-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-h1);
  color: var(--ge-bege-100);
  text-transform: uppercase;
  letter-spacing: -0.03em;
  line-height: 1;
  margin: 0 0 14px;
}
.form-block__recebido-sub {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--ge-verde-300);
  line-height: 1.6;
  margin: 0;
}

/* Desktop — centralizar o recebido */
@media (min-width: 768px) {
  .form-block__recebido {
    min-height: 400px;
    grid-column: 1 / -1;
  }
  .form-block__recebido-card {
    max-width: 420px;
    padding: 56px 48px;
  }
}
