/* ==========================================================================
   ENUXT — Design System "Dark Tech Enterprise"
   Paleta: base quase-preta com fundo azul-marinho profundo, acento âmbar
   de sinal (CTAs) e ciano de dados (linhas/tech). Tipografia: Space Grotesk
   (display, técnico/geométrico) + Inter (corpo) + JetBrains Mono (labels,
   "system tags", código).
   ========================================================================== */

:root {
  /* Cores base */
  --bg-0: #070a12;         /* fundo principal */
  --bg-1: #0c111d;         /* fundo de seções alternadas */
  --bg-2: #121a2a;         /* cards */
  --bg-3: #1a2436;         /* cards hover / bordas de destaque */
  --line: #232f45;         /* bordas discretas */
  --line-soft: #1a2436;

  /* Texto */
  --text-0: #eef1f8;       /* títulos */
  --text-1: #c4cbdb;       /* corpo */
  --text-2: #8b93a7;       /* legendas / muted */

  /* Acentos — cores da marca Enuxt (logo: preto + branco + ciano) */
  --signal: #06d1fc;       /* ciano da marca — CTAs, foco, destaque */
  --signal-dim: #049fc2;
  --data: #06d1fc;         /* mesmo ciano — usado em textos/tech para manter consistência de marca */
  --data-dim: #049fc2;
  --danger: #ef6461;

  /* Tipografia */
  --font-display: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;

  /* Escala */
  --step--1: clamp(0.83rem, 0.8rem + 0.15vw, 0.9rem);
  --step-0: clamp(1rem, 0.95rem + 0.2vw, 1.1rem);
  --step-1: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  --step-2: clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem);
  --step-3: clamp(2rem, 1.6rem + 1.6vw, 2.8rem);
  --step-4: clamp(2.6rem, 2rem + 2.6vw, 4rem);
  --step-5: clamp(3.2rem, 2.3rem + 4vw, 5.4rem);

  --radius-s: 8px;
  --radius-m: 14px;
  --radius-l: 22px;

  --container: 1240px;
  --gutter: clamp(1.25rem, 4vw, 3rem);

  --ease: cubic-bezier(.16,.84,.44,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: hidden; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

body {
  margin: 0;
  background: var(--bg-0);
  color: var(--text-1);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--text-0);
  line-height: 1.12;
  margin: 0 0 0.6em;
  letter-spacing: -0.01em;
}
h1 { font-size: var(--step-5); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-2); }
p { margin: 0 0 1em; }

.container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(3.5rem, 8vw, 7rem); }
.section-alt { background: var(--bg-1); }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--font-mono);
  font-size: var(--step--1);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--data);
  margin-bottom: 1rem;
}
.eyebrow::before { content: '//'; color: var(--signal); }

/* Skip link */
.skip-link {
  position: absolute; left: -999px; top: 0;
  background: var(--signal); color: #01202b; padding: 0.75em 1.25em;
  z-index: 1000; border-radius: 0 0 var(--radius-s) 0; font-weight: 600;
}
.skip-link:focus { left: 0; }

:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--step--1);
  padding: 0.9em 1.6em;
  border-radius: var(--radius-s);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.18s var(--ease), background 0.18s var(--ease), border-color 0.18s var(--ease);
  min-height: 44px;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--signal); color: #01202b; }
