:root {
  --ink: #0a1f17;
  --ink-deep: #06140f;
  --forest: #103126;
  --forest-muted: #1c4434;
  --stone: #ece7dd;
  --stone-bright: #f5f1e9;
  --stone-muted: #d3cec2;
  --lime: #c8ff18;
  --lime-deep: #9cca00;
  --mist: rgba(245, 241, 233, 0.74);
  --line-dark: rgba(9, 31, 23, 0.2);
  --line-light: rgba(245, 241, 233, 0.2);
  --text-muted: #506057;
  --text-on-dark: #f5f2eb;
  --page-max: 1240px;
  --header-height: 82px;
  --radius-sm: 12px;
  --radius-md: 22px;
  --shadow-signal: 0 26px 58px rgba(0, 0, 0, 0.38), 0 6px 16px rgba(2, 10, 7, 0.28);
  --shadow-focus: 0 0 0 4px rgba(200, 255, 24, 0.22);
  --transition-base: 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--ink);
  scroll-behavior: auto;
}

main,
main > section[id] {
  scroll-margin-top: calc(var(--header-height) + 26px);
}

body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background: var(--stone);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a,
label {
  -webkit-tap-highlight-color: transparent;
}

button {
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  cursor: pointer;
}

img {
  max-width: 100%;
}

/* Component display rules must never revive an element intentionally hidden in the HTML/JS flow. */
[hidden] {
  display: none !important;
}

fieldset {
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  padding: 0;
}

textarea {
  resize: vertical;
}

:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 5px;
  box-shadow: var(--shadow-focus);
}

.shell {
  width: min(calc(100% - 48px), var(--page-max));
  margin-inline: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  border-radius: 6px;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--lime);
  transition: transform var(--transition-base);
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 22px;
  color: rgba(245, 242, 235, 0.72);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-transform: uppercase;
}

.eyebrow > span {
  display: block;
  width: 32px;
  height: 1px;
  background: var(--lime);
}

.eyebrow--dark {
  color: rgba(10, 31, 23, 0.67);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3,
.brand__wordmark {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

h1,
h2,
h3 {
  letter-spacing: -0.055em;
  line-height: 0.96;
}

h1 {
  max-width: 720px;
  margin-bottom: 30px;
  color: var(--text-on-dark);
  font-size: clamp(3.35rem, 7.2vw, 7rem);
  font-weight: 500;
}

h2 {
  margin-bottom: 0;
  font-size: clamp(2.55rem, 5.3vw, 5rem);
  font-weight: 500;
}

h3 {
  margin-bottom: 18px;
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  font-weight: 500;
}

.site-header {
  position: sticky;
  z-index: 30;
  top: 0;
  height: var(--header-height);
  color: var(--text-on-dark);
  background: rgba(6, 20, 15, 0.95);
  border-bottom: 1px solid rgba(245, 241, 233, 0.12);
}

.header__inner {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr);
  align-items: center;
  height: 100%;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 11px;
  min-height: 36px;
}

.brand__mark {
  display: grid;
  flex: 0 0 26px;
  place-items: center;
  width: 26px;
  height: 26px;
  overflow: hidden;
}

.brand__mark img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.brand__wordmark {
  color: currentColor;
  font-size: 0.91rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  line-height: 1;
}

.brand__rule {
  display: block;
  width: 15px;
  height: 1px;
  background: var(--lime);
  transition: width var(--transition-base);
}

.brand:hover .brand__rule,
.brand:focus-visible .brand__rule {
  width: 28px;
}

.primary-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 30px);
}

.primary-navigation a,
.header-cta,
.menu-toggle {
  font-size: 0.78rem;
  font-weight: 600;
}

.primary-navigation a {
  position: relative;
  color: rgba(245, 242, 235, 0.72);
  transition: color var(--transition-base);
}

.primary-navigation__contact {
  display: none;
}

.primary-navigation a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 0;
  height: 1px;
  content: "";
  background: var(--lime);
  transition: width var(--transition-base);
}

.primary-navigation a:hover,
.primary-navigation a:focus-visible {
  color: var(--text-on-dark);
}

.primary-navigation a:hover::after,
.primary-navigation a:focus-visible::after {
  width: 100%;
}

.header-cta {
  justify-self: end;
  border: 1px solid rgba(245, 242, 235, 0.46);
  border-radius: 999px;
  padding: 11px 16px;
  color: var(--text-on-dark);
  transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
}

.header-cta:hover,
.header-cta:focus-visible {
  border-color: var(--lime);
  color: var(--ink);
  background: var(--lime);
}

.menu-toggle {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--text-on-dark);
  background: transparent;
}

.menu-toggle__lines,
.menu-toggle__lines::before {
  display: block;
  width: 18px;
  height: 1px;
  content: "";
  background: currentColor;
  transition: transform var(--transition-base);
}

.menu-toggle__lines::before {
  transform: translateY(-5px);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines {
  transform: rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before {
  transform: rotate(-90deg);
}

.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: min(860px, calc(100svh - var(--header-height)));
  padding: clamp(72px, 11vw, 148px) 0 38px;
  color: var(--text-on-dark);
  background:
    radial-gradient(circle at 84% 89%, rgba(92, 137, 100, 0.25), transparent 28%),
    radial-gradient(circle at 22% 14%, rgba(63, 103, 80, 0.2), transparent 31%),
    linear-gradient(135deg, var(--ink-deep), var(--forest) 56%, #091b14);
}

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

.hero::before {
  inset: 0;
  opacity: 0.48;
  background-image:
    linear-gradient(107deg, transparent 0 46%, rgba(232, 241, 225, 0.05) 46.1% 46.25%, transparent 46.35% 100%),
    repeating-linear-gradient(169deg, transparent 0 51px, rgba(246, 245, 232, 0.035) 52px, transparent 53px 93px);
}

.hero::after {
  right: -16vw;
  bottom: -31vw;
  width: 73vw;
  height: 53vw;
  border: 1px solid rgba(228, 239, 216, 0.14);
  border-radius: 50% 46% 0 0;
  transform: rotate(-11deg);
  box-shadow: 0 0 0 48px rgba(3, 18, 12, 0.14), 0 0 0 98px rgba(214, 229, 202, 0.03);
}

.hero__texture {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.4;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px) 0 0 / 29px 29px,
    linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px) 0 0 / 29px 29px;
  mask-image: linear-gradient(to bottom, black, transparent);
}

.hero__route {
  position: absolute;
  z-index: -1;
  right: -6vw;
  bottom: 7%;
  width: 65vw;
  height: 120px;
  overflow: hidden;
  transform: rotate(-8deg);
  pointer-events: none;
}

.hero__route span {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 70px;
  border-top: 2px solid var(--lime);
  border-radius: 50%;
  filter: drop-shadow(0 0 11px rgba(200, 255, 24, 0.42));
}

.hero__route span:nth-child(2) {
  right: 8%;
  bottom: 23px;
  width: 74%;
  opacity: 0.45;
}

.hero__route span:nth-child(3) {
  right: 18%;
  bottom: 47px;
  width: 44%;
  opacity: 0.18;
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);
  align-items: center;
  gap: clamp(50px, 7vw, 116px);
}

.hero__intro {
  max-width: 570px;
  margin-bottom: 36px;
  color: rgba(245, 242, 235, 0.72);
  font-size: clamp(1.04rem, 1.6vw, 1.22rem);
  line-height: 1.58;
}

.hero__outcomes {
  display: flex;
  align-items: center;
  gap: 20px;
  color: rgba(245, 242, 235, 0.72);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.hero__outcomes span {
  display: flex;
  align-items: center;
  gap: 20px;
}

.hero__outcomes span:not(:last-child)::after {
  width: 20px;
  height: 1px;
  content: "";
  background: rgba(245, 242, 235, 0.3);
}

.hero-diagnostic {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(245, 242, 235, 0.23);
  border-radius: var(--radius-md);
  padding: clamp(26px, 4vw, 43px);
  background: rgba(7, 26, 19, 0.72);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.18);
}

.hero-diagnostic::after {
  position: absolute;
  top: -30%;
  right: -40%;
  width: 110%;
  height: 90%;
  content: "";
  background: radial-gradient(circle, rgba(200, 255, 24, 0.12), transparent 67%);
  pointer-events: none;
}

.hero-diagnostic__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 34px;
}

.hero-diagnostic__head p {
  max-width: 122px;
  margin: 0;
  color: rgba(245, 242, 235, 0.61);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
}

.step-indicator {
  color: var(--lime);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.hero-diagnostic__title {
  max-width: 355px;
  margin: 0;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.hero-diagnostic__copy {
  max-width: 365px;
  margin: 19px 0 0;
  color: rgba(245, 242, 235, 0.72);
  font-size: 0.95rem;
  line-height: 1.58;
}

.hero-diagnostic .button {
  margin-top: 27px;
}

.hero-diagnostic__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 17px 0 0;
  color: rgba(245, 242, 235, 0.61);
  font-size: 0.875rem;
  line-height: 1.45;
}

.hero-diagnostic__note::before {
  width: 18px;
  height: 1px;
  content: "";
  background: var(--lime);
}

/* CTA de entrada: o diagnóstico completo permanece somente na seção final. */
.hero-cta-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(245, 242, 235, 0.23);
  border-radius: var(--radius-md);
  padding: clamp(26px, 4vw, 43px);
  background: rgba(7, 26, 19, 0.72);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.18);
}

.hero-cta-card::after {
  position: absolute;
  top: -30%;
  right: -40%;
  width: 110%;
  height: 90%;
  content: "";
  background: radial-gradient(circle, rgba(200, 255, 24, 0.12), transparent 67%);
  pointer-events: none;
}

.hero-cta-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 34px;
}

.hero-cta-card__head p {
  max-width: 150px;
  margin: 0;
  color: rgba(245, 242, 235, 0.61);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
}

.hero-cta-card__rule {
  flex: 1 1 auto;
  height: 1px;
  margin-top: 8px;
  background: rgba(245, 242, 235, 0.25);
}

.hero-cta-card__count {
  margin: 0 0 15px;
  color: var(--lime);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero-cta-card h2 {
  max-width: 410px;
  margin: 0;
  color: var(--text-on-dark);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 1.04;
}

.hero-cta-card__copy {
  max-width: 400px;
  margin: 19px 0 0;
  color: rgba(245, 242, 235, 0.72);
  font-size: 0.98rem;
  line-height: 1.58;
}

.hero-cta-card__button {
  position: relative;
  z-index: 1;
  margin-top: 27px;
}

.hero-cta-card__note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 17px 0 0;
  color: rgba(245, 242, 235, 0.61);
  font-size: 0.875rem;
  line-height: 1.45;
}

.hero-cta-card__note::before {
  flex: 0 0 18px;
  height: 1px;
  margin-top: 0.65em;
  content: "";
  background: var(--lime);
}

.form-feedback {
  min-height: 24px;
  margin: 13px 0 0;
  color: #ffceaa;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
}

.form-feedback:empty {
  display: none;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 52px;
  border-radius: 999px;
  padding: 14px 24px;
  font-size: 0.9rem;
  font-weight: 700;
  transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), opacity var(--transition-base);
}

.button span {
  font-size: 1.08rem;
  line-height: 1;
}

.button:hover:not(:disabled) {
  transform: translateY(-2px);
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.button--lime {
  width: 100%;
  margin-top: 15px;
  color: var(--ink);
  background: var(--lime);
}

.button--lime:hover:not(:disabled) {
  background: #d8ff5e;
}

.button--ghost {
  border: 1px solid rgba(245, 242, 235, 0.38);
  color: var(--text-on-dark);
  background: transparent;
}

.button--ghost:hover {
  border-color: var(--lime);
  color: var(--lime);
}

.hero__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(50px, 8vw, 106px);
  padding-top: 22px;
  border-top: 1px solid rgba(245, 241, 233, 0.19);
}

.hero__footer p {
  max-width: 470px;
  margin: 0;
  color: rgba(245, 242, 235, 0.59);
  font-size: 0.82rem;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
  font-size: 0.84rem;
  font-weight: 700;
  transition: color var(--transition-base), gap var(--transition-base);
}

.text-link:hover,
.text-link:focus-visible {
  gap: 14px;
  color: var(--lime);
}

.signal-section {
  overflow: hidden;
  padding: clamp(90px, 12vw, 164px) 0 clamp(78px, 10vw, 142px);
  background:
    radial-gradient(circle at 77% 0, rgba(151, 178, 140, 0.22), transparent 28%),
    linear-gradient(180deg, var(--stone-bright), var(--stone));
}

.signal-section__intro,
.solutions-section__heading,
.method-section__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.43fr);
  align-items: end;
  gap: 46px;
  margin-bottom: clamp(48px, 7vw, 84px);
}

.signal-section__intro p:last-child,
.solutions-section__heading > p {
  max-width: 400px;
  margin: 0;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.solutions-section__guide {
  max-width: 560px;
  margin: 18px 0 0;
  color: var(--text-muted);
  font-size: 0.98rem;
  line-height: 1.58;
}

.solutions-context {
  max-width: 560px;
  margin: 17px 0 0;
  border-left: 2px solid var(--lime-deep);
  padding: 10px 14px;
  color: var(--ink);
  background: rgba(200, 255, 24, 0.12);
  font-size: 0.9rem;
  line-height: 1.48;
}

.solutions-context strong {
  font-weight: 700;
}

.signal-carousel {
  position: relative;
}

.signal-carousel__viewport {
  overflow: hidden;
  margin-inline: -8px;
  padding: 14px 8px 38px;
  touch-action: pan-y;
}

.signal-carousel__track {
  display: flex;
  align-items: stretch;
  gap: 22px;
  width: max-content;
  transition: transform 560ms cubic-bezier(0.19, 0.75, 0.25, 1);
  will-change: transform;
}

.signal-slide {
  position: relative;
  display: flex;
  flex: 0 0 min(73vw, 648px);
  min-height: 420px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border: 1px solid rgba(242, 246, 224, 0.2);
  border-radius: var(--radius-md);
  padding: clamp(28px, 4.5vw, 48px);
  color: var(--text-on-dark);
  background: linear-gradient(145deg, rgba(30, 69, 53, 0.8), rgba(9, 32, 23, 0.92));
  opacity: 0.58;
  transform: scale(0.94);
  transition: flex-basis 560ms cubic-bezier(0.19, 0.75, 0.25, 1), min-height 560ms cubic-bezier(0.19, 0.75, 0.25, 1), transform 560ms cubic-bezier(0.19, 0.75, 0.25, 1), opacity 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
  will-change: flex-basis, transform;
}

.signal-slide::before,
.signal-slide::after,
.signal-slide__glass {
  position: absolute;
  pointer-events: none;
  content: "";
}

.signal-slide::before {
  inset: 0;
  opacity: 0.46;
  background:
    linear-gradient(114deg, transparent 15%, rgba(200, 255, 24, 0.26) 46%, transparent 57%),
    radial-gradient(circle at 24% 88%, rgba(202, 239, 218, 0.18), transparent 30%),
    radial-gradient(circle at 87% 21%, rgba(153, 209, 173, 0.2), transparent 28%);
  background-size: 210% 210%, auto, auto;
}

.signal-slide::after {
  inset: 14px;
  border: 1px solid rgba(240, 248, 228, 0.13);
  border-radius: calc(var(--radius-md) - 8px);
}

.signal-slide__glass {
  z-index: 0;
  inset: auto -10% -47% 35%;
  height: 74%;
  border: 1px solid rgba(210, 255, 102, 0.29);
  border-radius: 48% 52% 0 0;
  transform: rotate(-13deg);
  background: linear-gradient(120deg, rgba(200, 255, 24, 0.06), rgba(162, 224, 194, 0.16) 48%, transparent 74%);
}

.signal-slide > *:not(.signal-slide__glass) {
  position: relative;
  z-index: 1;
}

.signal-slide.is-active {
  border-color: rgba(216, 255, 94, 0.73);
  box-shadow: var(--shadow-signal);
  opacity: 1;
  transform: scale(1);
}

.signal-slide.is-active::before {
  animation: hologram-drift 7s ease-in-out infinite alternate;
}

.signal-slide__index {
  margin-bottom: auto;
  color: rgba(245, 242, 235, 0.57);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.signal-slide__label {
  margin-bottom: 20px;
  color: var(--lime);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.signal-slide h3 {
  max-width: 500px;
  margin-bottom: 18px;
}

.signal-slide p:not(.signal-slide__index, .signal-slide__label) {
  max-width: 430px;
  margin-bottom: 24px;
  color: rgba(245, 242, 235, 0.7);
}

.signal-slide__line {
  width: 48px;
  height: 2px;
  background: var(--lime);
}

.signal-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
}

.control-button {
  border-bottom: 1px solid rgba(10, 31, 23, 0.48);
  padding: 5px 0;
  color: var(--ink);
  background: transparent;
  font-size: 0.8125rem;
  font-weight: 700;
  transition: color var(--transition-base), border-color var(--transition-base);
}

.control-button:hover,
.control-button:focus-visible {
  border-color: var(--lime-deep);
  color: var(--forest);
}

.signal-carousel__pagination {
  display: flex;
  align-items: center;
  gap: 8px;
}

.signal-carousel__pagination button {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  padding: 0;
  background: rgba(10, 31, 23, 0.28);
  transition: width var(--transition-base), background var(--transition-base);
}

.signal-carousel__pagination button.is-active {
  width: 31px;
  background: var(--lime-deep);
}

.problem-section {
  padding: clamp(92px, 13vw, 170px) 0 clamp(80px, 11vw, 144px);
  color: var(--text-on-dark);
  background:
    radial-gradient(circle at 13% 91%, rgba(105, 153, 112, 0.23), transparent 30%),
    linear-gradient(149deg, #07170f, #123326 55%, #0b2118);
}

.problem-section__grid {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) minmax(240px, 0.38fr);
  align-items: start;
  gap: 28px;
}

.section-number {
  margin: 6px 0 0;
  color: var(--lime);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.problem-section__copy h2 {
  max-width: 630px;
}

.problem-section__body {
  max-width: 350px;
  margin: 8px 0 0;
  color: rgba(245, 242, 235, 0.7);
  font-size: 1rem;
  line-height: 1.63;
}

.problem-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: clamp(54px, 9vw, 112px);
  border-top: 1px solid var(--line-light);
}

.problem-points p {
  display: flex;
  align-items: baseline;
  gap: 13px;
  margin: 0;
  padding-top: 21px;
  color: rgba(245, 242, 235, 0.81);
  font-size: 0.96rem;
  font-weight: 600;
}

.problem-points span {
  color: var(--lime);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.72rem;
}

.solutions-section {
  position: relative;
  padding: clamp(90px, 12vw, 162px) 0;
  background: var(--stone);
}

.section-anchor {
  position: absolute;
  top: calc(var(--header-height) * -1);
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.solutions-interface {
  display: grid;
  grid-template-columns: minmax(235px, 0.4fr) minmax(0, 1fr);
  min-height: 556px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.solutions-tabs {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line-dark);
}

.solutions-tabs button {
  position: relative;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  min-height: 76px;
  border-bottom: 1px solid var(--line-dark);
  padding: 17px 28px 17px 0;
  color: rgba(10, 31, 23, 0.57);
  background: transparent;
  font-size: 0.93rem;
  font-weight: 600;
  text-align: left;
  transition: color var(--transition-base), padding var(--transition-base), background var(--transition-base);
}

.solutions-tabs__index {
  color: rgba(10, 31, 23, 0.43);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.solutions-tabs__label {
  display: grid;
  gap: 3px;
}

.solutions-tabs__name {
  font-size: 0.94rem;
  font-weight: 650;
  line-height: 1.18;
}

.solutions-tabs__intent {
  color: rgba(10, 31, 23, 0.47);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.015em;
  line-height: 1.25;
}

.solutions-tabs button::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0;
  height: 1px;
  content: "";
  background: var(--lime-deep);
  transition: width var(--transition-base);
}

.solutions-tabs button:hover,
.solutions-tabs button:focus-visible,
.solutions-tabs button[aria-selected="true"] {
  padding-left: 16px;
  color: var(--ink);
}

.solutions-tabs button[aria-selected="true"] {
  background: rgba(200, 255, 24, 0.14);
}

.solutions-tabs button[aria-selected="true"] .solutions-tabs__index,
.solutions-tabs button[aria-selected="true"] .solutions-tabs__intent {
  color: var(--ink);
}

.solutions-tabs button[aria-selected="true"]::after {
  width: 36px;
}

.solutions-panels {
  position: relative;
  min-width: 0;
}

.solution-panel {
  display: block;
  min-height: 100%;
  padding: clamp(34px, 5.6vw, 72px);
  background:
    radial-gradient(circle at 91% 13%, rgba(200, 255, 24, 0.18), transparent 27%),
    linear-gradient(130deg, rgba(245, 241, 233, 0.86), rgba(217, 229, 211, 0.72));
}

.solution-panel--marketing {
  background:
    radial-gradient(circle at 88% 16%, rgba(200, 255, 24, 0.22), transparent 29%),
    linear-gradient(132deg, #eef0e6, #d9e5d5);
}

.solution-panel--technology {
  background:
    radial-gradient(circle at 83% 14%, rgba(132, 225, 184, 0.22), transparent 26%),
    linear-gradient(136deg, #e8ede3, #d1ddd0);
}

.solution-panel__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 0.41fr);
  align-items: center;
  gap: clamp(26px, 4.5vw, 60px);
  margin-bottom: clamp(35px, 5vw, 58px);
}

.solution-panel__content {
  min-width: 0;
}

.solution-panel__kicker {
  margin-bottom: 20px;
  color: var(--forest-muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.solution-panel h3 {
  max-width: 640px;
}

.solution-panel__content > p:not(.solution-panel__kicker) {
  max-width: 600px;
  margin-bottom: 0;
  color: var(--text-muted);
  font-size: 1.02rem;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
}

.solution-panel__intro + .product-grid {
  margin-top: 0;
}

.product-card {
  position: relative;
  display: flex;
  min-height: 220px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(10, 31, 23, 0.16);
  border-radius: 13px;
  padding: 20px 19px 18px;
  background: rgba(245, 242, 235, 0.4);
  transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
}

.product-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, var(--lime-deep), rgba(156, 202, 0, 0));
  opacity: 0;
  transition: opacity var(--transition-base);
}

.product-card:hover,
.product-card:focus-within {
  z-index: 1;
  border-color: rgba(10, 31, 23, 0.31);
  background: rgba(245, 242, 235, 0.77);
  box-shadow: 0 17px 34px rgba(15, 39, 28, 0.12);
  transform: translateY(-4px);
}

.product-card:hover::before,
.product-card:focus-within::before {
  opacity: 1;
}

.product-card > span {
  display: block;
  margin-bottom: 19px;
  color: var(--forest-muted);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.product-card h4 {
  margin: 0 0 10px;
  color: var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.02rem, 1.5vw, 1.23rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.product-card p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.875rem;
  line-height: 1.52;
}

.product-card a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  min-height: 40px;
  margin-top: auto;
  padding-top: 14px;
  color: var(--forest);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.product-card a i {
  color: var(--lime-deep);
  font-size: 0.9rem;
  font-style: normal;
  transition: transform var(--transition-base);
}

.product-card a:hover i,
.product-card a:focus-visible i {
  transform: translate(2px, -2px);
}

.solution-mockup {
  position: relative;
  min-height: 286px;
  overflow: hidden;
  border: 1px solid rgba(245, 242, 235, 0.62);
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 18%, rgba(200, 255, 24, 0.35), transparent 31%),
    linear-gradient(142deg, rgba(11, 45, 33, 0.97), rgba(29, 75, 57, 0.86));
  box-shadow: 0 24px 44px rgba(9, 31, 23, 0.29), 0 8px 16px rgba(6, 19, 13, 0.18);
  transform: rotate(2.2deg);
}

.solution-mockup::after {
  position: absolute;
  inset: auto -25% -33% 17%;
  height: 68%;
  border: 1px solid rgba(200, 255, 24, 0.3);
  border-radius: 50%;
  content: "";
  transform: rotate(-14deg);
}

.solution-mockup__topbar {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 38px;
  border-bottom: 1px solid rgba(245, 242, 235, 0.18);
  padding: 0 13px;
}

.solution-mockup__topbar span {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: rgba(245, 242, 235, 0.57);
}

.solution-mockup__topbar p {
  margin: 0 0 0 auto;
  color: rgba(245, 242, 235, 0.61);
  font-size: 0.49rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.solution-mockup__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  min-height: 248px;
  padding: 26px 22px;
}

.solution-mockup__content > p {
  margin: 0 0 29px;
  color: var(--lime);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.solution-mockup__content strong {
  max-width: 170px;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.42rem, 2.4vw, 2rem);
  font-weight: 500;
  letter-spacing: -0.07em;
  line-height: 0.93;
}

.solution-mockup__line {
  width: 84%;
  height: 1px;
  margin-top: 20px;
  background: rgba(245, 242, 235, 0.37);
}

.solution-mockup__line--short {
  width: 53%;
  margin-top: 9px;
}

.solution-mockup__cta {
  margin-top: auto;
  border: 1px solid rgba(200, 255, 24, 0.66);
  border-radius: 999px;
  padding: 7px 12px;
  color: var(--lime);
  font-size: 0.58rem;
  font-weight: 700;
}

.method-section {
  padding: clamp(90px, 13vw, 168px) 0;
  color: var(--text-on-dark);
  background: linear-gradient(180deg, #0b2119, #0a1a14);
}

.method-section__heading {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.2fr);
}

.method-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-light);
}

.method-row {
  display: grid;
  grid-template-columns: 70px minmax(260px, 0.8fr) minmax(210px, 0.45fr) minmax(170px, 0.28fr);
  align-items: start;
  gap: 30px;
  border-bottom: 1px solid var(--line-light);
  padding: clamp(30px, 4vw, 56px) 0;
}

.method-row > span {
  color: var(--lime);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.method-row div > p {
  margin-bottom: 11px;
  color: var(--lime);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.method-row h3 {
  margin: 0;
  font-size: clamp(1.65rem, 2.5vw, 2.48rem);
}

.method-row > p {
  margin: 5px 0 0;
  color: rgba(245, 242, 235, 0.68);
  font-size: 0.94rem;
  line-height: 1.62;
}

.method-row small {
  padding-top: 6px;
  color: rgba(245, 242, 235, 0.46);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.55;
  text-transform: uppercase;
}

.proof-section {
  padding: clamp(92px, 13vw, 170px) 0;
  background:
    radial-gradient(circle at 5% 9%, rgba(200, 255, 24, 0.15), transparent 24%),
    linear-gradient(132deg, #eef0e6, #d9e1d1);
}

.proof-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(300px, 0.78fr);
  gap: clamp(56px, 11vw, 155px);
}

.proof-section__copy h2 {
  max-width: 580px;
}

.proof-section__copy > p:last-child {
  max-width: 580px;
  margin: 32px 0 0;
  color: var(--text-muted);
  font-size: 1.03rem;
  line-height: 1.65;
}

.proof-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-dark);
}

.proof-list li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 20px;
  border-bottom: 1px solid var(--line-dark);
  padding: 24px 0;
}

