/* Página de captação da SORA. Cores e logo vêm da marca; o layout foi criado para esta peça. */
:root {
  color-scheme: light;
  --bg: #f6f8fb; --surface: #ffffff; --surface-2: #edf4f6;
  --ink: #0d1b2a; --muted: #566673; --line: #dbe6ec;
  --primary: #0b6f74; --primary-dark: #063e44; --accent: #2f6fed; --on-primary: #ffffff;
  --accent-text: #2660d6; --danger-text: #a84646; --danger: #b95050;
  --btn-secondary-bg: #ffffff; --btn-secondary-ink: #063e44; --btn-secondary-line: #dbe6ec;
  --preto: #02090c; --preto-2: #05171d;
  --noite: #071c23; --noite-line: #ffffff21; --noite-muted: #ffffffc2;
  --ceu: #9bd7ff; --aqua: #7bded0; --menta: #58c7a6; --branco: #ffffff;
  --font-display: "Barlow Condensed", "Arial Narrow", "Segoe UI", Roboto, sans-serif;
  --font-sans: "Barlow", "Segoe UI", Roboto, Arial, sans-serif;
  --radius-card: 8px; --radius-frame: 10px; --radius-pill: 999px;
  --shadow-float: 0 24px 70px #0a232d29; --shadow-cta: 0 16px 44px #2f6fed59;
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #2f6fed;
  --curva: cubic-bezier(.22, 1, .36, 1);
  --cor-destaque: linear-gradient(180deg, #b4f5ea 8%, #7bded0 45%, #2fb4ae 92%);
  --destaque-liso: #7bded0;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 12px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 17px; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere; }
.pagina-escura { background: var(--preto); }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--accent-text); }
h1, h2, h3, p, figure { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
[hidden] { display: none !important; }
:focus-visible { outline: none; border-radius: 4px; box-shadow: var(--focus-ring); }

/* Títulos: estreitos, em caixa alta e com duas cores */
.titulo { font: 700 clamp(40px, 10.6vw, 66px)/1.03 var(--font-display); letter-spacing: .002em; text-transform: uppercase; text-wrap: balance; overflow-wrap: normal; }
.destaque, .palavra__miolo--destaque { color: var(--destaque-liso); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .destaque, .palavra__miolo--destaque { background: var(--cor-destaque); -webkit-background-clip: text; background-clip: text; color: transparent; }
}

/* Botões */
.sr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 13px 22px; border: 1px solid transparent; border-radius: var(--radius-pill); font: 700 16px/20px var(--font-sans); text-decoration: none; cursor: pointer; transition: transform .18s var(--curva), box-shadow .18s var(--curva); }
.sr-btn:hover { transform: translateY(-2px); }
.sr-btn:active { transform: translateY(0); }
.sr-btn:focus-visible { border-radius: var(--radius-pill); box-shadow: var(--focus-ring); }
.sr-btn:disabled { cursor: progress; opacity: .7; transform: none; }
.sr-btn--primary { min-height: 58px; padding: 16px 38px; background: linear-gradient(120deg, var(--primary), var(--accent) 88%); color: var(--on-primary); font: 700 21px/24px var(--font-display); letter-spacing: .025em; text-transform: uppercase; box-shadow: var(--shadow-cta); }
.sr-btn--primary:focus-visible { box-shadow: var(--focus-ring), var(--shadow-cta); }
.sr-btn--secondary { background: var(--btn-secondary-bg); color: var(--btn-secondary-ink); border-color: var(--btn-secondary-line); }
.sr-eyebrow { margin: 0 0 12px; font: 700 15px/20px var(--font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--ceu); }

/* Céu: fundo preto com estrelas, usado nos blocos escuros */
.ceu { position: relative; isolation: isolate; background: var(--preto); color: var(--branco); }
.ceu::before, .ceu::after { content: ""; position: absolute; inset: 0; z-index: -2; background: url("marca/estrelas.svg") 0 0 / 900px 900px; pointer-events: none; }
.ceu::after { background-position: 430px 270px; background-size: 620px 620px; opacity: .55; }