.btn-primary:hover { background: #3ddcff; }
.btn-secondary { background: transparent; border-color: var(--line); color: var(--text-0); }
.btn-secondary:hover { border-color: var(--data); color: var(--data); }
.btn-ghost { background: transparent; color: var(--data); padding-inline: 0.2em; }
.btn-block { width: 100%; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(7, 10, 18, 0.82);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s var(--ease), background 0.3s var(--ease);
}
.site-header.is-scrolled { border-bottom-color: var(--line); background: rgba(7, 10, 18, 0.95); }
.site-header .container { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1rem; }

.logo { display: flex; align-items: center; gap: 0.6em; font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: var(--text-0); text-decoration: none; }
.logo-mark { width: 30px; height: 30px; flex-shrink: 0; }
.logo-img { height: 26px; width: auto; display: block; }

.nav-desktop { display: none; }
.nav-desktop ul { list-style: none; display: flex; gap: clamp(1rem, 2vw, 2rem); margin: 0; padding: 0; align-items: center; }
.nav-desktop a { text-decoration: none; color: var(--text-1); font-size: var(--step--1); font-weight: 500; transition: color 0.18s; }
.nav-desktop a:hover { color: var(--data); }
.header-cta { display: none; }

.nav-toggle {
  background: none; border: 1px solid var(--line); border-radius: var(--radius-s);
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  color: var(--text-0); cursor: pointer;
}
@media (min-width: 960px) {
  .nav-desktop { display: block; }
  .header-cta { display: inline-flex; }
  .nav-toggle { display: none; }
}

.nav-mobile {
  position: fixed; inset: 0; top: 64px;
  background: var(--bg-0);
  padding: 2rem var(--gutter);
  transform: translateY(-8px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.25s var(--ease), opacity 0.25s var(--ease);
  z-index: 90;
}
.nav-mobile.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
.nav-mobile ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.nav-mobile a { display: block; padding: 1em 0; text-decoration: none; color: var(--text-0); font-size: var(--step-1); border-bottom: 1px solid var(--line-soft); }
.nav-mobile .btn { margin-top: 1.5rem; }
@media (min-width: 960px) { .nav-mobile { display: none; } }

/* Hero */
.hero {
  position: relative;
  padding-top: clamp(3rem, 8vw, 6rem);
  overflow: hidden;
}
.hero .container { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .hero .container { grid-template-columns: 1.05fr 0.95fr; gap: 3rem; } }

.hero-copy h1 { max-width: 16ch; }
.hero-sub { font-size: var(--step-1); color: var(--text-1); max-width: 46ch; margin-bottom: 1.75rem; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.hero-note { font-size: var(--step--1); color: var(--text-2); max-width: 44ch; }
.hero-note strong { color: var(--text-1); }

.hero-visual {
  position: relative;
  min-height: 320px;
  border-radius: var(--radius-l);
  border: 1px solid var(--line);
  background: radial-gradient(ellipse at 30% 20%, rgba(6,209,252,0.10), transparent 60%), var(--bg-1);
  overflow: hidden;
}
.hero-visual canvas { display: block; width: 100%; height: 100%; }
.hero-visual-fallback {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); color: var(--text-2); font-size: var(--step--1); text-align: center; padding: 2rem;
}

.trust-strip { display: flex; flex-wrap: wrap; gap: clamp(1.5rem, 4vw, 3rem); margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 2rem; border-top: 1px solid var(--line-soft); }
.trust-item .num { font-family: var(--font-display); font-size: var(--step-2); color: var(--text-0); display: block; }
.trust-item .label { font-family: var(--font-mono); font-size: var(--step--1); color: var(--text-2); text-transform: uppercase; letter-spacing: 0.04em; }

/* Problem grid */
.problem-grid { display: grid; gap: 1rem; margin-top: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.problem-item {
  border: 1px solid var(--line); border-radius: var(--radius-m); padding: 1.4rem 1.5rem; background: var(--bg-1);
  display: flex; gap: 0.9rem; align-items: flex-start;
}
.problem-item .glyph { font-family: var(--font-mono); color: var(--danger); font-size: 0.85em; margin-top: 0.2em; }
.problem-item p { margin: 0; color: var(--text-1); font-size: var(--step--1); }

/* Solutions */
.solutions-grid { display: grid; gap: 1.25rem; margin-top: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.solution-card {
  border: 1px solid var(--line); border-radius: var(--radius-m); padding: 1.75rem; background: linear-gradient(160deg, var(--bg-2), var(--bg-1));
  display: flex; flex-direction: column; gap: 0.85rem; transition: border-color 0.2s var(--ease), transform 0.2s var(--ease);
}
.solution-card:hover { border-color: var(--data-dim); transform: translateY(-3px); }
.solution-card .idx { font-family: var(--font-mono); color: var(--signal); font-size: var(--step--1); }
.solution-card h3 { font-size: var(--step-1); margin-bottom: 0.2em; }
.solution-card .result { font-size: var(--step--1); color: var(--data); font-weight: 600; }
.solution-card .tech-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.4rem 0 0.6rem; }
.tag { font-family: var(--font-mono); font-size: 0.72rem; color: var(--text-2); border: 1px solid var(--line); border-radius: 999px; padding: 0.25em 0.7em; }
.solution-card .card-cta { margin-top: auto; font-size: var(--step--1); }

/* Differentiators */
.diff-grid { display: grid; gap: 1rem; margin-top: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.diff-item { padding: 1.2rem 0; border-top: 1px solid var(--line-soft); }
.diff-item h4 { font-size: var(--step-0); margin-bottom: 0.3em; }
.diff-item p { font-size: var(--step--1); color: var(--text-2); margin: 0; }

/* Process */
.process-flow { display: grid; gap: 1rem; margin-top: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); counter-reset: step; }
.process-step { position: relative; padding: 1.5rem 1.25rem 1.25rem; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--bg-1); }
.process-step .step-num { font-family: var(--font-mono); color: var(--signal); font-size: var(--step--1); display: block; margin-bottom: 0.5rem; }
.process-step h4 { font-size: var(--step-0); margin-bottom: 0.25em; }
.process-step p { font-size: var(--step--1); color: var(--text-2); margin: 0; }

/* Tech categories */
.tech-categories { display: grid; gap: 1.25rem; margin-top: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.tech-cat { border: 1px solid var(--line); border-radius: var(--radius-m); padding: 1.5rem; background: var(--bg-1); }
.tech-cat h4 { font-family: var(--font-mono); font-size: var(--step--1); color: var(--data); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.9rem; }
.tech-cat ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tech-cat li { font-size: 0.85rem; color: var(--text-1); border: 1px solid var(--line); border-radius: 999px; padding: 0.3em 0.85em; }

/* Cases */
.case-card {
  border: 1px solid var(--line); border-radius: var(--radius-m); padding: 1.75rem; background: var(--bg-1); margin-top: 1.5rem;
}
.case-card .case-tag { font-family: var(--font-mono); font-size: 0.72rem; color: var(--signal); text-transform: uppercase; letter-spacing: 0.05em; }
.case-placeholder {
  border: 1px dashed var(--line); border-radius: var(--radius-m); padding: 2rem; text-align: center; color: var(--text-2); font-size: var(--step--1); margin-top: 1.5rem;
}
.testimonial {
  border-left: 3px solid var(--data); padding-left: 1.25rem; margin-top: 2rem; font-size: var(--step-0); color: var(--text-0); font-style: italic;
}
.testimonial cite { display: block; margin-top: 0.75rem; font-style: normal; font-family: var(--font-mono); font-size: var(--step--1); color: var(--text-2); }

/* About */
.about-grid { display: grid; gap: 2.5rem; }
@media (min-width: 900px) { .about-grid { grid-template-columns: 0.9fr 1.1fr; align-items: start; } }
.about-badges { display: flex; gap: 1.5rem; margin-top: 1.5rem; flex-wrap: wrap; }
.about-badges .num { font-family: var(--font-display); font-size: var(--step-2); color: var(--signal); display: block; }
.about-badges .label { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-2); text-transform: uppercase; }
.stack-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }

/* CTA final */
.cta-final { text-align: center; }
.cta-final h2 { max-width: 22ch; margin-inline: auto; }
.cta-final p { max-width: 50ch; margin-inline: auto 1.75rem auto 1.75rem; margin: 0 auto 1.75rem; }
.cta-final .hero-ctas { justify-content: center; }

/* Footer */
.site-footer { border-top: 1px solid var(--line-soft); padding-block: 3rem 2rem; background: var(--bg-1); }
.footer-grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.footer-grid h5 { font-family: var(--font-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-2); margin-bottom: 0.9rem; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.footer-grid a { text-decoration: none; color: var(--text-1); font-size: var(--step--1); }
.footer-grid a:hover { color: var(--data); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line-soft); font-size: 0.8rem; color: var(--text-2); }

/* Forms */
.form-grid { display: grid; gap: 1.1rem; }
@media (min-width: 700px) { .form-grid.two-col { grid-template-columns: 1fr 1fr; } }
.field { display: flex; flex-direction: column; gap: 0.4rem; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: var(--step--1); color: var(--text-1); font-weight: 500; }
.field label .req { color: var(--signal); }
.field input, .field select, .field textarea {
  background: var(--bg-1); border: 1px solid var(--line); border-radius: var(--radius-s);
  color: var(--text-0); padding: 0.8em 1em; font-family: var(--font-body); font-size: var(--step--1);
}
.field textarea { resize: vertical; min-height: 110px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--data); }
.field-error { color: var(--danger); font-size: 0.8rem; min-height: 1.1em; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: var(--danger); }
.checkbox-field { display: flex; align-items: flex-start; gap: 0.6em; }
.checkbox-field input { margin-top: 0.3em; width: 18px; height: 18px; flex-shrink: 0; }
.checkbox-field label { font-size: 0.85rem; color: var(--text-2); }
.form-status { font-size: var(--step--1); border-radius: var(--radius-s); padding: 1em 1.2em; margin-top: 1rem; display: none; }
.form-status.is-visible { display: block; }
.form-status.success { background: rgba(6,209,252,0.1); border: 1px solid var(--data-dim); color: var(--data); }
.form-status.error { background: rgba(239,100,97,0.1); border: 1px solid var(--danger); color: var(--danger); }
/* Honeypot — escondido visualmente mas acessível a bots, nunca via display:none (leitores de tela) */
.hp-field { position: absolute; left: -9999px; top: -9999px; }

.page-hero { padding-block: clamp(3rem, 6vw, 5rem) 1rem; }
.breadcrumb { font-family: var(--font-mono); font-size: 0.8rem; color: var(--text-2); margin-bottom: 1rem; }
.breadcrumb a { color: var(--text-2); text-decoration: none; }
.breadcrumb a:hover { color: var(--data); }

.not-found { text-align: center; padding-block: 6rem; }
.not-found .code { font-family: var(--font-mono); font-size: var(--step-4); color: var(--signal); }

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


/* ==========================================================================
   Expansão comercial 2026 — Google Perfil, SEO Local, FAQ, brands e WhatsApp
   Mantém integralmente os tokens e a identidade do design system original.
   ========================================================================== */