.proof-list span {
  color: var(--forest-muted);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.proof-list strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 1.02rem;
}

.proof-list p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.faq-section {
  padding: clamp(94px, 13vw, 170px) 0;
  color: var(--text-on-dark);
  background: var(--ink-deep);
}

.faq-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(340px, 0.9fr);
  gap: clamp(52px, 11vw, 150px);
}

.faq-section__intro h2 {
  max-width: 560px;
}

.faq-section__intro > p:last-child {
  max-width: 390px;
  margin: 28px 0 0;
  color: rgba(245, 242, 235, 0.68);
}

.faq-list {
  border-top: 1px solid var(--line-light);
}

.faq-list details {
  border-bottom: 1px solid var(--line-light);
}

.faq-list summary {
  position: relative;
  padding: 26px 46px 26px 0;
  color: var(--text-on-dark);
  cursor: pointer;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.13rem, 1.8vw, 1.38rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 4px;
  width: 16px;
  height: 1px;
  content: "";
  background: var(--lime);
  transition: transform var(--transition-base);
}

.faq-list summary::before {
  position: absolute;
  top: calc(50% - 7px);
  right: 11px;
  width: 1px;
  height: 16px;
  content: "";
  background: var(--lime);
  transition: transform var(--transition-base);
}

.faq-list details[open] summary::before {
  transform: rotate(90deg);
}

.faq-list details p {
  max-width: 620px;
  margin: -4px 0 25px;
  color: rgba(245, 242, 235, 0.68);
  line-height: 1.62;
}

.lead-section {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 7vw, 138px) 0;
  color: var(--text-on-dark);
  background: linear-gradient(134deg, #092218 0%, #103e2c 52%, #07180f 100%);
}

.lead-section::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0.45;
  background:
    linear-gradient(116deg, transparent 0 42%, rgba(238, 250, 228, 0.06) 42.1% 42.22%, transparent 42.3% 100%),
    repeating-linear-gradient(162deg, transparent 0 63px, rgba(238, 250, 228, 0.035) 64px, transparent 65px 105px);
}

.lead-section__route {
  position: absolute;
  z-index: 0;
  right: -12vw;
  bottom: 8%;
  width: 76vw;
  height: 310px;
  border-top: 2px solid var(--lime);
  border-radius: 50%;
  transform: rotate(-10deg);
  box-shadow: 0 -29px 0 -28px rgba(200, 255, 24, 0.45), 0 -60px 0 -59px rgba(200, 255, 24, 0.17);
  filter: drop-shadow(0 0 16px rgba(200, 255, 24, 0.32));
}

.lead-section__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(360px, 0.76fr);
  align-items: start;
  gap: clamp(54px, 10vw, 145px);
}

.lead-section__copy h2 {
  max-width: 520px;
}

.lead-section__copy > p:last-child {
  max-width: 460px;
  margin: 30px 0 0;
  color: rgba(245, 242, 235, 0.7);
  font-size: 1rem;
  line-height: 1.65;
}

.lead-flow {
  border: 1px solid rgba(245, 242, 235, 0.24);
  border-radius: var(--radius-md);
  padding: clamp(22px, 2.6vw, 32px);
  background: rgba(4, 18, 12, 0.63);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.lead-form__progress {
  display: flex;
  gap: 13px;
  margin-bottom: 24px;
  overflow-x: auto;
  color: rgba(245, 242, 235, 0.43);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.lead-form__progress span {
  position: relative;
  flex: 0 0 auto;
  padding-bottom: 9px;
}

.lead-form__progress span::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background: currentColor;
}

.lead-form__progress span.is-active {
  color: var(--lime);
}

.lead-step__eyebrow {
  margin: 0 0 13px;
  color: var(--lime);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lead-step {
  scroll-margin-top: calc(var(--header-height) + 20px);
}

.lead-step__title {
  margin: 0;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.12;
}

.lead-step__intro {
  max-width: 470px;
  margin: 10px 0 0;
  color: rgba(245, 242, 235, 0.69);
  font-size: 0.94rem;
  line-height: 1.58;
}

.lead-service-context {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  margin: 13px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(200, 255, 24, 0.27);
  border-radius: 10px;
  background: linear-gradient(110deg, rgba(200, 255, 24, 0.1), rgba(200, 255, 24, 0.025));
  color: rgba(245, 242, 235, 0.76);
  font-size: 0.82rem;
  line-height: 1.42;
}

.lead-service-context__mark {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid rgba(200, 255, 24, 0.46);
  border-radius: 50%;
  color: var(--lime);
  font-size: 0.76rem;
  font-weight: 700;
}

.lead-service-context strong {
  color: var(--text-on-dark);
  font-weight: 700;
}

.lead-moments {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.lead-moments .field-label {
  margin: 0 0 2px;
}

.lead-moment-option {
  position: relative;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 54px;
  border: 1px solid rgba(245, 242, 235, 0.24);
  border-radius: 10px;
  padding: 12px 14px;
  color: rgba(245, 242, 235, 0.84);
  background: rgba(245, 242, 235, 0.035);
  cursor: pointer;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
  transition: border-color var(--transition-base), background var(--transition-base), transform var(--transition-base), color var(--transition-base);
}

.lead-moment-option:hover,
.lead-moment-option:has(input:checked) {
  border-color: rgba(200, 255, 24, 0.78);
  color: var(--text-on-dark);
  background: rgba(200, 255, 24, 0.08);
}

.lead-moment-option:hover {
  transform: translateX(2px);
}

.lead-moment-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.lead-moment-option__mark {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(245, 242, 235, 0.72);
  border-radius: 50%;
  transition: border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}

.lead-moment-option input:checked + .lead-moment-option__mark {
  border-color: var(--lime);
  background: var(--lime);
  box-shadow: inset 0 0 0 5px rgba(6, 20, 15, 0.88);
}

.lead-moment-option:focus-within {
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}

.lead-step__hint {
  margin: 9px 0 0;
  color: rgba(245, 242, 235, 0.58);
  font-size: 0.875rem;
  line-height: 1.48;
}

.field-label {
  display: block;
  margin: 16px 0 8px;
  color: rgba(245, 242, 235, 0.7);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.42;
}

.field-label span {
  color: rgba(245, 242, 235, 0.52);
  font-size: 0.8125rem;
  font-weight: 500;
}

.lead-form input:not([type="radio"]):not([type="checkbox"]),
.lead-form textarea,
.lead-form select {
  scroll-margin-top: calc(var(--header-height) + 20px);
  width: 100%;
  border: 1px solid rgba(245, 242, 235, 0.28);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  color: var(--text-on-dark);
  background: rgba(245, 242, 235, 0.06);
  transition: border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
}

.lead-form input:not([type="radio"]):not([type="checkbox"]) {
  min-height: 53px;
}

.lead-form select {
  min-height: 53px;
  cursor: pointer;
}

.lead-form textarea {
  min-height: 92px;
}

.lead-form input::placeholder,
.lead-form textarea::placeholder {
  color: rgba(245, 242, 235, 0.42);
}

.lead-form input:not([type="radio"]):not([type="checkbox"]):focus,
.lead-form textarea:focus,
.lead-form select:focus {
  border-color: var(--lime);
  outline: 0;
  background: rgba(245, 242, 235, 0.1);
  box-shadow: var(--shadow-focus);
}

.lead-form input[aria-invalid="true"]:not([type="radio"]):not([type="checkbox"]),
.lead-form textarea[aria-invalid="true"],
.lead-form select[aria-invalid="true"] {
  border-color: #ffceaa;
  background: rgba(255, 206, 170, 0.08);
  box-shadow: 0 0 0 4px rgba(255, 206, 170, 0.14);
}

.lead-form select option,
.lead-form select optgroup {
  color: var(--ink);
  background: var(--stone-bright);
}

.form-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 14px;
}

.form-field-grid .field-label {
  margin-top: 0;
}

.form-field--wide {
  grid-column: 1 / -1;
}

.form-field-grid + .consent-control {
  margin-top: 26px;
}

.guidance-control {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 12px;
  border: 1px solid rgba(245, 242, 235, 0.24);
  border-radius: var(--radius-sm);
  padding: 13px 14px;
  color: rgba(245, 242, 235, 0.82);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.45;
  transition: border-color var(--transition-base), background var(--transition-base), color var(--transition-base);
}

.guidance-control:hover,
.guidance-control:has(input:checked) {
  border-color: rgba(200, 255, 24, 0.8);
  color: var(--text-on-dark);
  background: rgba(200, 255, 24, 0.08);
}

.guidance-control input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--lime);
}

.guidance-control:has(input:focus-visible),
.consent-control:has(input:focus-visible) {
  outline: 2px solid var(--lime);
  outline-offset: 4px;
}

.form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 15px;
}

.form-whatsapp-fallback,
.form-email-fallback {
  width: max-content;
  margin-top: 12px;
  color: var(--lime);
}

.form-actions .button--lime {
  margin-top: 0;
}

.lead-summary {
  margin-bottom: 22px;
  color: rgba(245, 242, 235, 0.74);
  font-size: 0.94rem;
  line-height: 1.55;
}

.lead-summary strong {
  color: var(--lime);
}

.lead-details {
  margin-top: 22px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.lead-details summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0;
  color: rgba(245, 242, 235, 0.86);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
}

.lead-details summary::-webkit-details-marker {
  display: none;
}

.lead-details summary::after {
  flex: 0 0 auto;
  content: "+";
  color: var(--lime);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 0.8;
}

.lead-details[open] summary::after {
  content: "−";
}

.lead-details summary span {
  color: rgba(245, 242, 235, 0.52);
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.lead-details summary:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--lime);
  outline-offset: 4px;
}

.lead-details__body {
  padding: 4px 0 24px;
}

.consent-control {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  padding: 20px 0;
  color: rgba(245, 242, 235, 0.74);
  cursor: pointer;
  font-size: 0.88rem;
  line-height: 1.48;
}

.consent-control input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--lime);
}

.consent-control:has(input[aria-invalid="true"]) {
  border-color: #ffceaa;
  color: #ffdec9;
  box-shadow: 0 0 0 4px rgba(255, 206, 170, 0.12);
}

.lead-finished h3 {
  max-width: 470px;
  margin-bottom: 20px;
}

.lead-finished p:not(.eyebrow) {
  margin-bottom: 25px;
  color: rgba(245, 242, 235, 0.73);
}

.lead-finished__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px 24px;
}

.lead-whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 52px;
}

.whatsapp-fab {
  position: fixed;
  z-index: 25;
  right: clamp(18px, 3vw, 42px);
  bottom: max(18px, env(safe-area-inset-bottom));
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  border: 1px solid rgba(200, 255, 24, 0.55);
  border-radius: 999px;
  padding: 12px 17px 12px 13px;
  color: #07140d;
  background: var(--lime);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28), 0 0 0 5px rgba(200, 255, 24, 0.08);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}

.whatsapp-fab svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.whatsapp-fab:hover,
.whatsapp-fab:focus-visible {
  color: #07140d;
  background: #d8ff56;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34), 0 0 0 7px rgba(200, 255, 24, 0.13);
  transform: translateY(-3px);
}

.site-footer {
  padding: 44px 0;
  color: var(--text-on-dark);
  background: #05120d;
  border-top: 1px solid rgba(245, 242, 235, 0.15);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) minmax(150px, 0.7fr) minmax(220px, 1fr);
  align-items: start;
  gap: 34px;
}

.brand--footer {
  color: var(--text-on-dark);
}

.site-footer p {
  max-width: 360px;
  margin-bottom: 11px;
  color: rgba(245, 242, 235, 0.6);
  font-size: 0.86rem;
}

.site-footer__brand-block address {
  font-style: normal;
}

.site-footer__label {
  margin-bottom: 13px !important;
  color: var(--lime) !important;
  font-size: 0.68rem !important;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-footer > a,
.site-footer div > a {
  color: var(--lime);
  font-size: 0.85rem;
  font-weight: 600;
}

.site-footer__phone {
  display: block;
  margin-top: 8px;
  color: rgba(245, 242, 235, 0.58);
  font-size: 0.82rem;
  transition: color var(--transition-base), transform var(--transition-base);
}

.site-footer__phone:hover,
.site-footer__phone:focus-visible {
  color: var(--lime);
  transform: translateX(3px);
}

.site-footer nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(85px, 1fr));
  gap: 10px 28px;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 38px;
  padding-top: 18px;
  border-top: 1px solid rgba(245, 242, 235, 0.14);
}

.site-footer__bottom p {
  margin: 0;
  color: rgba(245, 242, 235, 0.46);
  font-size: 0.72rem;
}

.site-footer nav a {
  color: rgba(245, 242, 235, 0.62);
  font-size: 0.8rem;
  transition: color var(--transition-base);
}

.site-footer nav a:hover,
.site-footer nav a:focus-visible {
  color: var(--lime);
}

.js .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 640ms ease, transform 640ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .reveal--delay {
  transition-delay: 100ms;
}

.js .reveal--delay-2 {
  transition-delay: 180ms;
}

.js .reveal.reveal--direct {
  transition: none;
}

.js .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes hologram-drift {
  from {
    background-position: 0% 20%, center, center;
  }
  to {
    background-position: 100% 80%, center, center;
  }
}

@keyframes hologram-sweep {
  0% {
    opacity: 0.48;
    transform: rotate(-17deg) translate3d(-18%, 0, 0);
  }
  48% {
    opacity: 0.82;
    transform: rotate(-17deg) translate3d(13%, -2%, 0);
  }
  100% {
    opacity: 0.66;
    transform: rotate(-17deg) translate3d(0, 0, 0);
  }
}

