/* ============================================================
   Climetria.Site — landing comercial · identidade "Instrumento"
   Mesma linguagem do sistema interno: superfícies foscas, régua de
   marcações (tick-rule), leituras em mono tabular, latão como ponteiro.
   ink #16211E · petrol #0E7C6B · latão #B87514 · stone #ECEEEB.
   ============================================================ */

:root {
  --ink:#16211E; --ink-700:#24322E; --ink-600:#3B4A45;
  --stone:#ECEEEB; --panel:#FFFFFF; --panel-2:#F4F6F3;
  --line:rgba(22,33,30,.11); --line-2:rgba(22,33,30,.18);
  --text:#16211E; --muted:#5E6B66; --faint:#8A958F;

  --petrol:#0E7C6B; --petrol-600:#0B6557; --petrol-700:#0A4F45;
  --cool:#2F6E8E; --cool-700:#214E66;
  --brass:#B87514; --brass-600:#9C6210; --brass-soft:rgba(184,117,20,.13);

  --success:#1C7E5E; --warning:#C16A1C; --danger:#BC3B2C;

  /* texto sobre superfície escura (ink) */
  --on-ink:#D6DED9; --on-ink-mute:#97A39E; --on-ink-faint:#6B7A75;
  --on-ink-line:rgba(255,255,255,.09);

  --r-sm:7px; --r:10px; --r-lg:13px; --r-xl:18px;
  --sh-sm:0 1px 2px rgba(22,33,30,.07);
  --sh:0 6px 18px -10px rgba(22,33,30,.24);
  --sh-lg:0 22px 50px -24px rgba(22,33,30,.34);

  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  --tick:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 9px);
  --tick-light:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 11px);
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:var(--sans);
  background:var(--stone);
  color:var(--text);
  letter-spacing:-0.006em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection { background:rgba(14,124,107,.18); }
a { color:var(--petrol-600); text-decoration:none; }
:focus-visible { outline:2px solid var(--petrol); outline-offset:3px; }

/* Material Symbols */
.ms {
  font-family:'Material Symbols Rounded';
  font-weight:normal; font-style:normal; line-height:1;
  letter-spacing:normal; text-transform:none; white-space:nowrap;
  display:inline-block; word-wrap:normal; direction:ltr;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  -webkit-font-smoothing:antialiased; user-select:none;
}

.cl-logo-svg { display:block; }

/* ---------- Primitivas ---------- */

.wrap { max-width:1200px; margin:0 auto; padding-left:28px; padding-right:28px; }
.section { padding-top:92px; padding-bottom:32px; }

.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:.68rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--petrol-600);
}
.eyebrow .ms { font-size:15px; }
.eyebrow .tick { width:7px; height:7px; border-radius:50%; background:var(--brass); }

.wordmark {
  font-family:var(--sans); font-weight:600; letter-spacing:-0.02em; line-height:1;
}
.wordmark .accent { color:var(--brass); }

.rule { height:7px; background-image:var(--tick); }
.rule--light { background-image:var(--tick-light); }

.section-head { max-width:700px; margin:0 auto 52px; text-align:center; }
.section-head h2 {
  font-size:2.4rem; line-height:1.08; letter-spacing:-0.025em; font-weight:700;
  margin:14px 0 0; color:var(--ink); text-wrap:balance;
}
.section-head .lead {
  color:var(--muted); font-size:1.06rem; line-height:1.6; margin:15px 0 0;
}

/* Marca de registro de canto (detalhe de instrumento). */
.reg { position:relative; }
.reg::after {
  content:''; position:absolute; top:13px; right:13px; width:7px; height:7px;
  border-top:1.5px solid var(--line-2); border-right:1.5px solid var(--line-2);
}