/* 1. O problema */
.abertura { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(62% 52% at 12% 16%, #0b6f7487, transparent 72%), radial-gradient(52% 46% at 92% 26%, #2f6fed52, transparent 72%), linear-gradient(var(--preto-2), var(--preto) 78%); color: var(--branco); }
.abertura::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(92% 46% at 50% 22%, #02090cf2 0, #02090cb0 58%, transparent 100%), linear-gradient(transparent 40%, var(--preto) 90%); pointer-events: none; }
.muro { position: absolute; inset: 0 0 auto; z-index: -2; display: flex; justify-content: center; gap: 12px; height: 100%; overflow: hidden; opacity: .5; -webkit-mask-image: linear-gradient(#000 42%, transparent 88%); mask-image: linear-gradient(#000 42%, transparent 88%); }
.muro__coluna { flex: none; display: grid; align-content: start; gap: 12px; width: clamp(170px, 19vw, 250px); }
.muro__coluna:nth-child(even) { margin-top: -74px; }
.muro__cartao { padding: 10px 12px 8px; border: 1px solid #ffffff14; border-radius: 12px; background: #0e2b32; font: 500 14px/19px var(--font-sans); color: #ffffffb8; }
.muro__cartao p { margin-bottom: 4px; }
.muro__cartao span { display: block; font: 500 11px/14px var(--font-sans); color: #ffffff80; text-align: right; }

.abertura__miolo { position: relative; display: grid; width: min(100%, 1260px); margin-inline: auto; padding: 26px 16px 0; }
.abertura__texto { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; }
.abertura__logo { width: 150px; margin-bottom: 26px; }
.abertura__titulo { font-size: clamp(30px, 10vw, 56px); line-height: 1; }
/* A parte colorida do título é bem maior que a primeira linha. */
.abertura__titulo .destaque { display: block; font-size: 1.5em; line-height: .98; }
.abertura__titulo .palavra--destaque { font-size: 1.5em; line-height: .98; }
.abertura__lead { max-width: 33ch; margin-top: 16px; font: 400 19px/27px var(--font-sans); color: #ffffffcf; }
.abertura__lead strong { font-weight: 700; color: var(--branco); }
.abertura__acao { display: grid; justify-items: center; width: 100%; margin-top: 24px; }
.abertura__botao { width: 100%; max-width: 420px; }
.abertura__acao .campo__ajuda { color: #ffffffcf; }
.abertura__acao .campo__ajuda a { color: var(--aqua); }

/* O lugar da pessoa na referência fica com o celular lotado, que some no preto lá embaixo. */
.abertura__cena { position: relative; height: clamp(430px, 118vw, 520px); margin-top: 12px; padding-top: 34px; overflow: hidden; }
.abertura__cena::before { content: ""; position: absolute; inset: 0 -14% -10%; background: radial-gradient(44% 50% at 50% 44%, #2f6fed85, #0b6f7447 60%, transparent 100%); pointer-events: none; }
.abertura__cena::after { content: ""; position: absolute; inset: auto 0 0; z-index: 2; height: 38%; background: linear-gradient(transparent, #02090ccc 58%, var(--preto)); pointer-events: none; }
.aparelho { position: relative; width: min(74%, 290px); height: 620px; margin-inline: auto; padding: 9px; border-radius: 44px; background: linear-gradient(145deg, #2d4954, #0b1c25 38%); box-shadow: 0 40px 90px #000000b3, inset 0 0 0 2px #3f616e; }
.aparelho__tela { display: flex; flex-direction: column; height: 100%; border-radius: 36px; background: var(--noite-painel, #10272e); }
.aparelho__topo { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: center; gap: 2px 8px; padding: 18px 14px 11px; border-bottom: 1px solid var(--noite-line); border-radius: 36px 36px 0 0; color: var(--branco); }
.aparelho__topo > strong { font: 700 15px/19px var(--font-sans); }
.recados { display: grid; align-content: start; gap: 8px; padding: 14px 10px; }
.recado { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; justify-self: start; max-width: 100%; padding: 9px 13px; border-radius: 14px 14px 14px 3px; background: var(--surface); box-shadow: 0 16px 34px #00000080; animation: chegar .46s var(--curva) both; }
.recado:nth-child(even) { translate: -24px 0; }
.recado:nth-child(2) { animation-delay: .22s; }
.recado:nth-child(3) { animation-delay: .44s; }
.recado:nth-child(4) { animation-delay: .66s; }
.recado p { grid-column: 1 / -1; font: 500 15px/20px var(--font-sans); color: var(--ink); }
.recado__hora { font: 500 12px/16px var(--font-sans); font-variant-numeric: tabular-nums; color: var(--muted); }
.recado__estado { font: 700 12px/16px var(--font-sans); color: var(--danger-text); text-align: right; }
@keyframes chegar { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.dores { position: relative; display: grid; gap: 18px; width: min(100%, 1080px); margin-inline: auto; padding: 36px 24px 56px; text-align: center; font: 500 21px/28px var(--font-sans); color: #ffffffd6; }
.dores strong { font-weight: 700; color: var(--aqua); }

/* Formulário em pop-up */
.popup { width: min(calc(100% - 24px), 460px); max-width: none; max-height: calc(100dvh - 24px); margin: 12px auto auto; padding: 0; overflow: auto; border: 0; border-radius: 22px; background: transparent; color: var(--ink); }
.popup::backdrop { background: #010608d1; -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
html.popup-aberto { overflow: hidden; }
.popup__fechar { position: absolute; top: 8px; right: 8px; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; transition: background-color .18s var(--curva), color .18s var(--curva), rotate .3s var(--curva); }
.popup__fechar:hover { background: var(--surface-2); color: var(--primary-dark); rotate: 90deg; }
.popup__fechar:focus-visible { border-radius: 50%; }
.popup__fechar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.painel { padding: 30px 20px 20px; border-radius: 22px; background: var(--surface); box-shadow: 0 30px 90px #010608a6; }
.painel__titulo { margin-bottom: 18px; padding-right: 32px; font: 700 32px/34px var(--font-display); text-transform: uppercase; color: var(--primary-dark); text-wrap: balance; overflow-wrap: normal; }
.painel__campos { display: grid; gap: 14px; }
.painel__enviar { width: 100%; margin-top: 14px; padding-inline: 16px; }
.garantia { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; margin-top: 16px; padding: 12px; border-radius: var(--radius-frame); background: var(--surface-2); font: 500 15px/21px var(--font-sans); color: var(--primary-dark); }
.garantia svg { width: 26px; height: 26px; fill: none; stroke: var(--primary); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.garantia strong { font-weight: 700; }
.campo { display: grid; gap: 6px; align-content: start; }
.campo label { font: 600 15px/20px var(--font-sans); color: var(--ink); }
.campo input { width: 100%; min-height: 50px; padding: 11px 12px; border: 1px solid #7b8c98; border-radius: var(--radius-card); background: var(--surface); color: var(--ink); font: 400 16px/24px var(--font-sans); }
.campo input:focus-visible { border-radius: var(--radius-card); border-color: var(--accent); }
.campo input[aria-invalid="true"] { border-color: var(--danger); }
.campo__ajuda { margin-top: 12px; font: 500 14px/19px var(--font-sans); color: var(--muted); }
.erro { font: 600 14px/20px var(--font-sans); color: var(--danger-text); }
.falha { display: grid; gap: 10px; margin-top: 14px; padding: 12px; border: 1px solid var(--danger); border-radius: var(--radius-card); font: 600 14px/20px var(--font-sans); color: var(--danger-text); }
.falha:focus-visible { border-radius: var(--radius-card); }
.confirmacao, .sem-script { display: grid; gap: 8px; }
.confirmacao h2 { font: 700 34px/38px var(--font-display); text-transform: uppercase; color: var(--primary-dark); }
.confirmacao:focus-visible { box-shadow: none; }
.sem-script .painel__titulo { margin-bottom: 6px; }
.isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* 2. A solução: a demonstração sai do bloco escuro e invade o branco */
.solucao { z-index: 2; padding: 20px 16px 0; }
.solucao::before { -webkit-mask-image: linear-gradient(transparent, #000 160px); mask-image: linear-gradient(transparent, #000 160px); }
.solucao::after { -webkit-mask-image: linear-gradient(transparent, #000 160px); mask-image: linear-gradient(transparent, #000 160px); }
.solucao__miolo { position: relative; width: min(100%, 1180px); margin-inline: auto; }
.solucao__miolo::before { content: ""; position: absolute; inset: 180px -16% 0; z-index: -1; background: radial-gradient(46% 50% at 28% 46%, #0b6f7480, transparent 100%), radial-gradient(52% 52% at 74% 52%, #2f6fed57, transparent 100%); pointer-events: none; }
.solucao__titulo { max-width: 19ch; margin-inline: auto; text-align: center; }
.demo__sem-script { margin-top: 28px; border-radius: var(--radius-frame); }

.modulos { position: relative; z-index: 1; padding: 168px 16px 0; background: linear-gradient(var(--surface) 55%, #eef6f7); color: var(--ink); --cor-destaque: linear-gradient(180deg, #2f6fed 15%, #0b6f74 95%); --destaque-liso: #2660d6; }
.modulos__miolo { width: min(100%, 1040px); margin-inline: auto; }
.modulos__titulo { max-width: 20ch; margin-inline: auto; text-align: center; color: var(--primary-dark); }
.recursos { position: relative; display: grid; gap: 30px; margin-top: 44px; padding: 0 0 72px 42px; }
.recursos::before, .recursos::after { content: ""; position: absolute; top: 6px; bottom: 0; left: 13px; width: 2px; border-radius: 2px; background: var(--line); }
.recursos::after { background: linear-gradient(var(--primary), var(--accent)); transform-origin: top; }
.recurso { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; }
.recurso::before { content: ""; position: absolute; top: 8px; left: -35px; z-index: 1; width: 14px; height: 14px; border: 2px solid var(--primary); border-radius: 50%; background: var(--surface); transition: background-color .45s var(--curva) .25s, box-shadow .45s var(--curva) .25s; }
.recurso img { width: 34px; height: 34px; }
.recurso h3 { font: 700 26px/30px var(--font-display); text-transform: uppercase; letter-spacing: .005em; color: var(--primary-dark); overflow-wrap: normal; }
.recurso p { margin-top: 3px; font: 400 17px/25px var(--font-sans); color: var(--muted); }

/* A aba liga o bloco branco ao escuro; a linha central termina nela */
.personalizada { position: relative; z-index: 2; padding: 34px 20px 44px; background: var(--preto); color: var(--branco); text-align: center; }
.personalizada__aba { position: absolute; top: -40px; left: 50%; display: grid; justify-items: center; width: min(86%, 440px); height: 41px; border-radius: 22px 22px 0 0; background: var(--preto); transform: translateX(-50%); }
.personalizada__aba img { box-sizing: content-box; width: 52px; height: 52px; margin-top: -33px; padding: 5px; border-radius: 20px; background: var(--surface); box-shadow: 0 14px 34px #0a232d4d; }
.personalizada__miolo { width: min(100%, 760px); margin-inline: auto; }
.personalizada__titulo { max-width: 18ch; margin-inline: auto; }
.personalizada p { margin-top: 14px; font: 400 19px/28px var(--font-sans); color: #ffffffcf; }

/* 3. A prova: Dra. Sylvia recortada sobre o céu, e o texto ao lado */
.prova { padding: 8px 16px 0; overflow: clip; background: radial-gradient(520px circle at var(--luz-x, 24%) var(--luz-y, 60%), #7bded026, transparent 72%), var(--preto); }
.prova::before { -webkit-mask-image: linear-gradient(transparent, #000 200px); mask-image: linear-gradient(transparent, #000 200px); }
.prova::after { -webkit-mask-image: linear-gradient(transparent, #000 200px); mask-image: linear-gradient(transparent, #000 200px); }
.prova__miolo { position: relative; display: grid; width: min(100%, 1180px); margin-inline: auto; }
.prova__miolo::before { content: ""; position: absolute; top: 0; left: 50%; z-index: -1; width: min(150%, 720px); aspect-ratio: 1; background: radial-gradient(50% 50% at 50% 50%, #0b6f74c2, #2f6fed47 52%, transparent 100%); transform: translateX(-50%); pointer-events: none; }
.prova__retrato { width: min(86%, 400px); margin-inline: auto; }
.prova__retrato img { width: 100%; -webkit-mask-image: linear-gradient(#000 74%, transparent 99%); mask-image: linear-gradient(#000 74%, transparent 99%); }
.prova__texto { position: relative; margin-top: -48px; padding-bottom: 64px; }
.prova__titulo { font-size: clamp(38px, 10.2vw, 58px); }
.prova__lead { margin-top: 12px; font: 500 19px/27px var(--font-sans); color: #ffffffcf; }
.prova__depoimento { margin-top: 24px; }
.prova__depoimento blockquote { margin: 0; }
.prova__depoimento p { font: 400 20px/30px var(--font-sans); color: #ffffffeb; }
.prova__depoimento strong { display: block; margin-bottom: 8px; font: 700 32px/35px var(--font-display); text-transform: uppercase; color: var(--aqua); text-wrap: balance; overflow-wrap: normal; }
.prova__depoimento p span { display: block; }
.prova__depoimento figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 18px; font: 600 15px/20px var(--font-sans); color: var(--noite-muted); }
.prova__marca { display: inline-block; padding: 6px 10px; border-radius: var(--radius-card); background: var(--branco); }
.prova__marca img { width: 126px; }

/* Números em cartão preto, dentro do bloco branco */
.numeros { position: relative; padding: 56px 16px 64px; background: linear-gradient(var(--surface), #eaf3f5); text-align: center; color: var(--ink); }
.numeros__miolo { display: grid; justify-items: center; width: min(100%, 980px); margin-inline: auto; }
.sr-metrics { display: grid; width: 100%; padding: 8px 24px; border-radius: 26px; background: var(--preto); box-shadow: 0 34px 74px #0a232d4d; }
.sr-metric { min-width: 0; padding: 20px 0; }
.sr-metric + .sr-metric { border-top: 1px solid var(--noite-line); }
.sr-metric__number { margin: 0 0 4px; font: 700 66px/1 var(--font-display); letter-spacing: .002em; color: var(--branco); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sr-metric__title { font: 500 16px/22px var(--font-sans); color: var(--noite-muted); text-wrap: balance; }
.legenda { margin-top: 16px; font: 500 14px/20px var(--font-sans); color: var(--muted); }
.numeros__chamada { width: 100%; max-width: 420px; margin-top: 26px; }

/* 4. Quem faz: as duas fotos normais, lado a lado, cada uma com a própria descrição embaixo */
.quem { padding: 64px 16px; }
.quem__miolo { width: min(100%, 900px); margin-inline: auto; }
.quem__texto { text-align: center; }
.quem__titulo { max-width: 16ch; margin-inline: auto; }
.quem__traco { display: block; width: 62px; height: 4px; margin: 16px auto 0; border-radius: 4px; background: linear-gradient(90deg, var(--aqua), var(--accent)); transform-origin: left; }
.quem__frase { max-width: 46ch; margin: 16px auto 0; font: 400 19px/28px var(--font-sans); color: #ffffffd6; }
.quem__chamada { width: 100%; max-width: 420px; }
.quem__fim { margin-top: 28px; text-align: center; }
.quem__pessoas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 28px; }
/* Cartão opaco: as estrelas atrás do texto pequeno parecem pontuação. As quatro linhas alinham entre os dois. */
.quem__pessoas > li { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; min-width: 0; padding: 8px 8px 16px; border: 1px solid var(--noite-line); border-radius: var(--radius-frame); background: var(--noite); }
.quem__foto { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.quem__vazia { display: grid; place-items: center; aspect-ratio: 4 / 5; padding: 6px; border: 2px dashed var(--danger); border-radius: var(--radius-frame); font: 600 11px/14px var(--font-sans); color: #ffb4a6; text-align: center; }
.quem__nome { margin: 12px 4px 0; font: 700 20px/24px var(--font-display); text-transform: uppercase; letter-spacing: .01em; color: var(--branco); overflow-wrap: normal; }
.quem__funcao { margin: 3px 4px 0; font: 700 15px/20px var(--font-sans); color: var(--aqua); }
.quem__descricao { margin: 10px 4px 0; font: 400 15px/22px var(--font-sans); color: #ffffffe0; }

/* 5. A empresa */
.rodape { position: relative; padding: 56px 20px 112px; background: var(--surface); color: var(--muted); }
.rodape__miolo { position: relative; display: grid; gap: 30px; width: min(100%, 1040px); margin-inline: auto; }
.rodape__marca img { width: 170px; }
.rodape__marca p { max-width: 42ch; margin-top: 16px; font: 400 17px/26px var(--font-sans); }
.rodape__coluna { display: grid; gap: 6px; justify-items: start; align-content: start; }
.rodape__coluna h2 { margin-bottom: 4px; font: 700 22px/26px var(--font-display); text-transform: uppercase; letter-spacing: .01em; color: var(--ink); }
.rodape__coluna p, .rodape__coluna a { font: 500 16px/24px var(--font-sans); color: var(--muted); }
.rodape__coluna a { color: var(--primary-dark); }

.botao-fixo { position: fixed; left: 16px; right: 16px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 10; padding-inline: 12px; text-align: center; }

.aviso-cookies { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 20; display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--surface); box-shadow: var(--shadow-float); font: 500 15px/20px var(--font-sans); color: var(--ink); }
.aviso-cookies__acoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.aviso-cookies .sr-btn { min-height: 44px; padding: 10px 14px; font-size: 15px; }

.legal { width: min(100%, 760px); margin-inline: auto; padding: 24px 16px 56px; }
.legal__logo { width: 164px; margin-bottom: 28px; }
.legal h1 { margin-bottom: 12px; font: 700 40px/42px var(--font-display); text-transform: uppercase; color: var(--primary-dark); text-wrap: balance; }
.legal h2 { margin: 28px 0 6px; font: 700 25px/28px var(--font-display); text-transform: uppercase; color: var(--primary-dark); }
.legal p { margin-bottom: 10px; font: 400 17px/26px var(--font-sans); color: var(--muted); }

@media (min-width: 768px) {
  .popup { margin: auto; }
  .painel { padding: 38px 34px 30px; }
  .painel__titulo { font-size: 36px; line-height: 38px; }
  .abertura__botao, .numeros__chamada, .quem__chamada { width: auto; max-width: none; }
  .quem__pessoas { gap: 20px; margin-top: 36px; }
  .quem__pessoas > li { padding: 12px 12px 24px; }
  .quem__nome { margin: 18px 8px 0; font-size: 30px; line-height: 34px; }
  .quem__funcao { margin: 4px 8px 0; font-size: 19px; line-height: 25px; }
  .quem__descricao { margin: 12px 8px 0; font-size: 17px; line-height: 26px; }
  .abertura__cena { height: 600px; }
  .aparelho { width: 320px; height: 720px; }
  .dores { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding: 44px 32px 72px; text-align: left; }
  .solucao { padding: 28px 24px 0; }
  .modulos { padding: 196px 24px 0; }
  .sr-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px 8px; }
  .sr-metric { padding: 26px clamp(10px, 2vw, 22px); }
  .sr-metric + .sr-metric { border-top: 0; border-left: 1px solid var(--noite-line); }
  .sr-metric__number { font-size: clamp(52px, 7.2vw, 76px); }
  .botao-fixo { left: auto; right: 24px; bottom: 24px; padding-inline: 32px; }
  .aviso-cookies { left: auto; right: 24px; bottom: 24px; width: 400px; }
  .rodape { padding: 72px 32px 88px; }
  .rodape__miolo { grid-template-columns: minmax(0, 1fr) auto auto; gap: clamp(28px, 6vw, 72px); }
  .rodape__coluna a, .rodape__coluna p { overflow-wrap: normal; }
  .titulo { font-size: clamp(52px, 7.4vw, 70px); }
}

@media (min-width: 1024px) {
  .abertura { background: radial-gradient(52% 58% at 14% 22%, #0b6f7487, transparent 74%), radial-gradient(44% 60% at 84% 34%, #2f6fed52, transparent 74%), linear-gradient(var(--preto-2), var(--preto) 78%); }
  .abertura::before { background: radial-gradient(44% 66% at 28% 36%, #02090cf5 0, #02090cb8 62%, transparent 100%), linear-gradient(transparent 46%, var(--preto) 92%); }
  .abertura__miolo { grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 16px; align-items: end; padding: 36px 32px 0; }
  .abertura__texto { align-self: center; padding-bottom: 48px; }
  .abertura__logo { width: 172px; margin-bottom: 32px; }
  .abertura__titulo { font-size: clamp(54px, 5.2vw, 68px); }
  .abertura__lead { margin-top: 20px; font-size: 22px; line-height: 31px; }
  .abertura__acao { margin-top: 30px; }
  .abertura__cena { height: clamp(620px, 80vh, 740px); margin-top: 0; padding-top: 44px; }
  .aparelho { width: 360px; height: 800px; }
  .recado:nth-child(even) { translate: -52px 0; }
  .recado p { font-size: 16px; line-height: 22px; }
  .dores { padding: 40px 32px 84px; font-size: 23px; line-height: 31px; }

  .solucao { padding: 32px 32px 0; }
  .solucao__titulo { max-width: 26ch; }
  .modulos { padding-top: 220px; }
  .modulos__titulo { font-size: clamp(54px, 4.8vw, 70px); }

  /* Linha central com os itens alternados dos dois lados */
  .recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 112px; margin-top: 64px; padding: 0 0 132px; }
  .recursos::before, .recursos::after { left: calc(50% - 1px); }
  .recurso { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; }
  .recurso img { width: 40px; height: 40px; }
  .recurso:nth-child(odd) { grid-column: 1; grid-template-columns: minmax(0, 1fr) 40px; text-align: right; }
  .recurso:nth-child(odd) img { grid-column: 2; grid-row: 1; }
  .recurso:nth-child(odd) div { grid-column: 1; grid-row: 1; }
  .recurso:nth-child(even) { grid-column: 2; margin-top: 76px; }
  .recurso::before { top: 13px; left: -64px; }
  .recurso:nth-child(odd)::before { left: auto; right: -64px; }
  .recurso h3 { font-size: 28px; line-height: 32px; }

  .personalizada { padding: 44px 32px 56px; }
  .personalizada__titulo { max-width: none; font-size: clamp(50px, 4.4vw, 62px); }
  .personalizada p { font-size: 21px; line-height: 31px; }

  .prova { padding: 8px 32px 0; }
  .prova__miolo { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(32px, 4vw, 64px); align-items: end; }
  .prova__miolo::before { top: auto; bottom: -12%; left: 0; width: 62%; transform: none; }
  .prova__retrato { width: 100%; max-width: 540px; margin-inline: 0 auto; }
  .prova__retrato img { -webkit-mask-image: none; mask-image: none; }
  .prova__texto { align-self: center; margin-top: 0; padding: 64px 0 88px; }
  .prova__titulo { font-size: clamp(52px, 5vw, 66px); }
  .prova__lead { font-size: 21px; line-height: 30px; }
  .prova__depoimento p { font-size: 22px; line-height: 32px; }
  .prova__depoimento strong { font-size: 40px; line-height: 42px; }

  .numeros { padding: 76px 32px; }

  .quem { padding: 76px 32px; }
  .quem__titulo { max-width: none; font-size: clamp(46px, 4.5vw, 60px); }
  .quem__traco { margin-top: 20px; }
  .quem__frase { margin-top: 20px; font-size: 20px; line-height: 29px; }
}

/* Celular de tela baixa: o botão de enviar continua visível sem rolar dentro do pop-up. */
@media (max-width: 767px) and (max-height: 600px) {
  .painel__titulo { margin-bottom: 12px; font-size: 26px; line-height: 28px; }
}

/* Notebook de tela baixa: o botão da abertura continua visível sem rolar. */
@media (min-width: 1024px) and (max-height: 720px) {
  .abertura__logo { margin-bottom: 20px; }
  .abertura__titulo { font-size: 54px; }
  .abertura__lead { margin-top: 14px; font-size: 20px; line-height: 28px; }
  .abertura__acao { margin-top: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