@media (min-width: 821px) and (max-width: 1120px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-grid--creation .product-card:last-child,
  .product-grid--technology .product-card:last-child {
    grid-column: 1 / -1;
  }

  .product-grid--creation .product-card:last-child p,
  .product-grid--technology .product-card:last-child p {
    max-width: 56ch;
  }
}

@media (max-width: 1040px) {
  :root {
    --header-height: 74px;
  }

  .header__inner {
    grid-template-columns: minmax(130px, 1fr) auto;
  }

  .menu-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .primary-navigation {
    position: fixed;
    z-index: 25;
    top: var(--header-height);
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding: 26px 24px;
    background: #05120d;
    box-shadow: inset 0 1px rgba(245, 242, 235, 0.08), 0 24px 60px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity var(--transition-base), transform var(--transition-base);
  }

  .primary-navigation.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .primary-navigation a {
    width: 100%;
    border-bottom: 1px solid rgba(245, 241, 233, 0.13);
    padding: 19px 0;
    color: var(--text-on-dark);
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.04em;
  }

  .primary-navigation a::after,
  .header-cta {
    display: none;
  }

  .primary-navigation__contact {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: max-content !important;
    margin-top: 20px;
    border: 1px solid rgba(200, 255, 24, 0.74) !important;
    border-radius: 999px;
    padding: 12px 16px !important;
    color: var(--lime) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }

  .hero__grid,
  .lead-section__grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.77fr);
    gap: 46px;
  }

  .problem-section__grid {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .problem-section__body {
    grid-column: 2;
  }

  .method-row {
    grid-template-columns: 54px minmax(200px, 0.8fr) minmax(200px, 0.6fr);
  }

  .method-row small {
    grid-column: 2 / -1;
    padding-top: 0;
  }
}

/* Onda 5: menu de áreas e formulário de entrada — composição consolidada.
   O padrão de interação é familiar ao usuário, mas a redação e a identidade
   visual permanecem próprias da Evolve. */

@media (min-width: 1041px) {
  .site-header {
    position: sticky;
    isolation: isolate;
  }

  .primary-navigation {
    gap: clamp(18px, 2.1vw, 32px);
  }

  .primary-navigation > a,
  .nav-mega__trigger {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    color: rgba(245, 242, 235, 0.76);
    font-size: 0.8rem;
    letter-spacing: 0.01em;
  }

  .nav-mega__trigger {
    gap: 7px;
    white-space: nowrap;
  }

  .nav-mega__trigger span {
    color: var(--lime);
    font-size: 0.92rem;
    line-height: 1;
  }

  .nav-mega__panel {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: minmax(245px, 0.68fr) minmax(0, 1.75fr);
    gap: clamp(30px, 5vw, 84px);
    width: 100%;
    min-height: 286px;
    padding: 31px max(24px, calc((100vw - var(--page-max)) / 2));
    border: 0;
    border-top: 1px solid rgba(10, 31, 23, 0.1);
    border-bottom: 1px solid rgba(10, 31, 23, 0.16);
    border-radius: 0;
    background: #f1f2ec;
    box-shadow: 0 22px 46px rgba(3, 17, 11, 0.24);
    color: var(--ink);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-9px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    visibility: hidden;
  }

  .nav-mega__panel::before {
    display: none;
  }

  .nav-mega:hover .nav-mega__panel,
  .nav-mega:focus-within .nav-mega__panel,
  .nav-mega.is-open .nav-mega__panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .nav-mega__intro {
    justify-content: center;
    min-height: 220px;
    border-right: 1px solid rgba(10, 31, 23, 0.15);
    padding: 5px clamp(24px, 3vw, 48px) 5px 0;
  }

  .nav-mega__intro::before {
    width: 38px;
    height: 3px;
    content: "";
    background: var(--lime-deep);
  }

  .nav-mega__intro span,
  .nav-mega__intro strong {
    color: var(--forest-muted);
  }

  .nav-mega__intro span {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
  }

  .nav-mega__intro strong {
    font-size: clamp(1.25rem, 1.9vw, 1.7rem);
    letter-spacing: -0.04em;
    line-height: 1;
  }

  .nav-mega__intro p {
    max-width: 300px;
    color: #506057;
    font-size: 0.93rem;
    line-height: 1.5;
  }

  .nav-mega__intro-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 3px;
    border-bottom: 1px solid var(--lime-deep);
    padding-bottom: 5px;
    color: var(--ink);
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.02em;
  }

  .nav-mega__intro-cta span {
    color: var(--lime-deep);
    font-size: 1rem;
    letter-spacing: 0;
  }

  .nav-mega__intro-cta:hover,
  .nav-mega__intro-cta:focus-visible {
    color: var(--forest-muted);
  }

  .nav-mega__links {
    align-content: center;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
  }

  .nav-mega__links a {
    position: relative;
    min-height: 88px;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 14px 18px 14px 47px;
    background: transparent;
    color: var(--ink);
  }

  .nav-mega__links a::before {
    position: absolute;
    top: 19px;
    left: 18px;
    width: 16px;
    height: 16px;
    border: 1px solid var(--lime-deep);
    border-radius: 50%;
    content: "";
    box-shadow: inset 0 0 0 4px #f1f2ec;
    background: var(--lime);
  }

  .nav-mega__links a:hover,
  .nav-mega__links a:focus-visible {
    border-color: rgba(10, 31, 23, 0.18);
    background: #e5e9dc;
    transform: none;
  }

  .nav-mega__links strong {
    color: var(--ink);
    font-size: 0.98rem;
    letter-spacing: -0.015em;
  }

  .nav-mega__links span {
    color: #5d6961;
    font-size: 0.82rem;
    line-height: 1.4;
  }
}

/* Formulário: decisões rápidas, informação legível e foco sem depender de cor. */

.lead-flow {
  border: 1px solid rgba(216, 245, 206, 0.28);
  border-top: 3px solid var(--lime);
  border-radius: 18px;
  padding: clamp(27px, 3.4vw, 42px);
  background: linear-gradient(150deg, rgba(20, 62, 41, 0.86), rgba(4, 20, 13, 0.96));
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.3);
}

.lead-form__progress {
  gap: 14px;
  margin-bottom: 34px;
}

.lead-form__progress span {
  font-size: 0.72rem;
  letter-spacing: 0.11em;
}

.lead-step__eyebrow {
  font-size: 0.73rem;
  letter-spacing: 0.14em;
}

.lead-step__title {
  max-width: 540px;
  font-size: clamp(1.9rem, 3.2vw, 2.9rem);
  line-height: 1.02;
}

.lead-step__intro {
  max-width: 540px;
  color: rgba(245, 242, 235, 0.72);
  font-size: 1rem;
  line-height: 1.55;
}

.lead-moments {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin-top: 23px;
}

.lead-moments .field-label {
  grid-column: 1 / -1;
  margin: 0 0 1px;
  color: rgba(245, 242, 235, 0.82);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: none;
}

.lead-moment-option {
  grid-template-columns: 21px minmax(0, 1fr);
  align-items: start;
  min-height: 104px;
  gap: 12px;
  border-color: rgba(228, 255, 218, 0.25);
  border-radius: 12px;
  padding: 16px 14px;
  background: rgba(245, 242, 235, 0.045);
  font-size: 0.96rem;
  line-height: 1.3;
}

.lead-moment-option:hover {
  border-color: rgba(200, 255, 24, 0.65);
  background: rgba(200, 255, 24, 0.08);
  transform: translateY(-2px);
}

.lead-moment-option:has(input:checked) {
  border-color: var(--lime);
  background: linear-gradient(140deg, rgba(200, 255, 24, 0.16), rgba(200, 255, 24, 0.05));
  box-shadow: inset 3px 0 0 var(--lime), 0 8px 24px rgba(0, 0, 0, 0.12);
}

.lead-moment-option__mark {
  margin-top: 2px;
  width: 19px;
  height: 19px;
}