.google-focus { position: relative; overflow: hidden; }
.google-focus::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 82% 24%, rgba(6,209,252,0.10), transparent 34%); pointer-events: none; }
.google-focus-grid { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 960px) { .google-focus-grid { grid-template-columns: 0.9fr 1.1fr; gap: 4rem; } }
.google-lead { color: var(--text-1); max-width: 64ch; font-size: var(--step-0); }
.google-diagnostic-panel { border: 1px solid var(--line); border-radius: var(--radius-l); background: linear-gradient(150deg, var(--bg-2), var(--bg-1)); padding: clamp(1rem, 3vw, 1.75rem); }
.diagnostic-row { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line-soft); }
.diagnostic-row:last-child { border-bottom: 0; }
.diagnostic-row > span { font-family: var(--font-mono); color: var(--signal); font-size: .78rem; }
.diagnostic-row strong { display: block; color: var(--text-0); font-family: var(--font-display); margin-bottom: .25rem; }
.diagnostic-row p { margin: 0; color: var(--text-2); font-size: var(--step--1); }
.google-subnav { margin-top: 2rem; display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.google-subnav a { border: 1px solid var(--line); border-radius: var(--radius-m); padding: 1rem 1.1rem; text-decoration: none; background: rgba(12,17,29,.58); transition: border-color .2s var(--ease), transform .2s var(--ease); }
.google-subnav a:hover { border-color: var(--data); transform: translateY(-2px); }
.google-subnav span { display:block; color:var(--text-0); font-family:var(--font-display); font-weight:600; }
.google-subnav small { color:var(--text-2); }
@media (min-width: 800px) { .google-subnav { grid-template-columns: repeat(4,minmax(0,1fr)); } }
.solution-card-featured { border-color: rgba(6,209,252,.42); box-shadow: inset 0 1px 0 rgba(6,209,252,.06); }
.solution-card-featured .card-icon { font-family: var(--font-mono); font-weight: 700; font-size: .72rem; }

.google-brand-lockup { display:inline-flex; align-items:center; gap:.75rem; padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.025); margin-bottom:1rem; }
.google-brand-logo { width:116px; height:36px; object-fit:contain; display:block; }
.google-brand-lockup span { color:var(--text-2); font-size:.74rem; letter-spacing:.02em; }
.brand-grid-logos .brand-tile { min-height:132px; align-items:center; }
.brand-grid-logos .brand-tile img { width:min(170px,82%); height:50px; object-fit:contain; display:block; margin:0 auto .45rem; }
.brand-grid-logos .brand-tile:hover img { transform:translateY(-2px) scale(1.025); }
.brand-grid-logos .brand-tile img { transition:transform .22s var(--ease); }
@media (max-width:520px) { .google-brand-lockup { border-radius:var(--radius-m); align-items:flex-start; flex-direction:column; } .google-brand-logo { width:104px; } }
.brand-grid, .client-logo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.brand-tile, .client-logo-card { min-height:110px; border:1px solid var(--line); border-radius:var(--radius-m); background:var(--bg-1); padding:1.2rem; display:flex; flex-direction:column; justify-content:center; gap:.35rem; text-align:center; }
.brand-tile strong, .client-logo-card strong { color:var(--text-0); font-family:var(--font-display); font-size:var(--step-1); }
.brand-tile span, .client-logo-card span { color:var(--text-2); font-size:.78rem; }
.client-logo-placeholder { border-style:dashed; opacity:.65; }
.client-note { color:var(--text-2); font-size:.78rem; margin-top:.9rem; }
@media (min-width: 760px) { .brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .client-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.faq-section { max-width: 980px; }
.faq-list { margin-top:2rem; }
.faq-list details { border-bottom:1px solid var(--line-soft); padding:1.05rem 0; }
.faq-list summary { list-style:none; cursor:pointer; color:var(--text-0); font-family:var(--font-display); font-weight:600; display:flex; gap:1rem; justify-content:space-between; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; font-family:var(--font-mono); color:var(--signal); }
.faq-list details[open] summary::after { content:'−'; }
.faq-list details p { color:var(--text-2); font-size:var(--step--1); max-width:78ch; padding-top:.75rem; }
.whatsapp-float { position:fixed; right:clamp(14px,2vw,24px); bottom:clamp(14px,2vw,24px); z-index:120; display:flex; align-items:center; gap:.65rem; padding:.7rem .85rem; border-radius:999px; background:#25D366; color:#07110b; text-decoration:none; font-size:.78rem; font-weight:700; box-shadow:0 14px 34px rgba(0,0,0,.35); transition:transform .2s var(--ease), box-shadow .2s var(--ease); }
.whatsapp-float:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.42); }
.whatsapp-float-icon { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92); color:#128C4A; display:grid; place-items:center; font-family:var(--font-mono); font-size:.7rem; }
@media (max-width:600px) { .whatsapp-float { width:56px; height:56px; padding:0; justify-content:center; } .whatsapp-float-icon { background:transparent; color:#07110b; } .whatsapp-float-label { display:none; } }

/* Páginas de serviço */
.service-hero { padding-block: clamp(4rem,8vw,7rem) clamp(2.5rem,5vw,4rem); }
.service-hero h1 { max-width: 20ch; }
.service-hero .lead { max-width:68ch; color:var(--text-1); font-size:var(--step-1); }
.service-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); margin-top:2rem; }
.service-feature { border:1px solid var(--line); border-radius:var(--radius-m); padding:1.4rem; background:var(--bg-1); }
.service-feature .num { font-family:var(--font-mono); color:var(--signal); font-size:.75rem; }
.service-feature h3 { font-size:var(--step-1); margin-top:.55rem; }
.service-feature p { color:var(--text-2); font-size:var(--step--1); margin:0; }
.service-split { display:grid; gap:2.5rem; }
@media (min-width:900px){ .service-split{grid-template-columns:.9fr 1.1fr; gap:4rem;} }
.check-list { list-style:none; margin:1.25rem 0 0; padding:0; display:grid; gap:.7rem; }
.check-list li { color:var(--text-1); }
.check-list li::before { content:'✓'; color:var(--signal); font-weight:700; margin-right:.65rem; }
.related-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.8rem; margin-top:1.5rem; }
.related-links a { border:1px solid var(--line); border-radius:var(--radius-s); padding:1rem; text-decoration:none; color:var(--text-1); }
.related-links a:hover { border-color:var(--data); color:var(--data); }


