/* ResultUp — CSS puro, tokens do PRD. Sem frameworks. */
:root{
  --font:"Host Grotesk","Host Grotesk Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --c-text:#1c1c1c;--c-bg:#fff;--c-dark:#000;--c-dark-ink:#fff;
  --c-accent:#0000ee;--c-raised:#f4f4f4;--c-border:#e8e8e8;--c-muted:#5f5f5f;
  --r:12px;--shadow:0 8px 28px -12px rgba(0,0,0,.18);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--c-text);background:var(--c-bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--c-accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--c-dark);color:#fff;padding:8px 16px;z-index:99}
.skip:focus{left:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-border)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--max);margin:0 auto;padding:12px 20px}
.brand{color:var(--c-text);font-weight:700;font-size:19px;text-decoration:none;letter-spacing:-.02em}
nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
nav a{color:var(--c-text);text-decoration:none;font-size:16px}
nav a:hover{text-decoration:underline;text-underline-offset:4px}
.nav-r{display:flex;gap:10px;align-items:center}
#langSel{padding:6px;border:1px solid var(--c-border);border-radius:6px;font:inherit}
/* alternador de idioma PT/EN */
.lang-switch{font-size:14px;white-space:nowrap}
.lang-switch a{color:var(--c-text)}
#menuBtn{display:none;background:#fff;border:1px solid var(--c-border);border-radius:6px;padding:8px 12px;font:inherit;cursor:pointer}
/* buttons — 1 CTA primário por tela */
.btn{display:inline-block;font:inherit;font-weight:500;border-radius:8px;padding:12px 22px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.btn-dark{background:var(--c-dark);color:#fff}
.btn-dark:hover{background:#2a2a2a}
.btn-light{background:#fff;color:var(--c-text);border-color:var(--c-border)}
.btn-light:hover{border-color:var(--c-text)}
.btn-sm{padding:8px 14px;font-size:13.5px}
/* hero */
.hero{text-align:center;padding:88px 20px 48px}
.eyebrow{display:inline-block;font-size:13px;color:var(--c-muted);border:1px solid var(--c-border);border-radius:999px;padding:4px 14px;margin-bottom:16px}
.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.03em;margin:0 0 16px}
.hero p.lead{font-size:19px;color:var(--c-muted);max-width:680px;margin:0 auto}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.strips{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:32px;color:var(--c-muted);font-size:14px}
/* sections */
section.block{padding:36px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.sec-head h2{margin:0;letter-spacing:-.02em;font-size:26px}
.sec-head p{margin:0;color:var(--c-muted)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
/* grade fixa 2x2 (ex.: cases com 4 cards) — 1 coluna no mobile */
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:640px){.grid-2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r);padding:24px;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card h3{margin:0 0 8px;font-size:19px}
.card p{margin:0;color:var(--c-muted)}
.card .res{color:var(--c-text);font-weight:700}
.meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tag{display:inline-block;background:var(--c-raised);color:var(--c-text);border-radius:999px;padding:2px 12px;font-size:13px}
/* dark CTA */
.cta-dark{background:var(--c-dark);color:#fff;border-radius:16px;padding:56px 32px;text-align:center;margin:48px 0 8px}
.cta-dark h2{margin:0 0 12px;letter-spacing:-.02em}
.cta-dark p{color:#bdbdbd;margin:0 0 24px}
.cta-dark .btn-dark{background:#fff;color:#000}
/* footer */
footer.site{background:var(--c-dark);color:#fff;margin-top:56px}
footer.site .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
footer.site a{color:#fff}
/* forms */
form.contact{max-width:640px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-weight:500}
.field input,.field textarea{font:inherit;padding:12px 14px;border:1px solid #999;border-radius:6px}
.err{color:#b00020;font-size:13px;min-height:1em}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
/* steps / prose */
.steps{counter-reset:s;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;list-style:none}
.steps li{border:1px solid var(--c-border);border-radius:var(--r);padding:20px 20px 20px 60px;position:relative}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:20px;top:18px;width:28px;height:28px;border-radius:50%;background:var(--c-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
/* passo a passo empilhado (páginas estreitas: sobre, contato) */
.steps-stack{grid-template-columns:1fr}
/* número do passo dentro de card preto */
.step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid currentColor;font-size:14px;font-weight:700;margin-bottom:12px}
@media(max-width:760px){
  .nav{gap:10px}
  .brand{font-size:17px}
  .nav-r{margin-left:auto;order:2}
  .nav-r .btn{display:none}
  .lang-switch{font-size:13px}
  nav ul{display:none;flex-direction:column;position:absolute;top:58px;left:0;right:0;background:#fff;padding:8px 20px 16px;border-bottom:1px solid var(--c-border);gap:0}
  nav ul.open{display:flex}
  nav ul li a{display:block;padding:12px 4px}
  #menuBtn{display:block;order:3;min-width:44px;min-height:44px}
  .hero{padding:56px 20px 32px}
  footer.site .wrap{flex-direction:column;align-items:center;text-align:center;gap:8px}
}
/* Hero com canvas animado (só index): fundo preto, conteúdo clicável por cima */
.hero-canvas{position:relative;overflow:hidden;background:#050505;color:#fff}
/* Blocos com fluxo animado: canvas atrás, conteúdo clicável por cima */
.flow-bg{position:relative;overflow:hidden;isolation:isolate}
.flow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.flow-bg>*:not(.flow-canvas){position:relative;z-index:1}
.hero-canvas h1{color:#fff}
.hero-canvas .lead{color:#c9c9c9}
.hero-canvas .eyebrow{color:#c9c9c9;border-color:#2c2c2c}
.hero-canvas .strips{color:#8f8f8f}
.hero-canvas .btn-dark{background:#fff;color:#000;border-color:transparent}
.hero-canvas .btn-light{background:transparent;color:#fff;border-color:#3a3a3a}
.hero-canvas .btn-light:hover{border-color:#fff}
/* Cards pretos com fluxo (páginas de serviços) */
.card-dark{background:#050505;color:#fff}
.card-dark h3{color:#fff}
.card-dark p{color:#c9c9c9}
.card-dark .res{color:#fff}
.card-dark .sub{color:#c9c9c9}
[data-theme="dark"] .card-dark .sub{color:#4a4a4a}
[data-theme="dark"] .card-dark .res{color:#1c1c1c}
.card-dark .tag{background:rgba(255,255,255,.08);border:1px solid currentColor;color:inherit}
[data-theme="dark"] .card-dark .tag{background:rgba(0,0,0,.05)}
[data-theme="dark"] .steps li{background:#151515}
[data-theme="dark"] .card-dark{background:#f2f2f2 !important;color:#1c1c1c}
[data-theme="dark"] .card-dark h3{color:#1c1c1c}
[data-theme="dark"] .card-dark p{color:#4a4a4a}
/* Hero compacta de página interna */
.page-hero{padding:60px 0 48px;margin-bottom:48px}
.page-hero h1{font-size:clamp(30px,4vw,42px)}
.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:transparent;color:var(--c-text);border:1px solid var(--c-border);cursor:pointer}
.theme-btn:hover{border-color:var(--c-text)}
/* Botão com fluxo animado (links de seção na home) */
.btn-flow{position:relative;display:inline-block;overflow:hidden;isolation:isolate;background:#000;color:#fff;border-radius:8px;padding:10px 18px;font-size:15px;text-decoration:none;white-space:nowrap;transition:transform .15s}
.btn-flow:hover{transform:translateY(-1px)}
.btn-flow>*:not(.flow-canvas){position:relative;z-index:1}
[data-theme="dark"] .btn-flow{background:#f2f2f2;color:#000}
/* Tema escuro */
[data-theme="dark"]{color-scheme:dark;--c-text:#f2f2f2;--c-bg:#0e0e0e;--c-raised:#1b1b1b;--c-border:#2c2c2c;--c-muted:#b5b5b5;--c-accent:#8b93ff}
[data-theme="dark"] body{background:#0e0e0e}
[data-theme="dark"] header.site{background:rgba(14,14,14,.94)}
[data-theme="dark"] .hero{background:#0e0e0e}
[data-theme="dark"] .card,[data-theme="dark"] .steps li{background:#151515}
/* Cabeçalho do agendamento: invertido em relação ao tema */
.sched-head{background:#000;color:#fff;border:1px solid #2c2c2c;border-radius:12px;padding:24px;margin-bottom:20px}
.sched-head .sub{color:#c9c9c9}
[data-theme="dark"] .sched-head{background:#fff;color:#000;border-color:#dcdcdc}
[data-theme="dark"] .sched-head .sub{color:#333}
[data-theme="dark"] .btn-dark{background:#f2f2f2;color:#0e0e0e;border-color:transparent}
[data-theme="dark"] .btn-light{background:#151515;color:#f2f2f2}
[data-theme="dark"] #menuBtn{background:#151515;color:#f2f2f2}
[data-theme="dark"] nav ul{background:#0e0e0e}
[data-theme="dark"] #langSel{background:#151515;color:#f2f2f2}
[data-theme="dark"] .field input,[data-theme="dark"] .field textarea{background:#151515;color:#f2f2f2;border-color:#555}
[data-theme="dark"] .cta-dark{background:#1b1b1b;border:1px solid var(--c-border)}
/* Tema escuro: blocos de fluxo invertem para claro com traços escuros */
[data-theme="dark"] .hero-canvas{background:#f2f2f2;color:#1c1c1c}
[data-theme="dark"] .hero-canvas h1{color:#1c1c1c}
[data-theme="dark"] .hero-canvas .lead{color:#4a4a4a}
[data-theme="dark"] .hero-canvas .eyebrow{color:#4a4a4a;border-color:#c9c9c9}
[data-theme="dark"] .hero-canvas .strips{color:#6b6b6b}
[data-theme="dark"] .hero-canvas .btn-dark{background:#000;color:#fff}
[data-theme="dark"] .hero-canvas .btn-light{background:transparent;color:#1c1c1c;border-color:#9a9a9a}
[data-theme="dark"] .hero-canvas .btn-light:hover{border-color:#1c1c1c}
[data-theme="dark"] .cta-dark.flow-bg{background:#f2f2f2;border:1px solid #e0e0e0;color:#1c1c1c}
[data-theme="dark"] .cta-dark.flow-bg p{color:#4a4a4a}
[data-theme="dark"] .cta-dark.flow-bg .btn-dark{background:#000;color:#fff}
[data-theme="dark"] footer.site.flow-bg{background:#f2f2f2;color:#1c1c1c}
[data-theme="dark"] footer.site.flow-bg a{color:#1c1c1c}