.lead-moment-option__copy {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.lead-moment-option__copy strong {
  color: var(--text-on-dark);
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.lead-moment-option__copy small {
  color: rgba(245, 242, 235, 0.57);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.35;
}

.lead-moment-option:has(input:checked) .lead-moment-option__copy small {
  color: rgba(245, 242, 235, 0.75);
}

.lead-step__hint {
  font-size: 0.86rem;
}

.field-label {
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.field-label span {
  font-size: 0.82rem;
}

.lead-form input:not([type="radio"]):not([type="checkbox"]),
.lead-form textarea,
.lead-form select {
  border-radius: 10px;
  font-size: 1rem;
}

.lead-form textarea {
  min-height: 116px;
}

.lead-details--always-open {
  margin-top: 30px;
  padding-top: 2px;
}

.lead-details__title {
  font-size: 0.9rem;
}

.consent-control {
  gap: 12px;
  padding: 20px 0;
  font-size: 0.88rem;
  line-height: 1.5;
}

.consent-control input,
.guidance-control input {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  accent-color: var(--lime);
}

.form-feedback {
  font-size: 0.88rem;
}

@media (max-width: 1040px) {
  .primary-navigation {
    justify-content: flex-start;
    overflow-y: auto;
  }

  .primary-navigation .nav-mega { width: 100%; flex: 0 0 auto; }

  .nav-mega__panel {
    gap: 20px;
    min-height: 0;
    padding: 16px 18px 20px;
    border: 1px solid rgba(10, 31, 23, 0.14);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #f1f2ec;
    color: var(--ink);
  }

  .nav-mega__intro {
    min-height: 0;
    border-right: 0;
    border-left: 3px solid var(--lime-deep);
    padding: 1px 0 1px 14px;
  }

  .nav-mega__intro span,
  .nav-mega__intro strong {
    color: var(--forest-muted);
  }

  .nav-mega__intro p {
    color: #506057;
  }

  .nav-mega__intro-cta {
    color: var(--ink);
  }

  .nav-mega__links a {
    min-height: 72px;
    border-color: rgba(10, 31, 23, 0.12);
    border-radius: 8px;
    padding-left: 45px;
    background: rgba(255, 255, 255, 0.34);
  }

  .nav-mega__links a::before {
    background: var(--lime);
    box-shadow: inset 0 0 0 4px #f1f2ec;
  }

  .nav-mega__links strong {
    color: var(--ink);
  }

  .nav-mega__links span {
    color: #5d6961;
  }
}

@media (max-width: 620px) {
  .lead-flow {
    border-radius: 14px;
    padding: 24px 17px 25px;
  }

  .lead-moments {
    grid-template-columns: 1fr;
  }

  .lead-moments .field-label {
    grid-column: auto;
  }

  .lead-moment-option {
    min-height: 86px;
  }

  .nav-mega__links {
    grid-template-columns: 1fr;
  }
}

/* The approved reference still uses the full navigation at 1024px. */
@media (min-width: 921px) and (max-width: 1040px) {
  .header__inner {
    grid-template-columns: minmax(112px, 1fr) auto minmax(178px, 1fr);
    gap: 14px;
  }

  .menu-toggle {
    display: none;
  }

  .primary-navigation {
    position: static;
    z-index: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: clamp(12px, 1.7vw, 20px);
    padding: 0;
    background: transparent;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .primary-navigation a {
    width: auto;
    border: 0;
    padding: 0;
    color: rgba(245, 242, 235, 0.72);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0;
  }

  .primary-navigation a::after {
    display: block;
  }

  .primary-navigation__contact {
    display: none !important;
  }

  .header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    font-size: 0.69rem;
    white-space: nowrap;
  }
}

@media (max-width: 820px) {
  .shell {
    width: min(calc(100% - 40px), var(--page-max));
  }

  .hero {
    min-height: auto;
  }

  .hero__grid,
  .lead-section__grid,
  .proof-section__grid,
  .faq-section__grid {
    grid-template-columns: 1fr;
  }

  .hero__grid {
    gap: 48px;
  }

  .hero-diagnostic {
    max-width: 620px;
  }

  .signal-section__intro,
  .solutions-section__heading,
  .method-section__heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 20px;
  }

  /* In one column this repeats the guide and pushes the actual service chooser below the first read. */
  .solutions-section__heading > p {
    display: none;
  }

  .signal-slide {
    flex-basis: min(79vw, 590px);
  }

  .problem-section__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .problem-section__body {
    grid-column: auto;
    margin-top: 0;
  }

  .problem-points {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .problem-points p {
    border-bottom: 1px solid var(--line-light);
    padding: 17px 0;
  }

  .solutions-interface {
    grid-template-columns: 1fr;
  }

  .solutions-tabs {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .solutions-tabs::-webkit-scrollbar {
    display: none;
  }

  .solutions-tabs button {
    grid-template-columns: 22px max-content;
    column-gap: 9px;
    min-width: max-content;
    min-height: 68px;
    border-bottom: 0;
    padding: 15px 19px;
    scroll-snap-align: start;
  }

  .solutions-tabs__index {
    font-size: 0.63rem;
  }

  .solutions-tabs__intent {
    font-size: 0.68rem;
  }

  .solutions-tabs button::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 0;
    transform: translateX(-50%);
    transition: height var(--transition-base);
  }

  .solutions-tabs button:hover,
  .solutions-tabs button:focus-visible,
  .solutions-tabs button[aria-selected="true"] {
    padding-left: 19px;
  }

  .solutions-tabs button[aria-selected="true"]::after {
    width: 1px;
    height: 20px;
  }

  .solution-panel {
    min-height: 0;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .method-row {
    grid-template-columns: 46px 1fr;
    gap: 18px;
  }

  .method-row > p,
  .method-row small {
    grid-column: 2;
    margin-top: 0;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .site-footer__brand-block {
    grid-column: 1 / -1;
  }

  .site-footer nav {
    max-width: 370px;
  }
}

@media (max-width: 560px) {
  :root {
    --header-height: 68px;
  }

  .shell {
    width: min(calc(100% - 32px), var(--page-max));
  }

  .brand__wordmark {
    font-size: 0.81rem;
  }

  .hero {
    padding-top: 58px;
  }

  h1 {
    max-width: 460px;
    margin-bottom: 23px;
    font-size: clamp(2.92rem, 14vw, 4.25rem);
  }

  h2 {
    font-size: clamp(2.35rem, 12vw, 3.6rem);
  }

  .hero__intro {
    margin-bottom: 28px;
    font-size: 1rem;
  }

  .hero__outcomes {
    flex-wrap: wrap;
    gap: 10px 14px;
    font-size: 0.75rem;
  }

  .hero__outcomes span {
    gap: 14px;
  }

  .hero__outcomes span:not(:last-child)::after {
    width: 12px;
  }

  .hero-diagnostic {
    border-radius: 16px;
    padding: 24px 19px;
  }

  .hero-diagnostic__title {
    font-size: 1.43rem;
  }

  .hero-diagnostic .button {
    width: 100%;
    margin-top: 23px;
  }

  .hero__footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    margin-top: 43px;
  }

  .signal-slide {
    flex-basis: calc(100vw - 57px);
    min-height: 377px;
    border-radius: 16px;
  }

  .signal-carousel__controls {
    justify-content: space-between;
    gap: 10px;
  }

  .control-button {
    font-size: 0.8125rem;
  }

  .solution-panel {
    min-height: 0;
    padding: 35px 23px 41px;
  }

  .solution-panel__intro {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .solution-mockup {
    width: min(100%, 340px);
    min-height: 248px;
    margin-inline: auto;
  }

  .solution-mockup__content {
    min-height: 210px;
  }

  .product-grid {
    grid-template-columns: 1fr;
  }

  .product-card {
    min-height: 196px;
  }

  .form-field-grid {
    grid-template-columns: 1fr;
  }

  .form-field--wide {
    grid-column: auto;
  }

  .lead-flow {
    border-radius: 16px;
    padding: 24px 18px;
  }

  .form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .form-actions .button,
  .button--ghost {
    width: 100%;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer nav {
    grid-column: auto;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    margin-top: 28px;
  }
}

/* ================================================================
   Onda 3.30 — modal WhatsApp e contexto obrigatório
   O formulário segue disponível na seção Conversa, mas o CTA persistente
   abre a mesma instância em uma janela modal, sem empurrar a página para baixo.
   ================================================================ */

.whatsapp-dialog {
  position: relative;
  inset: auto;
  width: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  color: inherit;
}

.whatsapp-dialog::backdrop {
  background: rgba(2, 10, 7, 0.78);
  backdrop-filter: blur(9px) saturate(115%);
}

.whatsapp-dialog[data-modal-active="true"] {
  position: fixed;
  inset: 0;
  width: min(760px, calc(100vw - 32px));
  max-height: min(90vh, 820px);
  margin: auto;
  overflow: auto;
  transform: none;
}

.whatsapp-dialog__close {
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 20px;
  display: none;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(228, 255, 218, 0.28);
  border-radius: 999px;
  padding: 8px 12px;
  color: rgba(245, 242, 235, 0.78);
  background: rgba(3, 19, 13, 0.64);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.whatsapp-dialog[data-modal-active="true"] .whatsapp-dialog__close {
  display: inline-flex;
}

.whatsapp-dialog__close span {
  color: var(--lime);
  font-size: 1.15rem;
  line-height: 0.7;
}

.whatsapp-dialog__close:hover,
.whatsapp-dialog__close:focus-visible {
  border-color: var(--lime);
  color: var(--lime);
}

.whatsapp-fab {
  appearance: none;
  cursor: pointer;
  font-family: inherit;
}

.whatsapp-modal-open {
  overflow: hidden;
}

.lead-details--always-open {
  margin-top: 26px;
  border-top: 1px solid rgba(228, 255, 218, 0.22);
}

.lead-details__title {
  margin: 0;
  padding: 19px 0 14px;
  color: rgba(245, 242, 235, 0.82);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.lead-details--always-open .lead-details__body {
  padding-bottom: 4px;
}

@media (max-width: 560px) {
  .whatsapp-dialog[data-modal-active="true"] {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .whatsapp-dialog__close {
    top: 13px;
    right: 14px;
  }
}

/* ================================================================
   Onda 3.7 — home reference aprovada
   A composição editorial vive aqui para substituir o card hero anterior
   sem desmontar os componentes de serviços, método e lead já existentes.
   ================================================================ */

.hero--reference {
  min-height: min(900px, calc(100svh - var(--header-height)));
  padding: clamp(42px, 5.8vw, 86px) 0 28px;
  background: #06140f;
}

.hero--reference .hero__backdrop,
.hero--reference .hero__texture,
.hero--reference .hero__route {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero--reference .hero__backdrop {
  z-index: -3;
  overflow: hidden;
}

.hero--reference .hero__backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: 0.86;
  filter: saturate(0.82) contrast(1.08);
}

.hero--reference .hero__texture {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(3, 16, 11, 0.92) 0%, rgba(3, 16, 11, 0.63) 38%, rgba(3, 16, 11, 0.18) 73%, rgba(3, 16, 11, 0.52) 100%),
    linear-gradient(180deg, rgba(2, 12, 8, 0.78) 0%, rgba(2, 12, 8, 0.18) 38%, rgba(2, 12, 8, 0.76) 100%),
    radial-gradient(circle at 52% 46%, transparent 0 28%, rgba(2, 12, 8, 0.3) 75%);
}

.hero--reference .hero__route {
  z-index: -1;
  inset: auto -7% 17%;
  height: 20%;
  border-top: 2px solid rgba(200, 255, 24, 0.93);
  border-radius: 52% 47% 0 0;
  box-shadow: 0 -3px 18px rgba(200, 255, 24, 0.36);
  transform: rotate(5deg);
  opacity: 0.92;
}

.hero--reference .hero__route::after {
  position: absolute;
  top: 17%;
  left: 57%;
  width: 48%;
  height: 72%;
  content: "";
  border-top: 1px solid rgba(200, 255, 24, 0.66);
  border-radius: 52% 48% 0 0;
  transform: rotate(-9deg);
}

.hero--reference .hero__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.78fr);
  align-items: start;
  gap: clamp(52px, 8vw, 130px);
}

.hero--reference .hero__copy {
  max-width: 650px;
}

.hero--reference .eyebrow {
  margin-bottom: clamp(27px, 3.2vw, 42px);
  color: var(--lime);
}

.hero--reference .eyebrow > span {
  width: 34px;
  background: var(--lime);
}

.hero--reference h1 {
  max-width: 650px;
  margin-bottom: 0;
  color: var(--text-on-dark);
  font-size: clamp(3.45rem, 6.25vw, 6.25rem);
  letter-spacing: -0.075em;
  line-height: 0.91;
}

.hero--reference h1 span {
  display: block;
}

.hero--reference h1 .hero-title-accent {
  color: var(--lime);
}

.hero--reference .hero__intro {
  max-width: 330px;
  margin: clamp(28px, 3.3vw, 43px) 0 0;
  color: rgba(245, 242, 235, 0.72);
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.34;
}

.hero--reference .hero-diagnostic {
  overflow: visible;
  border: 0;
  border-left: 1px solid rgba(245, 242, 235, 0.28);
  border-radius: 0;
  padding: 0 0 0 clamp(28px, 3.3vw, 54px);
  background: transparent;
  box-shadow: none;
}

.hero--reference .hero-diagnostic::after {
  display: none;
}

.hero--reference .hero-diagnostic__head {
  display: grid;
  grid-template-columns: 32px minmax(40px, 1fr) minmax(112px, 150px);
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(28px, 3.5vw, 46px);
}

.hero--reference .hero-diagnostic__head p {
  max-width: 150px;
  color: rgba(245, 242, 235, 0.68);
  font-size: 0.63rem;
  letter-spacing: 0.22em;
  line-height: 1.55;
  text-align: left;
}

.hero--reference .hero-diagnostic__rule {
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(245, 242, 235, 0.45);
}

.hero--reference .step-indicator {
  color: rgba(245, 242, 235, 0.75);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

.hero--reference .hero-diagnostic > h2 {
  max-width: 440px;
  margin: 0 0 22px;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  font-weight: 500;
  letter-spacing: -0.065em;
  line-height: 0.98;
}

.diagnostic-options {
  display: grid;
  gap: 9px;
  max-width: 500px;
  margin: 0;
  padding: 0;
  border: 0;
}

.diagnostic-option {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 52px;
  gap: 14px;
  border: 1px solid rgba(245, 242, 235, 0.5);
  border-radius: 6px;
  padding: 12px 15px;
  color: var(--text-on-dark);
  cursor: pointer;
  font-size: 0.95rem;
  line-height: 1.3;
  transition: border-color var(--transition-base), background var(--transition-base), transform var(--transition-base);
}

.diagnostic-option:hover {
  border-color: var(--lime);
  background: rgba(200, 255, 24, 0.07);
  transform: translateX(3px);
}

.diagnostic-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.diagnostic-option input + span {
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  border: 1.5px solid rgba(245, 242, 235, 0.95);
  border-radius: 50%;
  transition: border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}

.diagnostic-option input:checked + span {
  border-color: var(--lime);
  background: var(--lime);
  box-shadow: inset 0 0 0 5px rgba(6, 20, 15, 0.88);
}

.diagnostic-option:focus-within {
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}

.hero--reference .diagnostic-continue {
  max-width: 500px;
  margin-top: 17px;
  min-height: 54px;
  color: #07140d;
  background: var(--lime);
}

.hero--reference .hero-diagnostic__note {
  position: absolute;
  top: 450px;
  right: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  max-width: 132px;
  gap: 12px;
  margin: 0;
  color: rgba(245, 242, 235, 0.53);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-transform: uppercase;
}

.hero--reference .hero-diagnostic__note::before {
  width: 30px;
  background: rgba(200, 255, 24, 0.72);
}

.hero--reference .hero__carousel {
  position: relative;
  z-index: 1;
  margin-top: clamp(35px, 4.5vw, 63px);
}

.hero--reference .signal-carousel__viewport {
  margin-inline: -12px;
  padding: 18px 12px 24px;
}

.hero--reference .signal-carousel__track {
  gap: 18px;
  align-items: flex-start;
}

.hero--reference .signal-slide {
  flex-basis: min(19vw, 198px);
  min-height: 184px;
  align-items: center;
  justify-content: flex-end;
  border-color: rgba(228, 255, 218, 0.35);
  border-radius: 17px;
  padding: 27px 29px 24px;
  background: linear-gradient(145deg, rgba(55, 93, 69, 0.47), rgba(12, 37, 27, 0.68));
  box-shadow: inset 0 0 0 1px rgba(245, 242, 235, 0.06), 0 19px 35px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(8px) saturate(125%);
}

.hero--reference .signal-slide.is-active {
  flex-basis: min(37vw, 382px);
  min-height: 210px;
}

.hero--reference .signal-slide::before {
  opacity: 0.66;
  background:
    linear-gradient(119deg, transparent 14%, rgba(200, 255, 24, 0.35) 47%, transparent 59%),
    radial-gradient(circle at 20% 90%, rgba(202, 239, 218, 0.23), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(153, 209, 173, 0.25), transparent 31%);
}

.hero--reference .signal-slide::after {
  inset: 11px;
  border-color: rgba(240, 248, 228, 0.24);
  border-radius: 11px;
}

.hero--reference .signal-slide__glass {
  inset: -12% -12% auto 48%;
  height: 83%;
  border: 1px solid rgba(210, 255, 102, 0.28);
  border-radius: 48% 52% 0 0;
  transform: rotate(-17deg);
}

.hero--reference .signal-slide.is-active {
  border-color: rgba(216, 255, 94, 0.88);
  box-shadow: 0 0 0 1px rgba(200, 255, 24, 0.18), 0 24px 46px rgba(0, 0, 0, 0.32), 0 0 38px rgba(200, 255, 24, 0.14);
}

.hero--reference .signal-carousel.is-changing .signal-slide.is-active::before {
  animation: hologram-drift 680ms ease-in-out, hologram-sweep 680ms ease-out;
}

.hero--reference .signal-carousel.is-changing .signal-slide.is-active .signal-slide__glass {
  animation: hologram-sweep 680ms ease-out;
}

.hero--reference .signal-slide__icon {
  width: 41px;
  height: 41px;
  margin-bottom: auto;
  color: rgba(245, 242, 235, 0.92);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.hero--reference .signal-slide__index {
  display: none;
}

.hero--reference .signal-slide__label {
  margin-bottom: 0;
  color: var(--text-on-dark);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-align: center;
}

.hero--reference .signal-slide h3,
.hero--reference .signal-slide p:not(.signal-slide__index, .signal-slide__label),
.hero--reference .signal-slide__line {
  display: none;
}

.hero--reference .signal-carousel__controls {
  position: absolute;
  top: 120px;
  right: 0;
  left: 0;
  z-index: 3;
  display: block;
  height: 0;
  padding: 0;
  pointer-events: none;
}

.hero--reference .control-button {
  position: absolute;
  top: -25px;
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid rgba(245, 242, 235, 0.45);
  border-radius: 50%;
  padding: 0;
  color: var(--text-on-dark);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1;
  pointer-events: auto;
}

.hero--reference .control-button[data-carousel-prev] {
  left: -56px;
}

.hero--reference .control-button[data-carousel-next] {
  right: -56px;
}

.hero--reference .control-button:hover,
.hero--reference .control-button:focus-visible {
  border-color: var(--lime);
  color: var(--lime);
}

.hero--reference .signal-carousel__pagination button {
  background: rgba(245, 242, 235, 0.45);
}

.hero--reference .signal-carousel__pagination button.is-active {
  width: 10px;
  background: var(--lime);
}

.hero--reference .signal-carousel__pagination {
  position: absolute;
  top: 260px;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
}

.hero--reference .hero__signature {
  position: absolute;
  z-index: 1;
  bottom: 86px;
  left: max(24px, calc((100vw - var(--page-max)) / 2));
  display: grid;
  gap: 6px;
  color: rgba(245, 242, 235, 0.72);
  font-size: 0.61rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  line-height: 1.25;
  text-transform: uppercase;
}

.hero--reference .hero__signature::after {
  position: absolute;
  top: 4px;
  left: 93px;
  width: 30px;
  height: 1px;
  content: "";
  background: var(--lime);
}

.fronts-section {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 9vw, 130px) 0 clamp(92px, 10vw, 142px);
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.56), transparent 24%),
    linear-gradient(145deg, var(--stone-bright), var(--stone));
}

.fronts-section::after {
  position: absolute;
  right: -4%;
  bottom: 11%;
  left: -4%;
  height: 16%;
  content: "";
  border-top: 2px solid rgba(156, 202, 0, 0.84);
  border-radius: 52% 48% 0 0;
  transform: rotate(-2deg);
  pointer-events: none;
}

.fronts-section__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.42fr);
  align-items: end;
  gap: 54px;
  margin-bottom: clamp(46px, 6vw, 78px);
}

.fronts-section__intro h2 {
  max-width: 740px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(3.15rem, 5.55vw, 5.55rem);
  letter-spacing: -0.08em;
  line-height: 0.91;
}

.fronts-section__intro > p {
  max-width: 330px;
  margin: 0 0 4px;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.eyebrow--dark {
  color: var(--ink);
}

.eyebrow--dark > span {
  background: rgba(10, 31, 23, 0.58);
}

.fronts-list {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(10, 31, 23, 0.48);
}

.front-row {
  display: grid;
  grid-template-columns: 101px 1px minmax(0, 1fr) 48px;
  align-items: center;
  gap: 27px;
  min-height: 118px;
  border-bottom: 1px solid rgba(10, 31, 23, 0.4);
  color: var(--ink);
  transition: background var(--transition-base), padding var(--transition-base);
}

.front-row:hover,
.front-row:focus-visible {
  padding-inline: 15px;
  background: rgba(200, 255, 24, 0.1);
}

.front-row__number {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(2.4rem, 4vw, 3.25rem);
  letter-spacing: -0.07em;
  line-height: 1;
}

.front-row__divider {
  width: 1px;
  height: 52px;
  background: rgba(10, 31, 23, 0.48);
}

.front-row__copy {
  display: grid;
  gap: 5px;
}

.front-row__copy strong {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.18rem, 2vw, 1.45rem);
  font-weight: 500;
  letter-spacing: -0.045em;
}

.front-row__copy span {
  max-width: 330px;
  color: var(--text-muted);
  font-size: 0.97rem;
  line-height: 1.35;
}

.front-row__arrow {
  justify-self: end;
  font-size: 2rem;
  line-height: 1;
  transition: transform var(--transition-base), color var(--transition-base);
}

.front-row:hover .front-row__arrow,
.front-row:focus-visible .front-row__arrow {
  color: var(--lime-deep);
  transform: translate(4px, -4px);
}

.fronts-section__signature,
.fronts-section__brand {
  position: absolute;
  z-index: 2;
  color: rgba(10, 31, 23, 0.78);
  pointer-events: none;
  text-transform: uppercase;
}

.fronts-section__signature {
  bottom: 28px;
  left: max(24px, calc((100vw - var(--page-max)) / 2));
  display: flex;
  align-items: flex-start;
  gap: 15px;
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  line-height: 1.55;
}

.fronts-section__signature-rule,
.fronts-section__brand-rule {
  display: block;
  width: 30px;
  height: 1px;
  margin-top: 5px;
  background: rgba(10, 31, 23, 0.5);
}

.fronts-section__brand {
  right: max(24px, calc((100vw - var(--page-max)) / 2));
  bottom: 42px;
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.32em;
}

@media (max-width: 1040px) {
  .hero--reference .hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.76fr);
    gap: 48px;
  }

  .hero--reference h1 {
    font-size: clamp(3.35rem, 6.5vw, 5.5rem);
  }

  .hero--reference .signal-slide {
    flex-basis: min(19vw, 198px);
  }

  .hero--reference .signal-slide.is-active {
    flex-basis: min(37vw, 382px);
  }
}

@media (min-width: 921px) and (max-width: 1040px) {
  .site-header > .shell,
  .hero--reference > .hero__grid,
  .hero--reference > .hero__carousel,
  .fronts-section > .shell {
    width: min(calc(100% - 180px), var(--page-max));
  }

  .hero--reference {
    min-height: 786px;
    padding-top: 34px;
    padding-bottom: 18px;
  }

  .hero--reference h1 {
    font-size: clamp(3.2rem, 5.8vw, 4rem);
  }

  .hero--reference .hero-diagnostic__head {
    margin-bottom: 28px;
  }

  .hero--reference .hero-diagnostic > h2 {
    margin-bottom: 23px;
  }

  .hero--reference .diagnostic-option {
    min-height: 50px;
  }

  .hero--reference .diagnostic-continue {
    min-height: 46px;
  }

  .hero--reference .hero__backdrop img {
    transform: scale(1.46);
  }

  .hero--reference .hero__route {
    inset: auto -7% 20%;
    height: 26%;
  }

  .hero--reference .hero__grid {
    column-gap: 53px;
  }

  .hero--reference .hero-diagnostic {
    padding-left: 38px;
  }

  .hero--reference .hero__copy,
  .hero--reference h1 {
    max-width: 430px;
  }

  .hero--reference .hero__carousel {
    margin-top: 75px;
    padding-bottom: 2px;
  }

  .hero--reference .signal-carousel__track {
    gap: 10px;
  }

  .hero--reference .signal-carousel__viewport {
    margin-inline: -18px;
    padding: 38px 40px 4px;
  }

  .hero--reference .signal-carousel__controls {
    top: 147px;
  }

  .hero--reference .signal-carousel__pagination {
    top: 122px;
  }
}

@media (min-width: 921px) {
  .site-header > .shell,
  .hero--reference > .hero__grid,
  .hero--reference > .hero__carousel,
  .fronts-section > .shell {
    width: min(calc(100% - 180px), var(--page-max));
  }

  .header__inner {
    grid-template-columns: 200px minmax(0, 1fr) 250px;
    gap: 14px;
  }

  .primary-navigation {
    justify-content: flex-start;
    gap: clamp(18px, 2.4vw, 30px);
  }

  .header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 17px;
    min-width: 234px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    font-size: 0.76rem;
    white-space: nowrap;
  }

  .header-cta::before {
    width: 60px;
    height: 1px;
    content: "";
    background: rgba(245, 242, 235, 0.7);
  }

  .header-cta:hover,
  .header-cta:focus-visible {
    border-color: transparent;
    color: var(--lime);
    background: transparent;
  }
}

@media (max-width: 820px) {
  .hero--reference {
    min-height: auto;
    padding-top: 45px;
  }

  .hero--reference .hero__grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .hero--reference .hero__copy {
    max-width: 620px;
  }

  .hero--reference h1 {
    font-size: clamp(3.2rem, 11vw, 5.4rem);
  }

  .hero--reference .hero-diagnostic {
    border-top: 1px solid rgba(245, 242, 235, 0.26);
    border-left: 0;
    padding: 31px 0 0;
  }

  .hero--reference .hero-diagnostic__note {
    position: static;
    display: flex;
    grid-template-columns: none;
    max-width: 500px;
    gap: 10px;
    margin-top: 14px;
    font-size: 0.78rem;
    letter-spacing: 0;
    line-height: 1.45;
    text-transform: none;
  }

  .hero--reference .hero-diagnostic__note::before {
    width: 14px;
  }

  .hero--reference .hero-diagnostic__head {
    max-width: 500px;
    margin-bottom: 29px;
  }

  .hero--reference .hero__carousel {
    margin-top: 48px;
    padding-bottom: 0;
  }

  .hero--reference .signal-carousel__viewport {
    margin-inline: -9px;
    padding-inline: 9px;
  }

  .hero--reference .signal-slide {
    flex-basis: min(74vw, 335px);
    min-height: 218px;
  }

  .hero--reference .signal-slide.is-active {
    flex-basis: min(74vw, 335px);
    min-height: 218px;
  }

  .hero--reference .signal-carousel__controls {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: auto;
    gap: 18px;
    padding: 0 15px;
    pointer-events: auto;
  }

  .hero--reference .control-button {
    position: static;
    pointer-events: auto;
  }

  .hero--reference .signal-carousel__pagination {
    position: static;
    transform: none;
  }

  .hero--reference .hero__signature {
    display: none;
  }

  .fronts-section__intro {
    grid-template-columns: 1fr;
    gap: 31px;
  }

  .fronts-section__intro > p {
    max-width: 440px;
  }
}

@media (max-width: 560px) {
  .hero--reference {
    padding-top: 39px;
    padding-bottom: 25px;
  }

  .hero--reference .hero__grid {
    gap: 43px;
  }

  .hero--reference .eyebrow {
    margin-bottom: 28px;
    font-size: 0.64rem;
    letter-spacing: 0.15em;
  }

  .hero--reference h1 {
    font-size: clamp(2.85rem, 13vw, 3.85rem);
    line-height: 0.92;
  }

  .hero--reference .hero__intro {
    margin-top: 28px;
    font-size: 1rem;
  }

  .hero--reference .hero-diagnostic__head {
    grid-template-columns: 28px minmax(34px, 1fr) minmax(98px, 130px);
    gap: 10px;
  }

  .hero--reference .hero-diagnostic__head p {
    font-size: 0.55rem;
    letter-spacing: 0.17em;
  }

  .hero--reference .hero-diagnostic > h2 {
    font-size: 2rem;
  }

  .diagnostic-option {
    min-height: 55px;
    padding: 13px 12px;
    font-size: 0.87rem;
  }

  .hero--reference .signal-slide {
    flex-basis: calc(100vw - 64px);
    min-height: 226px;
    padding: 25px 23px 22px;
  }

  .fronts-section {
    padding-top: 72px;
  }

  .fronts-section__intro h2 {
    font-size: clamp(2.9rem, 14vw, 4.3rem);
  }

  .front-row {
    grid-template-columns: 57px 1fr 28px;
    gap: 14px;
    min-height: 106px;
  }

  .front-row__divider {
    display: none;
  }

  .front-row__number {
    font-size: 2.15rem;
  }

  .front-row__copy strong {
    font-size: 1.18rem;
  }

  .front-row__copy span {
    font-size: 0.86rem;
  }

  .front-row__arrow {
    font-size: 1.55rem;
  }
}

/* ================================================================
   Onda 3.9 — formulário como continuação da home aprovada
   O lead não deve parecer uma página administrativa enxertada no site.
   A composição repete a tensão editorial do diagnóstico: coluna de
   orientação, progressão numerada e uma superfície translúcida contida.
   ================================================================ */

.lead-section {
  isolation: isolate;
  padding: clamp(88px, 10vw, 154px) 0 clamp(104px, 11vw, 168px);
  background:
    radial-gradient(circle at 74% 20%, rgba(46, 118, 80, 0.23), transparent 31%),
    linear-gradient(134deg, #06140f 0%, #0a2a1d 57%, #04100b 100%);
}

.lead-section::before {
  opacity: 0.56;
  background:
    linear-gradient(111deg, transparent 0 46%, rgba(238, 250, 228, 0.06) 46.1% 46.24%, transparent 46.3% 100%),
    linear-gradient(157deg, transparent 0 68%, rgba(200, 255, 24, 0.08) 68.1% 68.22%, transparent 68.3% 100%),
    repeating-linear-gradient(162deg, transparent 0 72px, rgba(238, 250, 228, 0.028) 73px, transparent 74px 122px);
}

.lead-section__route {
  right: -9vw;
  bottom: 4%;
  width: 80vw;
  height: 350px;
  opacity: 0.78;
}

.lead-section__grid {
  grid-template-columns: minmax(0, 0.74fr) minmax(420px, 0.86fr);
  align-items: start;
  gap: clamp(64px, 9vw, 144px);
}

.lead-section__copy {
  position: sticky;
  top: calc(var(--header-height) + 32px);
  align-self: start;
  padding-top: 4px;
}

.lead-section__copy .eyebrow {
  margin-bottom: clamp(28px, 3.3vw, 44px);
  color: var(--lime);
}

.lead-section__copy .eyebrow > span {
  width: 34px;
  background: var(--lime);
}

.lead-section__copy h2 {
  max-width: 610px;
  margin: 0;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(3.1rem, 5.2vw, 5.35rem);
  font-weight: 500;
  letter-spacing: -0.08em;
  line-height: 0.91;
}

.lead-section__copy > p:last-child {
  max-width: 370px;
  margin-top: clamp(29px, 3.7vw, 50px);
  color: rgba(245, 242, 235, 0.68);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.45;
}

.lead-flow {
  position: relative;
  border: 1px solid rgba(228, 255, 218, 0.27);
  border-top-color: rgba(200, 255, 24, 0.75);
  border-radius: 20px;
  padding: clamp(27px, 3.2vw, 41px);
  background:
    linear-gradient(145deg, rgba(45, 91, 65, 0.32), rgba(3, 19, 13, 0.78)),
    rgba(4, 18, 12, 0.7);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.27), inset 0 0 0 1px rgba(245, 242, 235, 0.035);
  backdrop-filter: blur(13px) saturate(120%);
}