/* ---------- Botões ---------- */

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--sans); font-weight:600; font-size:.94rem; letter-spacing:-0.01em;
  padding:.82rem 1.3rem; border-radius:var(--r); border:1px solid transparent;
  cursor:pointer; transition:background .18s, border-color .18s, color .18s, transform .12s;
}
.btn .ms { font-size:19px; }
.btn:active { transform:translateY(1px); }
.btn--primary { background:var(--petrol); color:#fff; }
.btn--primary:hover { background:var(--petrol-600); color:#fff; }
.btn--ink { background:var(--ink); color:#fff; }
.btn--ink:hover { background:var(--ink-700); color:#fff; }
.btn--outline { background:var(--panel); border-color:var(--line-2); color:var(--ink-600); }
.btn--outline:hover { border-color:var(--petrol); color:var(--petrol-700); background:rgba(14,124,107,.06); }
.btn--ghost { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2); color:#fff; }
.btn--ghost:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.32); color:#fff; }
.btn--ghost .ms { color:var(--brass); }
.btn--lg { padding:.95rem 1.6rem; font-size:1.02rem; border-radius:var(--r-lg); }

/* ============================================================
   NAV (sobre a faixa do hero, clara)
   ============================================================ */

.nav { position:relative; z-index:20; display:flex; align-items:center; gap:18px; padding:22px 0; }
.nav__brand { display:flex; align-items:center; gap:11px; flex:none; }
.nav__mark {
  width:40px; height:40px; border-radius:10px; display:grid; place-items:center;
  background:var(--petrol-600); border:1px solid rgba(255,255,255,.16);
}
.nav__brand .wordmark { font-size:1.4rem; color:var(--ink); }
.nav__spacer { flex:1; }
.nav__links { display:flex; align-items:center; gap:2px; }
.navlink {
  font-family:var(--mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); font-weight:500; padding:9px 13px; border-radius:8px;
  transition:color .15s, background .15s;
}
.navlink:hover { color:var(--ink); background:rgba(22,33,30,.05); }
.nav__toggle {
  display:none; width:44px; height:44px; border-radius:10px;
  border:1px solid var(--line-2); background:var(--panel); color:var(--ink);
  place-items:center; cursor:pointer;
}
.nav__toggle .ms { font-size:24px; }

.mnav { display:none; flex-direction:column; gap:4px; padding:0 0 18px; }
.mnav a {
  font-family:var(--mono); font-size:.84rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-600); font-weight:500; padding:13px 14px; border-radius:9px;
  background:var(--panel); border:1px solid var(--line);
}
.mnav a.is-cta { text-align:center; background:var(--petrol); color:#fff; border-color:var(--petrol); margin-top:6px; }

/* ============================================================
   HERO (claro — painel de instrumento)
   ============================================================ */

.hero { position:relative; background:var(--stone); border-bottom:1px solid var(--line); }
.hero__grid {
  position:relative; z-index:10;
  display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
  padding:46px 0 84px;
}
.tag {
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:.68rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--petrol-700); background:var(--panel); border:1px solid var(--line-2);
  padding:7px 13px; border-radius:7px;
}
.tag .live { width:7px; height:7px; border-radius:50%; background:var(--brass); }
.hero__title {
  font-size:3.5rem; line-height:1.02; letter-spacing:-0.035em; font-weight:700;
  color:var(--ink); margin:22px 0 0; text-wrap:balance;
}
.hero__lead {
  color:var(--muted); font-size:1.16rem; line-height:1.6; margin:22px 0 0; max-width:520px;
}
.hero__lead strong { color:var(--ink); font-weight:600; }
.hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }

.metrics { display:flex; flex-wrap:wrap; gap:14px; margin-top:40px; }
.metric { position:relative; padding-top:11px; }
.metric::before { content:''; position:absolute; top:0; left:0; width:24px; height:2px; background:var(--brass); }
.metric__num {
  font-family:var(--mono); font-size:1.7rem; font-weight:600; color:var(--ink);
  line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-0.02em;
}
.metric__cap {
  font-family:var(--mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.1em;
  color:var(--muted); margin-top:7px; max-width:150px; line-height:1.45;
}

/* logos */
.logos { position:relative; z-index:10; padding:24px 0 30px; border-top:1px solid var(--line); }
.logos__cap {
  text-align:center; font-family:var(--mono); font-size:.66rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--faint); margin:0 0 18px;
}
.marquee {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.marquee__row { display:flex; gap:56px; width:max-content; align-items:center; animation:cl-marquee 30s linear infinite; }
.logo {
  font-family:var(--mono); font-weight:500; font-size:1.05rem; letter-spacing:.02em;
  color:var(--faint); white-space:nowrap;
}

/* ============================================================
   GAUGE (barômetro linear — assinatura do hero)
   ============================================================ */

.inst {
  position:relative; background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--sh); padding:22px;
}
.inst__head { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.inst__chip {
  width:34px; height:34px; border-radius:9px; display:grid; place-items:center;
  background:var(--petrol-600); color:#fff;
}
.inst__chip .ms { font-size:20px; }
.inst__t { font-weight:600; font-size:.92rem; color:var(--ink); line-height:1.15; }
.inst__s { font-family:var(--mono); font-size:.68rem; color:var(--muted); letter-spacing:.02em; }
.inst__flag {
  margin-left:auto; font-family:var(--mono); font-size:.6rem; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--petrol-700);
  background:rgba(14,124,107,.1); padding:5px 9px; border-radius:5px;
}

.gauge__label {
  font-family:var(--mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.12em;
  color:var(--muted);
}
.gauge__read { display:flex; align-items:baseline; gap:8px; margin:6px 0 12px; }
.gauge__num {
  font-family:var(--mono); font-size:2.9rem; font-weight:600; line-height:1;
  color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-0.03em;
}
.gauge__unit { font-family:var(--mono); font-size:.78rem; color:var(--faint); }
.gauge__verdict { color:var(--petrol-700); font-weight:600; font-size:.92rem; margin-left:auto; }

.gauge__track {
  position:relative; height:42px; border:1px solid var(--line); border-radius:8px;
  background:var(--panel-2); overflow:hidden;
}
.gauge__track::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(47,110,142,.12),rgba(184,117,20,.12));
}
.gauge__track::after {
  content:''; position:absolute; inset:0;
  background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 11px);
}
.gauge__needle {
  position:absolute; top:-2px; bottom:-2px; left:0; width:3px; background:var(--brass);
  transform:translateX(-1.5px); transition:left 1.2s cubic-bezier(.16,1,.3,1); z-index:2;
}
.gauge__needle::before {
  content:''; position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  border:5px solid transparent; border-top-color:var(--brass);
}
.gauge__scale {
  display:flex; justify-content:space-between; margin-top:8px;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase; color:var(--faint);
}

