:root {
  --u: clamp(0.55px, 0.052083vw, 1px); /* 1 "design px" do Figma (frame de 1920px) */
  --lime: #84dc1f;
  --lime-bright: #9be832;
  --green: #1f9a1f;
  --green-dark: #0b4a0b;
  --gray: #d9d9d9;
  --gray-card: #f1f1f1;
  --slate: #5f5d5d;
  --charcoal: #454545;
  --ink: #222;
  --white: #fff;
  --radius: 20px;
  --radius-pill: 999px;
  --container: calc(var(--u) * 1670);
  --gutter: 24px;
  --font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); color: var(--ink); background: var(--gray); line-height: 1.5; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
h1, h2, h3, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }

.container { width: min(100% - var(--gutter) * 2, var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Logo */
.logo { font-weight: 500; font-size: 28px; letter-spacing: -0.02em; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.logo img { height: 25px; width: auto; }
.logo--dark img { filter: none; }
.logo__dot { width: 26px; height: 14px; border-radius: var(--radius-pill); background: var(--white); display: inline-block; }
.logo__dot--lime { background: var(--lime); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 28px; border-radius: var(--radius-pill); font: 700 14px/1 var(--font); text-decoration: none; border: 0; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgb(0 0 0 / .18); }
.btn:focus-visible, input:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 2px; }
.btn--white { background: var(--white); color: var(--ink); }
.btn--lime { background: var(--lime); color: var(--green-dark); }
.btn__icon { width: 20px; height: 20px; }

/* Typography */
h2 { font-size: clamp(26px, 2.5vw, 48px); line-height: 1.15; font-weight: 800; letter-spacing: -0.01em; color: var(--charcoal); }
h2 em { font-style: normal; color: var(--green); }
.lead { margin-top: 16px; max-width: 760px; font-size: clamp(14px, 1vw, 19px); color: #3d3d3d; }
.rule { width: 56px; border: 0; border-top: 2px solid var(--charcoal); margin: 20px 0; }

/* Sections */
.section { padding: 96px 0; }
.section--gray { background: var(--gray); }
.section--fade-lime { background: linear-gradient(180deg, var(--gray) 75%, #d6ef4a 100%); }
.section--lime { background: var(--lime); }
.section--ai { background: linear-gradient(180deg, #4b6a37 0%, #6fb52a 55%, var(--lime-bright) 100%); }
.section--ai h2, .section--ai .lead { color: var(--white); }
.section--ai h2 em { color: var(--lime-bright); }
.section--charcoal { background: var(--charcoal); }
.section--charcoal h2, .section--charcoal .lead { color: var(--white); }

/* Hero */
.hero { background: #1a8a0a url("../assets/hero-bg.png") center / cover no-repeat; color: var(--white); overflow: hidden; }
.hero { position: relative; }
.hero__inner { position: relative; display: grid; grid-template-columns: 1fr; align-items: center; min-height: clamp(560px, 50.4vw, 968px); padding-block: 48px; }
.hero__content { position: relative; z-index: 1; display: grid; gap: 28px; justify-items: start; max-width: 50%; }
.hero h1 { font-size: clamp(28px, 3.1vw, 60px); line-height: 1.2; font-weight: 400; }
.hero h1 strong { font-weight: 800; }
.hero p { max-width: 560px; font-size: clamp(14px, 1.2vw, 22px); }
.hero__media { position: absolute; right: 5%; bottom: 0; height: 100%; width: 46%; pointer-events: none; }
.hero__media img { width: 100%; height: 100%; object-fit: contain; object-position: right bottom; }

/* Cards */
.card { border-radius: var(--radius); padding: 32px; }
.card h3 { font-size: 18px; line-height: 1.3; margin-bottom: 16px; }
.card li { position: relative; padding-left: 16px; font-size: 14px; margin-top: 8px; }
.card li::before { content: "•"; position: absolute; left: 0; }
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; }
.card--light { background: var(--gray-card); }
.card--dark { background: var(--green-dark); color: var(--white); position: relative; }
.card--dark h3 { color: var(--lime); }
.tag { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--charcoal); color: var(--lime); padding: 6px 18px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 500; }

label { display: grid; gap: 6px; font-size: 12px; color: #555; }
input { width: 100%; padding: 12px 14px; border: 1px solid #cfcfcf; border-radius: 8px; font: 400 14px var(--font); background: var(--white); }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.card--slate { background: var(--slate); color: var(--white); min-height: 320px; }
.card--slate p, .card--lime-solid p { font-size: 13px; opacity: .85; }
.card--lime-solid { background: var(--lime); color: var(--green-dark); min-height: 320px; }
.card--white { background: var(--gray-card); min-height: 240px; }
.card--white h3 { color: var(--green); }
.card--white p { font-size: 13px; color: #555; }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 56px; align-items: stretch; }
.steps article { padding: 0 24px; color: var(--white); border-left: 1px solid rgb(255 255 255 / .35); }
.steps article:first-child { border-left: 0; padding-left: 0; }
.steps h3 { color: var(--lime); font-size: 14px; margin-bottom: 12px; }
.steps p { font-size: 13px; }
.steps__highlight { background: var(--lime); color: var(--green-dark) !important; border-radius: var(--radius); padding: 24px !important; border-left: 0 !important; position: relative; }
.steps__highlight h3 { color: var(--green-dark); }
.steps__highlight span { position: absolute; left: 16px; bottom: 12px; color: var(--white); font-size: 24px; }

.cta { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.cta__text { display: grid; gap: 24px; justify-items: start; }
.cta__text h2 { font-size: clamp(24px, 2.4vw, 32px); }
.cta__text p { max-width: 380px; font-size: 14px; }
.cta__form { display: grid; gap: 12px; }
.footer { margin-top: 48px; }

/* Tablet */
@media (max-width: 1024px) {
  .section { padding: 72px 0; }
  .cta { grid-template-columns: 1fr; }
  .hero__content { max-width: none; }
  .hero__media { position: static; width: 100%; height: auto; margin-top: 24px; }
  .hero__media img { height: auto; max-height: 420px; object-position: center bottom; }
  .hero__inner { padding-bottom: 0; }
  .grid-3 { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr 1fr; row-gap: 32px; }
  .steps article:nth-child(odd) { border-left: 0; padding-left: 0; }
}

/* Mobile */
@media (max-width: 640px) {
  :root { --gutter: 20px; }
  .section { padding: 56px 0; }
  .compare, .steps { grid-template-columns: 1fr; }
  .steps article { border-left: 0; padding: 0; }
  .card { padding: 24px; }
  .btn { width: 100%; text-align: center; }
  .tag { white-space: nowrap; }
}

/* Seção 2 — medidas do Figma (1920px) via --u */
.section--structured { position: relative; padding: calc(var(--u) * 176) 0 calc(var(--u) * 92); overflow: hidden;
  background: radial-gradient(60% 45% at 0% 100%, #dcf24a 0%, rgb(220 242 74 / 0) 100%), var(--gray); }
.section--structured > .container { position: relative; }
.structured__art { position: absolute; z-index: 1; top: calc(var(--u) * 3); left: 66.25%; width: 22.45%; height: auto; pointer-events: none; }
.structured__head { padding-left: calc(var(--u) * 88); }
.section--structured h2 { font-size: calc(var(--u) * 60); line-height: 1.15; color: #3f3f3f; }
.section--structured h2 em { color: #5a9c14; }
.section--structured .lead { margin-top: calc(var(--u) * 28); max-width: calc(var(--u) * 920); font-size: calc(var(--u) * 34); line-height: calc(var(--u) * 44); color: #555; }
.section--structured .compare { gap: calc(var(--u) * 48); margin-top: calc(var(--u) * 188); }
.section--structured .card { min-height: calc(var(--u) * 500); padding: calc(var(--u) * 70) calc(var(--u) * 88) calc(var(--u) * 50); border-radius: calc(var(--u) * 44); }
.section--structured .card h3 { font-size: calc(var(--u) * 36); margin-bottom: calc(var(--u) * 28); }
.section--structured .card li { font-size: calc(var(--u) * 26); line-height: 1.15; margin-top: calc(var(--u) * 14); padding-left: calc(var(--u) * 36); }
.section--structured .card--light { background: #f4f4f4; }
.section--structured .card--light h3 { color: #333; }
.section--structured .card--light li { color: #444; }
.section--structured .card--dark { background: #003d00; }
.section--structured .tag { top: 0; left: calc(var(--u) * 70); transform: translateY(-50%); background: var(--lime); color: #1d3a00; font-size: calc(var(--u) * 40); font-weight: 500; padding: calc(var(--u) * 28) calc(var(--u) * 40); line-height: 1.1; }
@media (max-width: 1024px) {
  .structured__art { position: static; width: 60%; margin: 0 auto 24px; }
  .structured__head { padding-left: 0; }
  .section--structured .compare { margin-top: 56px; }
  .section--structured .card { min-height: 0; }
  .section--structured .tag { position: static; transform: none; display: inline-block; margin-bottom: 16px; }
}

/* Seção 3 — medidas do Figma (1920px) via --u */
.checklist { position: relative; overflow: hidden; min-height: calc(var(--u) * 894); padding: 0; background: var(--lime); }
.checklist__art { position: absolute; left: 39.4%; top: calc(var(--u) * 104); width: 26.8%; height: auto; }
.checklist__text { position: absolute; left: calc(var(--u) * 144); top: calc(var(--u) * 199); width: calc(var(--u) * 600); }
.checklist h2 { font-size: calc(var(--u) * 60); line-height: 1.1; color: #2c2c2c; }
.checklist .rule { width: calc(var(--u) * 124); border-top: calc(var(--u) * 4) solid #2c2c2c; margin: calc(var(--u) * 54) 0 calc(var(--u) * 40); }
.checklist p { font-size: calc(var(--u) * 32); line-height: 1.25; color: #2c2c2c; }
.checklist__form { position: absolute; z-index: 1; left: calc(var(--u) * 1046); right: 0; top: calc(var(--u) * 120); height: calc(var(--u) * 654); background: var(--white); border-radius: calc(var(--u) * 110) 0 0 calc(var(--u) * 110); padding: calc(var(--u) * 160) 0 0 calc(var(--u) * 108); display: flex; flex-direction: column; gap: calc(var(--u) * 20); }
.checklist__form input { width: calc(var(--u) * 640); max-width: 100%; height: calc(var(--u) * 80); padding: 0 calc(var(--u) * 36); border: 1px solid #cfcfcf; border-radius: calc(var(--u) * 14); font-size: calc(var(--u) * 22); color: #333; }
.checklist__form input::placeholder { color: #333; opacity: 1; }
.checklist__form .btn { width: calc(var(--u) * 640); max-width: 100%; height: calc(var(--u) * 110); margin-top: calc(var(--u) * 20); font-size: calc(var(--u) * 32); font-weight: 700; color: #1d3a00; }
@media (max-width: 1024px) {
  .checklist { min-height: 0; padding: 56px var(--gutter); display: grid; gap: 32px; }
  .checklist__art, .checklist__text, .checklist__form { position: static; width: auto; }
  .checklist__art { width: 60%; margin: 0 auto; order: 2; }
  .checklist__text h2 { font-size: 32px; }
  .checklist .rule { width: 80px; border-top-width: 3px; margin: 20px 0; }
  .checklist p { font-size: 18px; }
  .checklist__form { height: auto; padding: 32px; border-radius: 28px; order: 3; }
  .checklist__form input { width: 100%; height: 52px; font-size: 16px; padding: 0 16px; }
  .checklist__form .btn { width: 100%; height: 60px; font-size: 18px; }
}
/* Tablet: texto + arte à esquerda, formulário à direita */
@media (min-width: 641px) and (max-width: 1024px) {
  .checklist { grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; column-gap: 40px; row-gap: 24px; align-items: start; }
  .checklist__text { grid-column: 1; grid-row: 1; }
  .checklist__art { grid-column: 1; grid-row: 2; width: 100%; max-width: 280px; margin: 0 auto; }
  .checklist__form { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}
/* Mobile: empilhado, arte reduzida */
@media (max-width: 640px) {
  .checklist { gap: 24px; }
  .checklist__art { width: 100%; max-width: 220px; }
}

/* Seção 1 (hero) — medidas do Figma (1920px) via --u */
@media (min-width: 1025px) {
  .hero { height: calc(var(--u) * 968); }
  .hero > .container { width: auto; margin: 0; }
  .hero__inner { display: block; min-height: 0; padding: 0; height: 100%; }
  .hero__content { position: absolute; left: calc(var(--u) * 140); top: calc(var(--u) * 110); max-width: none; display: block; }
  .hero .logo img { width: calc(var(--u) * 380); height: auto; }
  .hero h1 { width: calc(var(--u) * 660); margin-top: calc(var(--u) * 55); font-size: calc(var(--u) * 60); line-height: calc(var(--u) * 73); }
  .hero h1 strong { font-weight: 700; }
  .hero p { width: calc(var(--u) * 640); max-width: none; margin-top: calc(var(--u) * 30); font-size: calc(var(--u) * 40); line-height: calc(var(--u) * 44); font-weight: 500; }
  .hero .btn { margin-top: calc(var(--u) * 64); width: calc(var(--u) * 778); height: calc(var(--u) * 108); gap: calc(var(--u) * 22); font-size: calc(var(--u) * 30); }
  .hero .btn__icon { width: calc(var(--u) * 52); height: calc(var(--u) * 52); }
  .hero__media { position: absolute; left: calc(var(--u) * 924); top: calc(var(--u) * 24); right: auto; bottom: auto; width: calc(var(--u) * 831); height: calc(var(--u) * 945); }
  .hero__media img { width: 100%; height: 100%; object-fit: contain; }
}

/* Seção 4 — medidas do Figma (1920px) via --u */
.solutions { padding: calc(var(--u) * 132) 0 calc(var(--u) * 152); }
.solutions h2 { font-size: calc(var(--u) * 60); line-height: calc(var(--u) * 72); color: #3f3f3f; }
.solutions h2 em { color: #5a9c14; }
.solutions .lead { margin-top: calc(var(--u) * 30); max-width: calc(var(--u) * 1000); font-size: calc(var(--u) * 34); line-height: calc(var(--u) * 44); color: #444; }
.solutions__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--u) * 32); margin-top: calc(var(--u) * 64); }
.solution { position: relative; height: calc(var(--u) * 650); padding: calc(var(--u) * 50); border-radius: calc(var(--u) * 44); }
.solution--slate { background: #5f5d5d; color: #fff; }
.solution--lime { background: var(--lime); color: #1f3d0a; }
.solution__icon { display: grid; place-items: center; width: calc(var(--u) * 164); height: calc(var(--u) * 164); border-radius: calc(var(--u) * 28); background: #3e3c3c; }
.solution--lime .solution__icon { background: #4f9a1a; }
.solution__icon img { width: auto; height: auto; max-width: none; transform: scale(var(--u)); transform-origin: center; }
.solution h3 { max-width: calc(var(--u) * 390); margin: calc(var(--u) * 46) 0 calc(var(--u) * 24); font-size: calc(var(--u) * 36); line-height: calc(var(--u) * 43); font-weight: 400; }
.solution h3 strong { font-weight: 800; }
.solution p { max-width: calc(var(--u) * 380); font-size: calc(var(--u) * 26); line-height: calc(var(--u) * 34); opacity: .92; }
.solution__arrow { position: absolute; right: calc(var(--u) * 45); top: calc(var(--u) * 566); width: calc(var(--u) * 81); height: auto; }
@media (max-width: 1024px) {
  .solutions__grid { grid-template-columns: 1fr; }
  .solution { height: auto; min-height: 0; padding: 28px; border-radius: 24px; }
  .solution__icon { width: 96px; height: 96px; border-radius: 16px; }
  .solution__icon img { transform: scale(.55); }
  .solution h3 { max-width: none; margin: 24px 0 12px; font-size: 22px; line-height: 1.25; }
  .solution p { max-width: none; font-size: 16px; line-height: 1.4; }
  .solution__arrow { display: none; }
}

/* Seção 5 — medidas do Figma (1920px) via --u */
.ai { position: relative; overflow: hidden; padding: calc(var(--u) * 162) 0; background: linear-gradient(180deg, #484848 0%, #4f6b33 28%, #6fb52a 68%, #84dc1f 100%); }
.ai > .container { position: relative; z-index: 1; }
.ai__star { position: absolute; z-index: 0; left: calc(var(--u) * 1519); top: 0; width: calc(var(--u) * 594); height: auto; max-width: none; mix-blend-mode: overlay; pointer-events: none; }
.ai h2 { font-size: calc(var(--u) * 60); line-height: calc(var(--u) * 72); color: #fff; }
.ai h2 em { color: #8ae22a; }
.ai .lead { margin-top: calc(var(--u) * 28); max-width: none; font-size: calc(var(--u) * 34); line-height: calc(var(--u) * 44); color: #fff; }
.ai__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--u) * 40); margin-top: calc(var(--u) * 84); }
.ai-card { height: calc(var(--u) * 474); padding: calc(var(--u) * 54) calc(var(--u) * 52); border-radius: calc(var(--u) * 40); background: #f1f1f1; }
.ai-card img { width: calc(var(--u) * 58); height: auto; }
.ai-card h3 { margin: calc(var(--u) * 28) 0 calc(var(--u) * 22); font-size: calc(var(--u) * 38); line-height: calc(var(--u) * 45); font-weight: 800; color: #56990f; }
.ai-card p { font-size: calc(var(--u) * 27); line-height: calc(var(--u) * 34); color: #444; }
@media (max-width: 1024px) {
  .ai { padding: 64px 0; }
  .ai__star { width: 300px; left: auto; right: -80px; }
  .ai h2 { font-size: 32px; line-height: 1.15; }
  .ai .lead { font-size: 18px; line-height: 1.4; }
  .ai .lead br, .ai-card br { display: none; }
  .ai__grid { grid-template-columns: 1fr; margin-top: 40px; gap: 20px; }
  .ai-card { height: auto; padding: 28px; border-radius: 24px; }
  .ai-card img { width: 52px; }
  .ai-card h3 { font-size: 24px; line-height: 1.2; margin: 20px 0 12px; }
  .ai-card p { font-size: 16px; line-height: 1.4; }
}

/* Seção 6 — medidas do Figma (1920px) via --u */
.approach { padding: calc(var(--u) * 144) 0 calc(var(--u) * 147); background: #444; }
.approach h2 { font-size: calc(var(--u) * 60); line-height: calc(var(--u) * 72); color: #fff; }
.approach .lead { margin-top: calc(var(--u) * 24); max-width: none; font-size: calc(var(--u) * 34); line-height: calc(var(--u) * 44); color: #fff; }
.approach__steps { position: relative; height: calc(var(--u) * 448); margin-top: calc(var(--u) * 26); }
.step { position: absolute; top: calc(var(--u) * 72); color: #fff; }
.step--1 { left: 0; width: calc(var(--u) * 340); }
.step--2 { left: calc(var(--u) * 434); width: calc(var(--u) * 380); }
.step--3 { left: calc(var(--u) * 886); width: calc(var(--u) * 340); }
.step h3 { font-size: calc(var(--u) * 36); line-height: calc(var(--u) * 44); font-weight: 800; color: #82dd22; }
.step p { margin-top: calc(var(--u) * 35); font-size: calc(var(--u) * 30); line-height: calc(var(--u) * 38); }
.step__line { position: absolute; top: calc(var(--u) * 72); height: calc(var(--u) * 296); width: 1px; background: rgb(255 255 255 / .75); }
.step__line--1 { left: calc(var(--u) * 366); }
.step__line--2 { left: calc(var(--u) * 816); }
.step-card { position: absolute; left: calc(var(--u) * 1244); top: 0; width: calc(var(--u) * 426); height: calc(var(--u) * 448); padding: calc(var(--u) * 62) calc(var(--u) * 70); border-radius: calc(var(--u) * 44); background: var(--lime); color: #1d3a00; }
.step-card h3 { font-size: calc(var(--u) * 36); line-height: calc(var(--u) * 44); font-weight: 800; }
.step-card p { margin-top: calc(var(--u) * 38); font-size: calc(var(--u) * 30); line-height: calc(var(--u) * 38); }
.step-card__arrow { position: absolute; left: calc(var(--u) * -8); top: calc(var(--u) * 406); width: calc(var(--u) * 66); height: auto; }
@media (max-width: 1024px) {
  .approach { padding: 64px 0; }
  .approach h2 { font-size: 32px; line-height: 1.15; }
  .approach .lead { font-size: 18px; line-height: 1.4; }
  .approach .lead br, .step br, .step-card br { display: none; }
  .approach__steps { height: auto; margin-top: 40px; display: grid; gap: 28px; }
  .step, .step-card { position: static; width: auto; height: auto; }
  .step__line { display: none; }
  .step h3, .step-card h3 { font-size: 24px; }
  .step p, .step-card p { margin-top: 10px; font-size: 16px; line-height: 1.4; }
  .step-card { padding: 28px; border-radius: 24px; }
  .step-card__arrow { display: none; }
}

/* Seção 7 — medidas do Figma (1920px) via --u */
.contact { position: relative; min-height: calc(var(--u) * 1092); background: var(--gray); }
.contact__text { position: absolute; left: calc(var(--u) * 168); top: calc(var(--u) * 148); }
.contact h2 { width: calc(var(--u) * 560); font-size: calc(var(--u) * 60); line-height: calc(var(--u) * 72); color: #444; }
.contact__text p { margin-top: calc(var(--u) * 60); font-size: calc(var(--u) * 34); line-height: calc(var(--u) * 44); color: #444; }
.contact .btn--white { margin-top: calc(var(--u) * 104); width: calc(var(--u) * 772); height: calc(var(--u) * 110); gap: calc(var(--u) * 28); font-size: calc(var(--u) * 32); color: #333; }
.contact .btn__icon { width: calc(var(--u) * 68); height: calc(var(--u) * 68); }
.contact__form { position: absolute; left: calc(var(--u) * 1114); top: calc(var(--u) * 148); width: calc(var(--u) * 640); display: grid; gap: calc(var(--u) * 44); }
.contact__form input { height: calc(var(--u) * 80); padding: 0 calc(var(--u) * 34); border: 1px solid #cfcfcf; border-radius: calc(var(--u) * 14); font-size: calc(var(--u) * 24); color: #333; background: #fff; }
.contact__form input::placeholder { color: #333; opacity: 1; }
.contact__form .btn { height: calc(var(--u) * 110); margin-top: calc(var(--u) * 17); font-size: calc(var(--u) * 32); color: #1d3a00; }
.contact__logo { position: absolute; left: calc(var(--u) * 168); top: calc(var(--u) * 920); }
.contact__logo img { width: calc(var(--u) * 418); height: auto; }
@media (max-width: 1024px) {
  .contact { min-height: 0; padding: 64px var(--gutter); display: grid; gap: 32px; }
  .contact__text, .contact__form, .contact__logo { position: static; width: auto; }
  .contact h2 { width: auto; font-size: 32px; line-height: 1.15; }
  .contact__text p { margin-top: 16px; font-size: 18px; line-height: 1.4; }
  .contact__text p br { display: none; }
  .contact .btn--white { margin-top: 24px; width: 100%; height: 60px; font-size: 16px; }
  .contact .btn__icon { width: 28px; height: 28px; }
  .contact__form { gap: 16px; }
  .contact__form input { height: 52px; font-size: 16px; padding: 0 16px; }
  .contact__form .btn { height: 60px; font-size: 18px; }
  .contact__logo img { width: 220px; }
}

/* ===== Animações (só opacity/transform; não alteram o layout) ===== */
@keyframes fade-up { from { opacity: 0; translate: 0 28px; } to { opacity: 1; translate: 0 0; } }
@keyframes fade-in { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }

@media (prefers-reduced-motion: no-preference) {
  /* Hero: entrada escalonada ao carregar */
  .hero__content > * { animation: fade-up .8s cubic-bezier(.2,.7,.2,1) both; }
  .hero__content > :nth-child(1) { animation-delay: .05s; }
  .hero__content > :nth-child(2) { animation-delay: .2s; }
  .hero__content > :nth-child(3) { animation-delay: .35s; }
  .hero__content > :nth-child(4) { animation-delay: .5s; }
  .hero__media img { animation: fade-in 1.1s ease-out .3s both; }

  /* Entrada ao rolar (classe .js e .is-visible vêm do js/main.js) */
  .js [data-reveal] {
    opacity: 0; translate: 0 24px;
    transition: opacity .7s ease, translate .8s cubic-bezier(.2,.7,.2,1), transform .25s ease, box-shadow .25s ease;
    transition-delay: var(--d, 0ms), var(--d, 0ms), 0s, 0s;
  }
  .js [data-reveal].is-visible { opacity: 1; translate: 0 0; }

  /* Botões */
  .btn { transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
  .btn:active { transform: translateY(0) scale(.98); box-shadow: none; }

  /* Cards: elevação no hover */
  .solution, .ai-card, .compare .card, .step-card { transition: transform .25s ease, box-shadow .25s ease; }
  .solution:hover, .ai-card:hover, .compare .card:hover, .step-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgb(0 0 0 / .18); }
  .solution__arrow { transition: transform .3s ease; }
  .solution--lime:hover .solution__arrow { transform: translateY(-10px); }

  /* Formulários */
  input { transition: border-color .2s ease, box-shadow .2s ease; }
}

input:focus { outline: none; border-color: var(--lime); box-shadow: 0 0 0 3px rgb(132 220 31 / .35); }

/* ===== Validação de formulários ===== */
.field { position: relative; }
.field input { width: 100%; }
.checklist__form .field { width: calc(var(--u) * 640); max-width: 100%; }
.field__error { position: absolute; right: calc(var(--u) * 24); top: 50%; transform: translateY(-50%); font-size: clamp(12px, calc(var(--u) * 20), 20px); font-weight: 600; color: #d93025; opacity: 0; pointer-events: none; transition: opacity .2s ease; max-width: 55%; text-align: right; line-height: 1.1; }
.field--invalid .field__error { opacity: 1; }
.field--invalid input, .field--invalid input:focus { border-color: #d93025; box-shadow: 0 0 0 3px rgb(217 48 37 / .15); }
.btn:disabled { cursor: default; opacity: .85; transform: none; box-shadow: none; }

/* Checklist com 5 campos (Nome, E-mail, Telefone, Cargo, Empresa) */
@media (min-width: 1025px) {
  .checklist__form { justify-content: center; padding: 0 0 0 calc(var(--u) * 108); gap: calc(var(--u) * 14); }
  .checklist__form input { height: calc(var(--u) * 72); }
  .checklist__form .btn { height: calc(var(--u) * 100); margin-top: calc(var(--u) * 14); }
}
@media (min-width: 1025px) { .checklist p { max-width: calc(var(--u) * 520); } }

@media (max-width: 1024px) {
  .checklist > * { min-width: 0; }
  .checklist__form { gap: 16px; align-items: stretch; }
  .checklist__form .field { width: 100%; }
  .checklist__form .btn { margin-top: 8px; }
}
@media (max-width: 640px) {
  .checklist__form { padding: 24px 20px; }
  .field__error { font-size: 12px; right: 12px; }
}