.lead-flow::before {
  position: absolute;
  top: 18px;
  right: 22px;
  width: 54px;
  height: 54px;
  content: "";
  border: 1px solid rgba(200, 255, 24, 0.25);
  border-radius: 50%;
  opacity: 0.7;
  pointer-events: none;
}

.lead-flow::after {
  position: absolute;
  top: 45px;
  right: 34px;
  width: 31px;
  height: 1px;
  content: "";
  background: rgba(200, 255, 24, 0.58);
  transform: rotate(-35deg);
  pointer-events: none;
}

.lead-form__progress {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: clamp(31px, 4vw, 48px);
  overflow: visible;
}

.lead-form__progress span {
  min-width: 0;
  padding: 0 0 11px;
  color: rgba(245, 242, 235, 0.38);
  font-size: 0.66rem;
  letter-spacing: 0.13em;
  white-space: nowrap;
}

.lead-form__progress span::after {
  height: 2px;
  background: rgba(245, 242, 235, 0.18);
}

.lead-form__progress span.is-active {
  color: var(--lime);
}

.lead-form__progress span.is-active::after {
  background: var(--lime);
  box-shadow: 0 0 12px rgba(200, 255, 24, 0.3);
}

.lead-step__eyebrow {
  margin-bottom: 16px;
  font-size: 0.67rem;
  letter-spacing: 0.19em;
}

.lead-step__title {
  max-width: 480px;
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  line-height: 0.99;
}

.lead-step__intro {
  max-width: 440px;
  margin-top: 14px;
  color: rgba(245, 242, 235, 0.64);
  font-size: 0.96rem;
  line-height: 1.52;
}

.lead-service-context {
  margin-top: 17px;
  border-color: rgba(200, 255, 24, 0.34);
  border-radius: 11px;
  padding: 11px 13px;
  background: rgba(200, 255, 24, 0.07);
}

.field-label {
  margin-top: 23px;
  margin-bottom: 9px;
  color: rgba(245, 242, 235, 0.78);
  font-size: 0.73rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.field-label span {
  color: rgba(245, 242, 235, 0.47);
  font-size: 0.7rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.lead-form input:not([type="radio"]):not([type="checkbox"]),
.lead-form textarea,
.lead-form select {
  border-color: rgba(228, 255, 218, 0.3);
  border-radius: 9px;
  padding: 14px 15px;
  background: rgba(245, 242, 235, 0.045);
}

.lead-form input:not([type="radio"]):not([type="checkbox"]),
.lead-form select {
  min-height: 56px;
}

.lead-form textarea {
  min-height: 136px;
  resize: vertical;
}

.lead-form input:not([type="radio"]):not([type="checkbox"]):hover,
.lead-form textarea:hover,
.lead-form select:hover {
  border-color: rgba(228, 255, 218, 0.58);
  background: rgba(245, 242, 235, 0.07);
}

.lead-form input:not([type="radio"]):not([type="checkbox"]):focus,
.lead-form textarea:focus,
.lead-form select:focus {
  border-color: var(--lime);
  background: rgba(200, 255, 24, 0.055);
  box-shadow: 0 0 0 3px rgba(200, 255, 24, 0.13), 0 0 24px rgba(200, 255, 24, 0.08);
}

.lead-step__hint {
  margin-top: 11px;
  color: rgba(245, 242, 235, 0.53);
  font-size: 0.79rem;
}

.guidance-control {
  margin-top: 19px;
  border-color: rgba(228, 255, 218, 0.22);
  border-radius: 10px;
  padding: 14px 15px;
  color: rgba(245, 242, 235, 0.72);
  font-size: 0.84rem;
}

.guidance-control:hover,
.guidance-control:has(input:checked) {
  border-color: rgba(200, 255, 24, 0.72);
  background: rgba(200, 255, 24, 0.075);
}

.form-field-grid {
  gap: 20px 14px;
}

.form-actions {
  margin-top: 23px;
}

.lead-form .button--lime {
  min-height: 53px;
  padding-inline: 22px;
  color: #07140d;
  background: var(--lime);
  box-shadow: 0 10px 28px rgba(200, 255, 24, 0.12);
}

.lead-form .button--lime:hover,
.lead-form .button--lime:focus-visible {
  color: #07140d;
  background: #d8ff56;
  box-shadow: 0 13px 32px rgba(200, 255, 24, 0.22);
}

.lead-form .button--ghost {
  min-height: 53px;
  border-color: rgba(228, 255, 218, 0.32);
  color: rgba(245, 242, 235, 0.78);
}

.lead-form .button--ghost:hover,
.lead-form .button--ghost:focus-visible {
  border-color: var(--lime);
  color: var(--lime);
  background: rgba(200, 255, 24, 0.06);
}

.lead-summary {
  margin-top: 17px;
  margin-bottom: 24px;
  border-left: 2px solid var(--lime);
  padding-left: 13px;
  color: rgba(245, 242, 235, 0.7);
  font-size: 0.9rem;
}

.lead-summary strong {
  color: var(--lime);
}

.lead-details {
  margin-top: 26px;
  border-color: rgba(228, 255, 218, 0.22);
}

.lead-details summary {
  padding: 19px 0;
  color: rgba(245, 242, 235, 0.82);
  font-size: 0.82rem;
  letter-spacing: 0.01em;
}

.lead-details__body {
  padding-bottom: 26px;
}

.consent-control {
  border-color: rgba(228, 255, 218, 0.22);
  padding: 19px 0;
  color: rgba(245, 242, 235, 0.66);
  font-size: 0.8rem;
}

.form-feedback {
  margin-top: 14px;
  color: #ffdec9;
  font-size: 0.8rem;
  line-height: 1.45;
}

.lead-finished {
  position: relative;
  z-index: 1;
}

@media (max-width: 920px) {
  .lead-section__copy {
    position: static;
  }

  .lead-section__grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1fr);
    gap: 48px;
  }

  .lead-section__copy h2 {
    font-size: clamp(2.8rem, 6.4vw, 4.7rem);
  }
}

@media (max-width: 820px) {
  .lead-section {
    padding-block: 76px 96px;
  }

  .lead-section__grid {
    grid-template-columns: 1fr;
    gap: 43px;
  }

  .lead-section__copy h2 {
    max-width: 620px;
  }

  .lead-section__copy > p:last-child {
    max-width: 480px;
    margin-top: 25px;
  }
}

@media (max-width: 560px) {
  .lead-section {
    padding-block: 66px 82px;
  }

  .lead-section__copy .eyebrow {
    margin-bottom: 28px;
  }

  .lead-section__copy h2 {
    font-size: clamp(2.65rem, 13vw, 3.85rem);
  }

  .lead-section__copy > p:last-child {
    font-size: 0.98rem;
  }

  .lead-flow {
    border-radius: 16px;
    padding: 23px 18px 25px;
  }

  .lead-flow::before,
  .lead-flow::after {
    display: none;
  }

  .lead-form__progress {
    gap: 9px;
    margin-bottom: 31px;
  }

  .lead-form__progress span {
    font-size: 0.58rem;
    letter-spacing: 0.09em;
  }

  .lead-step__title {
    font-size: 1.9rem;
  }

  .lead-step__intro {
    font-size: 0.9rem;
  }

  .lead-form input:not([type="radio"]):not([type="checkbox"]),
  .lead-form select {
    min-height: 53px;
  }

  .lead-form textarea {
    min-height: 126px;
  }

  .whatsapp-fab {
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom));
    min-height: 48px;
    padding: 10px 14px 10px 11px;
    font-size: 0.7rem;
  }

  .whatsapp-fab svg {
    width: 21px;
    height: 21px;
  }

  .lead-finished__actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Onda de conversão — feedback curto, reversível e respeitoso com reduced motion. */
.hero-diagnostic__count {
  margin: 16px 0 0;
  color: rgba(245, 242, 235, 0.62);
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.hero--rebuild .diagnostic-continue.is-ready {
  box-shadow: 0 0 0 1px rgba(200, 255, 24, 0.42), 0 13px 36px rgba(200, 255, 24, 0.2);
  animation: diagnostic-pulse 2.4s ease-in-out infinite;
}

.faq-list summary::before {
  display: none;
}

.faq-list summary::after {
  top: 50%;
  right: 3px;
  width: auto;
  height: auto;
  background: none;
  color: var(--lime);
  content: "⌄";
  font-size: 1.35rem;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform 240ms ease;
}

.faq-list details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.faq-list details:not([open]) p {
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
}

.faq-list details[open] p {
  max-height: 180px;
  opacity: 1;
  transform: translateY(0);
  transition: max-height 320ms ease, opacity 220ms ease, transform 320ms ease, margin 320ms ease;
}

.lead-step.is-active {
  animation: lead-step-in 360ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.lead-form__progress span::after {
  transform: scaleX(0.36);
  transform-origin: left center;
  transition: background 220ms ease, box-shadow 220ms ease, transform 360ms ease;
}

.lead-form__progress span.is-active::after {
  transform: scaleX(1);
}

.lead-form .is-shaking {
  animation: field-shake 360ms ease both;
}

.lead-form .button--lime.is-submitting {
  cursor: wait;
  opacity: 0.82;
}

.lead-form .button--lime.is-submitting::before {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-right: 0.55em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  content: "";
  vertical-align: -0.12em;
  animation: button-spinner 720ms linear infinite;
}

.lead-finished:not([hidden]) {
  animation: lead-success-in 520ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

@keyframes diagnostic-pulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@keyframes lead-step-in {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes field-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

@keyframes button-spinner {
  to { transform: rotate(360deg); }
}

@keyframes lead-success-in {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .hero--rebuild .diagnostic-continue.is-ready,
  .lead-step.is-active,
  .lead-form .is-shaking,
  .lead-form .button--lime.is-submitting::before,
  .lead-finished:not([hidden]) {
    animation: none;
  }

  .faq-list details[open] p,
  .lead-form__progress span::after {
    transition: none;
  }
}

/* ================================================================
   Onda 3.11 — densidade tablet da primeira dobra
   Entre celular e desktop a home não precisa repetir o espaçamento máximo
   do mobile. Esta faixa preserva o empilhamento, mas devolve ritmo à dobra.
   ================================================================ */

@media (min-width: 561px) and (max-width: 820px) {
  .hero--reference {
    padding-top: 34px;
    padding-bottom: 20px;
  }

  .hero--reference .hero__grid {
    gap: 31px;
  }

  .hero--reference .hero-diagnostic {
    padding-top: 24px;
  }

  .hero--reference .hero-diagnostic__head {
    margin-bottom: 23px;
  }

  .hero--reference .hero-diagnostic > h2 {
    margin-bottom: 18px;
  }

  .hero--reference .diagnostic-option {
    min-height: 49px;
    padding-block: 10px;
  }

  .hero--reference .diagnostic-continue {
    min-height: 49px;
    margin-top: 14px;
  }

  .hero--reference .hero-diagnostic__note {
    margin-top: 10px;
  }

  .hero--reference .hero__carousel {
    margin-top: 30px;
  }

  .hero--reference .signal-carousel__viewport {
    padding-top: 20px;
    padding-bottom: 10px;
  }

  .hero--reference .signal-slide,
  .hero--reference .signal-slide.is-active {
    flex-basis: min(54vw, 300px);
    min-height: 198px;
  }

}

/* ================================================================
   Onda 3.13 — primeira dobra em alturas curtas
   A largura tablet continua em duas colunas, mas a altura curta pede que a
   prova visual do carrossel entre mais cedo no fluxo sem comprimir o conteúdo.
   ================================================================ */

@media (min-width: 821px) and (max-width: 1040px) and (max-height: 760px) {
  .hero--reference .hero__carousel {
    margin-top: 26px;
  }
}

/* ================================================================
   Onda 3.14 — emenda entre hero e frentes
   Na composição aprovada a seção clara entra logo após a dobra escura; o
   respiro editorial fica dentro do conteúdo, não entre os dois mundos.
   ================================================================ */

@media (min-width: 921px) and (max-width: 1040px) {
  .fronts-section {
    padding-top: 42px;
  }
}

/* ================================================================
   Onda 3.15 — recriação estrita da seção clara aprovada
   A referência trabalha com três linhas compactas e um fechamento curto;
   estes valores reproduzem esse ritmo no enquadramento de 1024 px.
   ================================================================ */

@media (min-width: 921px) and (max-width: 1040px) {
  .fronts-section {
    padding-bottom: 84px;
  }

  .fronts-section__intro {
    margin-bottom: 26px;
  }

  .fronts-section__intro h2 {
    font-size: clamp(3rem, 4.7vw, 5.55rem);
  }
}

/* ================================================================
   Onda 3.16 — assinatura editorial e linha de fechamento
   A linha fecha as três frentes; as assinaturas reforçam a leitura de marca
   sem virar conteúdo interativo ou aumentar o bloco.
   ================================================================ */

@media (min-width: 921px) and (max-width: 1040px) {
  .fronts-section::after {
    bottom: 2%;
    height: 8%;
  }
}

@media (max-width: 920px) {
  .fronts-section__signature,
  .fronts-section__brand {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .signal-slide.is-active::before {
    animation: none;
  }

  .js .reveal {
    opacity: 1;
    transform: none;
  }
}

/* ================================================================
   Onda 3.24 — direção editorial de alto nível
   Recompõe a home como uma sequência clara: contexto, decisão e movimento.
   Estas regras também anulam resíduos das primeiras composições do hero.
   ================================================================ */

.hero--rebuild {
  min-height: clamp(960px, calc(100svh + 128px), 1080px);
  padding-bottom: 38px;
  background: #06130e;
}

.hero--rebuild .hero__backdrop img {
  object-position: center bottom;
  filter: saturate(0.62) contrast(1.08) brightness(0.72);
  transform: scale(1.035);
}

.hero--rebuild .hero__backdrop::after {
  background:
    linear-gradient(90deg, rgba(3, 15, 10, 0.82) 0%, rgba(3, 15, 10, 0.38) 45%, rgba(3, 15, 10, 0.64) 100%),
    linear-gradient(180deg, rgba(3, 15, 10, 0.74) 0%, rgba(3, 15, 10, 0.14) 40%, rgba(3, 15, 10, 0.84) 100%);
}

.hero--rebuild .hero__route {
  inset: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: 0.42;
  transform: none;
}

.hero--rebuild .hero__route::after {
  display: none;
  content: none;
}

.hero--rebuild .hero__route path {
  stroke-width: 1.5;
  opacity: 0.54;
}

.hero--rebuild .hero__route .hero__route-secondary {
  stroke-width: 0.8;
  opacity: 0.22;
}

.hero--rebuild .hero__atmosphere span {
  border-color: rgba(219, 255, 187, 0.045);
}

.hero--rebuild .hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.78fr);
  align-items: start;
  gap: clamp(44px, 5.8vw, 82px);
  margin-top: clamp(34px, 4vw, 54px);
}

.hero--rebuild .hero__copy {
  padding-top: clamp(22px, 2.8vw, 38px);
}

.hero--rebuild h1 {
  max-width: 690px;
  font-size: clamp(3.55rem, 6.05vw, 6.3rem);
  letter-spacing: -0.085em;
  line-height: 0.9;
}

.hero--rebuild .hero__intro {
  margin-top: clamp(28px, 3vw, 38px);
  font-size: clamp(0.98rem, 1.16vw, 1.08rem);
}

.hero--rebuild .hero-diagnostic {
  align-self: start;
  min-height: 0;
  padding: clamp(25px, 2.5vw, 34px);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(12, 38, 27, 0.76), rgba(3, 17, 11, 0.88));
}

.hero--rebuild .hero-diagnostic__head {
  margin-bottom: 23px;
}

.hero--rebuild .hero-diagnostic > h2 {
  font-size: clamp(1.85rem, 2.75vw, 2.8rem);
  line-height: 1;
}

.hero--rebuild .hero-diagnostic__prompt {
  margin-top: 12px;
  font-size: 0.82rem;
}

.hero--rebuild .diagnostic-options {
  gap: 8px;
  margin-top: 20px;
}

.hero--rebuild .diagnostic-option {
  min-height: 56px;
  border-radius: 9px;
  padding: 10px 12px;
  font-size: 0.86rem;
}

.hero--rebuild .diagnostic-continue {
  min-height: 55px;
  margin-top: 17px;
}

.hero--rebuild .hero-diagnostic__note {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: flex;
  width: auto;
  height: auto;
  max-width: none;
  margin-top: 13px;
  letter-spacing: 0;
  font-size: 0.73rem;
  text-transform: none;
}

.hero--rebuild .hero-movements {
  margin-top: clamp(48px, 5vw, 68px);
}

.hero--rebuild .hero__signature {
  display: none;
}

.hero--rebuild .hero-movements__heading {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.46fr);
  gap: 28px;
  margin-bottom: 17px;
}

.hero--rebuild .hero-movements__heading h2 {
  font-size: clamp(1.65rem, 2.35vw, 2.4rem);
}

.hero--rebuild .hero-movements__heading > p {
  font-size: 0.78rem;
}

.hero--rebuild .signal-carousel__viewport {
  margin: 0 -8px;
  padding: 8px 8px 18px;
}

.hero--rebuild .signal-carousel__track {
  gap: 14px;
}

.hero--rebuild .signal-slide,
.hero--rebuild .signal-slide.is-active {
  flex: 0 0 min(31.5%, 372px);
  min-height: 236px;
  border-radius: 17px;
  padding: 17px 18px 15px;
  background: linear-gradient(145deg, rgba(29, 65, 47, 0.56), rgba(4, 21, 14, 0.9));
  transform: translateY(8px);
  transition: transform 430ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 350ms ease, border-color 350ms ease, box-shadow 350ms ease;
}

.hero--rebuild .signal-slide.is-active {
  flex-basis: min(31.5%, 372px);
  background: linear-gradient(145deg, rgba(42, 88, 61, 0.68), rgba(4, 22, 14, 0.93));
  transform: translateY(0) scale(1.018);
}

.hero--rebuild .signal-slide__icon {
  width: 32px;
  height: 32px;
  margin: 16px 0 10px;
}

.hero--rebuild .signal-slide__label {
  font-size: 1.2rem;
}

.hero--rebuild .signal-slide h3 {
  font-size: 0.87rem;
}

.hero--rebuild .signal-slide__body > p:last-child {
  font-size: 0.73rem;
}

.hero--rebuild .signal-slide__action {
  padding-top: 10px;
  font-size: 0.64rem;
}

@media (min-width: 821px) {
  .hero--rebuild .hero__topline,
  .hero--rebuild > .hero__grid,
  .hero--rebuild > .hero-movements {
    width: min(calc(100% - 48px), var(--page-max));
  }
}

@media (min-width: 821px) and (max-width: 1120px) {
  .hero--rebuild {
    min-height: 1040px;
  }

  .hero--rebuild .hero__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.82fr);
    gap: 42px;
  }

  .hero--rebuild h1 {
    font-size: clamp(3.35rem, 5.65vw, 4.8rem);
  }

  .hero--rebuild .hero-diagnostic {
    padding: 25px;
  }
}

@media (max-width: 820px) {
  .hero--rebuild {
    min-height: 0;
    padding-bottom: 45px;
  }

  .hero--rebuild .hero__backdrop img {
    object-position: 58% bottom;
    transform: scale(1.02);
  }

  .hero--rebuild .hero__topline {
    padding-top: 96px;
  }

  .hero--rebuild .hero__grid {
    gap: 34px;
    margin-top: 34px;
  }

  .hero--rebuild .hero__copy {
    padding-top: 0;
  }

  .hero--rebuild h1 {
    max-width: 640px;
    font-size: clamp(2.85rem, 9.2vw, 4.6rem);
    line-height: 0.91;
  }

  .hero--rebuild .hero-diagnostic {
    max-width: 620px;
    padding: 23px 20px 20px;
  }

  .hero--rebuild .hero-movements {
    margin-top: 46px;
  }

  .hero--rebuild .hero-movements__heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: min(78vw, 430px);
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: min(78vw, 430px);
  }
}

@media (max-width: 560px) {
  .hero--rebuild .hero__topline {
    padding-top: 88px;
  }

  .hero--rebuild h1 {
    font-size: clamp(2.75rem, 13.2vw, 4.2rem);
  }

  .hero--rebuild .hero-diagnostic > h2 {
    font-size: clamp(1.7rem, 8vw, 2.45rem);
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: calc(100vw - 58px);
    min-height: 264px;
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: calc(100vw - 58px);
  }
}