/* dimensões */
.dims { display:flex; flex-direction:column; gap:11px; }
.dim { display:flex; align-items:center; gap:12px; }
.dim__name { width:118px; flex:none; color:var(--muted); font-size:.84rem; }
.dim__track { flex:1; height:7px; border-radius:999px; background:var(--panel-2); border:1px solid var(--line); overflow:hidden; }
.dim__bar { height:100%; width:0; background:var(--petrol); transition:width 1.1s cubic-bezier(.16,1,.3,1); }
.dim__val { width:30px; text-align:right; font-family:var(--mono); font-weight:600; font-size:.82rem; color:var(--ink); font-variant-numeric:tabular-nums; }

/* ============================================================
   COMO FUNCIONA (passos — sequência real)
   ============================================================ */

.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.step {
  position:relative; background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:28px 26px; box-shadow:var(--sh-sm);
  transition:box-shadow .2s, border-color .2s;
}
.step:hover { box-shadow:var(--sh); border-color:var(--line-2); }
.step__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.step__icon {
  width:50px; height:50px; border-radius:12px; display:grid; place-items:center;
  background:rgba(14,124,107,.1); color:var(--petrol-700); border:1px solid var(--line);
}
.step__icon .ms { font-size:26px; }
.step__idx { font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); }
.step h3 { font-size:1.28rem; font-weight:700; letter-spacing:-0.02em; margin:0 0 10px; color:var(--ink); }
.step p { color:var(--muted); font-size:.97rem; line-height:1.58; margin:0; }

/* ============================================================
   IA (centerpiece — corpo escuro do instrumento)
   ============================================================ */