/* Google logo + processo visual */
.google-brand-lockup{display:inline-flex;align-items:center;gap:.85rem;padding:.65rem .95rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);margin-bottom:1rem;backdrop-filter:blur(8px)}
.google-brand-logo{width:144px;height:auto;display:block;flex:none}
.google-brand-lockup span{color:var(--text-2);font-size:var(--step--1);line-height:1.3}
.google-focus .google-brand-lockup{margin-bottom:1.1rem}
.process-section{position:relative;overflow:hidden}
.process-heading{margin-bottom:2rem}
.process-flow{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;position:relative}
.flow-step{position:relative;padding:1.2rem 1.1rem 1.2rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-l);background:linear-gradient(180deg,rgba(10,14,24,.95),rgba(13,18,29,.72));box-shadow:0 10px 30px rgba(0,0,0,.14);overflow:hidden}
.flow-step::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg, rgba(6,209,252,.45), rgba(118,249,190,.06));-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.flow-step::after{content:'';position:absolute;top:50%;right:-14px;width:28px;height:2px;background:linear-gradient(90deg, rgba(6,209,252,.65), rgba(118,249,190,.7));transform:translateY(-50%);opacity:.8}
.flow-step:last-child::after{display:none}
.flow-num{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid rgba(6,209,252,.5);color:var(--data);font-family:var(--font-mono);font-size:.9rem;margin-bottom:.85rem;background:rgba(6,209,252,.08);box-shadow:0 0 0 6px rgba(6,209,252,.04)}
.flow-step h3{font-size:var(--step-1);margin-bottom:.45rem}
.flow-step p{color:var(--text-1);font-size:var(--step--1);max-width:34ch}
@media (min-width:720px){.process-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 2rem}.flow-step:nth-child(2n)::after{display:none}.flow-step:nth-child(odd)::after{right:-2rem;width:2rem}.flow-step:nth-child(-n+6)::before{animation:flowPulse 3.8s ease-in-out infinite}}
@media (min-width:1100px){.process-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 2rem}.flow-step{min-height:230px}.flow-step:not(:nth-child(4n))::after{display:block;right:-2rem;width:2rem}.flow-step:nth-child(4n)::after{display:none}.flow-step:nth-child(-n+4){margin-bottom:2.4rem}.flow-step:nth-child(-n+4)::before{animation:flowPulse 3.8s ease-in-out infinite}.flow-step:nth-child(1)::after,.flow-step:nth-child(2)::after,.flow-step:nth-child(3)::after{display:block}.flow-step:nth-child(5)::after,.flow-step:nth-child(6)::after,.flow-step:nth-child(7)::after{display:block}.process-flow::before{content:'';position:absolute;left:0;right:0;top:calc(50% - 1.2rem);height:2px;background:linear-gradient(90deg, rgba(6,209,252,.15), rgba(6,209,252,.55), rgba(118,249,190,.25));z-index:0}.process-flow::after{content:'';position:absolute;left:12.5%;right:12.5%;top:calc(50% - 1.2rem);height:2px;background:linear-gradient(90deg, transparent, rgba(118,249,190,.55), transparent);animation:flowLine 3.4s linear infinite}.flow-step{z-index:1}}
@keyframes flowLine{0%{opacity:.1;transform:translateX(-10%)}50%{opacity:.95}100%{opacity:.1;transform:translateX(10%)}}
@keyframes flowPulse{0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.14)}50%{box-shadow:0 14px 36px rgba(6,209,252,.12)}}
.brand-with-logo{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.brand-with-logo .google-brand-lockup{margin:0;padding:0;border:none;background:none;backdrop-filter:none}
.brand-with-logo .google-brand-logo{width:118px}
.brand-with-logo > span{color:var(--text-2);font-size:var(--step--1)}
@media (max-width:640px){.google-brand-lockup{border-radius:var(--radius-m);align-items:flex-start;flex-direction:column}.google-brand-logo{width:128px}.flow-step::after{display:none}}

/* ==========================================================================
   V3 Editorial — contraste, respiro e leitura comercial
   ========================================================================== */
:root{
  --paper:#f4f6f8;
  --paper-2:#ffffff;
  --ink:#10131a;
  --ink-2:#4f5b6b;
  --paper-line:#dfe4ea;
}
.section-light{background:var(--paper);color:var(--ink-2)}
.section-light h1,.section-light h2,.section-light h3,.section-light h4,.section-light strong{color:var(--ink)}
.section-light .eyebrow{color:#006f87}
.section-light .eyebrow::before{color:#009fc2}
.display-title{font-size:clamp(2.4rem,5vw,5.8rem);line-height:.98;letter-spacing:-.045em;max-width:12ch}
.dark-copy{color:var(--ink)!important}
.lead-dark{color:var(--ink-2);font-size:clamp(1rem,1vw + .8rem,1.25rem);max-width:62ch}
.section-heading-narrow{max-width:820px;margin-bottom:3rem}
.section-heading-narrow>p:last-child{color:var(--text-1);max-width:62ch}
.section-heading-split{display:grid;gap:2rem;align-items:end;margin-bottom:3rem}
@media(min-width:900px){.section-heading-split{grid-template-columns:1.15fr .85fr;gap:5rem}}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{background:#222936;color:#fff}
.btn-light-outline{background:transparent;border-color:#aeb7c3;color:var(--ink)}
.btn-light-outline:hover{border-color:var(--ink);color:var(--ink)}
.text-link{display:inline-flex;margin-top:1.5rem;color:var(--data);text-decoration:none;font-weight:600}
.text-link:hover{color:#49e1ff}

/* prova / autoridade */
.proof-section{padding-block:clamp(5rem,10vw,9rem)}
.proof-layout{display:grid;gap:3rem;align-items:end}
@media(min-width:900px){.proof-layout{grid-template-columns:1fr 1fr;gap:7rem}}
.proof-copy>p{font-size:clamp(1.05rem,1vw + .8rem,1.3rem);max-width:52ch}
.proof-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--paper-line)}
.proof-metrics strong{display:block;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3rem)}
.proof-metrics span{display:block;font-size:.78rem;color:var(--ink-2);line-height:1.35}

/* Google editorial */
.google-showcase{padding-block:clamp(5rem,10vw,10rem)}
.google-editorial-grid{display:grid;gap:4rem;align-items:center}
@media(min-width:980px){.google-editorial-grid{grid-template-columns:1fr .95fr;gap:7rem}}
.google-wordmark{font:700 clamp(2.7rem,6vw,5.4rem)/1 var(--font-body);letter-spacing:-.08em;margin-bottom:1.5rem;width:max-content}
.g-b{color:#4285F4}.g-r{color:#EA4335}.g-y{color:#FBBC05}.g-g{color:#4285F4}.g-g:last-child{color:#34A853}
.google-wordmark .g-g:nth-last-child(2){color:#34A853}
.search-mock{background:#fff;border:1px solid var(--paper-line);border-radius:28px;padding:1rem;box-shadow:0 30px 90px rgba(16,19,26,.12);transform:rotate(1deg)}
.search-bar{border:1px solid #d8dee6;border-radius:999px;padding:.9rem 1rem;color:#697586;font-size:.92rem}
.map-preview{height:310px;border-radius:20px;margin-top:1rem;position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf0ec,#dbe7ea)}
.map-preview::before,.map-preview::after{content:"";position:absolute;background:#fff;opacity:.9;transform:rotate(-18deg)}
.map-preview::before{width:120%;height:24px;left:-10%;top:43%}.map-preview::after{width:28px;height:120%;left:55%;top:-10%}
.map-dot{position:absolute;width:18px;height:18px;border:5px solid #4285F4;background:#fff;border-radius:50%;z-index:2;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.d1{left:24%;top:32%}.d2{left:61%;top:26%}.d3{left:71%;top:65%;border-color:#EA4335}
.map-label{position:absolute;left:35%;top:53%;z-index:3;background:var(--ink);color:#fff;padding:.45rem .7rem;border-radius:8px;font-size:.8rem}
.result-preview{display:flex;align-items:center;gap:.8rem;padding:.95rem .3rem .15rem}
.result-avatar{width:42px;height:42px;border-radius:10px;background:#10131a;color:#06d1fc;display:grid;place-items:center;font:700 1.1rem var(--font-display)}
.result-preview strong{display:block}.result-preview small{display:block;color:#788496}

/* Processo Google mais limpo */
.process-section{padding-block:clamp(5rem,9vw,9rem)}
.process-line{display:grid;gap:0;position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-line article{padding:1.5rem 0;border-bottom:1px solid var(--line);position:relative}
.process-line article:last-child{border-bottom:0}
.process-line span{font:500 .76rem var(--font-mono);color:var(--signal)}
.process-line h3{font-size:var(--step-1);margin:.55rem 0 .35rem}
.process-line p{color:var(--text-2);font-size:var(--step--1);max-width:28ch}
@media(min-width:900px){.process-line{grid-template-columns:repeat(5,1fr);border-bottom:0}.process-line article{padding:1.5rem 1.3rem 1.3rem;border-bottom:0;border-right:1px solid var(--line);min-height:210px}.process-line article:first-child{padding-left:0}.process-line article:last-child{border-right:0}.process-line article::after{content:"";position:absolute;top:-5px;left:1.3rem;width:9px;height:9px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 5px rgba(6,209,252,.08)}.process-line article:first-child::after{left:0}}

/* soluções editoriais */
.editorial-services{padding-block:clamp(5rem,10vw,10rem)}
.service-list-editorial{border-top:1px solid var(--paper-line)}
.service-row{display:grid;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--paper-line);text-decoration:none;color:var(--ink);transition:padding .25s var(--ease),background .25s var(--ease)}
.service-row>span{font:500 .76rem var(--font-mono);color:#607083}.service-row h3{font-size:clamp(1.35rem,2vw,2rem);margin:0 0 .25rem}.service-row p{color:var(--ink-2);margin:0}.service-row>strong{color:#52606e;font-size:.78rem;align-self:center;font-weight:500}
.service-row:hover{padding-left:1rem;padding-right:1rem;background:#fff}
@media(min-width:900px){.service-row{grid-template-columns:90px 1fr minmax(260px,.7fr);align-items:center;padding:2.1rem 0}.service-row>strong{text-align:right}}

/* engenharia */
.engineering-section{padding-block:clamp(5rem,10vw,10rem);background:radial-gradient(circle at 75% 35%,rgba(6,209,252,.08),transparent 30%),var(--bg-0)}
.engineering-grid{display:grid;gap:4rem;align-items:center}
@media(min-width:960px){.engineering-grid{grid-template-columns:.85fr 1.15fr;gap:7rem}}
.engineering-lead{color:var(--text-1);font-size:1.08rem;max-width:52ch}
.stack-editorial{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.stack-editorial span{padding:1.15rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-display);color:var(--text-0);transition:background .2s,color .2s}
.stack-editorial span:hover{background:var(--signal);color:#01202b}
@media(min-width:700px){.stack-editorial{grid-template-columns:repeat(3,1fr)}}

/* fundador */
.founder-section{padding-block:clamp(5rem,10vw,10rem)}
.founder-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:960px){.founder-grid{grid-template-columns:.8fr 1.2fr;gap:7rem}}
.founder-visual{min-height:460px;background:var(--ink);border-radius:30px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.founder-visual::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(6,209,252,.25);box-shadow:0 0 0 70px rgba(6,209,252,.025),0 0 0 140px rgba(6,209,252,.015)}
.founder-monogram{position:relative;z-index:2;font:700 clamp(5rem,12vw,10rem)/1 var(--font-display);color:#eef1f8;letter-spacing:-.08em}
.founder-stat{position:absolute;z-index:3;left:1.5rem;right:1.5rem;bottom:1.5rem;display:flex;align-items:end;justify-content:space-between;gap:1rem;color:#fff}
.founder-stat strong{font:700 2rem var(--font-display);color:var(--signal)}.founder-stat span{max-width:23ch;color:#aeb7c5;font-size:.78rem;text-align:right}
.founder-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 2rem}.founder-tags span{border:1px solid #cbd2da;border-radius:999px;padding:.45rem .7rem;font-size:.75rem;color:var(--ink-2)}

/* case */
.case-section{padding-block:clamp(5rem,10vw,10rem)}
.case-editorial{display:grid;gap:4rem;align-items:start}
@media(min-width:900px){.case-editorial{grid-template-columns:.85fr 1.15fr;gap:7rem}}
.case-editorial blockquote{margin:0;padding:0;border:0}.case-editorial blockquote>p{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,3.5rem);line-height:1.1;color:var(--text-0);letter-spacing:-.03em}
.case-editorial blockquote footer{display:flex;flex-direction:column;margin-top:1.5rem}.case-editorial blockquote footer strong{color:var(--signal)}.case-editorial blockquote footer span{color:var(--text-2);font-size:.82rem}

/* processo geral */
.simple-process{padding-block:clamp(5rem,9vw,9rem)}
.simple-process-grid{display:grid;border-top:1px solid var(--paper-line);margin-top:1rem}
.simple-process-grid>div{padding:1.6rem 0;border-bottom:1px solid var(--paper-line)}
.simple-process-grid span{font:500 .76rem var(--font-mono);color:#607083}.simple-process-grid h3{font-size:1.35rem;margin:.5rem 0}.simple-process-grid p{color:var(--ink-2);margin:0;max-width:26ch}
@media(min-width:860px){.simple-process-grid{grid-template-columns:repeat(4,1fr)}.simple-process-grid>div{padding:1.6rem;border-right:1px solid var(--paper-line);border-bottom:0}.simple-process-grid>div:first-child{padding-left:0}.simple-process-grid>div:last-child{border-right:0}}

/* FAQ e CTA */
.faq-home{padding-block:clamp(5rem,9vw,8rem)}
.cta-editorial{padding-block:clamp(5rem,10vw,10rem)}
.cta-editorial-grid{display:grid;gap:3rem;align-items:end}
@media(min-width:900px){.cta-editorial-grid{grid-template-columns:1.2fr .8fr;gap:7rem}}

@media(max-width:700px){
  .display-title{max-width:100%;font-size:clamp(2.35rem,11vw,4rem)}
  .proof-metrics{grid-template-columns:1fr}.search-mock{transform:none}.map-preview{height:240px}.founder-visual{min-height:360px}
}

/* V3: componentes internos em seções claras */
.section-light .service-feature{background:#fff;border-color:var(--paper-line);box-shadow:0 12px 32px rgba(16,19,26,.05)}
.section-light .service-feature p,.section-light .check-list li,.section-light .faq-list details p{color:var(--ink-2)}
.section-light .faq-list details{border-color:var(--paper-line)}
.section-light .faq-list summary{color:var(--ink)}
.section-light .related-links a{border-color:var(--paper-line);color:var(--ink-2);background:#fff}
.section-light .related-links a:hover{border-color:#6f7c8b;color:var(--ink)}
.section-light .google-lead{color:var(--ink-2)}
@media (min-width:1100px){.nav-desktop{display:block}.header-cta{display:inline-flex}.nav-toggle{display:none}}
@media (min-width:960px) and (max-width:1099px){.nav-desktop{display:none}.header-cta{display:none}.nav-toggle{display:flex}}


/* Founder photo + dedicated About page */
.founder-photo-visual{align-items:stretch;justify-content:stretch;background:#0a0f18}
.founder-photo-visual::before{display:none}
.founder-photo-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;filter:saturate(.92) contrast(1.03);transition:transform 1.1s var(--ease),filter .5s var(--ease)}
.founder-photo-visual:hover>img{transform:scale(1.035);filter:saturate(1) contrast(1.05)}
.founder-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,7,13,.78) 100%);z-index:2;pointer-events:none}
.founder-photo-visual .founder-stat{z-index:3}

.about-page-hero{min-height:min(94svh,920px);display:flex;align-items:center;padding:9rem 0 5rem}
.about-page-grid{display:grid;gap:3rem;align-items:center}
.about-page-copy{max-width:760px}
.about-page-photo{max-width:470px;justify-self:end;width:100%}
.about-page-photo figure{position:relative;margin:0;overflow:hidden;border-radius:30px;background:var(--bg-1);border:1px solid var(--line)}
.about-page-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:saturate(.92) contrast(1.03);transition:transform 1.1s var(--ease),filter .5s var(--ease)}
.about-page-photo figure:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.05)}
.about-page-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.25rem;background:linear-gradient(transparent,rgba(5,7,13,.92));display:flex;justify-content:space-between;gap:1rem;align-items:end}
.about-page-photo figcaption span{color:var(--text-2);font-family:var(--font-mono);font-size:.72rem}
.about-page-photo figcaption strong{font-family:var(--font-display);color:#fff}
@media(min-width:900px){.about-page-grid{grid-template-columns:1.05fr .75fr;gap:clamp(3rem,7vw,7rem)}}

.editorial-split{display:grid;gap:3rem;align-items:start}
.editorial-copy p{color:var(--text-1);font-size:var(--step-0);max-width:68ch}.editorial-copy p+p{margin-top:1.25rem}
@media(min-width:900px){.editorial-split{grid-template-columns:.85fr 1.15fr;gap:6rem}}
.editorial-card-list{margin-top:3rem;border-top:1px solid var(--line)}
.editorial-card{display:grid;grid-template-columns:70px 1fr;gap:1.25rem;padding:clamp(1.6rem,3vw,2.5rem) 0;border-bottom:1px solid var(--line);background:transparent;transition:padding-left .35s var(--ease),background .35s var(--ease)}
.editorial-card>span{font-family:var(--font-mono);color:var(--signal)}
.editorial-card h3{font-size:clamp(1.45rem,3vw,2.35rem);margin-bottom:.45rem}
.editorial-card p{color:var(--text-1);max-width:66ch}
.editorial-card:hover{padding-left:1rem;background:linear-gradient(90deg,rgba(6,209,252,.04),transparent)}
.stack-wall{display:flex;flex-wrap:wrap;gap:.65rem}
.stack-wall span{border:1px solid var(--line);border-radius:999px;padding:.8rem 1.05rem;color:var(--text-1);font-family:var(--font-mono);font-size:.82rem;transition:transform .25s var(--ease),border-color .25s var(--ease),color .25s}
.stack-wall span:hover{transform:translateY(-3px);border-color:var(--data);color:var(--text-0)}
.founder-principles{display:grid;gap:3rem}
.principles-grid{display:grid;gap:0;border-top:1px solid var(--line)}
.principles-grid article{padding:2rem 0;border-bottom:1px solid var(--line)}
.principles-grid span{font-family:var(--font-mono);color:var(--signal);font-size:.75rem}
.principles-grid h3{margin:.6rem 0}.principles-grid p{color:var(--text-1)}
@media(min-width:900px){.founder-principles{grid-template-columns:.85fr 1.15fr;gap:6rem}.principles-grid{grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.principles-grid article{padding:2rem;border-bottom:0;border-right:1px solid var(--line)}.principles-grid article:last-child{border-right:0}}
@media(max-width:640px){.founder-photo-visual{min-height:430px}.about-page-hero{padding-top:7.5rem}.about-page-photo{max-width:none}}


/* V6 — desktop menu completo + ícone WhatsApp */
.nav-desktop{position:relative}
.nav-desktop > .nav-root{
  display:flex;
  align-items:center;
  gap:clamp(.65rem,1.15vw,1.25rem);
  list-style:none;
  margin:0;
  padding:0;
}
.nav-desktop > .nav-root > li{position:relative}
.nav-desktop > .nav-root > li > a{
  display:flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
  text-decoration:none;
  color:var(--text-1);
  font-size:clamp(.7rem,.8vw,.82rem);
  font-weight:500;
  transition:color .18s var(--ease);
}
.nav-desktop > .nav-root > li > a:hover,
.nav-desktop > .nav-root > li:focus-within > a{color:var(--data)}
.nav-chevron{font-size:.92em;transition:transform .22s var(--ease)}
.nav-has-dropdown:hover .nav-chevron,
.nav-has-dropdown:focus-within .nav-chevron{transform:rotate(180deg)}

.nav-dropdown{
  position:absolute;
  top:calc(100% + 1rem);
  left:50%;
  transform:translate(-50%,10px);
  width:min(720px,78vw);
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.35rem!important;
  padding:.7rem!important;
  margin:0!important;
  list-style:none;
  background:rgba(7,10,18,.985);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:2500;
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
}
.nav-has-dropdown:hover .nav-dropdown,
.nav-has-dropdown:focus-within .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-dropdown li{display:block!important}
.nav-dropdown a{
  display:block!important;
  padding:.85rem .95rem!important;
  border-radius:12px;
  text-decoration:none;
  color:var(--text-0)!important;
  background:transparent;
  transition:background .18s var(--ease),transform .18s var(--ease)!important;
}
.nav-dropdown a:hover{background:rgba(6,209,252,.075);transform:translateY(-1px)}
.nav-dropdown a span{
  display:block;
  font-family:var(--font-display);
  font-size:.92rem;
  font-weight:600;
  color:var(--text-0);
}
.nav-dropdown a small{
  display:block;
  margin-top:.2rem;
  color:var(--text-2);
  font-size:.72rem;
  line-height:1.35;
}
@media (min-width:1100px) and (max-width:1220px){
  .nav-desktop > .nav-root{gap:.55rem}
  .nav-desktop > .nav-root > li > a{font-size:.7rem}
}

/* WhatsApp real icon */
.whatsapp-svg{width:22px;height:22px;display:block;flex:none}
.whatsapp-float-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#128C4A;
  display:grid;
  place-items:center;
}
.whatsapp-float-icon .whatsapp-svg{width:23px;height:23px}
.btn .whatsapp-svg,
.nav-mobile .whatsapp-svg{
  width:18px;
  height:18px;
  display:inline-block;
  vertical-align:middle;
  margin-right:.35rem;
}
@media(max-width:600px){
  .whatsapp-float-icon{background:transparent;color:#07110b}
  .whatsapp-float-icon .whatsapp-svg{width:30px;height:30px}
}


/* V7 — navegação desktop robusta */
.site-header{overflow:visible!important}
.site-header .container{overflow:visible!important}
.nav-desktop,.nav-root,.nav-has-dropdown{overflow:visible!important}

.nav-dropdown-trigger{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  display:flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
  color:var(--text-1);
  font-size:clamp(.7rem,.8vw,.82rem);
  font-weight:500;
  line-height:1.4;
  cursor:pointer;
  transition:color .18s var(--ease);
}
.nav-dropdown-trigger:hover,
.nav-has-dropdown:focus-within .nav-dropdown-trigger,
.nav-has-dropdown.is-open .nav-dropdown-trigger{color:var(--data)}

.nav-dropdown{
  top:100%!important;
  margin-top:0!important;
  padding-top:.85rem!important;
  transform:translate(-50%,0)!important;
  z-index:99999!important;
}
.nav-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-14px;
  height:14px;
}
.nav-has-dropdown:hover .nav-dropdown,
.nav-has-dropdown:focus-within .nav-dropdown,
.nav-has-dropdown.is-open .nav-dropdown{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate(-50%,0)!important;
}
.nav-has-dropdown:hover .nav-chevron,
.nav-has-dropdown:focus-within .nav-chevron,
.nav-has-dropdown.is-open .nav-chevron{transform:rotate(180deg)}

/* A cortina nunca pode bloquear cliques */
.page-curtain.is-hidden,
.page-curtain.no-transition{
  pointer-events:none!important;
  visibility:hidden!important;
}


/* V8 — clientes, reviews, cases, presença local e páginas comerciais */
.client-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.25rem}
.client-logo-grid figure{margin:0;min-height:150px;border:1px solid rgba(10,16,28,.12);border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.1rem;overflow:hidden}
.client-logo-grid img{max-width:100%;max-height:84px;object-fit:contain}
.client-logo-grid figcaption{margin-top:.85rem;color:#596273;font-size:.78rem;text-align:center}
.client-text-logo div{font-family:var(--font-display);font-weight:800;letter-spacing:.16em;color:#161b24}
.micro-copy{margin-top:1rem;font-size:.75rem;color:#768091}

.case-preview-grid,.portfolio-grid,.location-grid{display:grid;gap:1rem}
.case-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem}
.case-preview{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.025)}
.case-preview>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.case-preview>div:last-child{padding:1.25rem}
.case-preview small,.portfolio-copy>span,.location-grid article>span{font-family:var(--font-mono);font-size:.72rem;color:var(--data);text-transform:uppercase;letter-spacing:.08em}
.case-browser{height:220px;margin:1rem;border-radius:12px;background:linear-gradient(145deg,#e9e9e6,#fff);color:#b10f0f;padding:1.25rem;position:relative;display:flex;align-items:end}
.case-browser span{position:absolute;top:12px;width:8px;height:8px;border-radius:50%;background:#cfcfcf}.case-browser span:nth-child(1){left:12px}.case-browser span:nth-child(2){left:26px}.case-browser span:nth-child(3){left:40px}
.case-browser strong{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.06em}
.case-text-preview .case-letter{height:220px;margin:1rem;display:grid;place-items:center;border-radius:12px;background:#f0e5be;color:#212121;font-size:5rem;font-weight:800}

.reviews-editorial{display:grid;grid-template-columns:1.1fr .7fr;gap:4rem;align-items:center}
.google-rating-card{border:1px solid rgba(10,16,28,.12);border-radius:24px;background:#fff;padding:clamp(1.7rem,4vw,3rem);display:flex;flex-direction:column;gap:.45rem;color:#111827}
.google-rating-card .stars{font-size:1.5rem;letter-spacing:.08em;color:#f4b400}
.google-rating-card strong{font-size:clamp(3.5rem,7vw,6.5rem);line-height:1;letter-spacing:-.07em}
.google-rating-card span{font-weight:700}.google-rating-card small{color:#6b7280}

.local-presence-section{background:#080d16}
.location-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}
.location-grid article{border:1px solid var(--line);border-radius:20px;padding:1.6rem}
.location-grid h3{margin:.6rem 0}.location-grid p{color:var(--text-1);line-height:1.65}.location-grid a{display:inline-block;margin-top:1rem;color:var(--data)}

.service-hero{padding-top:clamp(9rem,15vw,13rem);padding-bottom:clamp(5rem,10vw,8rem)}
.service-hero .container{max-width:1100px}.service-hero h1{max-width:900px}
.service-lead,.service-body-copy{max-width:760px;color:var(--text-1);font-size:var(--step-0);line-height:1.75}
.service-hero .hero-ctas{margin-top:2rem}.service-body-copy{margin-top:1rem}

.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.5rem}
.portfolio-card{display:block;text-decoration:none;border:1px solid rgba(10,16,28,.12);border-radius:20px;overflow:hidden;background:#fff;color:#111827;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(0,0,0,.10)}
.portfolio-cover{height:250px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;background:#0b0f18;color:#fff;position:relative;overflow:hidden}
.portfolio-cover strong{font-size:clamp(1.6rem,3vw,2.8rem);letter-spacing:-.04em}.portfolio-cover span{opacity:.72}
.portfolio-cover.image-cover{padding:0;background:#111}.portfolio-cover.image-cover img{width:100%;height:100%;object-fit:cover}
.portfolio-cover.logo-cover img{object-fit:contain;padding:2rem;background:#fff}
.bodyhome-cover{background:linear-gradient(145deg,#fff,#efefed);color:#a30d0d}.bodyhome-cover .mock-nav{position:absolute;top:1rem;left:1rem;font-size:.65rem;letter-spacing:.12em}.grace-cover{background:linear-gradient(135deg,#f3eee8,#caa989);color:#503526}.law-cover{background:linear-gradient(135deg,#0a1017,#23374d)}
.portfolio-copy{padding:1.25rem}.portfolio-copy h3{margin:0 0 .55rem}.portfolio-copy p{color:#667085;line-height:1.55}

@media(max-width:900px){
  .client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-preview-grid,.portfolio-grid{grid-template-columns:1fr 1fr}
  .reviews-editorial{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:640px){
  .client-logo-grid,.case-preview-grid,.portfolio-grid,.location-grid{grid-template-columns:1fr}
}

/* V9 privacy / analytics consent */
.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:2147483647;display:flex;justify-content:center}
.cookie-consent__inner{width:min(980px,100%);background:#0b1018;color:#f6f7f9;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px 20px;box-shadow:0 24px 80px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:space-between;gap:20px}
.cookie-consent strong{display:block;margin-bottom:4px}
.cookie-consent p{margin:0;color:#cbd3df;font-size:.86rem;line-height:1.5}
.cookie-consent a{display:inline-block;margin-top:6px;color:#70c8ff;font-size:.78rem}
.cookie-consent__actions{display:flex;gap:8px;flex:0 0 auto}
.cookie-consent button{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:10px;padding:11px 14px;font:inherit;cursor:pointer}
.cookie-consent button.accept{background:#fff;color:#0b1018;border-color:#fff;font-weight:700}
.seo-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
.seo-related-links a{display:block;border:1px solid rgba(10,16,28,.12);border-radius:16px;padding:1.15rem;text-decoration:none;background:#fff;color:#101828}
.seo-related-links a strong{display:block;margin-bottom:.35rem}.seo-related-links a span{font-size:.82rem;color:#667085}
@media(max-width:760px){.cookie-consent__inner{align-items:flex-start;flex-direction:column}.cookie-consent__actions{width:100%}.cookie-consent button{flex:1}.seo-related-links{grid-template-columns:1fr}}


/* ==========================================================================
   HOME HERO — FIT EXACTLY IN THE FIRST VIEWPORT
   The header remains in normal flow (sticky), so the hero occupies the
   remaining visible height. Uses svh/dvh for modern mobile browser chrome.
   ========================================================================== */

/* Desktop / notebook / tablet landscape */
body:has(.hero.section) .hero.section {
  min-height: calc(100vh - 63px);
  min-height: calc(100svh - 63px);
  height: calc(100dvh - 63px);
  max-height: calc(100dvh - 63px);
  padding-block: clamp(.75rem, 2.2vh, 1.5rem);
  display: flex;
  align-items: center;
  overflow: hidden;
}

body:has(.hero.section) .hero.section > .container {
  width: 100%;
  min-height: 0;
  align-items: center;
}

body:has(.hero.section) .hero-copy {
  max-width: min(100%, 980px);
}

body:has(.hero.section) .hero-copy .eyebrow {
  margin-bottom: clamp(.45rem, 1.15vh, .85rem);
  font-size: clamp(.68rem, .72vw, .84rem);
}

body:has(.hero.section) .hero-copy h1 {
  font-size: clamp(2.5rem, min(5.2vw, 7.3vh), 5rem);
  line-height: .99;
  margin-bottom: clamp(.65rem, 1.6vh, 1.15rem);
  max-width: 17ch;
}

body:has(.hero.section) .hero-sub {
  font-size: clamp(.92rem, min(1.35vw, 2.15vh), 1.22rem);
  line-height: 1.48;
  margin-bottom: clamp(.75rem, 1.7vh, 1.25rem);
  max-width: 58ch;
}

body:has(.hero.section) .hero-ctas {
  gap: clamp(.55rem, 1vw, .9rem);
  margin-bottom: clamp(.5rem, 1.2vh, .8rem);
}

body:has(.hero.section) .hero-ctas .btn {
  min-height: 44px;
  padding-block: clamp(.68rem, 1.3vh, .88rem);
}

body:has(.hero.section) .trust-strip {
  margin-top: clamp(.65rem, 1.8vh, 1.35rem);
  padding-top: clamp(.6rem, 1.5vh, 1.1rem);
  gap: clamp(1rem, 3vw, 2.5rem);
}

body:has(.hero.section) .trust-item .num {
  font-size: clamp(1.25rem, min(2.2vw, 3.4vh), 1.85rem);
}

body:has(.hero.section) .trust-item .label {
  font-size: clamp(.62rem, .68vw, .8rem);
}

body:has(.hero.section) .scroll-cue {
  bottom: clamp(.35rem, 1vh, .75rem);
}

/* Short notebooks such as 1366x768 and browser windows with reduced height */
@media (min-width: 769px) and (max-height: 820px) {
  body:has(.hero.section) .hero.section {
    padding-block: .55rem;
  }
  body:has(.hero.section) .hero-copy h1 {
    font-size: clamp(2.25rem, min(4.7vw, 6.9vh), 4rem);
    margin-bottom: .55rem;
  }
  body:has(.hero.section) .hero-sub {
    font-size: clamp(.86rem, 1.7vh, 1.02rem);
    line-height: 1.38;
    margin-bottom: .65rem;
  }
  body:has(.hero.section) .hero-copy .eyebrow {
    margin-bottom: .4rem;
  }
  body:has(.hero.section) .trust-strip {
    margin-top: .55rem;
    padding-top: .55rem;
  }
  body:has(.hero.section) .hero-ctas .btn {
    min-height: 40px;
    padding-block: .58rem;
  }
}

/* Tablets portrait */
@media (max-width: 1023px) {
  body:has(.hero.section) .hero.section > .container {
    display: block;
  }
}

/* Phones */
@media (max-width: 768px) {
  body:has(.hero.section) .hero.section {
    min-height: calc(100vh - 63px);
    min-height: calc(100svh - 63px);
    height: calc(100dvh - 63px);
    max-height: calc(100dvh - 63px);
    padding-block: clamp(.55rem, 1.8vh, 1rem);
  }

  body:has(.hero.section) .hero-copy h1 {
    font-size: clamp(2rem, min(10.4vw, 6.4vh), 3.25rem);
    line-height: 1.01;
    margin-bottom: clamp(.5rem, 1.25vh, .8rem);
    max-width: 100%;
  }

  body:has(.hero.section) .hero-copy .eyebrow {
    font-size: clamp(.58rem, 2.55vw, .72rem);
    line-height: 1.25;
    margin-bottom: .45rem;
  }

  body:has(.hero.section) .hero-sub {
    font-size: clamp(.82rem, min(3.55vw, 1.85vh), 1rem);
    line-height: 1.4;
    margin-bottom: clamp(.55rem, 1.25vh, .8rem);
    max-width: 100%;
  }

  body:has(.hero.section) .hero-ctas {
    gap: .45rem;
    margin-bottom: .35rem;
  }

  body:has(.hero.section) .hero-ctas .btn {
    min-height: 39px;
    padding: .58rem .8rem;
    font-size: clamp(.72rem, 3vw, .86rem);
  }

  body:has(.hero.section) .trust-strip {
    margin-top: clamp(.45rem, 1.1vh, .7rem);
    padding-top: clamp(.45rem, 1.1vh, .7rem);
    gap: .65rem 1.25rem;
  }

  body:has(.hero.section) .trust-item .num {
    font-size: clamp(1.05rem, 4.4vw, 1.35rem);
  }

  body:has(.hero.section) .trust-item .label {
    font-size: clamp(.54rem, 2.25vw, .66rem);
    line-height: 1.2;
  }

  body:has(.hero.section) .scroll-cue {
    display: none;
  }
}

/* Very short phones / landscape phones */
@media (max-height: 650px) {
  body:has(.hero.section) .hero.section {
    padding-block: .35rem;
  }
  body:has(.hero.section) .hero-copy h1 {
    font-size: clamp(1.7rem, min(8.5vw, 6vh), 2.7rem);
    line-height: .98;
    margin-bottom: .35rem;
  }
  body:has(.hero.section) .hero-copy .eyebrow {
    margin-bottom: .25rem;
  }
  body:has(.hero.section) .hero-sub {
    font-size: clamp(.75rem, 2.7vh, .9rem);
    line-height: 1.3;
    margin-bottom: .35rem;
  }
  body:has(.hero.section) .hero-ctas {
    margin-bottom: .2rem;
  }
  body:has(.hero.section) .hero-ctas .btn {
    min-height: 35px;
    padding-block: .42rem;
  }
  body:has(.hero.section) .trust-strip {
    margin-top: .3rem;
    padding-top: .3rem;
  }
}

/* Fallback for browsers without :has() support */
@supports not selector(body:has(*)) {
  .hero.section {
    min-height: calc(100svh - 63px);
    height: calc(100dvh - 63px);
    max-height: calc(100dvh - 63px);
    padding-block: clamp(.75rem, 2.2vh, 1.5rem);
    display:flex;
    align-items:center;
    overflow:hidden;
  }
}