/* Final visual guard: the route stays subordinate to the readable card deck. */
.hero--rebuild.hero--rebuild .hero__route {
  opacity: 0.42;
}

.hero--rebuild.hero--rebuild .hero__route path {
  opacity: 0.54;
}

.hero--rebuild.hero--rebuild .hero__route .hero__route-secondary {
  opacity: 0.16;
}

.hero--rebuild.hero--rebuild .signal-slide,
.hero--rebuild.hero--rebuild .signal-slide.is-active {
  background: linear-gradient(145deg, rgba(29, 65, 47, 0.56), rgba(4, 21, 14, 0.9));
}

.hero--rebuild.hero--rebuild .signal-slide.is-active {
  background: linear-gradient(145deg, rgba(42, 88, 61, 0.68), rgba(4, 22, 14, 0.93));
}

/* Onda 3.26 — método alinhado ao sistema editorial da home. */
.method-section {
  padding: clamp(78px, 9vw, 124px) 0 clamp(88px, 10vw, 136px);
  background:
    radial-gradient(circle at 82% 12%, rgba(82, 132, 93, 0.12), transparent 24%),
    linear-gradient(180deg, #0b2119 0%, #0a1a14 100%);
}

.method-section__heading {
  display: block;
  max-width: 900px;
  margin-bottom: clamp(42px, 5vw, 66px);
}

.method-section__heading .eyebrow {
  margin-bottom: 22px;
}

.method-section__heading h2 {
  max-width: 860px;
  margin: 0;
  font-size: clamp(3rem, 5.2vw, 5.75rem);
  letter-spacing: -0.085em;
  line-height: 0.92;
}

.method-row {
  position: relative;
  transition: background-color var(--transition-base), border-color var(--transition-base), padding-inline var(--transition-base);
}

.method-row:hover {
  border-color: rgba(200, 255, 24, 0.45);
  background: rgba(200, 255, 24, 0.035);
}

@media (max-width: 820px) {
  .method-section__heading h2 {
    font-size: clamp(2.75rem, 10vw, 4.8rem);
  }
}

.method-section.method-section--balanced {
  padding: clamp(78px, 9vw, 124px) 0 clamp(88px, 10vw, 136px);
  background:
    radial-gradient(circle at 82% 12%, rgba(82, 132, 93, 0.12), transparent 24%),
    linear-gradient(180deg, #0b2119 0%, #0a1a14 100%);
}

.method-section.method-section--balanced .method-section__heading {
  display: block;
  max-width: 900px;
  margin-bottom: clamp(42px, 5vw, 66px);
}

.method-section.method-section--balanced .method-section__heading .eyebrow {
  margin-bottom: 22px;
}

.method-section.method-section--balanced .method-section__heading h2 {
  max-width: 860px;
  margin: 0;
  font-size: clamp(3rem, 5.2vw, 5.75rem);
  letter-spacing: -0.085em;
  line-height: 0.92;
}

.method-section.method-section--balanced .method-list {
  width: min(calc(100% - 48px), var(--page-max));
  margin-inline: auto;
}

.method-section.method-section--balanced .method-row {
  position: relative;
  transition: background-color var(--transition-base), border-color var(--transition-base), padding-inline var(--transition-base);
}

.method-section.method-section--balanced .method-row:hover {
  border-color: rgba(200, 255, 24, 0.45);
  background: rgba(200, 255, 24, 0.035);
}

@media (max-width: 820px) {
  .method-section.method-section--balanced .method-section__heading h2 {
    font-size: clamp(2.75rem, 10vw, 4.8rem);
  }
}

/* Onda 3.25 — hero sem carrossel: a imagem e a pergunta ocupam o palco. */
.hero--rebuild {
  min-height: clamp(780px, calc(100svh - var(--header-height) + 70px), 920px);
  padding-bottom: 52px;
}

.hero--rebuild .hero__backdrop img {
  object-position: center bottom;
}

@media (min-width: 821px) and (max-width: 1120px) {
  .hero--rebuild {
    min-height: clamp(780px, calc(100svh - 10px), 900px);
  }
}

@media (max-width: 820px) {
  .hero--rebuild {
    min-height: 0;
    padding-bottom: 50px;
  }
}

/* ================================================================
   Onda 3.18 — palco responsivo fiel à referência
   A faixa 821–1040 px é o enquadramento em que a home precisa parecer
   editorial, não uma versão desktop comprimida. O header entra sobre o
   hero, a margem acompanha a viewport e a montanha recupera espaço visual.
   O carrossel continua disponível em telas largas e no mobile; nesta faixa
   ele sai da primeira narrativa para não competir com a pergunta principal.
   ================================================================ */

@media (min-width: 821px) and (max-width: 1040px) {
  :root {
    --header-height: 82px;
  }

  .site-header {
    margin-bottom: calc(-1 * var(--header-height));
    border-bottom-color: transparent;
    background: linear-gradient(180deg, rgba(6, 20, 15, 0.76), rgba(6, 20, 15, 0));
  }

  .site-header.is-over-light {
    border-bottom-color: rgba(10, 31, 23, 0.12);
    background: rgba(6, 20, 15, 0.96);
  }

  .site-header > .shell,
  .hero--reference > .hero__grid,
  .hero--reference > .hero__carousel,
  .fronts-section > .shell {
    width: min(calc(100% - clamp(80px, 8.6vw, 90px)), var(--page-max));
  }

  .hero--reference {
    min-height: clamp(950px, 108.4vw, 1110px);
    padding-top: clamp(184px, 19.2vw, 200px);
    padding-bottom: 36px;
  }

  .hero--reference .hero__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(310px, 0.78fr);
    column-gap: clamp(38px, 5.2vw, 54px);
  }

  .hero--reference .hero__copy,
  .hero--reference h1 {
    max-width: none;
  }

  .hero--reference .hero__copy {
    padding-top: 22px;
  }

  .hero--reference .eyebrow {
    margin-bottom: clamp(35px, 4.2vw, 43px);
  }

  .hero--reference h1 {
    font-size: clamp(3.45rem, 5.6vw, 4.55rem);
  }

  .hero--reference .hero-diagnostic {
    padding-left: clamp(28px, 3.2vw, 38px);
  }

  .hero--reference .hero-diagnostic__note {
    top: clamp(570px, 59.5vw, 620px);
  }

  .hero--reference .hero__backdrop img {
    transform: scale(1.32);
  }

  .hero--reference .hero__route {
    inset: auto -7% 5%;
    height: 31%;
  }

  .hero--reference .hero__carousel {
    display: none;
  }

  .hero--reference .hero__signature {
    bottom: 76px;
    left: clamp(40px, 4.3vw, 90px);
  }

  .fronts-section {
    padding-top: clamp(54px, 5.7vw, 72px);
    padding-bottom: clamp(180px, 21vw, 210px);
  }

  .fronts-section__intro {
    margin-bottom: clamp(38px, 4.5vw, 48px);
  }

  .fronts-section__intro h2 {
    font-size: clamp(3.35rem, 5.6vw, 5.55rem);
  }

  .front-row {
    min-height: clamp(126px, 12.9vw, 136px);
  }

  .fronts-section::after {
    bottom: 4%;
    height: 12%;
  }

  .fronts-section__signature {
    bottom: 44px;
    left: clamp(40px, 4.3vw, 90px);
  }

  .fronts-section__brand {
    right: clamp(40px, 4.3vw, 90px);
    bottom: 58px;
  }
}

@media (min-width: 821px) and (max-width: 920px) {
  .header__inner {
    grid-template-columns: 112px minmax(0, 1fr) 178px;
    gap: 10px;
  }

  .menu-toggle {
    display: none;
  }

  .primary-navigation {
    position: static;
    z-index: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: clamp(9px, 1.5vw, 14px);
    padding: 0;
    background: transparent;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .primary-navigation a {
    width: auto;
    border: 0;
    padding: 0;
    color: rgba(245, 242, 235, 0.72);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(0.58rem, 1.05vw, 0.67rem);
    font-weight: 600;
    letter-spacing: 0;
  }

  .primary-navigation a::after {
    display: block;
  }

  .primary-navigation__contact {
    display: none !important;
  }

  .header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    min-width: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    font-size: clamp(0.58rem, 1.02vw, 0.66rem);
    white-space: nowrap;
  }

  .header-cta::before {
    width: clamp(24px, 5vw, 48px);
    height: 1px;
    content: "";
    background: rgba(245, 242, 235, 0.7);
  }
}

/* ================================================================
   Onda 3.19 — eixo contínuo até o catálogo
   A home não pode mudar de margem quando sai das frentes e entra nos
   produtos. A mesma grade editorial atravessa a página; a orientação
   duplicada do catálogo fica reservada ao parágrafo lateral.
   ================================================================ */

@media (min-width: 821px) and (max-width: 1040px) {
  main > section > .shell,
  footer > .shell {
    width: min(calc(100% - clamp(80px, 8.6vw, 90px)), var(--page-max));
  }

  .solutions-section__guide {
    display: none;
  }

  .solutions-section__heading > p {
    margin-bottom: 0;
  }
}

/* ================================================================
   Onda 3.20 — acabamento holográfico do catálogo
   O mockup é a âncora visual da frente ativa; os cards precisam parecer
   ofertas exploráveis, não uma tabela. O movimento é curto, reversível e
   só responde a ponteiro fino para não criar ruído no touch.
   ================================================================ */

.solution-mockup {
  isolation: isolate;
  transition: transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.solution-mockup::before {
  position: absolute;
  z-index: 2;
  top: -36%;
  bottom: -36%;
  left: -35%;
  width: 24%;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(221, 255, 133, 0.4), transparent);
  opacity: 0;
  transform: rotate(18deg) translateX(-180%);
  pointer-events: none;
}

.product-card {
  background: linear-gradient(145deg, rgba(252, 250, 244, 0.57), rgba(238, 242, 231, 0.35));
}

.product-card::after {
  position: absolute;
  right: 19px;
  bottom: 17px;
  left: 19px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, rgba(156, 202, 0, 0.45), transparent 68%);
  opacity: 0.34;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .solution-mockup:hover {
    box-shadow: 0 30px 52px rgba(9, 31, 23, 0.34), 0 8px 20px rgba(6, 19, 13, 0.2), 0 0 28px rgba(200, 255, 24, 0.12);
    transform: rotate(0.8deg) translate3d(0, -5px, 0);
  }

  .solution-mockup:hover::before {
    animation: solution-mockup-glint 900ms cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  }

  .product-card:hover::after,
  .product-card:focus-within::after {
    opacity: 0.8;
  }
}

@keyframes solution-mockup-glint {
  0% {
    opacity: 0;
    transform: rotate(18deg) translateX(-180%);
  }
  18% {
    opacity: 0.85;
  }
  100% {
    opacity: 0;
    transform: rotate(18deg) translateX(720%);
  }
}

/* ================================================================
   Onda 3.23 — reconstrução do palco inicial
   O hero precisa funcionar como uma experiência editorial: atmosfera,
   orientação e movimento devem coexistir sem reduzir a legibilidade.
   ================================================================ */

.hero--rebuild {
  position: relative;
  isolation: isolate;
  min-height: clamp(980px, 116svh, 1160px);
  overflow: hidden;
  padding: 0 0 62px;
  background: #06150f;
}

.hero--rebuild::before,
.hero--rebuild::after {
  z-index: -1;
}

.hero--rebuild::before {
  opacity: 0.28;
  background-image:
    linear-gradient(112deg, transparent 0 42%, rgba(219, 255, 187, 0.08) 42.1% 42.2%, transparent 42.3% 100%),
    repeating-linear-gradient(164deg, transparent 0 76px, rgba(244, 249, 237, 0.035) 77px, transparent 78px 138px);
  animation: hero-film-drift 22s ease-in-out infinite alternate;
}

.hero--rebuild::after {
  right: -14%;
  bottom: -28%;
  width: 64%;
  height: 62%;
  border-color: rgba(224, 255, 208, 0.1);
  transform: rotate(-18deg);
}

.hero--rebuild .hero__backdrop {
  position: absolute;
  z-index: -4;
  inset: 0;
  overflow: hidden;
  background: #06150f;
}

.hero--rebuild .hero__backdrop::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(180deg, rgba(3, 16, 11, 0.77) 0%, rgba(3, 16, 11, 0.3) 42%, rgba(3, 16, 11, 0.76) 100%),
    linear-gradient(90deg, rgba(3, 16, 11, 0.26), transparent 52%, rgba(3, 16, 11, 0.3));
}

.hero--rebuild .hero__backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
  filter: saturate(0.72) contrast(1.06) brightness(0.74);
  transform: scale(1.04);
  animation: hero-backdrop-breathe 18s ease-in-out infinite alternate;
}

.hero--rebuild .hero__texture {
  z-index: -2;
  opacity: 0.34;
  background:
    radial-gradient(circle at 65% 32%, rgba(200, 255, 24, 0.08), transparent 22%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 33px 33px,
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px) 0 0 / 33px 33px;
  mask-image: linear-gradient(to bottom, black 0%, black 72%, transparent 100%);
}

.hero--rebuild .hero__atmosphere {
  position: absolute;
  z-index: -2;
  inset: -15%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 26% 20%, rgba(66, 117, 87, 0.18), transparent 27%),
    radial-gradient(ellipse at 82% 47%, rgba(162, 203, 107, 0.12), transparent 24%),
    radial-gradient(ellipse at 50% 88%, rgba(200, 255, 24, 0.08), transparent 29%);
  filter: blur(3px);
  animation: hero-atmosphere-shift 16s ease-in-out infinite alternate;
}

.hero--rebuild .hero__atmosphere span {
  position: absolute;
  display: block;
  width: 25vw;
  height: 25vw;
  border: 1px solid rgba(219, 255, 187, 0.07);
  border-radius: 50%;
  transform: rotate(24deg);
}

.hero--rebuild .hero__atmosphere span:nth-child(1) {
  top: 14%;
  left: 4%;
}

.hero--rebuild .hero__atmosphere span:nth-child(2) {
  top: 28%;
  right: 10%;
  width: 17vw;
  height: 17vw;
}

.hero--rebuild .hero__atmosphere span:nth-child(3) {
  right: 24%;
  bottom: 8%;
  width: 36vw;
  height: 16vw;
  border-radius: 50% 50% 0 0;
  transform: rotate(-10deg);
}

.hero--rebuild .hero__route {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: none;
  pointer-events: none;
}

.hero--rebuild .hero__route path {
  fill: none;
  stroke: var(--lime);
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 8px rgba(200, 255, 24, 0.4));
  opacity: 0.9;
  stroke-dasharray: 160 10 60 18;
  animation: hero-route-flow 14s linear infinite;
}

.hero--rebuild .hero__route .hero__route-secondary {
  stroke-width: 1;
  opacity: 0.36;
  stroke-dasharray: 100 22 38 18;
  animation-duration: 21s;
  animation-direction: reverse;
}

.hero--rebuild .hero__topline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: clamp(116px, 12vw, 156px);
  color: rgba(245, 242, 235, 0.56);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero--rebuild .hero__topline p {
  margin: 0;
}

.hero--rebuild .hero__topline p:first-child {
  display: flex;
  align-items: center;
  gap: 9px;
}

.hero--rebuild .hero__topline p:first-child span {
  color: var(--lime);
}

.hero--rebuild .hero__topline p:first-child b {
  margin-left: 17px;
  color: rgba(245, 242, 235, 0.76);
  font-weight: 600;
}

.hero--rebuild .hero__topline p:last-child span {
  margin-left: 11px;
  color: var(--lime);
  font-size: 1rem;
}

.hero--rebuild .hero__grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0, 1fr) minmax(410px, 0.76fr);
  align-items: start;
  gap: clamp(58px, 7vw, 118px);
  margin-top: clamp(54px, 6vw, 84px);
}

.hero--rebuild .hero__copy {
  padding-top: clamp(28px, 4vw, 58px);
}

.hero--rebuild .hero__copy .eyebrow {
  margin-bottom: clamp(26px, 3vw, 40px);
}

.hero--rebuild h1 {
  max-width: 730px;
  font-size: clamp(3.7rem, 6.7vw, 7.2rem);
  letter-spacing: -0.09em;
  line-height: 0.88;
}

.hero--rebuild .hero__intro {
  max-width: 350px;
  margin: clamp(30px, 4vw, 48px) 0 0;
  color: rgba(245, 242, 235, 0.7);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.52;
}

.hero--rebuild .hero__micro-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  border-bottom: 1px solid rgba(200, 255, 24, 0.62);
  padding-bottom: 7px;
  color: rgba(245, 242, 235, 0.84);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: color var(--transition-base), gap var(--transition-base), border-color var(--transition-base);
}

.hero--rebuild .hero__micro-link span {
  color: var(--lime);
  font-size: 1.15rem;
}

.hero--rebuild .hero__micro-link:hover,
.hero--rebuild .hero__micro-link:focus-visible {
  gap: 17px;
  border-color: var(--lime);
  color: var(--lime);
}

.hero--rebuild .hero-diagnostic {
  border: 1px solid rgba(230, 255, 220, 0.3);
  border-top-color: rgba(200, 255, 24, 0.72);
  border-radius: 22px;
  padding: clamp(28px, 3vw, 42px);
  background: linear-gradient(145deg, rgba(10, 37, 26, 0.83), rgba(2, 15, 10, 0.74));
  box-shadow: 0 34px 82px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(245, 242, 235, 0.06);
  backdrop-filter: blur(15px) saturate(125%);
}

.hero--rebuild .hero-diagnostic__head {
  margin-bottom: 28px;
}

.hero--rebuild .hero-diagnostic__head p {
  max-width: 164px;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
}

.hero--rebuild .hero-diagnostic__rule {
  flex: 1;
  height: 1px;
  margin-top: 7px;
  background: rgba(245, 242, 235, 0.36);
}

.hero--rebuild .hero-diagnostic > h2 {
  position: relative;
  z-index: 1;
  max-width: 470px;
  margin: 0;
  font-size: clamp(2rem, 3.3vw, 3.35rem);
  letter-spacing: -0.075em;
  line-height: 0.98;
}

.hero--rebuild .hero-diagnostic__prompt {
  max-width: 370px;
  margin: 15px 0 0;
  color: rgba(245, 242, 235, 0.62);
  font-size: 0.9rem;
  line-height: 1.48;
}

.hero--rebuild .diagnostic-options {
  position: relative;
  z-index: 1;
  gap: 10px;
  max-width: none;
  margin-top: 26px;
}

.hero--rebuild .diagnostic-option {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) max-content;
  column-gap: 13px;
  min-height: 61px;
  border: 1px solid rgba(228, 255, 218, 0.34);
  border-radius: 11px;
  padding: 12px 14px;
  color: rgba(245, 242, 235, 0.9);
  background: rgba(4, 19, 13, 0.38);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.28;
  transition: border-color var(--transition-base), background var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
}

.hero--rebuild .diagnostic-option:hover,
.hero--rebuild .diagnostic-option:has(input:checked) {
  border-color: rgba(200, 255, 24, 0.9);
  background: rgba(200, 255, 24, 0.1);
  box-shadow: inset 0 0 0 1px rgba(200, 255, 24, 0.12);
  transform: translateX(3px);
}

.hero--rebuild .diagnostic-option small {
  align-self: center;
  color: rgba(245, 242, 235, 0.48);
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-align: right;
  text-transform: uppercase;
}

.hero--rebuild .diagnostic-option input + span {
  width: 20px;
  height: 20px;
  margin-top: 1px;
}

.hero--rebuild .diagnostic-continue {
  position: relative;
  z-index: 1;
  min-height: 59px;
  margin-top: 21px;
  font-size: 0.94rem;
}

.hero--rebuild .hero-diagnostic__note {
  position: relative;
  z-index: 1;
  margin-top: 15px;
  color: rgba(245, 242, 235, 0.56);
  font-size: 0.8rem;
}

.hero--rebuild .hero-diagnostic__note::before {
  width: 25px;
  background: var(--lime);
}

.hero--rebuild .hero-movements {
  position: relative;
  z-index: 2;
  margin-top: clamp(64px, 8vw, 112px);
}

.hero--rebuild .hero-movements__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.55fr);
  align-items: end;
  gap: 42px;
  margin-bottom: 23px;
}

.hero--rebuild .hero-movements__heading .eyebrow {
  margin-bottom: 13px;
  color: rgba(245, 242, 235, 0.65);
}