.band-ink {
  position:relative; margin-top:60px; background:var(--ink); color:var(--on-ink);
  border-top:1px solid var(--on-ink-line); border-bottom:1px solid var(--on-ink-line);
}
.band-ink::before {
  content:''; position:absolute; left:0; right:0; top:0; height:7px;
  background-image:var(--tick-light); opacity:.7;
}
.ia__grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:58px; align-items:center; padding:90px 0; }
.ia .eyebrow { color:var(--brass); }
.ia h2 { color:#fff; font-size:2.6rem; line-height:1.06; letter-spacing:-0.03em; font-weight:700; margin:20px 0 0; text-wrap:balance; }
.ia__lead { color:var(--on-ink-mute); font-size:1.08rem; line-height:1.62; margin:18px 0 0; max-width:480px; }
.ia__points { display:flex; flex-direction:column; gap:16px; margin-top:28px; }
.point { display:flex; align-items:flex-start; gap:14px; }
.point__ic { width:34px; height:34px; flex:none; border-radius:9px; display:grid; place-items:center; background:rgba(14,124,107,.18); margin-top:1px; }
.point__ic .ms { font-size:20px; color:#5BC4B0; }
.point__t { color:#EEF2F0; font-weight:600; font-size:1rem; }
.point__d { color:var(--on-ink-mute); font-size:.9rem; line-height:1.5; margin-top:2px; }

.parecer { background:rgba(255,255,255,.03); border:1px solid var(--on-ink-line); border-radius:var(--r-lg); overflow:hidden; }
.parecer__head { display:flex; align-items:center; gap:13px; padding:20px 22px; border-bottom:1px solid var(--on-ink-line); }
.parecer__ico { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--petrol-600); }
.parecer__ico .ms { font-size:25px; color:#fff; }
.parecer__t { color:#fff; font-weight:600; font-size:1.02rem; }
.parecer__s { font-family:var(--mono); color:var(--on-ink-faint); font-size:.72rem; letter-spacing:.02em; }
.parecer__body { padding:22px; display:flex; flex-direction:column; gap:18px; }
.parecer__sub { display:flex; align-items:center; gap:7px; font-family:var(--mono); color:var(--brass); font-weight:500; font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px; }
.parecer__sub .ms { font-size:16px; }
.parecer p { color:#CBD3CF; font-size:.94rem; line-height:1.6; margin:0; }

.parecer .gauge__num { color:#fff; font-size:2.4rem; }
.parecer .gauge__label, .parecer .gauge__scale { color:var(--on-ink-faint); }
.parecer .gauge__track { background:rgba(255,255,255,.04); border-color:var(--on-ink-line); }
.parecer .gauge__track::after { background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 11px); }
.parecer .gauge__verdict { color:#5BC4B0; }
.parecer .dim__name { color:var(--on-ink-mute); }
.parecer .dim__track { background:rgba(255,255,255,.06); border-color:var(--on-ink-line); }
.parecer .dim__val { color:#fff; }

.plan-box { background:rgba(14,124,107,.1); border:1px solid rgba(14,124,107,.28); border-radius:var(--r); padding:15px 16px; }
.plan-box__row { display:flex; align-items:flex-start; gap:10px; color:#E6EBE8; font-size:.9rem; line-height:1.45; }
.plan-box__row + .plan-box__row { margin-top:9px; }
.plan-box__row .ms { font-size:18px; color:var(--brass); flex:none; margin-top:1px; }

/* ============================================================
   RECURSOS
   ============================================================ */

.features { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature {
  position:relative; background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:26px; box-shadow:var(--sh-sm);
  transition:box-shadow .2s, border-color .2s;
}
.feature:hover { box-shadow:var(--sh); border-color:var(--line-2); }
.feature__ic {
  width:48px; height:48px; border-radius:11px; display:grid; place-items:center;
  background:rgba(14,124,107,.1); color:var(--petrol-700); border:1px solid var(--line); margin-bottom:18px;
}
.feature__ic .ms { font-size:25px; }
.feature h3 { font-size:1.14rem; font-weight:700; letter-spacing:-0.02em; margin:0 0 9px; color:var(--ink); }
.feature p { color:var(--muted); font-size:.94rem; line-height:1.55; margin:0; }

/* ============================================================
   DEPOIMENTOS
   ============================================================ */

.quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.quote { display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; box-shadow:var(--sh-sm); }
.stars { display:flex; gap:2px; margin-bottom:16px; color:var(--brass); }
.stars .ms { font-size:18px; font-variation-settings:'FILL' 1; }
.quote p { color:var(--ink-700); font-size:1.01rem; line-height:1.6; margin:0 0 22px; font-weight:500; }
.quote__who { display:flex; align-items:center; gap:13px; margin-top:auto; }
.avatar { width:46px; height:46px; border-radius:11px; display:grid; place-items:center; background:var(--petrol-600); color:#fff; font-family:var(--mono); font-weight:600; letter-spacing:-0.02em; }
.quote__nm { font-weight:700; color:var(--ink); font-size:.94rem; }
.quote__rl { color:var(--muted); font-size:.82rem; }

/* ============================================================
   PLANOS
   ============================================================ */

.billing { display:flex; justify-content:center; margin-bottom:40px; }
.billing__switch { display:inline-flex; align-items:center; gap:4px; padding:5px; border-radius:8px; background:var(--panel); border:1px solid var(--line); box-shadow:var(--sh-sm); }
.billing__btn {
  border:none; cursor:pointer; font-family:var(--mono); font-weight:500; font-size:.74rem;
  letter-spacing:.06em; text-transform:uppercase; padding:9px 18px; border-radius:6px;
  display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--muted); transition:background .18s, color .18s;
}
.billing__btn.is-active { background:var(--petrol); color:#fff; }
.billing__save { font-family:var(--mono); font-size:.62rem; padding:3px 7px; border-radius:5px; background:var(--brass-soft); color:var(--brass-600); }

.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.plan { position:relative; display:flex; flex-direction:column; border-radius:var(--r-lg); padding:30px 28px; background:var(--panel); border:1px solid var(--line); box-shadow:var(--sh-sm); color:var(--ink); }
.plan__name { font-size:1.24rem; font-weight:700; margin:0; color:var(--ink); }
.plan__desc { font-size:.9rem; line-height:1.45; margin:8px 0 22px; color:var(--muted); min-height:40px; }
.plan__price { display:flex; align-items:flex-end; gap:6px; margin-bottom:4px; }
.plan__amount { font-family:var(--mono); font-size:2.5rem; font-weight:600; line-height:1; color:var(--ink); letter-spacing:-0.03em; font-variant-numeric:tabular-nums; }
.plan__per { font-size:.9rem; color:var(--muted); padding-bottom:6px; }
.plan__cycle { font-family:var(--mono); font-size:.68rem; color:var(--muted); letter-spacing:.02em; min-height:18px; margin-bottom:24px; }
.plan__cta { text-align:center; font-weight:600; font-size:.94rem; padding:13px; border-radius:var(--r); margin-bottom:24px; background:var(--ink); color:#fff; transition:background .18s; }
.plan__cta:hover { background:var(--ink-700); color:#fff; }
.feat { display:flex; flex-direction:column; gap:12px; }
.feat__row { display:flex; align-items:flex-start; gap:10px; font-size:.9rem; line-height:1.4; color:var(--ink-600); }
.feat__row .ms { font-size:19px; color:var(--petrol); flex:none; }

.plan--featured { background:var(--ink); border-color:var(--on-ink-line); box-shadow:var(--sh-lg); color:var(--on-ink); }
.plan--featured .plan__name { color:#fff; }
.plan--featured .plan__desc { color:var(--on-ink-mute); }
.plan--featured .plan__amount { color:#fff; }
.plan--featured .plan__per, .plan--featured .plan__cycle { color:var(--on-ink-mute); }
.plan--featured .plan__cta { background:var(--petrol); }
.plan--featured .plan__cta:hover { background:var(--petrol-600); }
.plan--featured .feat__row { color:#D6DED9; }
.plan--featured .feat__row .ms { color:var(--brass); }
.plan__badge {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%); white-space:nowrap;
  font-family:var(--mono); font-size:.62rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink); background:var(--brass); padding:5px 13px; border-radius:5px;
}

/* ============================================================
   FAQ
   ============================================================ */

.faq { max-width:820px; }
.faq-list { display:flex; flex-direction:column; gap:11px; }
.faq-item { background:var(--panel); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-sm); transition:border-color .2s; }
.faq-item.is-open { border-color:var(--line-2); }
.faq-toggle { width:100%; display:flex; align-items:center; gap:16px; text-align:left; padding:19px 22px; background:transparent; border:none; cursor:pointer; font-family:inherit; }
.faq-toggle span:first-child { font-weight:600; font-size:1.02rem; color:var(--ink); flex:1; }
.faq-icon { font-size:24px; color:var(--petrol); flex:none; transition:transform .25s; }
.faq-item.is-open .faq-icon { transform:rotate(180deg); }
.faq-body { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-body p { margin:0; padding:0 22px 22px; color:var(--muted); font-size:.95rem; line-height:1.62; }

/* ============================================================
   CTA FINAL
   ============================================================ */

.cta { padding:0 0 0; }
.cta__panel { position:relative; overflow:hidden; border-radius:var(--r-xl); padding:68px 48px; text-align:center; background:var(--ink); color:var(--on-ink); box-shadow:var(--sh); }
.cta__panel::before { content:''; position:absolute; left:48px; right:48px; top:24px; height:7px; background-image:var(--tick-light); opacity:.6; }
.cta__inner { position:relative; z-index:2; max-width:680px; margin:0 auto; padding-top:14px; }
.cta h2 { color:#fff; font-size:2.7rem; line-height:1.05; letter-spacing:-0.03em; font-weight:700; margin:0; text-wrap:balance; }
.cta__lead { color:var(--on-ink-mute); font-size:1.12rem; line-height:1.6; margin:18px auto 0; max-width:520px; }
.cta__actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:32px; }
.cta__assur { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; margin-top:28px; font-family:var(--mono); color:var(--on-ink-faint); font-size:.74rem; letter-spacing:.02em; }
.cta__assur span { display:inline-flex; align-items:center; gap:7px; }
.cta__assur .ms { font-size:17px; color:var(--brass); }

/* ============================================================
   RODAPÉ
   ============================================================ */

.foot { padding:70px 0 38px; }
.foot__grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; }
.foot__brand { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.foot__mark { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:var(--petrol-600); border:1px solid rgba(255,255,255,.16); }
.foot__brand .wordmark { font-size:1.3rem; color:var(--ink); }
.foot__about { color:var(--muted); font-size:.94rem; line-height:1.6; max-width:300px; margin:0 0 18px; }
.foot__social { display:flex; gap:10px; }
.social { width:40px; height:40px; border-radius:10px; display:grid; place-items:center; background:var(--panel); border:1px solid var(--line); color:var(--muted); transition:color .18s, border-color .18s, transform .15s; }
.social:hover { color:var(--petrol); border-color:var(--petrol); transform:translateY(-2px); }
.social .ms { font-size:20px; }
.foot__col h4 { font-family:var(--mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.14em; color:var(--faint); margin:0 0 16px; font-weight:500; }
.foot__links { display:flex; flex-direction:column; gap:11px; }
.flink { color:var(--muted); font-size:.92rem; transition:color .15s; }
.flink:hover { color:var(--petrol); }
.foot__bar { display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; align-items:center; margin-top:46px; padding-top:24px; border-top:1px solid var(--line); }
.foot__bar span { color:var(--faint); font-size:.84rem; display:inline-flex; align-items:center; gap:7px; }
.foot__bar .ms { font-size:17px; color:var(--success); }

/* ============================================================
   ANIMAÇÕES + REVEAL
   ============================================================ */

@keyframes cl-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
[data-reveal] { will-change:opacity, transform; }

/* ============================================================
   RESPONSIVO
   ============================================================ */

@media (max-width:920px) {
  .hero__grid, .ia__grid { grid-template-columns:1fr; }
  .steps, .features, .quotes, .plans { grid-template-columns:1fr; }
  .foot__grid { grid-template-columns:1fr 1fr; }
  .nav__links, .nav__cta-desktop { display:none; }
  .nav__toggle { display:grid; }
  .hero__inst { max-width:480px; margin:0 auto; }
  .ia__grid { gap:40px; }
}
@media (max-width:560px) {
  .wrap { padding-left:18px; padding-right:18px; }
  .foot__grid { grid-template-columns:1fr; }
  .hero__title { font-size:2.5rem; }
  .section-head h2, .ia h2, .cta h2 { font-size:2rem; }
  .cta__panel { padding:48px 24px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .marquee__row { animation:none; }
}