.hero--rebuild .hero-movements__heading h2 {
  max-width: 560px;
  margin: 0;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 500;
  letter-spacing: -0.07em;
  line-height: 0.98;
}

.hero--rebuild .hero-movements__heading > p {
  max-width: 340px;
  margin: 0;
  color: rgba(245, 242, 235, 0.58);
  font-size: 0.9rem;
  line-height: 1.5;
}

.hero--rebuild .hero__carousel {
  display: block;
  width: 100%;
  margin: 0;
}

.hero--rebuild .signal-carousel__viewport {
  overflow: hidden;
  margin: 0 -10px;
  padding: 12px 10px 27px;
}

.hero--rebuild .signal-carousel__track {
  display: flex;
  align-items: stretch;
  gap: 18px;
  transition: transform 680ms cubic-bezier(0.2, 0.7, 0.2, 1);
  will-change: transform;
}

.hero--rebuild .signal-slide,
.hero--rebuild .signal-slide.is-active {
  position: relative;
  display: flex;
  flex: 0 0 clamp(285px, 31vw, 390px);
  flex-direction: column;
  min-height: 258px;
  overflow: hidden;
  border: 1px solid rgba(225, 255, 218, 0.3);
  border-radius: 22px;
  padding: 21px 22px 19px;
  color: var(--text-on-dark);
  background: linear-gradient(145deg, rgba(42, 84, 63, 0.45), rgba(4, 21, 14, 0.8));
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(245, 242, 235, 0.06);
  opacity: 0.65;
  transform: translateY(14px) scale(0.96);
  transition: flex-basis 520ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 520ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 520ms ease, border-color 420ms ease, box-shadow 420ms ease;
}

.hero--rebuild .signal-slide.is-active {
  flex-basis: clamp(380px, 42vw, 535px);
  border-color: rgba(200, 255, 24, 0.66);
  background: linear-gradient(145deg, rgba(52, 104, 75, 0.56), rgba(5, 25, 16, 0.82));
  box-shadow: 0 27px 58px rgba(0, 0, 0, 0.32), 0 0 34px rgba(200, 255, 24, 0.08), inset 0 1px 0 rgba(245, 242, 235, 0.08);
  opacity: 1;
  transform: translateY(0) scale(1);
}

.hero--rebuild .signal-slide__glass {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 8%, rgba(228, 255, 193, 0.13) 23%, transparent 41%),
    radial-gradient(circle at 88% 12%, rgba(200, 255, 24, 0.17), transparent 30%);
  pointer-events: none;
}

.hero--rebuild .signal-slide > *:not(.signal-slide__glass) {
  position: relative;
  z-index: 1;
}

.hero--rebuild .signal-slide__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: rgba(245, 242, 235, 0.5);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.hero--rebuild .signal-slide__meta p {
  margin: 0;
  color: var(--lime);
}

.hero--rebuild .signal-slide__meta span {
  white-space: nowrap;
}

.hero--rebuild .signal-slide__icon {
  width: 38px;
  height: 38px;
  margin: 22px 0 13px;
  fill: none;
  stroke: var(--lime);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.hero--rebuild .signal-slide__body {
  display: grid;
  gap: 6px;
}

.hero--rebuild .signal-slide__label {
  margin: 0;
  color: var(--text-on-dark);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 500;
  letter-spacing: -0.06em;
}

.hero--rebuild .signal-slide h3 {
  max-width: 430px;
  margin: 0;
  color: rgba(245, 242, 235, 0.92);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.hero--rebuild .signal-slide__body > p:last-child {
  max-width: 410px;
  margin: 0;
  color: rgba(245, 242, 235, 0.58);
  font-size: 0.82rem;
  line-height: 1.4;
}

.hero--rebuild .signal-slide__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  border-top: 1px solid rgba(245, 242, 235, 0.14);
  padding-top: 13px;
  color: rgba(245, 242, 235, 0.6);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hero--rebuild .signal-slide__action span {
  color: var(--lime);
  font-size: 1.12rem;
}

.hero--rebuild .signal-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  margin: 0;
}

.hero--rebuild .control-button {
  width: 45px;
  height: 45px;
  border-color: rgba(245, 242, 235, 0.42);
  color: var(--text-on-dark);
  background: rgba(4, 18, 12, 0.34);
}

.hero--rebuild .control-button:hover,
.hero--rebuild .control-button:focus-visible {
  border-color: var(--lime);
  color: var(--lime);
  background: rgba(200, 255, 24, 0.09);
}

.hero--rebuild .signal-carousel__pagination {
  display: flex;
  gap: 11px;
}

.hero--rebuild .signal-carousel__pagination button {
  width: 8px;
  height: 8px;
  border: 1px solid rgba(245, 242, 235, 0.62);
  border-radius: 50%;
  background: transparent;
  transition: width var(--transition-base), border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);
}

.hero--rebuild .signal-carousel__pagination button.is-active {
  width: 24px;
  border-color: var(--lime);
  border-radius: 999px;
  background: var(--lime);
  box-shadow: 0 0 14px rgba(200, 255, 24, 0.35);
}

.hero--rebuild .hero__signature {
  z-index: 2;
  bottom: 70px;
}

@keyframes hero-backdrop-breathe {
  from { transform: scale(1.04); }
  to { transform: scale(1.09) translate3d(-0.6%, -0.4%, 0); }
}

@keyframes hero-atmosphere-shift {
  from { transform: translate3d(-1%, 0, 0) scale(1); opacity: 0.72; }
  to { transform: translate3d(1.5%, -1%, 0) scale(1.04); opacity: 1; }
}

@keyframes hero-film-drift {
  from { transform: translate3d(-1%, 0, 0); }
  to { transform: translate3d(1%, 1%, 0); }
}

@keyframes hero-route-flow {
  to { stroke-dashoffset: -420; }
}

@media (min-width: 821px) and (max-width: 1040px) {
  .hero--rebuild {
    min-height: 1150px;
    padding-bottom: 54px;
  }

  .hero--rebuild .hero__topline,
  .hero--rebuild > .hero__grid,
  .hero--rebuild > .hero-movements {
    width: min(calc(100% - clamp(80px, 8.6vw, 90px)), var(--page-max));
  }

  .hero--rebuild .hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(370px, 0.74fr);
    gap: 48px;
    margin-top: 47px;
  }

  .hero--rebuild h1 {
    font-size: clamp(3.25rem, 6.2vw, 4.9rem);
  }

  .hero--rebuild .hero-diagnostic {
    padding: 28px;
  }

  .hero--rebuild .hero-movements {
    display: block;
    margin-top: 75px;
  }

  .hero--rebuild .hero-movements__heading {
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 28px;
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: 300px;
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: 420px;
  }
}

@media (max-width: 820px) {
  .hero--rebuild {
    min-height: 0;
    padding-bottom: 56px;
  }

  .hero--rebuild .hero__topline {
    align-items: flex-start;
    padding-top: 106px;
  }

  .hero--rebuild .hero__topline p:last-child {
    display: none;
  }

  .hero--rebuild .hero__topline p:first-child b {
    display: none;
  }

  .hero--rebuild .hero__grid {
    grid-template-columns: 1fr;
    gap: 52px;
    margin-top: 45px;
  }

  .hero--rebuild .hero__copy {
    padding-top: 0;
  }

  .hero--rebuild h1 {
    max-width: 620px;
    font-size: clamp(3.4rem, 11vw, 5.8rem);
  }

  .hero--rebuild .hero-diagnostic {
    max-width: 640px;
  }

  .hero--rebuild .hero-movements {
    margin-top: 70px;
  }

  .hero--rebuild .hero-movements__heading {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .hero--rebuild .hero-movements__heading > p {
    max-width: 450px;
  }

  .hero--rebuild .signal-carousel__viewport {
    overflow: hidden;
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: min(82vw, 520px);
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: min(88vw, 570px);
  }

  .hero--rebuild .hero__signature {
    display: none;
  }
}

@media (max-width: 560px) {
  .hero--rebuild {
    padding-bottom: 43px;
  }

  .hero--rebuild .hero__topline {
    padding-top: 94px;
    font-size: 0.58rem;
  }

  .hero--rebuild .hero__grid {
    gap: 39px;
    margin-top: 34px;
  }

  .hero--rebuild h1 {
    font-size: clamp(3.08rem, 14.2vw, 4.7rem);
    line-height: 0.9;
  }

  .hero--rebuild .hero__intro {
    margin-top: 28px;
    font-size: 0.98rem;
  }

  .hero--rebuild .hero__micro-link {
    margin-top: 22px;
    font-size: 0.75rem;
  }

  .hero--rebuild .hero-diagnostic {
    border-radius: 18px;
    padding: 23px 19px 22px;
  }

  .hero--rebuild .hero-diagnostic__head {
    margin-bottom: 23px;
  }

  .hero--rebuild .hero-diagnostic__head p {
    max-width: 130px;
    font-size: 0.58rem;
  }

  .hero--rebuild .hero-diagnostic > h2 {
    font-size: clamp(1.85rem, 8.8vw, 2.7rem);
  }

  .hero--rebuild .hero-diagnostic__prompt {
    font-size: 0.82rem;
  }

  .hero--rebuild .diagnostic-options {
    margin-top: 21px;
  }

  .hero--rebuild .diagnostic-option {
    grid-template-columns: 19px minmax(0, 1fr);
    min-height: 58px;
    padding: 11px 12px;
    font-size: 0.84rem;
  }

  .hero--rebuild .diagnostic-option small {
    display: none;
  }

  .hero--rebuild .diagnostic-continue {
    min-height: 56px;
    margin-top: 18px;
    font-size: 0.87rem;
  }

  .hero--rebuild .hero-movements {
    margin-top: 57px;
  }

  .hero--rebuild .hero-movements__heading h2 {
    font-size: 2rem;
  }

  .hero--rebuild .hero-movements__heading > p {
    font-size: 0.83rem;
  }

  .hero--rebuild .signal-carousel__track {
    gap: 12px;
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: calc(100vw - 58px);
    min-height: 276px;
    border-radius: 18px;
    padding: 19px 18px 17px;
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: calc(100vw - 48px);
  }

  .hero--rebuild .signal-slide__icon {
    margin-top: 20px;
  }

  .hero--rebuild .signal-slide__meta {
    font-size: 0.56rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero--rebuild::before,
  .hero--rebuild .hero__backdrop img,
  .hero--rebuild .hero__atmosphere,
  .hero--rebuild .hero__route path {
    animation: none;
  }

  .hero--rebuild .signal-carousel__track,
  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    transition: none;
  }
}

/* ================================================================
   Onda 3.24 — precedência final da direção editorial
   Mantém a composição legível mesmo com as ondas históricas acima.
   ================================================================ */

.hero--rebuild {
  min-height: clamp(960px, calc(100svh + 128px), 1080px);
  padding-bottom: 38px;
}

.hero--rebuild .hero__backdrop img {
  object-position: center bottom;
  filter: saturate(0.62) contrast(1.08) brightness(0.72);
  transform: scale(1.035);
}

.hero--rebuild .hero__backdrop::after {
  background:
    linear-gradient(90deg, rgba(3, 15, 10, 0.82) 0%, rgba(3, 15, 10, 0.38) 45%, rgba(3, 15, 10, 0.64) 100%),
    linear-gradient(180deg, rgba(3, 15, 10, 0.74) 0%, rgba(3, 15, 10, 0.14) 40%, rgba(3, 15, 10, 0.84) 100%);
}

.hero--rebuild .hero__route {
  inset: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: 0.72;
  transform: none;
}

.hero--rebuild .hero__route::after {
  display: none;
  content: none;
}

.hero--rebuild .hero__route path {
  stroke-width: 1.5;
  opacity: 0.7;
}

.hero--rebuild .hero__route .hero__route-secondary {
  stroke-width: 0.8;
  opacity: 0.22;
}

.hero--rebuild .hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.78fr);
  align-items: start;
  gap: clamp(44px, 5.8vw, 82px);
  margin-top: clamp(34px, 4vw, 54px);
}

.hero--rebuild .hero__copy {
  padding-top: clamp(22px, 2.8vw, 38px);
}

.hero--rebuild h1 {
  max-width: 690px;
  font-size: clamp(3.55rem, 6.05vw, 6.3rem);
  letter-spacing: -0.085em;
  line-height: 0.9;
}

.hero--rebuild .hero-diagnostic {
  align-self: start;
  min-height: 0;
  padding: clamp(25px, 2.5vw, 34px);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(12, 38, 27, 0.76), rgba(3, 17, 11, 0.88));
}

.hero--rebuild .hero-diagnostic__note {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: flex;
  width: auto;
  height: auto;
  margin-top: 13px;
  font-size: 0.73rem;
  text-transform: none;
}

.hero--rebuild .hero-movements {
  margin-top: clamp(48px, 5vw, 68px);
}

.hero--rebuild .hero-movements__heading {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.46fr);
  gap: 28px;
  margin-bottom: 17px;
}

.hero--rebuild .signal-carousel__viewport {
  margin: 0 -8px;
  padding: 8px 8px 18px;
}

.hero--rebuild .signal-carousel__track {
  gap: 14px;
}

.hero--rebuild .signal-slide,
.hero--rebuild .signal-slide.is-active {
  flex: 0 0 min(31.5%, 372px);
  min-height: 236px;
  border-radius: 17px;
  padding: 17px 18px 15px;
  transform: translateY(8px);
  transition: transform 430ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 350ms ease, border-color 350ms ease, box-shadow 350ms ease;
}

.hero--rebuild .signal-slide.is-active {
  flex-basis: min(31.5%, 372px);
  transform: translateY(0) scale(1.018);
}

@media (min-width: 821px) {
  .hero--rebuild .hero-diagnostic__head {
    margin-bottom: 18px;
  }

  .hero--rebuild .hero-diagnostic > h2 {
    font-size: clamp(1.75rem, 2.45vw, 2.5rem);
  }

  .hero--rebuild .hero-diagnostic__prompt {
    margin-top: 10px;
    font-size: 0.78rem;
    line-height: 1.36;
  }

  .hero--rebuild .diagnostic-options {
    gap: 7px;
    margin-top: 16px;
  }

  .hero--rebuild .diagnostic-option {
    min-height: 50px;
    padding: 8px 10px;
    font-size: 0.8rem;
  }

  .hero--rebuild .diagnostic-option small {
    font-size: 0.58rem;
  }

  .hero--rebuild .diagnostic-continue {
    min-height: 51px;
    margin-top: 14px;
  }

  .hero--rebuild .hero-movements {
    margin-top: 38px;
  }
}

@media (min-width: 821px) {
  .hero--rebuild .hero__topline,
  .hero--rebuild > .hero__grid,
  .hero--rebuild > .hero-movements {
    width: min(calc(100% - 48px), var(--page-max));
  }
}

@media (min-width: 821px) and (max-width: 1120px) {
  .hero--rebuild {
    min-height: 1040px;
  }

  .hero--rebuild .hero__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.82fr);
    gap: 42px;
  }

  .hero--rebuild h1 {
    font-size: clamp(3.35rem, 5.65vw, 4.8rem);
  }
}

@media (max-width: 820px) {
  .hero--rebuild {
    min-height: 0;
    padding-bottom: 45px;
  }

  .hero--rebuild .hero__backdrop img {
    object-position: 58% bottom;
    transform: scale(1.02);
  }

  .hero--rebuild .hero__grid {
    grid-template-columns: 1fr;
    gap: 34px;
    margin-top: 34px;
  }

  .hero--rebuild .hero__copy {
    padding-top: 0;
  }

  .hero--rebuild h1 {
    max-width: 640px;
    font-size: clamp(2.85rem, 9.2vw, 4.6rem);
    line-height: 0.91;
  }

  .hero--rebuild .hero-diagnostic {
    max-width: 620px;
    padding: 23px 20px 20px;
  }

  .hero--rebuild .hero-movements {
    margin-top: 46px;
  }

  .hero--rebuild .hero-movements__heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: min(78vw, 430px);
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: min(78vw, 430px);
  }
}

@media (max-width: 560px) {
  .hero--rebuild h1 {
    font-size: clamp(2.75rem, 13.2vw, 4.2rem);
  }

  .hero--rebuild .hero-diagnostic > h2 {
    font-size: clamp(1.7rem, 8vw, 2.45rem);
  }

  .hero--rebuild .signal-slide,
  .hero--rebuild .signal-slide.is-active {
    flex-basis: calc(100vw - 58px);
    min-height: 264px;
  }

  .hero--rebuild .signal-slide.is-active {
    flex-basis: calc(100vw - 58px);
  }
}

/* ================================================================
   Onda 3.27 — ritmo vertical e largura útil do lead
   A composição estava usando o espaçamento máximo de versões anteriores em
   praticamente todas as seções. Isso criava vazios entre header, eyebrow,
   título e conteúdo; no lead, a coluna da direita ficava estreita e alongava
   demais o formulário. Esta camada reduz o ritmo sem alterar a narrativa,
   preservando uma regra própria para o hero e outra para o formulário.
   ================================================================ */

@media (min-width: 821px) {
  .hero--rebuild .hero__topline {
    padding-top: clamp(60px, 6.2vw, 88px);
  }

  .hero--rebuild .hero__grid {
    margin-top: clamp(20px, 2.1vw, 30px);
  }

  .hero--rebuild .hero__copy {
    padding-top: clamp(14px, 1.8vw, 26px);
  }
}

.fronts-section {
  padding-top: clamp(44px, 4.6vw, 66px);
  padding-bottom: clamp(48px, 4.8vw, 72px);
}

.fronts-section__intro {
  margin-bottom: clamp(24px, 2.8vw, 40px);
}

.solutions-section {
  padding-block: clamp(46px, 4.4vw, 66px);
}

.solutions-section__heading,
.method-section.method-section--balanced .method-section__heading {
  margin-bottom: clamp(24px, 2.8vw, 40px);
}

.method-section.method-section--balanced {
  padding-block: clamp(48px, 4.6vw, 66px) clamp(52px, 4.8vw, 72px);
}

.proof-section {
  padding-block: clamp(48px, 4.8vw, 72px);
}

.proof-section__copy > p:last-child {
  margin-top: clamp(20px, 2.4vw, 30px);
}

.faq-section {
  padding-block: clamp(48px, 4.8vw, 72px);
}

.faq-section__intro > p:last-child {
  margin-top: clamp(20px, 2.4vw, 28px);
}

@media (min-width: 921px) {
  .lead-section {
    padding-block: clamp(50px, 4.8vw, 72px);
  }

  .lead-section__grid {
    grid-template-columns: minmax(270px, 0.54fr) minmax(520px, 1fr);
    gap: clamp(40px, 5vw, 72px);
  }

  .lead-flow {
    padding: clamp(24px, 2.6vw, 36px);
  }

  .lead-form {
    width: 100%;
  }

  .lead-section__copy .eyebrow {
    margin-bottom: clamp(22px, 2.5vw, 34px);
  }
}

@media (max-width: 920px) {
  .lead-section {
    padding-block: 52px 68px;
  }
}

@media (max-width: 820px) {
  .hero--rebuild .hero__topline {
    padding-top: 34px;
  }

  .hero--rebuild .hero__grid {
    margin-top: 24px;
  }

  .fronts-section,
  .solutions-section,
  .method-section.method-section--balanced,
  .proof-section,
  .faq-section {
    padding-block: 48px 58px;
  }

  .fronts-section__intro,
  .solutions-section__heading,
  .method-section.method-section--balanced .method-section__heading {
    margin-bottom: 30px;
  }
}

@media (max-width: 560px) {
  .fronts-section,
  .solutions-section,
  .method-section.method-section--balanced,
  .proof-section,
  .faq-section {
    padding-block: 40px 48px;
  }

  .fronts-section__intro,
  .solutions-section__heading,
  .method-section.method-section--balanced .method-section__heading {
    margin-bottom: 26px;
  }
}

/* Onda 3.34: keep the fixed WhatsApp CTA clear of the hero diagnostic note
   on short desktop viewports. This override stays after the rebuild layer so
   it wins over the compact-hero defaults. */
@media (min-width: 921px) and (max-height: 780px) {
  .hero--rebuild .hero__grid {
    margin-top: 0;
  }
}

/* Onda 3.35: on narrow phones the floating action becomes an icon-only FAB
   so it does not cover option labels or native controls in the hero. The
   visible text remains available to assistive technology. */
@media (max-width: 560px) {
  .whatsapp-fab {
    width: 52px;
    min-height: 52px;
    justify-content: center;
    gap: 0;
    padding: 13px;
  }

  .whatsapp-fab span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* Onda 3.41: preserve a leitura de textos auxiliares em telas grandes.
   A hierarquia permanece compacta, mas nenhum texto de orientação regular
   fica abaixo do limiar confortável de leitura. */
.hero--rebuild .hero-diagnostic__prompt {
  font-size: 0.875rem;
  line-height: 1.45;
}

.hero--rebuild .hero-diagnostic__note {
  font-size: 0.75rem;
  line-height: 1.45;
}

.site-footer__label {
  font-size: 0.75rem !important;
}

.site-footer__bottom p {
  font-size: 0.75rem;
}

/* Onda 3.46: close the desktop hero gap without changing the mobile stack.
   The previous topline rhythm left roughly 180px between the fixed header and
   the main title on short desktop viewports, delaying the first decision. */
@media (min-width: 921px) {
  .hero--rebuild .hero__topline {
    padding-top: clamp(48px, 4.8vw, 68px);
  }

  .hero--rebuild .hero__copy {
    padding-top: clamp(14px, 1.6vw, 22px);
  }

  .hero--rebuild .hero__copy .eyebrow {
    margin-bottom: clamp(22px, 2.35vw, 30px);
  }
}

/* Onda 3.48: preserve the footer's legal/institutional line when the
   persistent WhatsApp action is present. The fixed action remains available,
   but the footer copy keeps a clear reading zone beside it. */
@media (min-width: 721px) {
  .site-footer__bottom > p:last-child {
    margin-right: clamp(190px, 17vw, 230px);
    text-align: right;
  }
}

@media (max-width: 720px) {
  .site-footer__bottom > p:last-child {
    padding-right: 72px;
    max-width: calc(100% - 72px);
  }
}

/* Onda 3.56: at the narrow-tablet breakpoint the footer still uses a
   two-column legal row. Reserve physical space for the fixed WhatsApp action
   so its hit area cannot intersect the institutional paragraph box. */
@media (min-width: 561px) and (max-width: 720px) {
  .site-footer__bottom > p:last-child {
    margin-right: 72px;
    padding-right: 0;
  }
}

/* Onda 3.51: the persistent WhatsApp action becomes icon-only before the
   phone breakpoint. At narrow tablet widths the text label occupied enough
   of the viewport to cover the hero diagnostic; the accessible aria-label
   keeps the action understandable without sacrificing the fixed corner CTA. */
@media (max-width: 720px) {
  .whatsapp-fab {
    width: 52px;
    min-height: 52px;
    justify-content: center;
    gap: 0;
    padding: 13px;
  }

  .whatsapp-fab span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* Onda 3.47: preserve motion without leaving navigated sections visually
   empty while the reveal is still settling. */
@media (prefers-reduced-motion: no-preference) {
  .js .reveal {
    transition-duration: 420ms;
  }

  .js .reveal--delay {
    transition-delay: 60ms;
  }

  .js .reveal--delay-2 {
    transition-delay: 120ms;
  }
}

/* Onda 3.54: keep the tablet tab rail within the useful viewport measure.
   The base mobile padding left the final label a few pixels past the edge at
   666px, even though the document itself correctly avoided horizontal scroll. */
@media (min-width: 561px) and (max-width: 820px) {
  .solutions-tabs button {
    padding-inline: 15px;
  }
}

/* Onda 4: navegação por áreas, com leitura rápida e destinos próprios. */
.nav-mega {
  position: static;
}

.nav-mega__trigger {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 10px 0;
  text-align: left;
}

.nav-mega__trigger::after,
.nav-mega__links a::after {
  display: none !important;
}

.nav-mega__trigger span {
  display: inline-block;
  font-size: .85em;
  margin-left: 4px;
  transition: transform 180ms ease;
}

.nav-mega.is-open .nav-mega__trigger span,
.nav-mega__trigger[aria-expanded="true"] span {
  transform: rotate(180deg);
}

.nav-mega__panel {
  align-items: stretch;
  background: rgba(7, 24, 19, .98);
  border: 1px solid rgba(199, 255, 0, .45);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .34);
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(180px, .7fr) minmax(330px, 1.3fr);
  left: 50%;
  opacity: 0;
  padding: 26px;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 18px);
  transform: translate(-50%, -8px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
  width: min(820px, calc(100vw - 48px));
  z-index: 20;
}

.nav-mega__panel::before {
  border-left: 1px solid rgba(199, 255, 0, .45);
  border-top: 1px solid rgba(199, 255, 0, .45);
  content: "";
  height: 13px;
  position: absolute;
  right: 28%;
  top: -7px;
  transform: rotate(45deg);
  width: 13px;
}

.nav-mega:hover .nav-mega__panel,
.nav-mega:focus-within .nav-mega__panel,
.nav-mega.is-open .nav-mega__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
  visibility: visible;
}

.nav-mega__intro {
  border-right: 1px solid rgba(236, 240, 231, .16);
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-right: 20px;
}

.nav-mega__intro span,
.nav-mega__intro strong {
  color: #c7ff00;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nav-mega__intro strong {
  color: #f2f4ec;
  font-size: 1rem;
  letter-spacing: .04em;
}

.nav-mega__intro p {
  color: rgba(242, 244, 236, .72);
  font-size: .88rem;
  line-height: 1.55;
  margin: 0;
}

.nav-mega__links {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nav-mega__links a {
  border: 1px solid transparent;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 12px;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.nav-mega__links a:hover,
.nav-mega__links a:focus-visible {
  background: rgba(199, 255, 0, .09);
  border-color: rgba(199, 255, 0, .35);
  transform: translateY(-2px);
}

.nav-mega__links strong {
  color: #f2f4ec;
  font-size: .88rem;
  font-weight: 600;
}

.nav-mega__links span {
  color: rgba(242, 244, 236, .62);
  font-size: .76rem;
  line-height: 1.4;
}

.hero-diagnostic .diagnostic-options {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: min(47vh, 390px);
  overflow: auto;
  padding-right: 4px;
}

.hero-diagnostic .diagnostic-option {
  min-height: 58px;
}

.hero-diagnostic .diagnostic-option small {
  font-size: .62rem;
  letter-spacing: .08em;
}

@media (max-width: 1040px) {
  .nav-mega__trigger {
    padding: 15px 0;
    width: 100%;
  }

  .nav-mega__panel {
    border: 0;
    box-shadow: none;
    display: none;
    gap: 18px;
    grid-template-columns: 1fr;
    left: auto;
    opacity: 1;
    padding: 4px 0 14px 18px;
    position: static;
    transform: none;
    visibility: visible;
    width: auto;
  }

  .nav-mega__panel::before {
    display: none;
  }

  .nav-mega.is-open .nav-mega__panel,
  .nav-mega:focus-within .nav-mega__panel {
    display: grid;
  }

  .nav-mega__intro {
    border-right: 0;
    border-left: 1px solid rgba(199, 255, 0, .45);
    padding: 0 0 0 14px;
  }

  .nav-mega__links {
    grid-template-columns: 1fr;
  }

  .hero-diagnostic .diagnostic-options {
    grid-template-columns: 1fr;
    max-height: none;
  }
}

/* Onda 5.1: cascata final da navegação e do formulário. */
@media (min-width: 1041px) {
  .nav-mega__panel {
    top: 100%;
    right: 0;
    left: 0;
    width: 100%;
    min-height: 286px;
    grid-template-columns: minmax(245px, .68fr) minmax(0, 1.75fr);
    gap: clamp(30px, 5vw, 84px);
    padding: 31px max(24px, calc((100vw - var(--page-max)) / 2));
    border: 0;
    border-top: 1px solid rgba(10, 31, 23, .1);
    border-bottom: 1px solid rgba(10, 31, 23, .16);
    border-radius: 0;
    background: #f1f2ec;
    box-shadow: 0 22px 46px rgba(3, 17, 11, .24);
    color: var(--ink);
    transform: translateY(-9px);
  }

  .nav-mega__panel::before { display: none; }

  .nav-mega:hover .nav-mega__panel,
  .nav-mega:focus-within .nav-mega__panel,
  .nav-mega.is-open .nav-mega__panel {
    transform: translateY(0);
  }

  .nav-mega__intro {
    justify-content: center;
    min-height: 220px;
    border-right: 1px solid rgba(10, 31, 23, .15);
    padding: 5px clamp(24px, 3vw, 48px) 5px 0;
  }

  .nav-mega__intro::before {
    width: 38px;
    height: 3px;
    content: "";
    background: var(--lime-deep);
  }

  .nav-mega__intro span,
  .nav-mega__intro strong { color: var(--forest-muted); }

  .nav-mega__intro strong {
    font-size: clamp(1.25rem, 1.9vw, 1.7rem);
    letter-spacing: -.04em;
    line-height: 1;
  }

  .nav-mega__intro p {
    max-width: 300px;
    color: #506057;
    font-size: .93rem;
  }

  .nav-mega__intro-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 3px;
    border-bottom: 1px solid var(--lime-deep);
    padding-bottom: 5px;
    color: var(--ink);
    font-size: .82rem;
    font-weight: 750;
  }

  .nav-mega__intro-cta span { color: var(--lime-deep); font-size: 1rem; }

  .nav-mega__links { align-content: center; gap: 10px 14px; }

  .nav-mega__links a {
    position: relative;
    min-height: 88px;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 14px 18px 14px 47px;
    background: transparent;
  }

  .nav-mega__links a::before {
    position: absolute;
    top: 19px;
    left: 18px;
    width: 16px;
    height: 16px;
    border: 1px solid var(--lime-deep);
    border-radius: 50%;
    content: "";
    box-shadow: inset 0 0 0 4px #f1f2ec;
    background: var(--lime);
  }

  .nav-mega__links a:hover,
  .nav-mega__links a:focus-visible { background: #e5e9dc; border-color: rgba(10, 31, 23, .18); transform: none; }
  .nav-mega__links strong { color: var(--ink); font-size: .98rem; }
  .nav-mega__links span { color: #5d6961; font-size: .875rem; }
}

.lead-flow {
  border-top: 3px solid var(--lime);
  border-radius: 18px;
  padding: clamp(27px, 3.4vw, 42px);
  background: linear-gradient(150deg, rgba(20, 62, 41, .86), rgba(4, 20, 13, .96));
}

.lead-step__title { max-width: 540px; font-size: clamp(1.9rem, 3.2vw, 2.9rem); line-height: 1.02; }
.lead-step__intro { max-width: 540px; font-size: 1rem; line-height: 1.55; }

.lead-moments {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin-top: 23px;
}

.lead-moments .field-label { grid-column: 1 / -1; margin: 0 0 1px; font-size: .875rem; text-transform: none; }

.lead-moment-option {
  grid-template-columns: 21px minmax(0, 1fr);
  align-items: start;
  min-height: 104px;
  gap: 12px;
  border-radius: 12px;
  padding: 16px 14px;
  font-size: .96rem;
}

.lead-moment-option:hover { transform: translateY(-2px); }
.lead-moment-option:has(input:checked) { box-shadow: inset 3px 0 0 var(--lime), 0 8px 24px rgba(0, 0, 0, .12); }

.lead-moment-option__mark { margin-top: 2px; width: 19px; height: 19px; }

.lead-moment-option__copy { display: flex; flex-direction: column; gap: 7px; }
.lead-moment-option__copy strong { color: var(--text-on-dark); font-size: .98rem; font-weight: 700; }
.lead-moment-option__copy small { color: rgba(245, 242, 235, .64); font-size: .875rem; line-height: 1.35; }

.field-label { font-size: .875rem; letter-spacing: .02em; text-transform: none; }
.field-label span { font-size: .875rem; }
.lead-form input:not([type="radio"]):not([type="checkbox"]), .lead-form textarea, .lead-form select { font-size: 1rem; }
.lead-step__hint, .form-feedback { font-size: .875rem; }
.lead-details__title { font-size: .9rem; }
.consent-control { font-size: .875rem; line-height: 1.5; }

@media (max-width: 1040px) {
  .nav-mega__panel {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    width: auto;
    min-height: 0;
    padding: 16px 18px 20px;
    border: 1px solid rgba(10, 31, 23, .14);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #f1f2ec;
    color: var(--ink);
    transform: none;
  }

  .nav-mega__intro { min-height: 0; border-right: 0; border-left: 3px solid var(--lime-deep); padding: 1px 0 1px 14px; }
  .nav-mega:hover .nav-mega__panel,
  .nav-mega:focus-within .nav-mega__panel,
  .nav-mega.is-open .nav-mega__panel { transform: none; }
  .nav-mega__intro span, .nav-mega__intro strong { color: var(--forest-muted); }
  .nav-mega__intro p { color: #506057; }
  .primary-navigation .nav-mega__intro-cta { display: inline-flex; width: fit-content; border-bottom: 1px solid var(--lime-deep); padding: 5px 0; color: var(--ink) !important; font-family: inherit; font-size: .875rem; font-weight: 700; letter-spacing: 0; }
  .primary-navigation .nav-mega__panel a { width: auto; border-bottom: 0; padding: 14px 18px 14px 45px; color: var(--ink); font-family: inherit; font-size: .875rem; letter-spacing: 0; }
  .nav-mega__links a { min-height: 72px; border-color: rgba(10, 31, 23, .12); border-radius: 8px; padding-left: 45px; background: rgba(255, 255, 255, .34); }
  .nav-mega__links a::before { background: var(--lime); box-shadow: inset 0 0 0 4px #f1f2ec; }
  .nav-mega__links strong { color: var(--ink); }
  .nav-mega__links span { color: #5d6961; }
}

@media (max-width: 620px) {
  .lead-flow { border-radius: 14px; padding: 24px 17px 25px; }
  .lead-moments { grid-template-columns: 1fr; }
  .lead-moments .field-label { grid-column: auto; }
  .lead-moment-option { min-height: 86px; }
  .nav-mega__links { grid-template-columns: 1fr; }
}

/* Onda 6: retorno ao sistema visual original da homepage. */
body,
button,
input,
textarea,
select {
  font-family: "DM Sans", Arial, sans-serif;
}

h1,
h2,
h3,
.brand__wordmark,
.hero-diagnostic > h2,
.lead-step__title {
  font-family: "Space Grotesk", Arial, sans-serif;
}

/* O formulário inicial volta ao formato horizontal e respirado da versão anterior. */
.hero-diagnostic .diagnostic-options,
.hero--rebuild .diagnostic-options {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 9px;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.hero-diagnostic .diagnostic-option,
.hero--rebuild .diagnostic-option {
  display: inline-flex;
  flex: 0 0 auto;
  width: 100%;
  min-height: 0;
  grid-template-columns: none;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  border: 1px solid rgba(245, 242, 235, 0.4);
  border-radius: 999px;
  padding: 10px 14px;
  background: transparent;
  color: rgba(245, 242, 235, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1.25;
  text-transform: uppercase;
  transform: none;
}

.hero-diagnostic .diagnostic-option:hover,
.hero--rebuild .diagnostic-option:hover,
.hero-diagnostic .diagnostic-option:has(input:checked),
.hero--rebuild .diagnostic-option:has(input:checked) {
  border-color: var(--lime);
  background: rgba(200, 255, 24, 0.09);
  box-shadow: none;
  transform: none;
}

.hero-diagnostic .diagnostic-option small,
.hero--rebuild .diagnostic-option small {
  display: none;
}

.hero-diagnostic .diagnostic-option input + span,
.hero--rebuild .diagnostic-option input + span {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
}

.hero--rebuild .hero-diagnostic__note {
  position: relative;
  inset: auto;
  display: flex;
  width: auto;
  height: auto;
  max-width: none;
  margin-top: 14px;
  font-size: 0.78rem;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

/* Cabeçalho: o painel ocupa a largura real da página e pode ser alcançado pelo mouse. */
.primary-navigation .nav-mega {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.primary-navigation .nav-mega__trigger {
  position: relative;
  border: 0;
  padding: 10px 0;
  color: rgba(245, 242, 235, 0.72);
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  transition: color var(--transition-base);
}

.primary-navigation .nav-mega__trigger:hover,
.primary-navigation .nav-mega__trigger:focus-visible,
.nav-mega.is-open .nav-mega__trigger {
  color: var(--text-on-dark);
}

.primary-navigation .nav-mega__trigger::after {
  display: none;
}

.primary-navigation .nav-mega__trigger > span {
  display: inline-block;
  margin-left: 4px;
  color: var(--lime);
  font-size: 0.9em;
  transition: transform var(--transition-base);
}

.nav-mega.is-open .nav-mega__trigger > span,
.nav-mega__trigger[aria-expanded="true"] > span {
  transform: rotate(180deg);
}

@media (min-width: 1041px) {
  .primary-navigation {
    gap: clamp(10px, 1.35vw, 22px);
  }

  .primary-navigation > a,
  .primary-navigation .nav-mega__trigger {
    font-size: clamp(0.68rem, 0.72vw, 0.78rem);
  }

  .nav-mega__panel {
    position: fixed;
    z-index: 40;
    top: var(--header-height);
    right: 0;
    left: 0;
    width: 100vw;
    min-height: 286px;
    grid-template-columns: minmax(245px, 0.68fr) minmax(0, 1.75fr);
    gap: clamp(30px, 5vw, 84px);
    padding: 31px max(24px, calc((100vw - var(--page-max)) / 2));
    border: 0;
    border-top: 1px solid rgba(10, 31, 23, 0.1);
    border-bottom: 1px solid rgba(10, 31, 23, 0.16);
    border-radius: 0;
    background: #f1f2ec;
    box-shadow: 0 22px 46px rgba(3, 17, 11, 0.24);
    color: var(--ink);
    transform: translateY(-10px);
  }

  .nav-mega__panel::before {
    display: none;
  }

  .nav-mega:hover .nav-mega__panel,
  .nav-mega:focus-within .nav-mega__panel,
  .nav-mega.is-open .nav-mega__panel {
    transform: translateY(0);
  }

  /* Mantém o painel aberto durante a passagem do título até a área branca. */
  .nav-mega::after {
    position: absolute;
    top: 100%;
    right: -14px;
    left: -14px;
    height: 18px;
    content: "";
  }

  .nav-mega__intro {
    justify-content: center;
    min-height: 220px;
    border-right: 1px solid rgba(10, 31, 23, 0.15);
    padding: 5px clamp(24px, 3vw, 48px) 5px 0;
  }

  .nav-mega__intro::before {
    width: 38px;
    height: 3px;
    content: "";
    background: var(--lime-deep);
  }

  .nav-mega__intro span,
  .nav-mega__intro strong {
    color: var(--forest-muted);
  }

  .nav-mega__intro strong {
    font-family: "Space Grotesk", Arial, sans-serif;
    font-size: clamp(1.25rem, 1.9vw, 1.7rem);
    letter-spacing: -0.04em;
    line-height: 1;
  }

  .nav-mega__intro p {
    max-width: 300px;
    color: #506057;
    font-size: 0.93rem;
  }

  .nav-mega__intro-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 3px;
    border-bottom: 1px solid var(--lime-deep);
    padding-bottom: 5px;
    color: var(--ink);
    font-size: 0.82rem;
    font-weight: 700;
  }

  .nav-mega__links {
    align-content: center;
    gap: 10px 14px;
  }

  .nav-mega__links a {
    position: relative;
    min-height: 88px;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 14px 18px 14px 47px;
    background: transparent;
  }

  .nav-mega__links a::before {
    position: absolute;
    top: 19px;
    left: 18px;
    width: 16px;
    height: 16px;
    border: 1px solid var(--lime-deep);
    border-radius: 50%;
    content: "";
    box-shadow: inset 0 0 0 4px #f1f2ec;
    background: var(--lime);
  }

  .nav-mega__links a:hover,
  .nav-mega__links a:focus-visible {
    border-color: rgba(10, 31, 23, 0.18);
    background: #e5e9dc;
    transform: none;
  }

  .nav-mega__links strong {
    color: var(--ink);
    font-size: 0.98rem;
  }

  .nav-mega__links span {
    color: #5d6961;
    font-size: 0.875rem;
  }
}

@media (max-width: 1040px) {
  .hero-diagnostic .diagnostic-options,
  .hero--rebuild .diagnostic-options {
    align-items: stretch;
    flex-direction: column;
  }

  .hero-diagnostic .diagnostic-option,
  .hero--rebuild .diagnostic-option {
    width: 100%;
    justify-content: flex-start;
  }
}
