/*
Theme Name: Tals Gestão
Theme URI: https://talsgestao.com.br
Author: Natali Santos — Tals Gestão
Description: Tema customizado para consultoria empresarial, mentoria, cursos e ebooks. Design system: glassmorphism, scroll reveal, tipografia Cormorant + DM Sans.
Version: 2.1.8
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tals-gestao
Tags: business, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
*/

/* ════════════════════════════════════════════
   DESIGN TOKENS — sincronizados com HTML aprovado
   Referência: home_tals_gestao_preview.html
════════════════════════════════════════════ */
:root {
  /* Teal — cor primária / CTAs */
  --teal:        #00abab;
  --teal-d:      #018f8c;
  --teal-navy:   #095d6a;
  --teal-l:      #3bbad6;

  /* Roxo — acento digital / logo */
  --purple:      #1e2d2f;   /* remapped: ink — compatibilidade */
  --purple-d:    #141e20;   /* remapped: ink-dark — compatibilidade */
  --purple-vivid:#5220dd;
  --lavender:    #656faf;

  /* Neutros escuros */
  --navy:        #123d5f;
  --graphite:    #324047;
  --gray:        #6d7276;
  --gray-w:      #bdbbad;

  /* Neutros claros / fundos */
  --cream:       #f6f1ec;
  --off:         #e7e5dd;
  --sand:        #ded5cb;
  --cream-gold:  #fcf1dd;

  /* Ação */
  --terra:       #b86161;   /* sotaque sutil — NÃO usar como fundo de bloco */
  --amber:       #f7c050;
  --white:       #ffffff;

  /* Tipografia */
  --fd: 'Cormorant Garamond', serif;
  --fb: 'DM Sans', sans-serif;
  --fm: 'DM Mono', monospace;

  /* Easing */
  --ease: cubic-bezier(.16,1,.3,1);

  /* Sombras */
  --sh-sm:   0 2px 8px rgba(0,0,0,.06);
  --sh-md:   0 4px 20px rgba(0,0,0,.1);
  --sh-lg:   0 8px 40px rgba(0,0,0,.14);
  --sh-teal: 0 4px 20px rgba(0,171,171,.3);
  --sh-terra:0 4px 20px rgba(184,97,97,.3);

  /* Raios */
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-pill: 100px;

  /* Layout */
  --max-w: 1200px;
  --transition: all .3s cubic-bezier(.4,0,.2,1);
}

/* ════════════════════════════════════════════
   RESET & BASE
════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--fb);
  background: var(--cream);
  color: var(--graphite);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }

/* ════════ RESET GLOBAL DE BUTTON ════════ */
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

a  { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { font-family: var(--fb); }

.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 2rem;
}

/* ════════════════════════════════════════════
   SCROLL PROGRESS BAR
════════════════════════════════════════════ */
#scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--terra), var(--teal), var(--purple));
  z-index: 9999;
  width: 0;
  pointer-events: none;
  transition: width .08s linear;
}

/* ════════════════════════════════════════════
   SCROLL REVEAL
════════════════════════════════════════════ */
.rv {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.rv.fl { transform: translateX(-28px); }
.rv.fr { transform: translateX(28px); }
.rv.sc { transform: scale(.95); }
.rv.on { opacity: 1; transform: none; }
.d1 { transition-delay: .1s; }
.d2 { transition-delay: .2s; }
.d3 { transition-delay: .3s; }
.d4 { transition-delay: .4s; }

/* ════════════════════════════════════════════
   UTILITIES
════════════════════════════════════════════ */
.sp { padding: 5rem 0; }
.sp-sm { padding: 3rem 0; }

.eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--terra);
  display: block;
  margin-bottom: .6rem;
}
.ey-light { color: rgba(255,255,255,.45); }

.sec-head { text-align: center; margin-bottom: 3rem; }
.sec-head h2 {
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  font-weight: 600;
  line-height: 1.15;
  color: var(--graphite);
}
.sec-head h2 .hi { color: var(--teal); font-style: italic; }
.sec-head p {
  font-size: .9375rem;
  color: var(--gray);
  margin-top: .75rem;
  max-width: 540px;
  margin-inline: auto;
  line-height: 1.7;
}
.sec-head--light h2 { color: #fff; }
.sec-head--light p  { color: rgba(255,255,255,.5); }

/* Glassmorphism — fórmula padrão */
.glass {
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-lg);
}
.glass-light {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.95);
}

/* ════════════════════════════════════════════
   BOTÕES
════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.75rem;
  border-radius: var(--r-sm);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .03em;
  cursor: pointer;
  transition: all .22s;
  border: none;
  font-family: var(--fb);
  line-height: 1;
}
.btn-p { background: var(--teal); color: #fff; }
.btn-p:hover {
  background: var(--teal-d);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,171,171,.3);
}
.btn-o {
  background: transparent;
  color: var(--teal);
  border: 1.5px solid var(--teal);
}
.btn-o:hover { background: var(--teal); color: #fff; transform: translateY(-2px); }
/* btn-o no hero (fundo escuro) — borda teal clara */
.site-header.top .btn-o {
  color: var(--teal-l);
  border-color: rgba(0,171,171,.5);
}
.site-header.top .btn-o:hover {
  background: var(--teal);
  color: #fff;
  border-color: var(--teal);
}
.btn-gw {
  background: rgba(255,255,255,.1);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}
.btn-gw:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
/* btn-gw no header claro (após scroll) */
.site-header.scrolled .btn-gw {
  background: transparent;
  color: var(--graphite);
  border: 1.5px solid var(--off);
}
.site-header.scrolled .btn-gw:hover {
  background: var(--cream);
  border-color: var(--gray-w);
}
.btn-dark { background: var(--teal-navy); color: #fff; }
.btn-dark:hover { background: var(--navy); }
.btn-green { background: #22c55e; color: #fff; }
.btn-green:hover { background: #16a34a; transform: translateY(-2px); }
.sm { padding: .5rem 1.2rem; font-size: .8rem; }
.lg { padding: .9rem 2.25rem; font-size: 1rem; }

/* ════════════════════════════════════════════
   HEADER — KYNDRYL INSPIRED
   Transparente no hero → glassmorphism ao scroll
════════════════════════════════════════════ */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 500;
  transition: background .35s, box-shadow .35s;
}

/* Linha terracota+teal — 3px no topo absoluto */
.site-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--terra) 30%, var(--teal) 30%);
  z-index: 1;
}

/* Barra topo informativa */
.header-topbar {
  background: var(--terra);
  padding: .4rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: height .3s, opacity .3s, padding .3s;
  overflow: hidden;
}
.header-topbar span { font-size: .75rem; color: rgba(255,255,255,.85); letter-spacing: .03em; }
.header-topbar a {
  font-size: .72rem;
  color: #fff;
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,.3);
  transition: border-color .2s;
}
.header-topbar a:hover { border-color: #fff; }

/* Nav principal */
.header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .875rem 2rem;
  max-width: 1400px;
  margin: 0 auto;
}

/* Estado: transparente no topo */
.site-header.top .header-main { background: transparent; }

/* Estado: scrolled glassmorphism */
.site-header.scrolled { box-shadow: 0 2px 24px rgba(0,0,0,.12); }
.site-header.scrolled .header-topbar {
  height: 0; padding-top: 0; padding-bottom: 0; opacity: 0; pointer-events: none;
}
.site-header.scrolled .header-main {
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Logo */
.logo { display: flex; align-items: center; gap: .875rem; }
.logo-tw { display: flex; flex-direction: column; }
.logo-name {
  font-family: var(--fd);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1;
  color: var(--graphite);
}
.site-header.top .logo-name { color: #fff; }
.logo-name span { color: var(--terra); } /* o ponto • */
.logo-code {
  font-family: var(--fm);
  font-size: .65rem;
  color: var(--terra);
  opacity: .85;
  margin-top: 2px;
  letter-spacing: .1em;
}

/* Navegação */
.nav { display: flex; align-items: center; gap: 1.75rem; }
.nav-a {
  font-size: .875rem;
  color: var(--gray);
  transition: color .2s;
  position: relative;
  padding-bottom: 3px;
}
.site-header.top .nav-a { color: rgba(255,255,255,.7); }
.nav-a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 1.5px;
  background: var(--teal);
  transition: width .25s;
  border-radius: 2px;
}
.nav-a:hover::after, .nav-a.active::after { width: 100%; }
.nav-a:hover { color: var(--graphite); }
.site-header.top .nav-a:hover { color: #fff; }
.nav-a.active { color: var(--teal); font-weight: 500; }
.site-header.top .nav-a.active { color: var(--teal-l); }

.hcta { display: flex; align-items: center; gap: .75rem; }

/* Mobile menu toggle */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}
.nav-toggle span {
  display: block;
  width: 22px; height: 2px;
  background: var(--graphite);
  border-radius: 2px;
  transition: all .3s;
}
.site-header.top .nav-toggle span { background: #fff; }

/* Cookie banner LGPD */
#cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--graphite);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  z-index: 9000;
  transform: translateY(100%);
  transition: transform .4s var(--ease);
}
#cookie-banner.visible { transform: translateY(0); }
#cookie-banner p { font-size: .8rem; color: rgba(255,255,255,.6); line-height: 1.5; }
#cookie-banner a { color: var(--teal); }
#cookie-accept {
  background: var(--teal);
  color: var(--teal-navy);
  border: none;
  padding: .5rem 1.25rem;
  border-radius: var(--r-sm);
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--fb);
}

/* ════════════════════════════════════════════
   HERO — G4 + MID FALCONI INSPIRED
════════════════════════════════════════════ */
.hero {
  background: linear-gradient(150deg, var(--graphite) 0%, var(--teal-navy) 45%, var(--purple-d) 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding-top: 5rem;
  position: relative;
  overflow: hidden;
}
/* Grade sutil de fundo */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 59px, rgba(255,255,255,.025) 59px, rgba(255,255,255,.025) 60px),
    repeating-linear-gradient(90deg, transparent, transparent 59px, rgba(255,255,255,.025) 59px, rgba(255,255,255,.025) 60px);
}
/* Orb teal */
.hero::after {
  content: '';
  position: absolute;
  width: 650px; height: 650px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,171,171,.2) 0%, transparent 70%);
  top: -100px; right: -50px;
  pointer-events: none;
}
.hero-orb2 {
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(78,22,129,.3) 0%, transparent 70%);
  bottom: -80px; left: 5%;
  pointer-events: none;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* Pill / eyebrow do hero */
.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(0,171,171,.15);
  border: 1px solid rgba(0,171,171,.3);
  color: var(--teal-l);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .3rem .875rem;
  border-radius: var(--r-pill);
  margin-bottom: 1.25rem;
}
.pulse {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--teal);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .4; transform: scale(.7); }
}

.hero h1 {
  font-family: var(--fd);
  font-size: clamp(2.6rem, 5vw, 4.2rem);
  font-weight: 600;
  line-height: 1.05;
  color: #fff;
  margin-bottom: 1.25rem;
}
.hero h1 .hi-teal { color: var(--teal); }
.hero h1 .hi-under { position: relative; display: inline-block; }
.hero h1 .hi-under::after {
  content: '';
  position: absolute;
  bottom: 4px; left: 0; right: 0;
  height: 3px;
  background: var(--terra);
  border-radius: 2px;
}
.hero-sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.6);
  line-height: 1.75;
  margin-bottom: 2rem;
  max-width: 440px;
}
.hero-acts { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Social proof */
.hero-proof {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2.25rem;
  padding-top: 2.25rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.pavs { display: flex; }
.pav {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 700;
  margin-left: -10px;
  transition: transform .2s;
}
.pav:first-child { margin-left: 0; }
.pav:hover { transform: translateY(-3px); z-index: 2; }
.pav-1 { background: var(--teal); color: var(--teal-navy); }
.pav-2 { background: var(--purple); color: #fff; }
.pav-3 { background: var(--terra); color: #fff; }
.pav-4 { background: rgba(255,255,255,.15); color: rgba(255,255,255,.7); font-size: .62rem; }
.proof-txt { font-size: .8rem; color: rgba(255,255,255,.45); line-height: 1.5; }
.proof-txt strong { color: rgba(255,255,255,.8); display: block; font-size: .875rem; }

/* Foto wrap */
.hero-photo { position: relative; }
.hero-frame {
  border-radius: var(--r-lg);
  aspect-ratio: 3/4;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(0,171,171,.15), rgba(78,22,129,.25));
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.2);
  font-size: .875rem;
  position: relative;
}
.hero-frame img { width: 100%; height: 100%; object-fit: cover; }

/* Glass cards flutuantes */
.hfc {
  position: absolute;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--r-md);
  padding: .875rem 1.125rem;
}
.hfc-1 { bottom: 2rem; left: -2.5rem; }
.hfc-2 { top: 2.5rem; right: -2rem; }
.hfc-num { font-family: var(--fd); font-size: 1.75rem; font-weight: 700; color: var(--teal); line-height: 1; }
.hfc-lbl { font-size: .7rem; color: rgba(255,255,255,.6); margin-top: .2rem; white-space: nowrap; }
.hfc-icon { font-size: 1.2rem; margin-bottom: .3rem; }
.hfc-txt { font-size: .73rem; color: rgba(255,255,255,.65); line-height: 1.4; max-width: 110px; }

/* ════════════════════════════════════════════
   SLIDER — 3 cards lado a lado
════════════════════════════════════════════ */
.slider-section {
  background: var(--white);
  padding: 2.5rem 0 2rem;
  border-bottom: 1px solid var(--off);
}
.sl-wrap {
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--off);
  position: relative;
}
.sl-track {
  display: flex;
  transition: transform .55s cubic-bezier(.4,0,.2,1);
}
.slide { min-width: 100%; flex-shrink: 0; }
.sl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--off);
}
.sl-card {
  background: var(--white);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: .875rem;
  position: relative;
  overflow: hidden;
  transition: background .2s;
}
.sl-card:hover { background: #fafafa; }
.sl-accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--off);
}
.sl-card:nth-child(2) .sl-accent {
  background: linear-gradient(90deg, var(--teal), var(--teal-l));
}
.sl-lbl {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--terra);
}
.sl-thumb {
  width: 100%;
  height: 144px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-family: var(--fm);
  overflow: hidden;
}
.sl-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sl-card h2 {
  font-family: var(--fd);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--graphite);
}
.sl-card h2 strong { color: var(--teal-navy); }
.sl-card p { font-size: .875rem; color: var(--gray); line-height: 1.6; }
.sl-dots { display: flex; gap: .5rem; justify-content: center; margin-top: 1.25rem; }
.dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gray-w);
  cursor: pointer;
  transition: all .25s;
  border: none; padding: 0;
}
.dot.on { background: var(--teal); width: 22px; border-radius: 4px; }
.sl-nav {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--off);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--graphite);
  transition: all .2s;
  z-index: 2;
  font-size: .9rem;
}
.sl-nav:hover { background: var(--teal); color: #fff; border-color: var(--teal); }
.sl-prev { left: .5rem; }
.sl-next { right: .5rem; }

/* ════════════════════════════════════════════
   STATS BAR
════════════════════════════════════════════ */
.stats-bar { background: var(--graphite); }
.stats-g {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: var(--max-w);
  margin: 0 auto;
}
.stat {
  padding: 2.25rem 1.5rem;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.05);
  position: relative;
  overflow: hidden;
  transition: background .25s;
  cursor: default;
}
.stat:last-child { border-right: none; }
.stat:hover { background: rgba(0,171,171,.07); }
.stat::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 36px; height: 2px;
  background: var(--teal);
  transition: transform .3s;
  border-radius: 2px;
}
.stat:hover::after { transform: translateX(-50%) scaleX(1); }
.stat-n {
  font-family: var(--fd);
  font-size: 2.75rem;
  font-weight: 600;
  color: var(--teal);
  line-height: 1;
  display: block;
  letter-spacing: -.02em;
}
.stat-l {
  font-size: .78rem;
  color: rgba(255,255,255,.38);
  margin-top: .4rem;
  display: block;
  letter-spacing: .04em;
}

/* ════════════════════════════════════════════
   SERVIÇOS
════════════════════════════════════════════ */
.serv-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.serv-card {
  background: var(--white);
  border-radius: 14px;
  padding: 2rem;
  border: 1px solid var(--off);
  position: relative;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.serv-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,171,171,.04), transparent 60%);
  opacity: 0;
  transition: opacity .3s;
}
.serv-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,.09);
  border-color: rgba(0,171,171,.25);
}
.serv-card:hover::before { opacity: 1; }
.serv-num {
  position: absolute;
  top: 1.25rem; right: 1.25rem;
  font-family: var(--fm);
  font-size: .7rem;
  color: var(--gray-w);
}
.serv-ic {
  width: 46px; height: 46px;
  border-radius: 10px;
  background: rgba(184,97,97,.08); /* terracota levíssimo — 1 dos 6 usos permitidos */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.serv-ic svg { width: 22px; height: 22px; stroke: var(--terra); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.serv-card h3 { font-size: 1.05rem; font-weight: 600; color: var(--graphite); margin-bottom: .55rem; }
.serv-card p { font-size: .875rem; color: var(--gray); line-height: 1.65; margin-bottom: 1.25rem; }
.serv-lnk {
  font-size: .8rem;
  color: var(--teal);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: gap .2s;
}
.serv-card:hover .serv-lnk { gap: .6rem; }

/* ════════════════════════════════════════════
   PRODUTOS — GLASS DARK (G4 STYLE)
════════════════════════════════════════════ */
.produtos {
  background: linear-gradient(180deg, var(--teal-navy) 0%, var(--purple-d) 100%);
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}
.produtos::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 40% at 50% 100%, rgba(0,171,171,.1), transparent);
}
.prod-tabs { display: flex; gap: .5rem; justify-content: center; margin-bottom: 2.5rem; }
.tab {
  padding: .45rem 1.2rem;
  border-radius: var(--r-pill);
  font-size: .8rem;
  font-weight: 500;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.55);
  cursor: pointer;
  transition: all .2s;
  font-family: var(--fb);
}
.tab.on { background: var(--teal); color: var(--teal-navy); border-color: var(--teal); font-weight: 700; }
.tab:hover:not(.on) { border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.85); }

.prod-g {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  position: relative;
  z-index: 1;
}
.pc {
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.12);
  transition: transform .3s, background .3s, box-shadow .3s;
}
.pc:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,.12);
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
.pc-thumb {
  aspect-ratio: 4/3;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pc-ti {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: .75rem;
  color: rgba(255,255,255,.3);
  font-family: var(--fm);
}
.pc-badge {
  position: absolute;
  top: .75rem; left: .75rem;
  font-size: .65rem;
  font-weight: 700;
  padding: .25em .65em;
  border-radius: 4px;
  letter-spacing: .04em;
}
.bh { background: var(--terra); color: #fff; }
.bf { background: #22c55e; color: #fff; }
.pc-body { padding: 1.1rem; }
.pc-cat { font-size: .62rem; font-weight: 700; color: var(--teal-l); letter-spacing: .12em; text-transform: uppercase; }
.pc-body h4 { font-size: .9375rem; font-weight: 600; color: #fff; margin: .35rem 0 .5rem; line-height: 1.3; }
.pc-body p { font-size: .8rem; color: rgba(255,255,255,.45); line-height: 1.5; margin-bottom: .875rem; }
.pc-price { margin-bottom: .875rem; display: flex; align-items: baseline; gap: .5rem; }
.p-de { font-size: .75rem; color: rgba(255,255,255,.3); text-decoration: line-through; }
.p-por { font-size: 1.2rem; font-weight: 700; color: #fff; font-family: var(--fd); }
.p-free { font-size: 1rem; font-weight: 700; color: #22c55e; }

/* ════════════════════════════════════════════
   DEPOIMENTOS
════════════════════════════════════════════ */
.dep-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.dep-card {
  background: var(--white);
  border-radius: 14px;
  padding: 2rem;
  border: 1px solid var(--off);
  transition: transform .3s, box-shadow .3s;
}
.dep-card:hover { transform: translateY(-4px); box-shadow: var(--sh-md); }
.dep-stars { display: flex; gap: .2rem; margin-bottom: 1rem; }
.dep-stars span { color: var(--amber); font-size: .9rem; }
.dep-text { font-size: .9rem; color: var(--gray); line-height: 1.7; margin-bottom: 1.25rem; font-style: italic; }
.dep-author { display: flex; align-items: center; gap: .75rem; }
.dep-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), var(--purple));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  color: #fff;
  overflow: hidden;
}
.dep-avatar img { width: 100%; height: 100%; object-fit: cover; }
.dep-info strong { font-size: .875rem; font-weight: 600; color: var(--graphite); display: block; }
.dep-info span { font-size: .75rem; color: var(--gray); }

/* ════════════════════════════════════════════
   SOBRE — LETÍCIA VAZ INSPIRED
════════════════════════════════════════════ */
.sobre { background: var(--white); padding: 5rem 0; }
.sobre-g { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.sobre-photo-col { position: relative; }
.sobre-frame {
  border-radius: var(--r-lg);
  aspect-ratio: 3/4;
  overflow: hidden;
  background: linear-gradient(160deg, var(--teal-navy), var(--purple-d));
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.2);
  font-size: .875rem;
}
.sobre-frame img { width: 100%; height: 100%; object-fit: cover; }

/* Badge glass */
.sobre-gb {
  position: absolute;
  bottom: -1rem; right: -1.5rem;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 14px;
  padding: 1rem 1.25rem;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
}
.gb-num { font-family: var(--fd); font-size: 2rem; font-weight: 700; color: var(--teal); line-height: 1; }
.gb-lbl { font-size: .73rem; color: var(--gray); margin-top: .2rem; }

/* Mini stats grid */
.sobre-mstats { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 2rem; }
.ms {
  background: var(--cream);
  border-radius: 10px;
  padding: .875rem 1rem;
  border: 1px solid var(--off);
}
.ms-n { font-size: 1.3rem; font-weight: 700; color: var(--graphite); font-family: var(--fd); display: block; }
.ms-l { font-size: .72rem; color: var(--gray); margin-top: .15rem; display: block; }

.sobre h2 {
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 600;
  color: var(--graphite);
  line-height: 1.15;
  margin-bottom: 1.25rem;
}
.sobre h2 .hi { color: var(--teal); font-style: italic; }
.sobre p { font-size: .9375rem; color: var(--gray); line-height: 1.75; margin-bottom: 1rem; }

.pilares { display: flex; flex-direction: column; gap: .5rem; margin: 1.5rem 0; }
.pilar { display: flex; align-items: center; gap: .75rem; font-size: .875rem; color: var(--graphite); }
.pilar-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--terra); flex-shrink: 0; }

/* ════════════════════════════════════════════
   BLOG
════════════════════════════════════════════ */
.blog-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.blog-c {
  background: var(--white);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--off);
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
}
.blog-c:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.08); }
.blog-thumb {
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.blog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.blog-body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; }
.blog-cat { font-size: .62rem; font-weight: 700; color: var(--terra); letter-spacing: .12em; text-transform: uppercase; }
.blog-body h3 { font-size: 1rem; font-weight: 600; color: var(--graphite); margin: .5rem 0 .6rem; line-height: 1.4; flex: 1; }
.blog-body p { font-size: .8rem; color: var(--gray); line-height: 1.6; margin-bottom: 1rem; }
.blog-footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
.blog-link { font-size: .8rem; color: var(--teal); font-weight: 600; }
.blog-date { font-size: .7rem; color: var(--gray-w); }

/* ════════════════════════════════════════════
   INSIGHTS / NEWSLETTER
════════════════════════════════════════════ */
.insights {
  background: linear-gradient(135deg, var(--graphite) 0%, var(--teal-navy) 100%);
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}
.insights::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 49px, rgba(0,171,171,.04) 49px, rgba(0,171,171,.04) 50px),
    repeating-linear-gradient(90deg, transparent, transparent 49px, rgba(0,171,171,.04) 49px, rgba(0,171,171,.04) 50px);
}
.insights::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--teal) 40%, var(--purple) 60%, transparent);
}
.ins-g { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; position: relative; z-index: 1; }
.ins-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(0,171,171,.12);
  border: 1px solid rgba(0,171,171,.25);
  color: var(--teal-l);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .3rem .875rem;
  border-radius: var(--r-pill);
  margin-bottom: 1.25rem;
}
.ins h2 {
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.15;
  margin-bottom: .875rem;
}
.ins h2 span { color: var(--teal); }
.ins-desc { font-size: .9375rem; color: rgba(255,255,255,.5); line-height: 1.7; }
.ins-topics { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.25rem; }
.it {
  font-size: .7rem;
  color: rgba(255,255,255,.45);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-pill);
  padding: .25rem .75rem;
  font-family: var(--fm);
}
.it::before { content: '#'; color: var(--terra); margin-right: .1rem; }

/* Card glass da newsletter */
.ins-card {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-lg);
  padding: 2rem;
}
.code-hint { font-family: var(--fm); font-size: .7rem; color: rgba(255,255,255,.2); margin-bottom: 1.25rem; }
.ct { color: var(--teal); }
.ctr { color: var(--terra); }
.ii {
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: .8rem 1rem;
  color: #fff;
  font-size: .875rem;
  font-family: var(--fb);
  transition: border-color .2s, background .2s;
  outline: none;
  margin-bottom: .75rem;
}
.ii::placeholder { color: rgba(255,255,255,.3); }
.ii:focus { border-color: var(--teal); background: rgba(0,171,171,.06); }
.ii-row { display: flex; gap: .75rem; }
.ii-row .ii { margin-bottom: 0; flex: 1; }
.ib {
  background: var(--teal);
  color: var(--teal-navy);
  border: none;
  border-radius: 8px;
  padding: .8rem 1.4rem;
  font-size: .875rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all .2s;
  font-family: var(--fb);
}
.ib:hover { background: #00c8c8; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,171,171,.3); }
.ins-priv { font-size: .7rem; color: rgba(255,255,255,.25); display: flex; align-items: center; gap: .4rem; margin-top: .875rem; }
.ins-priv::before { content: '🔒'; font-size: .65rem; }
.ins-proof { display: flex; align-items: center; gap: .875rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.07); }
.ip-avs { display: flex; }
.ipa {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 2px solid rgba(9,93,106,1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .65rem;
  font-weight: 700;
  margin-left: -8px;
}
.ipa:first-child { margin-left: 0; background: var(--teal); color: var(--teal-navy); }
.ipa:nth-child(2) { background: var(--purple); color: #fff; }
.ipa:nth-child(3) { background: var(--terra); color: #fff; }
.ip-txt { font-size: .75rem; color: rgba(255,255,255,.4); line-height: 1.5; }
.ip-txt strong { color: rgba(255,255,255,.7); display: block; font-size: .8rem; }

/* ════════════════════════════════════════════
   CTA INTELIGENTE — GLASS PANEL
════════════════════════════════════════════ */
.cta-s {
  background: var(--purple-d);
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}
.cta-s::before {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,171,171,.13) 0%, transparent 65%);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.cta-inner { text-align: center; position: relative; z-index: 1; max-width: 680px; margin: 0 auto; }
.cta-panel {
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  padding: 3.5rem;
}
.cta-ptag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(0,171,171,.12);
  border: 1px solid rgba(0,171,171,.25);
  color: var(--teal-l);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .3rem .875rem;
  border-radius: var(--r-pill);
  margin-bottom: 1.5rem;
}
.cta-s h2 {
  font-family: var(--fd);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 1rem;
}
.cta-s h2 span { color: var(--teal); }
.cta-s p { font-size: 1rem; color: rgba(255,255,255,.55); margin-bottom: 2rem; line-height: 1.7; }
.cta-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 2rem; }
.cta-opt {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 1.25rem;
  text-align: left;
  cursor: pointer;
  transition: all .25s;
}
.cta-opt:hover, .cta-opt.picked {
  background: rgba(0,171,171,.12);
  border-color: rgba(0,171,171,.35);
}
.cta-opt-icon { font-size: 1.4rem; margin-bottom: .5rem; display: block; }
.cta-opt-title { font-size: .9rem; font-weight: 600; color: #fff; display: block; margin-bottom: .25rem; }
.cta-opt-desc { font-size: .78rem; color: rgba(255,255,255,.45); line-height: 1.4; }
.cta-mb {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  background: var(--teal);
  color: var(--teal-navy);
  border: none;
  border-radius: 8px;
  padding: 1rem 2.5rem;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .25s;
  font-family: var(--fb);
  width: 100%;
  justify-content: center;
  margin-bottom: .875rem;
}
.cta-mb:hover { background: #00c8c8; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,171,171,.3); }
.cta-micros { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.cta-mc { font-size: .78rem; color: rgba(255,255,255,.3); display: flex; align-items: center; gap: .35rem; }
.cta-mc::before { content: '·'; color: var(--teal); }

/* ════════════════════════════════════════════
   NEWSLETTER — SEÇÃO DEDICADA (antes do footer)
════════════════════════════════════════════ */
.newsletter-sec {
  background: linear-gradient(135deg, var(--graphite) 0%, var(--teal-navy) 100%);
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}
.newsletter-sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 49px, rgba(0,171,171,.03) 49px, rgba(0,171,171,.03) 50px),
    repeating-linear-gradient(90deg, transparent, transparent 49px, rgba(0,171,171,.03) 49px, rgba(0,171,171,.03) 50px);
  pointer-events: none;
}
.newsletter-sec::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--teal) 40%, var(--purple) 60%, transparent);
}
.nl-sec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
.newsletter-sec h2 {
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.15;
  margin-bottom: .875rem;
}
.newsletter-sec h2 span { color: var(--teal); }
.newsletter-sec p {
  font-size: .9375rem;
  color: rgba(255,255,255,.5);
  line-height: 1.7;
}
.nl-proof {
  display: flex;
  align-items: center;
  gap: .875rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.07);
  font-size: .8rem;
  color: rgba(255,255,255,.4);
}

/* Card do formulário */
.nl-form-card {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-lg);
  padding: 2rem;
}
.nl-form-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nl-form-icon { font-size: 1.75rem; }
.nl-form-head strong {
  display: block;
  font-size: .9375rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: .15rem;
}
.nl-form-head span { font-size: .78rem; color: rgba(255,255,255,.35); }
.nl-input {
  width: 100%;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: .8rem 1rem;
  color: #fff;
  font-size: .875rem;
  font-family: var(--fb);
  transition: border-color .2s, background .2s;
  outline: none;
  margin-bottom: .75rem;
  display: block;
}
.nl-input::placeholder { color: rgba(255,255,255,.28); }
.nl-input:focus { border-color: var(--teal); background: rgba(0,171,171,.06); }
.nl-input-row { display: flex; gap: .625rem; margin-bottom: 0; }
.nl-input-row .nl-input { flex: 1; margin-bottom: 0; }
.nl-btn {
  background: var(--teal);
  color: var(--teal-navy);
  border: none;
  border-radius: 8px;
  padding: .8rem 1.25rem;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s;
  font-family: var(--fb);
  white-space: nowrap;
  flex-shrink: 0;
}
.nl-btn:hover { background: #00c8c8; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,171,171,.3); }
.nl-privacy {
  font-size: .7rem;
  color: rgba(255,255,255,.22);
  margin-top: .875rem;
  text-align: center;
}


/* ════════════════════════════════════════════
   FOOTER INTERATIVO
════════════════════════════════════════════ */
.site-footer { background: var(--graphite); }

/* Barra topo footer */
.ft-topbar {
  background: rgba(0,171,171,.07);
  border-bottom: 1px solid rgba(255,255,255,.05);
  padding: 1.25rem 0;
}
.ft-topbar-i { display: flex; align-items: center; justify-content: space-between; }
.ft-live { display: flex; align-items: center; gap: .6rem; font-size: .78rem; color: rgba(255,255,255,.4); }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; animation: pulse 1.5s infinite; }
.ft-qlinks { display: flex; gap: 1.5rem; }
.ft-ql {
  font-size: .8rem;
  color: rgba(255,255,255,.38);
  transition: color .2s;
  position: relative;
}
.ft-ql::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px; background: var(--teal); transition: width .2s; }
.ft-ql:hover { color: var(--teal); }
.ft-ql:hover::after { width: 100%; }

/* Body do footer */
.ft-body { padding: 3.5rem 0 2rem; }
.ft-g { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; }

.ft-brand .logo-name { color: #ffffff !important; }
.ft-brand .logo-code { color: var(--terra); }
.ft-desc {
  font-size: .875rem;
  color: rgba(255,255,255,.38);
  line-height: 1.65;
  margin-top: .875rem;
  margin-bottom: 1.25rem;
}
.ft-soc { display: flex; gap: .5rem; }
.fso {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.4);
  font-size: .72rem;
  font-weight: 700;
  transition: all .25s;
  cursor: pointer;
  background: transparent;
}
.fso:hover { background: var(--teal); border-color: var(--teal); color: var(--teal-navy); transform: translateY(-2px); }

/* Mini newsletter no footer */
.ft-nl {
  background: rgba(0,171,171,.07);
  border: 1px solid rgba(0,171,171,.15);
  border-radius: var(--r-md);
  padding: 1.25rem;
  margin-top: 1.5rem;
}
.ft-nl h5 { font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.65); margin-bottom: .4rem; }
.ft-nl p { font-size: .72rem; color: rgba(255,255,255,.33); margin-bottom: .875rem; line-height: 1.5; }
.ft-nl-f { display: flex; gap: .5rem; }
.ft-ni {
  flex: 1;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  padding: .55rem .75rem;
  color: #fff;
  font-size: .8rem;
  font-family: var(--fb);
  outline: none;
  transition: border-color .2s;
}
.ft-ni::placeholder { color: rgba(255,255,255,.25); }
.ft-ni:focus { border-color: var(--teal); }
.ft-nb {
  background: var(--teal);
  color: var(--teal-navy);
  border: none;
  border-radius: 6px;
  padding: .55rem .875rem;
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s;
  font-family: var(--fb);
  white-space: nowrap;
}
.ft-nb:hover { background: #00c8c8; }

/* Colunas footer */
.ft-col h4 {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.28);
  margin-bottom: .875rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid rgba(184,97,97,.22); /* terracota sutil — uso permitido */
  display: inline-block;
}
.ft-links { display: flex; flex-direction: column; gap: .5rem; }
.ft-lnk {
  font-size: .875rem;
  color: rgba(255,255,255,.42);
  transition: color .2s;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.ft-lnk:hover { color: var(--teal); }
.ft-lnk::before { content: '→'; font-size: .65rem; color: var(--terra); opacity: 0; transition: opacity .2s, transform .2s; transform: translateX(-4px); }
.ft-lnk:hover::before { opacity: 1; transform: translateX(0); }

/* Bottom footer */
.ft-bottom { border-top: 1px solid rgba(255,255,255,.05); padding: 1.25rem 0; }
.ft-bi { display: flex; align-items: center; justify-content: space-between; }
.ft-copy { font-size: .75rem; color: rgba(255,255,255,.2); display: flex; align-items: center; gap: .5rem; }
.tdot { width: 5px; height: 5px; border-radius: 50%; background: var(--terra); opacity: .6; display: inline-block; } /* uso permitido */
.ft-legal { display: flex; gap: 1.5rem; }
.ft-legal a { font-size: .72rem; color: rgba(255,255,255,.2); transition: color .2s; }
.ft-legal a:hover { color: rgba(255,255,255,.6); }

/* ════════════════════════════════════════════
   WHATSAPP FLUTUANTE
════════════════════════════════════════════ */
.wa-float {
  position: fixed;
  bottom: 2rem; right: 2rem;
  z-index: 999;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  transition: transform .2s, box-shadow .2s;
}
.wa-float:hover { transform: scale(1.1); box-shadow: 0 8px 30px rgba(37,211,102,.5); }
.wa-float svg { width: 26px; height: 26px; fill: #fff; }

/* ════════════════════════════════════════════
   PÁGINAS INTERNAS — BASE
════════════════════════════════════════════ */
.page-hero {
  background: linear-gradient(150deg, var(--graphite) 0%, var(--teal-navy) 60%, var(--purple-d) 100%);
  padding: 8rem 0 4rem;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 59px, rgba(255,255,255,.02) 59px, rgba(255,255,255,.02) 60px),
    repeating-linear-gradient(90deg, transparent, transparent 59px, rgba(255,255,255,.02) 59px, rgba(255,255,255,.02) 60px);
}
.page-hero-content { position: relative; z-index: 1; }
.page-hero h1 {
  font-family: var(--fd);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.page-hero h1 span { color: var(--teal); font-style: italic; }
.page-hero p { font-size: 1.1rem; color: rgba(255,255,255,.6); max-width: 520px; margin: 0 auto; line-height: 1.7; }

/* Breadcrumb */
.breadcrumb { display: flex; align-items: center; gap: .5rem; font-size: .8rem; color: rgba(255,255,255,.4); margin-bottom: 1.25rem; justify-content: center; }
.breadcrumb a { color: var(--teal-l); }
.breadcrumb span { opacity: .5; }

/* ════════════════════════════════════════════
   SINGLE CURSO / EBOOK — SALES PAGE
════════════════════════════════════════════ */
.sales-hero {
  background: linear-gradient(135deg, var(--graphite) 0%, var(--teal-navy) 50%, var(--purple-d) 100%);
  padding: 7rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.sales-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.sales-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--terra);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .35rem 1rem;
  border-radius: var(--r-pill);
  margin-bottom: 1.25rem;
}
.sales-cover {
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.4);
  aspect-ratio: 3/4;
  background: linear-gradient(135deg, var(--teal-navy), var(--purple-d));
  display: flex;
  align-items: center;
  justify-content: center;
}
.sales-cover img { width: 100%; height: 100%; object-fit: cover; }

/* Sticky buy card */
.buy-card-wrap { position: sticky; top: 6rem; }
.buy-card {
  background: var(--white);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 8px 40px rgba(0,0,0,.12);
  border: 1px solid var(--off);
}
.buy-card .price-orig { font-size: .875rem; color: var(--gray); text-decoration: line-through; }
.buy-card .price-curr {
  font-family: var(--fd);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--graphite);
  line-height: 1;
  display: block;
  margin: .25rem 0 .5rem;
}
.buy-card .price-install { font-size: .8rem; color: var(--gray); }
.buy-card .btn-hotmart {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  width: 100%;
  background: var(--teal);
  color: #fff;
  padding: 1rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  margin-top: 1.5rem;
  transition: all .25s;
  border: none;
  font-family: var(--fb);
  cursor: pointer;
}
.buy-card .btn-hotmart:hover { background: var(--teal-d); transform: translateY(-2px); box-shadow: var(--sh-teal); }
.buy-card-guarantees { margin-top: 1rem; display: flex; flex-direction: column; gap: .5rem; }
.guar-item { display: flex; align-items: center; gap: .5rem; font-size: .78rem; color: var(--gray); }
.guar-item::before { content: '✓'; color: var(--teal); font-weight: 700; }

/* ════════════════════════════════════════════
   FORMULÁRIOS
════════════════════════════════════════════ */
.form-group { margin-bottom: 1.25rem; }
.form-label { display: block; font-size: .875rem; font-weight: 500; color: var(--graphite); margin-bottom: .4rem; }
.form-input, .form-select, .form-textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1px solid var(--off);
  border-radius: 8px;
  background: var(--white);
  font-size: .9rem;
  color: var(--graphite);
  font-family: var(--fb);
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  -webkit-appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(0,171,171,.1);
}
.form-textarea { resize: vertical; min-height: 120px; }
.form-error { font-size: .78rem; color: var(--terra); margin-top: .3rem; }

/* ════════════════════════════════════════════
   DIAGNÓSTICO — STANDALONE
════════════════════════════════════════════ */
.diag-page {
  min-height: 100vh;
  background: linear-gradient(135deg, var(--graphite) 0%, var(--teal-navy) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
.diag-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 49px, rgba(0,171,171,.04) 49px, rgba(0,171,171,.04) 50px),
    repeating-linear-gradient(90deg, transparent, transparent 49px, rgba(0,171,171,.04) 49px, rgba(0,171,171,.04) 50px);
}
.diag-card {
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  padding: 3rem;
  max-width: 620px;
  width: 100%;
  position: relative;
  z-index: 1;
}
.diag-progress { margin-bottom: 2rem; }
.diag-progress-bar {
  height: 4px;
  background: rgba(255,255,255,.1);
  border-radius: 2px;
  overflow: hidden;
  margin-top: .5rem;
}
.diag-progress-fill { height: 100%; background: var(--teal); border-radius: 2px; transition: width .4s var(--ease); }
.diag-step { display: none; }
.diag-step.active { display: block; }
.diag-q { font-family: var(--fd); font-size: 1.5rem; font-weight: 600; color: #fff; margin-bottom: 1.5rem; line-height: 1.25; }
.diag-options { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.5rem; }
.diag-opt {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  cursor: pointer;
  transition: all .2s;
  color: rgba(255,255,255,.8);
  font-size: .9rem;
  text-align: left;
  font-family: var(--fb);
}
.diag-opt:hover { background: rgba(0,171,171,.12); border-color: rgba(0,171,171,.35); }
.diag-opt.selected { background: rgba(0,171,171,.2); border-color: var(--teal); color: #fff; }

/* ════════════════════════════════════════════
   GUIA / LANDING PAGE
════════════════════════════════════════════ */
.lp-hero {
  background: linear-gradient(150deg, var(--graphite) 0%, var(--teal-navy) 50%, var(--purple-d) 100%);
  padding: 6rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.lp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.lp-opt-form {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-lg);
  padding: 2.5rem;
}
.lp-opt-form h3 { font-family: var(--fd); font-size: 1.5rem; font-weight: 600; color: #fff; margin-bottom: .5rem; }
.lp-opt-form p { font-size: .875rem; color: rgba(255,255,255,.5); margin-bottom: 1.5rem; }
.lp-checklist { margin: 2rem 0; }
.lp-check { display: flex; align-items: flex-start; gap: .875rem; margin-bottom: 1rem; }
.lp-check-ic {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(0,171,171,.15);
  border: 1px solid rgba(0,171,171,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: .875rem;
}
.lp-check-text strong { display: block; font-size: .9rem; color: var(--graphite); margin-bottom: .15rem; }
.lp-check-text span { font-size: .8rem; color: var(--gray); line-height: 1.5; }

/* ════════════════════════════════════════════
   BLOG — ARCHIVE
════════════════════════════════════════════ */
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.archive-sidebar { position: sticky; top: 7rem; }
.archive-main-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; }
.widget {
  background: var(--white);
  border-radius: 14px;
  padding: 1.5rem;
  border: 1px solid var(--off);
  margin-bottom: 1.5rem;
}
.widget h3 {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gray);
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--off);
}
.widget-cats a { display: flex; justify-content: space-between; align-items: center; padding: .5rem 0; font-size: .875rem; color: var(--gray); border-bottom: 1px solid var(--off); transition: color .2s; }
.widget-cats a:hover { color: var(--teal); }
.widget-cats a span { font-size: .75rem; background: var(--cream); padding: .15rem .5rem; border-radius: 100px; }

/* ════════════════════════════════════════════
   PÁGINA SOBRE — TIMELINE
════════════════════════════════════════════ */
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, var(--teal), var(--purple)); }
.tl-item { position: relative; padding-bottom: 2.5rem; }
.tl-dot {
  position: absolute;
  left: -2.35rem;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--teal);
  border: 2px solid var(--cream);
  box-shadow: 0 0 0 3px rgba(0,171,171,.2);
  top: 4px;
}
.tl-year { font-size: .75rem; font-weight: 700; color: var(--teal); letter-spacing: .08em; margin-bottom: .3rem; }
.tl-item h3 { font-size: 1rem; font-weight: 600; color: var(--graphite); margin-bottom: .35rem; }
.tl-item p { font-size: .875rem; color: var(--gray); line-height: 1.6; }

/* MVV Cards */
.mvv-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.mvv-card {
  background: var(--white);
  border-radius: 14px;
  padding: 2rem;
  border: 1px solid var(--off);
  text-align: center;
}
.mvv-icon { font-size: 2rem; margin-bottom: 1rem; display: block; }
.mvv-card h3 { font-size: 1.1rem; font-weight: 600; color: var(--graphite); margin-bottom: .75rem; }
.mvv-card p { font-size: .875rem; color: var(--gray); line-height: 1.65; }

/* ════════════════════════════════════════════
   FAQ ACCORDION
════════════════════════════════════════════ */
.faq-list { max-width: 720px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--off); }
.faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 0;
  cursor: pointer;
  font-size: .9375rem;
  font-weight: 500;
  color: var(--graphite);
  gap: 1rem;
}
.faq-icon { flex-shrink: 0; transition: transform .3s; color: var(--teal); font-size: 1.1rem; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); }
.faq-item.open .faq-a { max-height: 400px; }
.faq-a p { padding-bottom: 1.25rem; font-size: .9rem; color: var(--gray); line-height: 1.7; }

/* ════════════════════════════════════════════
   CONTATO
════════════════════════════════════════════ */
.contact-channels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 3rem; }
.ch-card {
  background: var(--white);
  border-radius: 14px;
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--off);
  text-align: center;
  transition: transform .3s, box-shadow .3s;
}
.ch-card:hover { transform: translateY(-4px); box-shadow: var(--sh-md); }
.ch-icon { font-size: 1.75rem; margin-bottom: .75rem; display: block; }
.ch-card h3 { font-size: .9rem; font-weight: 600; color: var(--graphite); margin-bottom: .35rem; }
.ch-card p { font-size: .8rem; color: var(--gray); margin-bottom: 1rem; line-height: 1.5; }

/* ════════════════════════════════════════════
   PÁGINA OBRIGADO
════════════════════════════════════════════ */
.obrigado-page {
  min-height: 100vh;
  background: linear-gradient(135deg, var(--graphite) 0%, var(--teal-navy) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.obrigado-card {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  padding: 3.5rem;
  max-width: 580px;
  width: 100%;
  text-align: center;
}
.obrigado-card .icon { font-size: 3rem; margin-bottom: 1.25rem; display: block; }
.obrigado-card h1 { font-family: var(--fd); font-size: 2.25rem; font-weight: 600; color: #fff; margin-bottom: 1rem; }
.obrigado-card p { font-size: 1rem; color: rgba(255,255,255,.6); line-height: 1.7; margin-bottom: 2rem; }

/* ════════════════════════════════════════════
   PÁGINA LINKS (BIO INSTAGRAM)
════════════════════════════════════════════ */
.links-page {
  min-height: 100vh;
  background: linear-gradient(160deg, var(--graphite) 0%, var(--teal-navy) 50%, var(--purple-d) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
  position: relative;
  overflow: hidden;
}
.links-card { max-width: 420px; width: 100%; text-align: center; position: relative; z-index: 1; }
.links-avatar {
  width: 90px; height: 90px;
  border-radius: 50%;
  border: 3px solid var(--teal);
  margin: 0 auto 1rem;
  overflow: hidden;
  background: var(--teal-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}
.links-avatar img { width: 100%; height: 100%; object-fit: cover; }
.links-name { font-family: var(--fd); font-size: 1.5rem; font-weight: 600; color: #fff; }
.links-bio { font-size: .875rem; color: rgba(255,255,255,.5); margin: .5rem 0 2rem; line-height: 1.6; }
.links-list { display: flex; flex-direction: column; gap: .75rem; }
.link-item {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 1rem 1.5rem;
  color: #fff;
  font-size: .9rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.link-item:hover { background: rgba(0,171,171,.2); border-color: rgba(0,171,171,.4); transform: translateY(-2px); }
.link-item-icon { font-size: 1.1rem; }

/* ════════════════════════════════════════════
   POLÍTICA DE PRIVACIDADE / TERMOS
════════════════════════════════════════════ */
.legal-page { padding: 5rem 0; }
.legal-content {
  max-width: 760px;
  margin: 0 auto;
  background: var(--white);
  border-radius: 16px;
  padding: 3rem;
  border: 1px solid var(--off);
}
.legal-content h2 { font-family: var(--fd); font-size: 1.5rem; font-weight: 600; color: var(--graphite); margin: 2rem 0 .75rem; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { font-size: .9375rem; color: var(--gray); line-height: 1.8; margin-bottom: 1rem; }
.legal-content ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.legal-content ul li { font-size: .9375rem; color: var(--gray); line-height: 1.8; list-style: disc; margin-bottom: .35rem; }
.legal-content a { color: var(--teal); }
.legal-updated { font-size: .78rem; color: var(--gray-w); margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--off); }

/* ════════════════════════════════════════════
   404
════════════════════════════════════════════ */
.not-found {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
}
.not-found-num {
  font-family: var(--fd);
  font-size: 8rem;
  font-weight: 700;
  color: var(--teal);
  line-height: 1;
  opacity: .15;
  display: block;
  margin-bottom: -2rem;
}
.not-found h1 { font-family: var(--fd); font-size: 2rem; font-weight: 600; color: var(--graphite); margin-bottom: 1rem; }
.not-found p { font-size: 1rem; color: var(--gray); margin-bottom: 2rem; }

/* ════════════════════════════════════════════
   ADMIN — BARRA ADMIN WP
════════════════════════════════════════════ */
.admin-bar-showing .site-header { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar-showing .site-header { top: 46px; }
}

/* ════════════════════════════════════════════
   RESPONSIVO — MOBILE FIRST
   Breakpoints: 480px / 768px / 1024px
════════════════════════════════════════════ */

/* ════════════════════════════════════════════
   RESPONSIVO — MOBILE FIRST COMPLETO
   Breakpoints: 1024px / 768px / 480px / 375px
════════════════════════════════════════════ */

/* ─── Tablet landscape (≤1024px) ─── */
@media (max-width: 1024px) {
  .prod-g            { grid-template-columns: repeat(2, 1fr); }
  .ft-g              { grid-template-columns: 1fr 1fr; }
  .contact-channels  { grid-template-columns: repeat(2, 1fr); }
  .archive-main-grid { grid-template-columns: 1fr; }
  .archive-sidebar   { position: static; }
  .nl-sec-grid       { gap: 2.5rem; }
  .sobre-g           { gap: 3rem; }
}

/* ─── Tablet portrait (≤768px) ─── */
@media (max-width: 768px) {

  /* Tipografia */
  .hero h1           { font-size: clamp(2rem, 8vw, 2.8rem); line-height: 1.08; }
  .sec-head h2       { font-size: clamp(1.6rem, 5vw, 2.2rem); }

  /* Header */
  .header-topbar     { display: none; }
  .header-main       { padding: .75rem 1.25rem; }
  .nav               { display: none; }
  .nav-toggle        { display: flex; }
  .hcta              { display: none; }

  /* Hero */
  .hero              { padding-top: 4.5rem; min-height: auto; padding-bottom: 3rem; }
  .hero-grid         { grid-template-columns: 1fr; }
  .hero-photo        { display: none; }
  .hero-acts         { flex-direction: column; gap: .75rem; }
  .hero-acts .btn    { width: 100%; justify-content: center; padding: .875rem 1.5rem; font-size: .9375rem; }

  /* Stats */
  .stats-g           { grid-template-columns: repeat(2, 1fr); }
  .stat              { padding: 1.75rem 1rem; }
  .stat-n            { font-size: 2.25rem; }

  /* Grids */
  .serv-g            { grid-template-columns: 1fr; gap: 1rem; }
  .sobre-g           { grid-template-columns: 1fr; }
  .blog-g            { grid-template-columns: 1fr; }
  /* Depoimentos: carrossel por swipe no mobile em vez de empilhar tudo verticalmente */
  .dep-g {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .5rem;
    scrollbar-width: none;
  }
  .dep-g::-webkit-scrollbar { display: none; }
  .dep-card { scroll-snap-align: center; flex: 0 0 85%; }
  .mvv-g             { grid-template-columns: 1fr; }
  .nl-sec-grid       { grid-template-columns: 1fr; gap: 2rem; }
  .ins-g             { grid-template-columns: 1fr; }
  .sales-grid        { grid-template-columns: 1fr; }
  .lp-grid           { grid-template-columns: 1fr; }
  .espera-form-row   { grid-template-columns: 1fr; }
  .ft-g              { grid-template-columns: 1fr; gap: 2rem; }
  .ft-qlinks         { flex-wrap: wrap; gap: .75rem; }
  .ft-bi             { flex-direction: column; gap: .75rem; text-align: center; }

  /* Sobre — foto menor no mobile */
  .sobre-frame       { aspect-ratio: 4/3; max-height: 320px; }

  /* CTA */
  .cta-panel         { padding: 2rem 1.25rem; }
  .cta-opts          { grid-template-columns: 1fr; }
  .cta-micros        { gap: .5rem; }
  .cta-mc            { font-size: .72rem; }

  /* Diagnóstico */
  .diag-card         { padding: 2rem 1.25rem; }

}

/* ─── Mobile (≤480px) ─── */
@media (max-width: 480px) {

  /* Layout base */
  .container         { padding: 0 1.125rem; }
  .sp                { padding: 3rem 0; }
  .sp-sm             { padding: 2rem 0; }

  /* Tipografia */
  .hero h1           { font-size: 1.9rem; }
  .sec-head h2       { font-size: 1.5rem; }

  /* Hero */
  .hero              { padding-top: 4rem; }
  .hero-pill         { font-size: .62rem; }
  .hero-sub          { font-size: .9rem; }

  /* Stats — 2 colunas compactas */
  .stats-g           { grid-template-columns: 1fr 1fr; }
  .stat              { padding: 1.5rem .75rem; }
  .stat-n            { font-size: 2rem; }
  .stat-l            { font-size: .7rem; }

  /* Produtos */
  .prod-g            { grid-template-columns: 1fr; }
  .prod-tabs         { flex-wrap: wrap; gap: .375rem; }

  /* Serviços */
  .serv-card         { padding: 1.5rem; }

  /* Blog */
  .blog-thumb        { aspect-ratio: 16/8; }

  /* Footer */
  .ft-legal          { flex-wrap: wrap; gap: .75rem; justify-content: center; }

  /* Formulários */
  .nl-form-card      { padding: 1.5rem; }
  .nl-input-row      { flex-direction: column; }
  .nl-input-row .nl-btn { width: 100%; padding: .875rem; }

  /* WhatsApp flutuante — menor e mais afastado do conteúdo */
  .wa-float          { width: 46px; height: 46px; bottom: 1.25rem; right: 1.25rem; }
  .wa-float svg      { width: 22px; height: 22px; }
}

/* ─── Mobile pequeno (≤375px) ─── */
@media (max-width: 375px) {
  .container         { padding: 0 1rem; }
  .hero h1           { font-size: 1.7rem; }
  .stats-g           { grid-template-columns: 1fr 1fr; }
  .stat-n            { font-size: 1.75rem; }
  .btn               { font-size: .8125rem; padding: .7rem 1.25rem; }
  .hero-acts .btn    { padding: .8rem 1.25rem; }
}

/* ─── Nav mobile aberta ─── */
.nav.open {
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0;
  background: var(--graphite);
  z-index: 490;
  justify-content: center;
  align-items: center;
  gap: 1.75rem;
  padding: 2rem;
  overflow-y: auto;
}
.nav.open .nav-a,
.nav.open .nav-btn-mega {
  font-size: 1.375rem;
  color: rgba(255,255,255,.7);
  font-weight: 400;
}
.nav.open .nav-a:hover,
.nav.open .nav-btn-mega:hover { color: var(--teal); }
.nav.open .nav-arrow { display: none; }

/* ─── Admin bar WordPress ─── */
@media screen and (max-width: 782px) {
  .admin-bar-showing .site-header { top: 46px; }
}
.admin-bar-showing .site-header { top: 32px; }

/* ─── Print ─── */
@media print {
  .site-header, .wa-float, #cookie-banner, #scroll-progress { display: none !important; }
  body { background: #fff; color: #000; }
}

body { background: #fff; color: #000; }



/* ════════════════════════════════════════════
   MEGA MENU — sistema via JS, fora do header
   Posicionado por getBoundingClientRect()
════════════════════════════════════════════ */

/* Botão de nav que abre mega */
.nav-btn-mega {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  cursor: pointer;
  font-family: var(--fb);
  font-size: .875rem;
  color: var(--gray);
  transition: color .2s;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: 0 0 3px 0;
  margin: 0;
  line-height: inherit;
}
.site-header.top .nav-btn-mega { color: rgba(255,255,255,.7); }
.nav-btn-mega::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 1.5px;
  background: var(--teal);
  transition: width .25s;
  border-radius: 2px;
}
.nav-btn-mega:hover::after,
.nav-btn-mega.active::after,
.nav-btn-mega[aria-expanded="true"]::after { width: 100%; }
.nav-btn-mega:hover { color: var(--graphite); }
.site-header.top .nav-btn-mega:hover { color: #fff; }
.nav-btn-mega.active { color: var(--teal); font-weight: 500; }
.site-header.top .nav-btn-mega.active { color: var(--teal-l); }
.nav-btn-mega[aria-expanded="true"] { color: var(--teal); }
.site-header.top .nav-btn-mega[aria-expanded="true"] { color: var(--teal-l); }

.nav-arrow {
  width: 10px; height: 6px;
  flex-shrink: 0;
  transition: transform .22s;
  pointer-events: none;
}
.nav-btn-mega[aria-expanded="true"] .nav-arrow { transform: rotate(180deg); }

/* Overlay invisível — fecha ao clicar fora */
#mega-overlay {
  position: fixed;
  inset: 0;
  z-index: 800;
  background: transparent;
}
#mega-overlay[hidden] { display: none; }

/* Painel do mega — position fixed, posicionado via JS */
.mega-panel {
  position: fixed;
  z-index: 900;
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--off);
  box-shadow: 0 16px 56px rgba(0,0,0,.14), 0 4px 16px rgba(0,0,0,.06);
  padding: .75rem;
  min-width: 300px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .15s ease, transform .15s ease;
  pointer-events: none;     /* bloqueado até .open */
  user-select: none;
}
.mega-panel[hidden] { display: none !important; }
.mega-panel.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;     /* clicável assim que visível */
  user-select: auto;
}
/* Seta decorativa */
.mega-panel::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 6px solid var(--off);
}
.mega-panel::after {
  content: '';
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 5px solid #fff;
}

/* Botão "Voltar ao menu" — existe só no fluxo mobile (drill-down) */
.mega-panel__back {
  display: none;
  align-items: center;
  gap: .5rem;
  width: 100%;
  background: none;
  border: none;
  border-bottom: 1px solid var(--off);
  padding: 0 0 1rem;
  margin-bottom: 1rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--graphite);
  cursor: pointer;
}

/* ── Mobile: painel assume a tela cheia (drill-down), sem posicionamento
   flutuante calculado via JS — evita um painel flutuando por cima do
   menu hambúrguer em tela cheia. Corrigido na auditoria de 20/07/2026. ── */
@media (max-width: 768px) {
  .mega-panel {
    position: fixed;
    inset: 0;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 100vh;
    border-radius: 0;
    border: none;
    z-index: 850; /* acima do .nav.open (490) E do #mega-overlay (800) */
    padding: 5rem 1.25rem 2rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateY(12px); /* sobrescreve o translateY(8px) do desktop */
  }
  .mega-panel.open { transform: translateY(0); }
  .mega-panel::before,
  .mega-panel::after { display: none; }
  .mega-panel__back { display: flex; }
  .mega-inner--2col { grid-template-columns: 1fr; }
}

/* Inner grid */
.mega-inner {
  display: flex;
  flex-direction: column;
  gap: .375rem;
}
.mega-inner--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}

/* Item */
.mega-item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .75rem .875rem;
  border-radius: 10px;
  text-decoration: none;
  color: var(--graphite);
  transition: background .15s, border-color .15s;
  border: 1px solid transparent;
}
.mega-item:hover {
  background: var(--cream);
  border-color: var(--off);
  color: var(--graphite);
}
.mega-item--hl:hover {
  background: rgba(0,171,171,.05);
  border-color: rgba(0,171,171,.18);
}

/* Ícone */
.mega-ic {
  width: 36px; height: 36px;
  min-width: 36px;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mega-ic--t { background: rgba(0,171,171,.08); }
.mega-ic svg { display: block; flex-shrink: 0; }

/* Texto */
.mega-text { min-width: 0; }
.mega-title {
  font-size: .875rem;
  font-weight: 600;
  color: var(--graphite);
  margin-bottom: .2rem;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}
.mega-desc {
  font-size: .75rem;
  color: var(--gray);
  line-height: 1.4;
}
.mega-badge {
  font-size: .58rem;
  font-weight: 700;
  background: rgba(0,171,171,.12);
  color: var(--teal-d);
  padding: .12rem .5rem;
  border-radius: 100px;
  letter-spacing: .03em;
  white-space: nowrap;
}

/* ════════════════════════════════════════════
   NAV ATIVO POR SEÇÃO + MEGA WRAP ACTIVE
════════════════════════════════════════════ */
.nav-mega-wrap { display: none; } /* não usado mais */

/* ════════════════════════════════════════════
   AJUSTE DE CLAREZA — seções menos escuras
════════════════════════════════════════════ */
.produtos {
  background: linear-gradient(180deg, #0d3a45 0%, #1e1030 100%);
}
.stats-bar { background: #263238; }
.sobre { background: var(--cream); }

/* Logo hexágono mais visível em fundo escuro */
/* Logo — fundo escuro (hero, topo) */


/* ════════════════════════════════════════════
   FORMULÁRIO LISTA DE ESPERA — 3 campos
════════════════════════════════════════════ */
.espera-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-bottom: .75rem;
}
@media (max-width: 600px) {
  .espera-form-row { grid-template-columns: 1fr; }
}


/* Footer — logo sempre legível no fundo escuro */
.site-footer .logo-name { color: #ffffff !important; }
.site-footer .logo-code { color: var(--terra); }
.site-footer .logo svg line { stroke: #ffffff; }
.site-footer .logo svg polygon { stroke: var(--teal); }

/* ════════ LOGO — estados claro e escuro ════════ */
/* Padrão (fundo claro, scrolled) */
.logo-name { color: var(--graphite); }
.logo-code { color: var(--terra); opacity: .85; }
.site-header .logo svg line    { stroke: var(--graphite); }
.site-header .logo svg polygon { stroke: var(--teal); }

/* Sobre o hero (fundo escuro) */
.site-header.top .logo-name        { color: #ffffff; }
.site-header.top .logo-code        { color: var(--terra); }
.site-header.top .logo svg line    { stroke: #ffffff; }
.site-header.top .logo svg polygon { stroke: var(--teal); }

/* Após scroll (fundo branco) */
.site-header.scrolled .logo-name        { color: var(--graphite); }
.site-header.scrolled .logo-code        { color: var(--terra); }
.site-header.scrolled .logo svg line    { stroke: var(--graphite); }
.site-header.scrolled .logo svg polygon { stroke: var(--teal); }

/* Footer (fundo escuro graphite) */
.site-footer .logo-name        { color: #ffffff !important; }
.site-footer .logo-code        { color: var(--terra); }
.site-footer .logo svg line    { stroke: #ffffff; }
.site-footer .logo svg polygon { stroke: var(--teal); }

/* === PAGES CSS EMBUTIDO === */
/* =================================================================
   TALS GESTÃO — CSS COMPLEMENTAR (pages + components)
   Adicionar ao final do style.css principal
   ================================================================= */

/* ─── PÁGINA SOBRE ─────────────────────────────────────────────── */
.sobre-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.sobre-hero__badges { display: flex; flex-direction: column; gap: .75rem; margin: 1.5rem 0; }
.badge-item { display: flex; align-items: center; gap: .75rem; font-size: .9375rem; color: var(--gray); }
.badge-icon { font-size: 1.2rem; }
.sobre-hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.5rem; }
.sobre-hero__photo { position: relative; }
.photo-frame { border-radius: 16px; overflow: hidden; aspect-ratio: 4/5; background: var(--off); }
.photo-frame img { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: 1rem; color: var(--gray); }
.placeholder-icon { font-size: 4rem; }
.photo-stats { position: absolute; bottom: -1.5rem; left: -1.5rem; display: flex; flex-direction: column; gap: .75rem; }
.stat-bubble { background: var(--white); border-radius: 12px; padding: 1rem 1.25rem; box-shadow: 0 4px 20px rgba(0,0,0,.12); }
.stat-bubble strong { display: block; font-size: 1.5rem; font-weight: 900; color: var(--teal); }
.stat-bubble span { font-size: .8rem; color: var(--gray); }

/* Timeline */
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ''; position: absolute; left: 1rem; top: 0; bottom: 0; width: 2px; background: var(--teal); opacity: .3; }
.timeline__item { display: grid; grid-template-columns: 80px 1rem 1fr; gap: 1.5rem; align-items: start; margin-bottom: 2rem; }
.timeline__year { font-weight: 700; color: var(--teal); font-size: 1.1rem; text-align: right; padding-top: .25rem; }
.timeline__dot { width: 1rem; height: 1rem; border-radius: 50%; background: var(--teal); margin-top: .35rem; position: relative; z-index: 1; flex-shrink: 0; }
.timeline__content h3 { margin-bottom: .35rem; font-size: 1.05rem; }
.timeline__content p { color: var(--gray); font-size: .9375rem; }

/* MVV */
.mvv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.mvv-card { background: var(--white); border-radius: 16px; padding: 2rem; border: 1px solid rgba(0,0,0,.06); text-align: center; }
.mvv-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.mvv-card h3 { margin-bottom: .75rem; color: var(--teal); }
.mvv-card ul { list-style: none; text-align: left; color: var(--gray); }
.mvv-card ul li { padding: .25rem 0; padding-left: 1.25rem; position: relative; font-size: .9375rem; }
.mvv-card ul li::before { content: '→'; position: absolute; left: 0; color: var(--teal); }

/* Pilares */
.pilares-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.pilar-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 1.5rem; text-align: center; position: relative; }
.pilar-num { position: absolute; top: 1rem; right: 1rem; font-size: .75rem; font-weight: 900; color: var(--teal); opacity: .5; }
.pilar-icon { font-size: 2rem; display: block; margin-bottom: .75rem; }
.pilar-card h3 { color: var(--white); font-size: 1rem; margin-bottom: .5rem; }
.pilar-card p { color: rgba(255,255,255,.6); font-size: .85rem; }

/* ─── PÁGINA SERVIÇOS ───────────────────────────────────────────── */
.servico-bloco { display: grid; grid-template-columns: 1fr 320px; gap: 4rem; align-items: start; position: relative; }
.servico-bloco--reverse { direction: rtl; }
.servico-bloco--reverse > * { direction: ltr; }
.servico-bloco__badge { position: absolute; top: -1rem; left: -1rem; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 900; font-size: 1rem; }
.servico-bloco__header { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; }
.servico-icon { font-size: 2.5rem; }
.servico-bloco__header h2 { margin-bottom: .25rem; }
.servico-tagline { color: var(--gray); font-size: 1rem; margin: 0; }
.servico-entregaveis { margin: 1.5rem 0; }
.servico-entregaveis h4 { margin-bottom: .75rem; font-size: .9375rem; }
.servico-entregaveis ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; }
.servico-entregaveis li { font-size: .9rem; color: var(--gray); }
.servico-bloco__cta { display: flex; align-items: center; gap: 1.5rem; }
.servico-duracao { font-size: .875rem; color: var(--gray); }
.servico-divider { height: 2px; background: var(--off); margin: 4rem 0; }
.servico-resultado-card { background: var(--teal); color: #324047; border-radius: 20px; padding: 2rem; text-align: center; }
.servico-resultado-card--2 { background: var(--graphite); color: var(--white); margin-top: 1rem; }
.resultado-numero { font-size: 3rem; font-weight: 900; line-height: 1; margin-bottom: .5rem; }
.resultado-desc { font-size: .875rem; line-height: 1.4; }

/* Processo */
.processo-steps { display: flex; align-items: flex-start; gap: 0; overflow-x: auto; }
.processo-step { flex: 1; min-width: 160px; text-align: center; position: relative; padding: 1.5rem 1rem; }
.processo-step__num { width: 48px; height: 48px; border-radius: 50%; background: var(--teal); color: #324047; font-weight: 900; font-size: 1.25rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.processo-step__content h3 { font-size: 1rem; margin-bottom: .5rem; }
.processo-step__content p { font-size: .875rem; color: var(--gray); }
.processo-step__arrow { position: absolute; top: 2rem; right: -.75rem; font-size: 1.25rem; color: var(--teal); z-index: 1; }

/* ─── VITRINE (cursos + ebooks) ────────────────────────────────── */
.vitrine-hero { text-align: center; padding-bottom: 3rem; }
.vitrine-stats { display: flex; gap: 3rem; justify-content: center; margin-top: 2rem; }
.vstat { text-align: center; }
.vstat strong { display: block; font-size: 2rem; font-weight: 900; color: var(--teal); }
.vstat span { font-size: .875rem; color: var(--gray); }

.filtros-bar { display: flex; gap: .5rem; flex-wrap: wrap; padding: 1rem 0; border-bottom: 1px solid var(--off); }
.filtro-btn { background: var(--white); border: 1px solid var(--off); border-radius: 100px; padding: .4rem 1rem; font-size: .875rem; cursor: pointer; transition: all .2s; }
.filtro-btn:hover, .filtro-btn.active { background: var(--teal); border-color: var(--teal); color: #324047; font-weight: 600; }

.vitrine-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 1.5rem; }
.produto-card { background: var(--white); border-radius: 16px; border: 1px solid rgba(0,0,0,.06); overflow: hidden; transition: transform .25s, box-shadow .25s; position: relative; }
.produto-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.produto-card--destaque { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.produto-badge { position: absolute; top: 1rem; left: 1rem; z-index: 2; font-size: .75rem; font-weight: 700; padding: .3em .75em; border-radius: 100px; }
.produto-badge--destaque { background: var(--teal); color: #324047; }
.produto-badge--promo { background: var(--terra); color: #fff; }
.produto-badge--free { background: #22c55e; color: #fff; }
.produto-card__thumb { aspect-ratio: 16/9; overflow: hidden; background: var(--off); }
.produto-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: .5rem; color: var(--gray); font-size: .875rem; text-align: center; padding: 1rem; }
.thumb-placeholder span:first-child { font-size: 2.5rem; }
.produto-card__body { padding: 1.25rem; }
.produto-categoria { font-size: .75rem; font-weight: 700; color: var(--teal); text-transform: uppercase; letter-spacing: .05em; }
.produto-titulo { font-size: 1.05rem; margin: .5rem 0; }
.produto-excerpt { font-size: .875rem; color: var(--gray); margin-bottom: 1rem; }
.produto-meta { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.meta-item { font-size: .8rem; color: var(--gray); }
.produto-preco { margin-bottom: 1rem; }
.preco-original { font-size: .875rem; color: var(--gray); text-decoration: line-through; display: block; }
.preco-atual { font-size: 1.5rem; font-weight: 900; color: var(--graphite); }
.preco-free { color: #22c55e; }
.preco-parcelas { font-size: .8rem; color: var(--gray); display: block; }
.produto-card__actions { display: flex; gap: .75rem; }
.desconto-badge { background: var(--terra); color: #fff; font-size: .75rem; font-weight: 700; padding: .2em .5em; border-radius: 4px; }

/* Ebook específico */
.ebook-thumb { position: relative; aspect-ratio: 3/4; }
.ebook-formato-badge { position: absolute; bottom: .5rem; right: .5rem; background: rgba(0,0,0,.7); color: #fff; font-size: .65rem; font-weight: 700; padding: .2em .5em; border-radius: 4px; }
.vitrine-grid--ebooks { grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); }

/* Ebook destaque */
.ebook-destaque__grid { display: grid; grid-template-columns: 1fr 320px; gap: 4rem; align-items: center; }
.badge-free { display: inline-block; background: rgba(255,255,255,.2); color: #fff; font-size: .75rem; font-weight: 700; padding: .3em 1em; border-radius: 100px; border: 1px solid rgba(255,255,255,.3); margin-bottom: 1rem; }
.ebook-topicos { list-style: none; margin: 1.5rem 0; }
.ebook-topicos li { padding: .4rem 0; font-size: .9375rem; }
.ebook-cover-placeholder { display: flex; justify-content: center; align-items: center; }
.cover-mock { background: rgba(255,255,255,.1); border-radius: 12px; padding: 2rem; text-align: center; color: #fff; display: flex; flex-direction: column; gap: .75rem; font-weight: 700; }
.cover-mock span:first-child { font-size: 3rem; }

/* Benefícios */
.beneficios-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.beneficio-item { text-align: center; }
.beneficio-icon { font-size: 2.5rem; display: block; margin-bottom: .75rem; }
.beneficio-item h4 { margin-bottom: .35rem; }
.beneficio-item p { font-size: .875rem; color: var(--gray); }

/* Garantia */
.garantia-box { background: var(--white); border: 2px solid var(--teal); border-radius: 16px; padding: 2rem; display: flex; align-items: center; gap: 2rem; max-width: 600px; margin: 0 auto; }
.garantia-icon { font-size: 3rem; }
.garantia-content h3 { margin-bottom: .35rem; }
.garantia-content p { color: var(--gray); font-size: .9375rem; }

/* ─── SALES PAGE (curso/ebook) ─────────────────────────────────── */
.sp-hero__grid { display: grid; grid-template-columns: 1fr 380px; gap: 3rem; align-items: start; }
.sp-breadcrumb { font-size: .8rem; color: var(--gray); margin-bottom: 1rem; }
.sp-breadcrumb a { color: var(--gray); }
.sp-hero h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 1rem; }
.sp-hero__subtitle { font-size: 1.125rem; color: var(--gray); margin-bottom: 1.5rem; }
.sp-meta-bar { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.meta-rating { display: flex; align-items: center; gap: .5rem; }
.stars { color: #f59e0b; letter-spacing: .05em; }

.sp-buy-card { background: var(--white); border: 1px solid rgba(0,0,0,.08); border-radius: 16px; overflow: hidden; position: sticky; top: 100px; box-shadow: 0 8px 30px rgba(0,0,0,.1); }
.sp-buy-card img { width: 100%; display: block; aspect-ratio: 16/9; object-fit: cover; }
.sp-buy-card__pricing { padding: 1.5rem 1.5rem 0; text-align: center; }
.sp-buy-card .preco-atual { font-size: 2rem; }
.sp-buy-card .btn { margin: 1rem 1.5rem 0; width: calc(100% - 3rem); display: block; text-align: center; }
.sp-buy-card__garantia { padding: .75rem 1.5rem; text-align: center; font-size: .8rem; color: var(--gray); display: flex; align-items: center; gap: .5rem; justify-content: center; border-top: 1px solid var(--off); margin-top: 1rem; }
.sp-buy-card__incluso { list-style: none; padding: .75rem 1.5rem 1.5rem; border-top: 1px solid var(--off); }
.sp-buy-card__incluso li { font-size: .875rem; color: var(--gray); padding: .25rem 0; }

.para-quem-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 1rem; }
.para-quem-item { display: flex; align-items: flex-start; gap: 1rem; background: var(--white); border-radius: 12px; padding: 1rem 1.25rem; border: 1px solid var(--off); }
.check-icon { font-size: 1.2rem; flex-shrink: 0; }

.sp-cta-final { text-align: center; }
.sp-cta-pricing { margin: 1.5rem 0; display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.sp-cta-pricing .preco-atual { font-size: 2.5rem; }
.cta-garantia { margin-top: .75rem; font-size: .875rem; }

/* ─── PÁGINA CONTATO ────────────────────────────────────────────── */
.contato-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
.contato-info h2 { margin-bottom: 1rem; }
.contato-canais { display: flex; flex-direction: column; gap: .75rem; margin: 1.5rem 0; }
.canal-item { display: flex; align-items: center; gap: 1rem; background: var(--white); border: 1px solid var(--off); border-radius: 12px; padding: 1rem 1.25rem; text-decoration: none; color: var(--graphite); transition: border-color .2s, box-shadow .2s; }
.canal-item:hover { border-color: var(--teal); box-shadow: 0 4px 12px rgba(45,212,200,.15); }
.canal-item--whatsapp:hover { border-color: #25d366; box-shadow: 0 4px 12px rgba(37,211,102,.15); }
.canal-icon { font-size: 1.5rem; }
.canal-info { flex: 1; }
.canal-info strong { display: block; font-size: .9375rem; }
.canal-info span { display: block; font-size: .8rem; color: var(--gray); }
.canal-link { color: var(--teal) !important; font-weight: 600 !important; }
.canal-arrow { color: var(--gray); font-size: 1.1rem; }
.contato-horario { background: var(--off); border-radius: 12px; padding: 1.25rem 1.5rem; margin-top: 1rem; }
.contato-horario h3 { margin-bottom: .75rem; font-size: 1rem; }
.contato-horario ul { list-style: none; }
.contato-horario li { display: flex; justify-content: space-between; padding: .25rem 0; font-size: .9rem; }
.horario-obs { font-size: .75rem; color: var(--gray); margin-top: .75rem; }
.contato-form-card { background: var(--white); border: 1px solid var(--off); border-radius: 16px; padding: 2rem; }
.contato-form-card h3 { margin-bottom: .25rem; }
.contato-form-card > p { color: var(--gray); font-size: .9rem; margin-bottom: 1.5rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { margin-bottom: 1rem; }
.form-group label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .35rem; }
.form-group input, .form-group textarea, .form-group select { width: 100%; border: 1px solid #ddd; border-radius: 8px; padding: .6rem .875rem; font-size: .9375rem; font-family: inherit; transition: border-color .2s, box-shadow .2s; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(45,212,200,.12); }
.form-group textarea { min-height: 120px; resize: vertical; }
.form-group--consent { display: flex; align-items: flex-start; gap: .75rem; }
.checkbox-label { display: flex; align-items: flex-start; gap: .5rem; font-size: .875rem; color: var(--gray); cursor: pointer; }
.checkbox-label input { margin-top: .2rem; flex-shrink: 0; }
.form-success-msg { background: #d1fae5; color: #065f46; border-radius: 8px; padding: .875rem 1rem; margin-bottom: 1rem; font-size: .9rem; }
.form-message.success { background: #d1fae5; color: #065f46; border-radius: 8px; padding: .75rem 1rem; margin-top: .75rem; }
.form-message.error { background: #fee2e2; color: #991b1b; border-radius: 8px; padding: .75rem 1rem; margin-top: .75rem; }

/* ─── PÁGINA OBRIGADO ───────────────────────────────────────────── */
.obrigado-hero { min-height: 70vh; display: flex; align-items: center; background: linear-gradient(135deg, #f8f9fa 0%, #e8f8f8 100%); }
.obrigado-card { max-width: 680px; margin: 0 auto; text-align: center; background: var(--white); border-radius: 24px; padding: 3rem; box-shadow: 0 16px 48px rgba(0,0,0,.08); }
.obrigado-emoji { font-size: 4rem; margin-bottom: 1rem; }
.obrigado-badge { display: inline-block; font-size: .8rem; font-weight: 700; padding: .35em 1em; border-radius: 100px; margin-bottom: 1.5rem; }
.obrigado-card h1 { font-size: clamp(1.75rem, 3vw, 2.25rem); margin-bottom: .5rem; }
.obrigado-subtitle { font-size: 1.2rem; font-weight: 600; color: var(--gray); margin-bottom: 1rem; }
.obrigado-desc { color: var(--gray); font-size: 1rem; margin-bottom: 2rem; line-height: 1.7; }
.obrigado-ctas { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.step-card { background: var(--white); border-radius: 16px; padding: 1.75rem; border: 1px solid var(--off); text-align: center; position: relative; }
.step-card__num { position: absolute; top: -1rem; left: 50%; transform: translateX(-50%); width: 2rem; height: 2rem; border-radius: 50%; background: var(--teal); color: #324047; font-weight: 900; font-size: .875rem; display: flex; align-items: center; justify-content: center; }
.step-card__icon { font-size: 2rem; margin: .75rem 0; display: block; }
.step-card h3 { margin-bottom: .5rem; font-size: 1rem; }
.step-card p { font-size: .875rem; color: var(--gray); }

/* ─── EMPTY STATE ───────────────────────────────────────────────── */
.empty-state { text-align: center; padding: 4rem 2rem; }
.empty-icon { font-size: 3rem; display: block; margin-bottom: 1rem; }
.empty-state h3 { margin-bottom: .5rem; }
.empty-state p { color: var(--gray); margin-bottom: 1.5rem; }

/* ─── DESTAQUES E UTILITÁRIOS EXTRA ────────────────────────────── */
.btn-white { background: var(--white); color: var(--graphite); }
.btn-white:hover { background: var(--off); }
.btn-outline-white { background: transparent; color: var(--white); border: 2px solid var(--white); }
.btn-outline-white:hover { background: rgba(255,255,255,.1); }
.btn-ghost { background: transparent; color: var(--graphite); border: 1px solid var(--off); }
.btn-ghost:hover { border-color: var(--teal); color: var(--teal); }
.btn-xl { padding: 1.1rem 2.5rem; font-size: 1.125rem; }
.btn-full { width: 100%; text-align: center; display: block; }
.text-light { color: rgba(255,255,255,.7) !important; }
.link-arrow { color: var(--teal); text-decoration: none; font-weight: 600; font-size: .9375rem; }
.link-arrow:hover { text-decoration: underline; }
.bg-turquesa { background-color: var(--teal); }

/* ─── RESPONSIVIDADE DAS NOVAS PÁGINAS ─────────────────────────── */
@media (max-width: 1024px) {
  .pilares-grid { grid-template-columns: repeat(3, 1fr); }
  .sp-hero__grid { grid-template-columns: 1fr; }
  .sp-buy-card { position: static; }
  .servico-bloco { grid-template-columns: 1fr; }
  .servico-bloco--reverse { direction: ltr; }
}

@media (max-width: 768px) {
  .sobre-hero__grid { grid-template-columns: 1fr; }
  .photo-stats { position: static; flex-direction: row; margin-top: 1.5rem; }
  .mvv-grid { grid-template-columns: 1fr; }
  .pilares-grid { grid-template-columns: 1fr 1fr; }
  .beneficios-grid { grid-template-columns: 1fr 1fr; }
  .vitrine-stats { gap: 1.5rem; }
  .ebook-destaque__grid { grid-template-columns: 1fr; }
  .contato-layout { grid-template-columns: 1fr; gap: 2rem; }
  .form-row { grid-template-columns: 1fr; }
  .obrigado-ctas { flex-direction: column; align-items: center; }
  .steps-grid { grid-template-columns: 1fr; }
  .timeline__item { grid-template-columns: 60px 1rem 1fr; gap: 1rem; }
  .processo-steps { flex-direction: column; }
  .processo-step__arrow { display: none; }
  .servico-entregaveis ul { grid-template-columns: 1fr; }
  .sp-buy-card .btn { width: calc(100% - 3rem); }
}

@media (max-width: 480px) {
  .vitrine-grid { grid-template-columns: 1fr; }
  .vitrine-grid--ebooks { grid-template-columns: 1fr; }
  .pilares-grid { grid-template-columns: 1fr; }
  .beneficios-grid { grid-template-columns: 1fr; }
  .obrigado-card { padding: 2rem 1.25rem; }
}

/* ════════════════════════════════════════════
   LANDING PAGES — CURSOS E EBOOKS
   Estrutura de alta conversão
════════════════════════════════════════════ */

/* Hero LP */
.lp-hero {
  background: linear-gradient(150deg, var(--graphite) 0%, var(--teal-navy) 60%, var(--purple-d) 100%);
  padding: 5rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.lp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 70% 50%, rgba(0,171,171,.15) 0%, transparent 70%);
  pointer-events: none;
}
.lp-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3rem;
  align-items: center;
}
.lp-badge {
  display: inline-block;
  background: rgba(0,171,171,.2);
  color: var(--teal-l);
  border: 1px solid rgba(0,171,171,.4);
  border-radius: 100px;
  font-size: .8rem;
  font-weight: 600;
  padding: .3em 1em;
  margin-bottom: 1rem;
  letter-spacing: .04em;
}
.lp-hero__content h1 {
  font-family: var(--fd);
  font-size: clamp(2rem, 4vw, 3rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 1rem;
}
.lp-sub {
  font-size: 1.0625rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 1.5rem;
  line-height: 1.7;
}
.lp-bullets {
  list-style: none;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: .625rem;
}
.lp-bullets li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .9375rem;
  color: rgba(255,255,255,.85);
}
.lp-check-ic {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0,171,171,.25);
  color: var(--teal-l);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.lp-hero__cta { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.lp-hero__price { display: flex; flex-direction: column; }
.lp-price-orig {
  font-size: .875rem;
  color: rgba(255,255,255,.5);
  text-decoration: line-through;
}
.lp-price-curr {
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}
.lp-price-free {
  color: #4ade80;
}
.lp-price-parcel {
  font-size: .8rem;
  color: rgba(255,255,255,.5);
}

/* Cover */
.lp-hero__cover { position: relative; }
.lp-cover-img {
  width: 100%;
  border-radius: var(--r-lg);
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
}
.lp-cover-placeholder {
  background: linear-gradient(135deg, var(--teal-navy), var(--purple-d));
  border-radius: var(--r-lg);
  padding: 3rem 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
}
.lp-cover-placeholder span:first-child { font-size: 3rem; }
.lp-cover-placeholder span:nth-child(2) { color: #fff; font-size: 1.1rem; font-weight: 600; }
.lp-cover-placeholder span:last-child { color: var(--teal-l); font-size: .85rem; }
.lp-cover-meta {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: .875rem;
  justify-content: center;
}
.lp-cover-meta span {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.8);
  border-radius: 100px;
  font-size: .78rem;
  padding: .25em .75em;
  border: 1px solid rgba(255,255,255,.15);
}

/* Curso meta bar */
.lp-curso-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
}
.lp-curso-meta span {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.75);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 100px;
  font-size: .8rem;
  padding: .25em .875em;
}

/* Float buy card (curso) */
.lp-buy-float {
  background: var(--white);
  border-radius: var(--r-lg);
  padding: 1.5rem;
  margin-top: 1.25rem;
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
.lp-buy-float__price { margin-bottom: 1rem; }
.lp-buy-float__price strong {
  display: block;
  font-size: 1.75rem;
  color: var(--graphite);
  font-weight: 700;
}
.lp-buy-float__price span { font-size: .8rem; color: var(--gray); }
.lp-incluso { list-style: none; margin: 1rem 0; }
.lp-incluso li { font-size: .85rem; color: var(--gray); padding: .2rem 0; }
.lp-incluso--light li { color: rgba(255,255,255,.7); }
.lp-garantia-small { font-size: .78rem; color: var(--gray); text-align: center; margin-top: .75rem; }

/* Seções problema */
.lp-prob-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.lp-prob-card {
  background: var(--white);
  border-radius: var(--r-md);
  padding: 1.5rem;
  border: 1px solid var(--off);
  text-align: center;
  box-shadow: var(--sh-sm);
  transition: transform .3s var(--ease), box-shadow .3s;
}
.lp-prob-card:hover { transform: translateY(-4px); box-shadow: var(--sh-md); }
.lp-prob-icon { font-size: 2rem; display: block; margin-bottom: .875rem; }
.lp-prob-card h3 { font-size: 1rem; margin-bottom: .5rem; color: var(--graphite); }
.lp-prob-card p { font-size: .875rem; color: var(--gray); }

/* Seção solução */
.lp-sol-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.lp-sol-card {
  text-align: center;
  padding: 1.75rem 1.25rem;
}
.lp-sol-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0,171,171,.1);
  border: 1.5px solid rgba(0,171,171,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: var(--teal);
}
.lp-sol-icon svg { width: 22px; height: 22px; }
.lp-sol-card h3 { margin-bottom: .5rem; font-size: 1.0625rem; }
.lp-sol-card p { font-size: .875rem; color: var(--gray); }

/* Tópicos (ebook) */
.lp-topicos-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .625rem;
  margin-top: 2rem;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.lp-topico {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  background: var(--white);
  border-radius: 10px;
  padding: .875rem 1rem;
  border: 1px solid var(--off);
  font-size: .9rem;
  color: var(--graphite);
}
.lp-topico-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0,171,171,.15);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* Módulos (curso) */
.lp-modulos-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  max-width: 720px;
  margin: 2rem auto 0;
}
.lp-modulo {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  background: var(--white);
  border-radius: var(--r-md);
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--off);
  box-shadow: var(--sh-sm);
}
.lp-modulo__num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--teal);
  color: var(--graphite);
  font-weight: 700;
  font-size: .875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lp-modulo__body strong { display: block; font-size: .9375rem; margin-bottom: .2rem; }
.lp-modulo__body p { font-size: .85rem; color: var(--gray); margin: 0; }

/* Stats */
.lp-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  text-align: center;
}
.lp-stat strong {
  display: block;
  font-family: var(--fd);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 700;
  color: var(--teal-l);
  line-height: 1;
  margin-bottom: .375rem;
}
.lp-stat span { font-size: .9rem; color: rgba(255,255,255,.6); }

/* Depoimentos LP */
.lp-deps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}

/* CTA de compra */
.lp-cta-inner {
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
}
.lp-cta-inner h2 {
  font-family: var(--fd);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  margin-bottom: .75rem;
}
.lp-cta-inner > p { margin-bottom: 2rem; }
.lp-buy-box {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-lg);
  padding: 2rem;
  backdrop-filter: blur(12px);
}
.lp-buy-label { font-size: .85rem; color: rgba(255,255,255,.5); margin-bottom: .5rem; }
.lp-buy-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .75rem;
  margin-bottom: .5rem;
}
.lp-buy-price strong {
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
}
.lp-buy-sub { font-size: .85rem; color: rgba(255,255,255,.5); margin-bottom: 1.25rem; }
.lp-btn-buy { margin: 1.25rem 0 .75rem; }
.lp-buy-secure {
  font-size: .8rem;
  color: rgba(255,255,255,.45);
}

/* Responsivo */
@media (max-width: 900px) {
  .lp-grid              { grid-template-columns: 1fr; }
  .lp-hero__cover       { order: -1; }
  .lp-buy-float         { display: none; }
  .lp-hero__cta         { flex-direction: column; align-items: flex-start; }
  .lp-prob-grid         { grid-template-columns: 1fr; }
  .lp-sol-grid          { grid-template-columns: 1fr; }
  .lp-topicos-list      { grid-template-columns: 1fr; }
  .lp-stats-grid        { grid-template-columns: 1fr; gap: 1.25rem; }
  .lp-deps-grid         { grid-template-columns: 1fr; }
  .lp-hero__content h1  { font-size: 1.75rem; }
}

/* ════════════════════════════════════════════
   BLOG — archive.php
════════════════════════════════════════════ */
.blog-hero { background: var(--graphite); padding: 4rem 0 3rem; }
.blog-hero .eyebrow { display: block; margin-bottom: .5rem; }
.blog-hero h1 { font-family: var(--fd); font-size: clamp(2rem, 4vw, 2.75rem); color: #fff; margin-bottom: .75rem; }
.blog-hero p { font-size: 1rem; color: rgba(255,255,255,.55); max-width: 480px; }

.blog-filtros { background: var(--white); border-bottom: 1px solid var(--off); padding: .875rem 0; position: sticky; top: 0; z-index: 90; }
.blog-filtros__inner { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.blog-chip { font-size: .8125rem; padding: .3rem .875rem; border-radius: 100px; border: 1px solid var(--off); color: var(--gray); background: var(--white); text-decoration: none; transition: all .2s; white-space: nowrap; }
.blog-chip:hover { border-color: var(--teal); color: var(--teal); }
.blog-chip--on { background: var(--graphite); color: #fff; border-color: var(--graphite); }

.blog-grid-sec { padding: 3rem 0; background: var(--cream); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.blog-card { background: var(--white); border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--off); transition: transform .3s var(--ease), box-shadow .3s; animation-delay: var(--delay, 0s); }
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--sh-md); }
.blog-card__thumb { display: block; height: 160px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.blog-card__thumb .ti { font-size: 2.5rem; color: rgba(255,255,255,.3); }
.blog-card__img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.blog-card__body { padding: 1rem 1.125rem 1.125rem; }
.blog-card__cat { font-size: .7rem; font-weight: 600; color: var(--teal); text-transform: uppercase; letter-spacing: .07em; display: block; margin-bottom: .375rem; }
.blog-card__title { font-size: .9375rem; font-weight: 600; color: var(--graphite); line-height: 1.4; margin-bottom: .625rem; }
.blog-card__title a { color: inherit; text-decoration: none; }
.blog-card__title a:hover { color: var(--teal); }
.blog-card__meta { display: flex; align-items: center; gap: .5rem; font-size: .78rem; color: var(--gray); }
.blog-card__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--gray-w); }
.blog-card__link { color: var(--teal); text-decoration: none; margin-left: auto; font-weight: 500; }

.blog-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 2.5rem; }
.blog-page-link a, .blog-page-link span { padding: .4rem .875rem; border-radius: 6px; border: 1px solid var(--off); font-size: .85rem; color: var(--graphite); text-decoration: none; }
.blog-page-link .current { background: var(--graphite); color: #fff; border-color: var(--graphite); }
.blog-empty { text-align: center; padding: 4rem 0; }
.blog-empty__icon { font-size: 3rem; display: block; margin-bottom: 1rem; }
.blog-empty h2 { font-family: var(--fd); font-size: 1.75rem; color: var(--graphite); margin-bottom: .75rem; }
.blog-empty p { color: var(--gray); margin-bottom: 1.5rem; }

.blog-nl-cta { background: var(--graphite); padding: 3.5rem 0; }
.blog-nl-cta__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.blog-nl-cta__text .eyebrow { display: block; margin-bottom: .5rem; }
.blog-nl-cta__text h2 { font-family: var(--fd); font-size: clamp(1.5rem, 2.5vw, 2rem); color: #fff; margin-bottom: .625rem; }
.blog-nl-cta__text p { color: rgba(255,255,255,.55); font-size: .9375rem; }
.blog-nl-cta__form { display: flex; flex-direction: column; gap: .625rem; }
.blog-nl-input { padding: .75rem 1rem; border-radius: var(--r-md); border: 1.5px solid rgba(255,255,255,.15); background: rgba(255,255,255,.07); color: #fff; font-size: .9375rem; font-family: inherit; }
.blog-nl-input::placeholder { color: rgba(255,255,255,.35); }
.blog-nl-input:focus { outline: none; border-color: var(--teal); }

@media (max-width: 900px) {
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .blog-nl-cta__inner { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
  .blog-grid { grid-template-columns: 1fr; }
  .blog-filtros__inner { gap: .375rem; }
  .blog-chip { font-size: .75rem; padding: .25rem .625rem; }
}

/* ════════════════════════════════════════════
   PÁGINA SOBRE v2 — page-sobre.php
════════════════════════════════════════════ */
.sobre2-hero { background: var(--graphite); padding: 4rem 0 2.5rem; }
.sobre2-hero__grid { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: center; margin-bottom: 2.5rem; }
.sobre2-hero__content .eyebrow { display: block; margin-bottom: .5rem; }
.sobre2-hero__content h1 { font-family: var(--fd); font-size: clamp(2rem, 3.5vw, 2.75rem); color: #fff; line-height: 1.2; margin-bottom: .75rem; }
.sobre2-hero__sub { font-size: .9375rem; color: rgba(255,255,255,.5); line-height: 1.6; }
.sobre2-foto { width: 100%; border-radius: var(--r-lg); object-fit: cover; aspect-ratio: 4/5; }
.sobre2-foto-placeholder { width: 100%; aspect-ratio: 4/5; background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.1); border-radius: var(--r-lg); display: flex; align-items: center; justify-content: center; }
.sobre2-foto-placeholder svg { width: 80px; height: 80px; opacity: .3; }
.sobre2-nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.sobre2-num { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-md); padding: 1rem; text-align: center; }
.sobre2-num strong { display: block; font-family: var(--fd); font-size: 2rem; color: var(--teal-l); margin-bottom: .25rem; }
.sobre2-num span { font-size: .8rem; color: rgba(255,255,255,.45); }

.sobre2-sec { padding: 3.5rem 0; }
.sobre2-sec--light { background: var(--cream); }
.sobre2-sec--dark { background: var(--graphite); }
.sobre2-sec__inner { display: grid; grid-template-columns: 200px 1fr; gap: 3rem; align-items: start; }
.sobre2-sec__label { font-size: .75rem; font-weight: 600; color: var(--teal); text-transform: uppercase; letter-spacing: .08em; padding-top: .25rem; }
.sobre2-sec--dark .sobre2-sec__label { color: var(--teal-l); }
.sobre2-sec__content p { font-size: 1rem; color: var(--gray); line-height: 1.8; margin-bottom: .875rem; }
.sobre2-sec__content p:last-child { margin-bottom: 0; }
.sobre2-sec__content strong { color: var(--graphite); font-weight: 600; }

.sobre2-timeline { display: flex; flex-direction: column; gap: 0; border-left: 2px solid var(--off); margin-left: 1.5rem; padding-left: 2rem; }
.sobre2-tl-item { position: relative; padding: 1.5rem 0; border-bottom: 1px solid var(--off); }
.sobre2-tl-item:last-child { border-bottom: none; }
.sobre2-tl-item::before { content: ''; position: absolute; left: -2.5625rem; top: 1.75rem; width: 12px; height: 12px; border-radius: 50%; background: var(--teal); border: 2px solid var(--white); }
.sobre2-tl-marker { position: absolute; left: -5rem; top: 1.375rem; width: 3rem; text-align: right; }
.sobre2-tl-marker strong { display: block; font-family: var(--fd); font-size: 1.375rem; color: var(--teal); line-height: 1; }
.sobre2-tl-marker span { font-size: .65rem; color: var(--gray); text-transform: uppercase; letter-spacing: .06em; }
.sobre2-tl-marker--star { top: 1.5rem; }
.sobre2-tl-marker--star svg { width: 24px; height: 24px; display: block; margin-left: auto; }
.sobre2-tl-body strong { display: block; font-size: 1rem; color: var(--graphite); font-weight: 600; margin-bottom: .375rem; }
.sobre2-tl-body p { font-size: .9375rem; color: var(--gray); line-height: 1.7; }

.sobre2-quote { border-left: 3px solid var(--teal); padding: 1.25rem 1.5rem; background: rgba(0,171,171,.06); border-radius: 0 var(--r-md) var(--r-md) 0; margin-top: 2rem; }
.sobre2-quote blockquote { font-family: var(--fd); font-size: 1.1875rem; color: var(--graphite); font-style: italic; line-height: 1.6; margin-bottom: .5rem; }
.sobre2-quote cite { font-size: .8125rem; color: var(--gray); font-style: normal; }

.sobre2-paraquem { display: grid; grid-template-columns: 1fr 1fr; gap: .625rem; margin-top: 1rem; }
.sobre2-pq { display: flex; align-items: flex-start; gap: .75rem; padding: .75rem 1rem; border-radius: var(--r-md); background: var(--cream); border: 1px solid var(--off); font-size: .9375rem; color: var(--graphite); }
.sobre2-pq__icon { color: var(--teal); font-weight: 700; flex-shrink: 0; margin-top: 2px; }

.sobre2-prova { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.sobre2-prova__num { display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(255,255,255,.05); border-radius: var(--r-lg); padding: 2.5rem 1.5rem; text-align: center; }
.sobre2-prova__num strong { font-family: var(--fd); font-size: 4rem; color: var(--teal-l); line-height: 1; margin-bottom: .5rem; }
.sobre2-prova__num span { font-size: .9375rem; color: rgba(255,255,255,.5); }
.sobre2-prova__dep { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-lg); padding: 1.75rem; }
.sobre2-dep__stars { color: var(--teal); font-size: 1.125rem; letter-spacing: .1em; margin-bottom: 1rem; }
.sobre2-prova__dep blockquote { font-family: var(--fd); font-size: 1rem; color: rgba(255,255,255,.85); font-style: italic; line-height: 1.7; margin-bottom: 1rem; }
.sobre2-dep__author { display: flex; align-items: center; gap: .75rem; }
.sobre2-dep__photo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.sobre2-dep__initial { width: 40px; height: 40px; border-radius: 50%; background: var(--teal); color: var(--graphite); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.sobre2-dep__author strong { display: block; font-size: .9375rem; color: #fff; }
.sobre2-dep__author span { font-size: .8125rem; color: rgba(255,255,255,.45); }

.sobre2-cta { background: var(--graphite); padding: 4rem 0; }
.sobre2-cta__header { text-align: center; margin-bottom: 2.5rem; }
.sobre2-cta__header h2 { font-family: var(--fd); font-size: clamp(1.75rem, 3vw, 2.5rem); color: #fff; line-height: 1.3; margin-bottom: .75rem; }
.sobre2-cta__header p { color: rgba(255,255,255,.5); font-size: 1rem; max-width: 520px; margin: 0 auto; }
.sobre2-diag { max-width: 600px; margin: 0 auto; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-lg); padding: 2rem; }
.sobre2-diag__tag { display: inline-flex; align-items: center; gap: .5rem; background: rgba(0,171,171,.15); border: 1px solid rgba(0,171,171,.3); border-radius: 100px; padding: .25rem .875rem; font-size: .75rem; color: var(--teal-l); font-weight: 600; margin-bottom: 1rem; }
.sobre2-diag h3 { font-family: var(--fd); font-size: 1.25rem; color: #fff; margin-bottom: .375rem; }
.sobre2-diag__sub { font-size: .85rem; color: rgba(255,255,255,.4); margin-bottom: 1.25rem; }
.sobre2-diag__qs { display: flex; flex-direction: column; gap: .375rem; margin-bottom: 1.5rem; padding: 1rem; background: rgba(0,0,0,.2); border-radius: var(--r-md); }
.sobre2-diag__q { display: flex; gap: .625rem; font-size: .875rem; color: rgba(255,255,255,.65); line-height: 1.5; }
.sobre2-diag__qnum { color: var(--teal); font-weight: 600; flex-shrink: 0; min-width: 18px; }
.sobre2-diag__form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: .75rem; }
.sobre2-diag__form .form-group { margin-bottom: .75rem; }
.sobre2-diag__form label { display: block; font-size: .78rem; font-weight: 600; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .375rem; }
.sobre2-diag__form input, .sobre2-diag__form textarea { width: 100%; padding: .625rem .875rem; border-radius: var(--r-md); border: 1.5px solid rgba(255,255,255,.12); background: rgba(255,255,255,.07); color: #fff; font-size: .9375rem; font-family: inherit; }
.sobre2-diag__form input:focus, .sobre2-diag__form textarea:focus { outline: none; border-color: var(--teal); }
.sobre2-diag__form textarea { resize: vertical; }
.sobre2-diag__obs { font-size: .78rem; color: rgba(255,255,255,.3); text-align: center; margin-top: .875rem; line-height: 1.6; }

@media (max-width: 900px) {
  .sobre2-hero__grid { grid-template-columns: 1fr; }
  .sobre2-hero__photo { order: -1; max-width: 260px; margin: 0 auto; }
  .sobre2-nums { grid-template-columns: repeat(3,1fr); }
  .sobre2-sec__inner { grid-template-columns: 1fr; gap: 1rem; }
  .sobre2-sec__label { font-size: .7rem; }
  .sobre2-timeline { margin-left: .75rem; padding-left: 1.25rem; }
  .sobre2-tl-marker { left: -3.5rem; width: 2.5rem; }
  .sobre2-paraquem { grid-template-columns: 1fr; }
  .sobre2-prova { grid-template-columns: 1fr; }
  .sobre2-diag__form .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .sobre2-nums { grid-template-columns: 1fr; gap: .5rem; }
}

/* ════════════════════════════════════════════
   PÁGINA SERVIÇOS v2 — page-servicos.php
════════════════════════════════════════════ */
.serv2-hero { background: var(--graphite); padding: 4rem 0 3rem; text-align: center; }
.serv2-hero__content .eyebrow { display: block; margin-bottom: .5rem; }
.serv2-hero__content h1 { font-family: var(--fd); font-size: clamp(2rem, 4vw, 3rem); color: #fff; line-height: 1.2; margin-bottom: .75rem; }
.serv2-hero__content p { font-size: 1rem; color: rgba(255,255,255,.55); max-width: 520px; margin: 0 auto; }

.serv2-label { font-size: .75rem; font-weight: 600; color: var(--teal); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1.25rem; }
.serv2-cards-sec { padding: 3.5rem 0; background: var(--cream); }
.serv2-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.serv2-card { background: var(--white); border: 1px solid var(--off); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; }
.serv2-card__top { padding: 2rem 2rem 1.5rem; flex: 1; }
.serv2-card__icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.serv2-card__icon svg { width: 24px; height: 24px; }
.serv2-card__icon--teal { background: rgba(0,171,171,.1); color: var(--teal); }
.serv2-card__icon--terra { background: rgba(184,97,97,.1); color: var(--terracota, #b86161); }
.serv2-card h2 { font-family: var(--fd); font-size: 1.375rem; color: var(--graphite); margin-bottom: .75rem; }
.serv2-card__desc { font-size: .9375rem; color: var(--gray); line-height: 1.7; margin-bottom: 1.25rem; }
.serv2-card__bullets { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.serv2-card__bullets li { font-size: .875rem; color: var(--graphite); padding-left: 1.25rem; position: relative; }
.serv2-card__bullets li::before { content: '✓'; position: absolute; left: 0; color: var(--teal); font-weight: 700; }
.serv2-card__bottom { padding: 1.25rem 2rem 1.75rem; border-top: 1px solid var(--off); display: flex; align-items: center; justify-content: space-between; background: var(--off-w, #faf9f5); }
.serv2-card__tag { font-size: .78rem; color: var(--gray); }

.serv2-qual-sec { padding: 3rem 0; }
.serv2-qual { background: var(--cream); border: 1px solid var(--off); border-radius: var(--r-lg); padding: 2rem; }
.serv2-qual__title { font-size: 1.125rem; font-weight: 600; color: var(--graphite); margin-bottom: 1.5rem; }
.serv2-qual__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.serv2-qual__col-label { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; margin-bottom: .75rem; display: flex; align-items: center; gap: .375rem; }
.serv2-qual__col-label--teal { color: var(--teal); }
.serv2-qual__col-label--terra { color: var(--terracota, #b86161); }
.serv2-qual__list { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.serv2-qual__list li { font-size: .875rem; color: var(--graphite); padding: .5rem .75rem; background: var(--white); border-radius: 8px; border: 1px solid var(--off); }

.serv2-proc-sec { padding: 3.5rem 0; background: var(--cream); }
.serv2-proc { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin-top: 1rem; }
.serv2-step { display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; }
.serv2-step__num { width: 36px; height: 36px; border-radius: 50%; background: var(--graphite); color: var(--teal); font-size: .8125rem; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-bottom: .75rem; flex-shrink: 0; }
.serv2-step__body strong { display: block; font-size: .9375rem; color: var(--graphite); font-weight: 600; margin-bottom: .3rem; }
.serv2-step__body span { font-size: .8125rem; color: var(--gray); line-height: 1.5; }
.serv2-step__arrow { position: absolute; right: -10px; top: .625rem; font-size: 1.25rem; color: var(--gray-w, #ccc); }

.serv2-resultados-sec { padding: 3.5rem 0; background: var(--graphite); }
.serv2-resultados-sec .serv2-label { color: var(--teal-l); }
.serv2-resultados { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 1rem; }
.serv2-resultado { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-lg); padding: 2rem 1.5rem; text-align: center; }
.serv2-resultado strong { display: block; font-family: var(--fd); font-size: 2.75rem; color: var(--teal-l); line-height: 1; margin-bottom: .375rem; }
.serv2-resultado span { display: block; font-size: .9375rem; color: rgba(255,255,255,.7); margin-bottom: .25rem; }
.serv2-resultado small { font-size: .8125rem; color: rgba(255,255,255,.4); }

.serv2-cta { background: var(--graphite); padding: 4rem 0; border-top: 1px solid rgba(255,255,255,.08); }
.serv2-cta__inner { max-width: 580px; margin: 0 auto; text-align: center; }
.serv2-cta__tag { display: inline-flex; align-items: center; gap: .5rem; background: rgba(0,171,171,.12); border: 1px solid rgba(0,171,171,.25); border-radius: 100px; padding: .3rem .875rem; font-size: .75rem; color: var(--teal-l); font-weight: 600; margin-bottom: 1.25rem; }
.serv2-cta__inner h2 { font-family: var(--fd); font-size: clamp(1.75rem, 3vw, 2.5rem); color: #fff; line-height: 1.3; margin-bottom: .75rem; }
.serv2-cta__inner > p { color: rgba(255,255,255,.5); font-size: .9375rem; margin-bottom: 1.75rem; }
.serv2-vagas { display: grid; grid-template-columns: 1fr 1fr; gap: .875rem; margin-bottom: 1.75rem; }
.serv2-vaga { display: flex; align-items: center; gap: .875rem; border-radius: var(--r-md); padding: .875rem 1.125rem; }
.serv2-vaga--verde { background: rgba(74,222,128,.06); border: 1px solid rgba(74,222,128,.2); }
.serv2-vaga--amber { background: rgba(251,191,36,.06); border: 1px solid rgba(251,191,36,.2); }
.serv2-vaga__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.serv2-vaga__dot--verde { background: #4ade80; box-shadow: 0 0 8px rgba(74,222,128,.5); }
.serv2-vaga__dot--amber { background: #fbbf24; box-shadow: 0 0 8px rgba(251,191,36,.5); }
.serv2-vaga strong { display: block; font-size: .9375rem; color: #fff; margin-bottom: .125rem; }
.serv2-vaga span { font-size: .8125rem; color: rgba(255,255,255,.45); }
.serv2-cta__obs { font-size: .78rem; color: rgba(255,255,255,.3); margin-top: .875rem; line-height: 1.6; }

@media (max-width: 900px) {
  .serv2-cards { grid-template-columns: 1fr; }
  .serv2-qual__grid { grid-template-columns: 1fr; }
  .serv2-proc { grid-template-columns: repeat(2,1fr); }
  .serv2-step__arrow { display: none; }
  .serv2-resultados { grid-template-columns: 1fr; }
  .serv2-vagas { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .serv2-proc { grid-template-columns: 1fr; }
  .serv2-card__bottom { flex-direction: column; gap: .875rem; align-items: flex-start; }
}

/* ════════════════════════════════════════════
   PATCH v1.4.1 — ACESSIBILIDADE + PERFORMANCE
   Correções obrigatórias WCAG 2.1 AA
════════════════════════════════════════════ */

/* ── 1. FOCUS-VISIBLE — WCAG 2.4.7 (crítico) ── */
/* Remove outline para cliques (mantém UX visual limpa) */
:focus { outline: none; }

/* Restaura indicador visível para navegação por teclado */
:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
  border-radius: var(--r-sm) !important;
  box-shadow: 0 0 0 4px rgba(0,171,171,.18) !important;
}

/* Inputs e textareas: usam box-shadow em vez de outline (mais elegante) */
.ii:focus-visible,
.nl-input:focus-visible,
.ft-ni:focus-visible,
.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible,
.blog-nl-input:focus-visible,
.sobre2-diag__form input:focus-visible,
.sobre2-diag__form textarea:focus-visible,
.form-group input:focus-visible,
.form-group textarea:focus-visible,
.form-group select:focus-visible {
  outline: none !important;
  border-color: var(--teal) !important;
  box-shadow: 0 0 0 3px rgba(0,171,171,.25) !important;
}

/* nav-btn-mega agora é <button> — herdar estilos do nav-a */
button.nav-a.nav-btn-mega {
  font-family: var(--fb);
  font-size: .875rem;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
}
button.nav-btn-mega:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
  border-radius: 4px !important;
}

/* Cookie banner button focus */
#cookie-accept:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}

/* ── 2. PREFERS-REDUCED-MOTION — WCAG 2.3.3 (crítico) ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.05ms !important;
    scroll-behavior: auto !important;
  }

  html { scroll-behavior: auto !important; }

  /* Scroll reveal: mostrar imediatamente sem animação */
  .rv {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .rv.fl, .rv.fr, .rv.sc {
    transform: none !important;
    opacity: 1 !important;
  }

  /* Pulse animations */
  .pulse,
  .live-dot {
    animation: none !important;
    opacity: 1 !important;
  }

  /* Slider auto-play será desativado via JS */
  /* Progress bar animation */
  #scroll-progress { transition: none !important; }
}

/* ── 3. NAV-BTN-MEGA COMO BUTTON — estilos mantidos ── */
/* Garante que os estados do header funcionem para <button> */
.site-header.top button.nav-btn-mega { color: rgba(255,255,255,.7); }
.site-header.scrolled button.nav-btn-mega { color: var(--gray); }
.site-header.top button.nav-btn-mega:hover { color: #fff; }
.site-header.scrolled button.nav-btn-mega:hover { color: var(--graphite); }
button.nav-btn-mega.active { color: var(--teal-l) !important; }
.site-header.scrolled button.nav-btn-mega.active { color: var(--teal-d) !important; }

/* ── 4. CONTRAST MELHORADO — textos sobre fundos claros ── */
/* --gray sobre --cream: ratio ≈ 4.8:1 ✓ */
/* --muted sobre branco: adicionar fallback */
.muted, [class*="muted"], .stat-l { color: var(--gray); }

/* ── 5. SKIP TO CONTENT — acessibilidade teclado ── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  background: var(--teal);
  color: var(--teal-navy);
  font-weight: 700;
  padding: .75rem 1.5rem;
  border-radius: 0 0 var(--r-md) var(--r-md);
  z-index: 10000;
  font-size: .9rem;
  text-decoration: none;
  transition: top .2s;
}
.skip-link:focus { top: 0; }

/* ── 6. ARIA-LIVE REGIÕES ── */
[role="status"],
[aria-live] {
  min-height: 1.5em;
}

/* ── 7. MELHORIAS GERAIS UX ── */
/* Botão WhatsApp flutuante — melhor contraste de foco */
.wa-float:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 4px !important;
}

/* Links do footer */
.ft-lnk:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 2px !important;
  border-radius: 3px !important;
}

/* Tabs de produtos */
.tab:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
  border-radius: var(--r-pill) !important;
}

/* FAQ */
.faq-q:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
}

/* ── 8. SLIDER — dots com focus ── */
.dot:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
  border-radius: 50% !important;
}

/* ── 9. PRINT STYLES BÁSICOS ── */
@media print {
  .site-header, .wa-float, #cookie-banner,
  .scroll-progress, #scroll-progress,
  .cta-s, .newsletter-sec { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  a { color: #000 !important; }
}

/* ── 10. HIGH CONTRAST MODE ── */
@media (prefers-contrast: high) {
  :root {
    --teal: #007a7a;
    --teal-d: #005e5e;
    --graphite: #000;
    --gray: #444;
  }
  .btn-p {
    border: 2px solid var(--teal-navy) !important;
  }
}

/* ════════════════════════════════════════════
   PATCH v1.4.1 — ACESSIBILIDADE + PERFORMANCE
   Correções obrigatórias WCAG 2.1 AA
════════════════════════════════════════════ */

/* ── 1. FOCUS-VISIBLE — WCAG 2.4.7 (crítico) ── */
:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
  border-radius: var(--r-sm) !important;
  box-shadow: 0 0 0 4px rgba(0,171,171,.18) !important;
}
.ii:focus-visible,
.nl-input:focus-visible,
.ft-ni:focus-visible,
.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible,
.blog-nl-input:focus-visible,
.sobre2-diag__form input:focus-visible,
.sobre2-diag__form textarea:focus-visible,
.form-group input:focus-visible,
.form-group textarea:focus-visible,
.form-group select:focus-visible {
  outline: none !important;
  border-color: var(--teal) !important;
  box-shadow: 0 0 0 3px rgba(0,171,171,.25) !important;
}
button.nav-a.nav-btn-mega {
  font-family: var(--fb);
  font-size: .875rem;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  line-height: inherit;
}
button.nav-btn-mega:focus-visible {
  outline: 2px solid var(--teal) !important;
  outline-offset: 3px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
#cookie-accept:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px !important; }
.wa-float:focus-visible { outline: 3px solid #fff !important; outline-offset: 4px !important; }
.ft-lnk:focus-visible { outline: 2px solid var(--teal) !important; outline-offset: 2px !important; border-radius: 3px !important; }
.tab:focus-visible { outline: 2px solid var(--teal) !important; outline-offset: 3px !important; border-radius: var(--r-pill) !important; box-shadow: none !important; }
.faq-q:focus-visible { outline: 2px solid var(--teal) !important; outline-offset: 3px !important; box-shadow: none !important; }
.dot:focus-visible { outline: 2px solid var(--teal) !important; outline-offset: 3px !important; border-radius: 50% !important; box-shadow: none !important; }

/* ── 2. PREFERS-REDUCED-MOTION — WCAG 2.3.3 ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.05ms !important;
  }
  html { scroll-behavior: auto !important; }
  .rv { opacity: 1 !important; transform: none !important; transition: none !important; }
  .rv.fl, .rv.fr, .rv.sc { transform: none !important; opacity: 1 !important; }
  .pulse, .live-dot { animation: none !important; opacity: 1 !important; }
  #scroll-progress { transition: none !important; }
}

/* ── 3. NAV BUTTON STATES ── */
.site-header.top button.nav-btn-mega { color: rgba(255,255,255,.7); }
.site-header.scrolled button.nav-btn-mega { color: var(--gray); }
.site-header.top button.nav-btn-mega:hover { color: #fff; }
.site-header.scrolled button.nav-btn-mega:hover { color: var(--graphite); }
button.nav-btn-mega.active { color: var(--teal-l) !important; }
.site-header.scrolled button.nav-btn-mega.active { color: var(--teal-d) !important; }
.site-header.top button.nav-btn-mega[aria-expanded="true"] { color: var(--teal-l); }
.site-header.scrolled button.nav-btn-mega[aria-expanded="true"] { color: var(--teal); }

/* ── 4. SKIP-TO-CONTENT ── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  background: var(--teal);
  color: var(--teal-navy);
  font-weight: 700;
  padding: .75rem 1.5rem;
  border-radius: 0 0 var(--r-md) var(--r-md);
  z-index: 10000;
  font-size: .9rem;
  text-decoration: none;
}
.skip-link:focus { top: 0; outline: none; }

/* ── 5. HIGH CONTRAST ── */
@media (prefers-contrast: high) {
  :root { --teal: #007a7a; --teal-d: #005e5e; --graphite: #000; --gray: #444; }
  .btn-p { border: 2px solid var(--teal-navy) !important; }
}

/* ── 6. PRINT ── */
@media print {
  .site-header, .wa-float, #cookie-banner, #scroll-progress,
  .cta-s, .newsletter-sec, .nav-toggle { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}

/* ════════════════════════════════════════════
   v2.0 — NOVA IDENTIDADE VISUAL TALS GESTÃO
   Logo Elite V4 · Paleta intimista · Hero claro
════════════════════════════════════════════ */

/* ── NOVOS TOKENS ── */
:root {
  /* Terracota — cor principal da nova identidade */
  --terra-new:    #c17b5a;   /* terracota da logo */
  --terra-d:      #a0624a;   /* hover/active */
  --terra-l:      #d4956e;   /* light variant */
  --terra-bg:     rgba(193,123,90,.07);  /* fundo suave */
  --terra-bg-md:  rgba(193,123,90,.12);

  /* Teal escuro — da logo (preto-azulado do símbolo) */
  --ink:          #1e2d2f;   /* preto grafite quente */
  --ink-l:        #324047;   /* variante clara */

  /* Superfícies claras — intimistas */
  --surface:      #ffffff;
  --surface-soft: #fafaf9;   /* quase branco com temperatura */
  --surface-warm: #f8f4f0;   /* creme muito suave */
  --border-soft:  rgba(0,0,0,.07);
  --border-warm:  rgba(193,123,90,.15);

  /* Fontes — mantém Cormorant + DM Sans */
  /* mas ajustamos pesos para mais leveza */
}

/* ── LOGO NOVA ── */
.logo-img {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.logo-img .logo-principal {
  height: 52px;
  width: auto;
  display: block;
  /* versão transparente — funciona em fundo claro */
}

.logo-img .logo-dark {
  height: 52px;
  width: auto;
  display: none;
  /* versão para fundo escuro (hero topo) */
}

/* No topo (hero escuro) — mostrar versão clara/escura da logo */
.site-header.top .logo-img .logo-principal { display: none; }
.site-header.top .logo-img .logo-dark      { display: block; }

/* Scrolled (fundo branco) — mostrar versão transparente normal */
.site-header.scrolled .logo-img .logo-principal { display: block; }
.site-header.scrolled .logo-img .logo-dark      { display: none; }

/* Logo no footer — sempre versão dark */
.logo-footer {
  height: 44px;
  width: auto;
  display: block;
  opacity: .9;
}

/* ── HERO REDESENHADO — mais claro e intimista ── */
.hero {
  background: linear-gradient(150deg,
    #1a2628 0%,
    #1e3035 40%,
    #1e2a2e 100%) !important;
  position: relative;
}

/* Remover grade geométrica pesada */
.hero::before {
  background-image:
    radial-gradient(circle at 20% 80%, rgba(193,123,90,.12) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(0,171,171,.08) 0%, transparent 50%) !important;
}

/* Orb — mais sutil */
.hero::after {
  background: radial-gradient(circle, rgba(0,171,171,.1) 0%, transparent 70%) !important;
  width: 500px !important;
  height: 500px !important;
}

.hero-orb2 {
  background: radial-gradient(circle, rgba(193,123,90,.12) 0%, transparent 70%) !important;
}

/* Pill do hero — terracota em vez de teal */
.hero-pill {
  background: rgba(193,123,90,.12) !important;
  border-color: rgba(193,123,90,.25) !important;
  color: var(--terra-l) !important;
}

/* Sublinhado do hi-under — terracota */
.hero h1 .hi-under::after {
  background: var(--terra-new) !important;
}

/* Destaque teal no h1 */
.hero h1 .hi-teal { color: var(--teal) !important; }

/* Frame da foto — nova borda */
.hero-frame {
  background: linear-gradient(145deg, rgba(0,171,171,.1), rgba(193,123,90,.1)) !important;
  border-color: rgba(255,255,255,.08) !important;
}

/* ── STATS BAR — mais clara e arejada ── */
.stats-bar {
  background: var(--surface-warm) !important;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
}

.stat {
  border-right-color: rgba(0,0,0,.06) !important;
}

.stat:hover {
  background: var(--terra-bg) !important;
}

.stat::after {
  background: var(--terra-new) !important;
}

.stat-n {
  color: var(--terra-new) !important;
  font-size: 2.5rem !important;
}

.stat-l {
  color: var(--gray) !important;
}

/* ── SEÇÃO SERVIÇOS — já boa, só afinar cores ── */
.serv-card:hover {
  border-color: rgba(193,123,90,.2) !important;
}

.serv-card:hover::before {
  background: linear-gradient(135deg, rgba(193,123,90,.04), transparent 60%) !important;
}

.serv-ic {
  background: rgba(193,123,90,.07) !important;
}

.serv-ic svg {
  stroke: var(--terra-new) !important;
}

.serv-lnk {
  color: var(--teal) !important;
}

/* ── VITRINE DE PRODUTOS — REDESENHO COMPLETO ── */
/* Fundo — branco em vez de dark gradient */
.produtos {
  background: var(--surface-warm) !important;
  padding: 5rem 0;
}

.produtos::before {
  background: none !important;
}

/* Título da seção no claro */
.produtos .sec-head--light h2 {
  color: var(--ink) !important;
}

.produtos .sec-head--light p {
  color: var(--gray) !important;
}

.produtos .ey-light {
  color: var(--terra-new) !important;
}

/* Tabs — fundo claro */
.tab {
  border-color: var(--border-warm) !important;
  background: var(--surface) !important;
  color: var(--gray) !important;
}

.tab.on {
  background: var(--terra-new) !important;
  color: #fff !important;
  border-color: var(--terra-new) !important;
}

.tab:hover:not(.on) {
  border-color: var(--terra-new) !important;
  color: var(--terra-new) !important;
  background: var(--terra-bg) !important;
}

/* Cards de produto — fundo branco limpo */
.pc {
  background: var(--surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--border-soft) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.05) !important;
  border-radius: 16px !important;
}

.pc:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.1) !important;
  border-color: var(--border-warm) !important;
}

/* Thumbnail do card — gradientes novos */
.pc-thumb {
  aspect-ratio: 16/10 !important;
}

/* Categoria do card */
.pc-cat {
  color: var(--terra-new) !important;
  font-size: .65rem !important;
  letter-spacing: .1em !important;
}

/* Título do card no claro */
.pc-body h4 {
  color: var(--ink) !important;
  font-size: 1rem !important;
}

/* Descrição */
.pc-body p {
  color: var(--gray) !important;
}

/* Preço */
.p-por {
  color: var(--ink) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}

.p-free {
  color: #22c55e !important;
  font-weight: 700 !important;
}

/* Badge terracota */
.bh {
  background: var(--terra-new) !important;
  color: #fff !important;
}

/* Badge gratuito */
.bf {
  background: #22c55e !important;
  color: #fff !important;
}

/* ── CTA DIAGNÓSTICO — afinar ── */
.cta-s {
  position: relative;
}

/* ── NEWSLETTER — mais clean ── */
.nl-form-card {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* ── HEADER: linha topo — terracota + teal ── */
.site-header::before {
  background: linear-gradient(90deg,
    var(--terra-new) 0%,
    var(--terra-new) 30%,
    var(--teal) 30%,
    var(--teal) 100%) !important;
}

/* Topbar — terracota novo */
.header-topbar {
  background: var(--terra-new) !important;
}

/* ── BOTÕES — terracota como primário alternativo ── */
/* btn-p já é teal — mantém como padrão principal */
/* Adiciona variante terracota para CTAs secundários */
.btn-terra {
  background: var(--terra-new);
  color: #fff;
  border: none;
  border-radius: var(--r-pill);
  padding: .75rem 1.75rem;
  font-size: .875rem;
  font-weight: 600;
  font-family: var(--fb);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  transition: background .2s, transform .2s, box-shadow .2s;
  text-decoration: none;
}

.btn-terra:hover {
  background: var(--terra-d);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(193,123,90,.35);
  color: #fff;
}

/* ── PÁGINAS INTERNAS — hero strips ── */
.page-hero {
  background: linear-gradient(135deg, var(--ink) 0%, #1e3035 100%) !important;
}

.page-hero::before {
  background: linear-gradient(90deg, rgba(193,123,90,.15) 0%, transparent 60%) !important;
}

/* Eyebrow terracota nas páginas internas */
.eyebrow {
  color: var(--terra-new) !important;
}

/* ── SEÇÃO SOBRE — cards de pilares ── */
.pilar-dot {
  background: var(--terra-new) !important;
}

/* ── DEPOIMENTOS — stars ── */
.star-on { color: var(--terra-new) !important; }

/* ── BLOG ── */
.blog-cat {
  color: var(--terra-new) !important;
}

.blog-link {
  color: var(--teal) !important;
}

/* ── FOOTER — ajuste ── */
.ft-body {
  background: var(--ink) !important;
}

/* ── ACTIVE NAV — terracota sutil ── */
.nav-btn-mega[aria-expanded="true"]::after,
.nav-btn-mega.active::after,
.nav-a.active::after,
.nav-a:hover::after {
  background: var(--terra-new) !important;
}

/* ── SCROLL PROGRESS — terracota ── */
#scroll-progress {
  background: linear-gradient(90deg, var(--terra-new), var(--teal)) !important;
}

/* ── FOCUS VISIBLE — atualizado ── */
:focus-visible {
  outline-color: var(--terra-new) !important;
  box-shadow: 0 0 0 4px rgba(193,123,90,.18) !important;
}

/* ── MEGA BADGE — terracota ── */
.mega-badge {
  background: rgba(193,123,90,.12) !important;
  color: var(--terra-new) !important;
}

/* ── SERV2 (página serviços) — terracota ── */
.serv2-card__icon--terra {
  background: rgba(193,123,90,.08) !important;
  color: var(--terra-new) !important;
}

/* ── VITRINE PÁGINAS CURSOS/EBOOKS ── */
.produto-card:hover {
  border-color: var(--border-warm) !important;
  box-shadow: 0 12px 32px rgba(193,123,90,.1) !important;
}

.produto-card--destaque {
  border-color: var(--terra-new) !important;
  box-shadow: 0 0 0 1.5px var(--terra-new) !important;
}

.produto-badge--destaque {
  background: var(--terra-new) !important;
  color: #fff !important;
}

.produto-categoria {
  color: var(--terra-new) !important;
}

/* ── RESPONSIVIDADE LOGO ── */
@media (max-width: 768px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark {
    height: 40px !important;
  }
  .logo-footer {
    height: 36px !important;
  }
}

@media (max-width: 480px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark {
    height: 34px !important;
  }
}

/* ── SMOOTH TRANSITION LOGO ── */
.logo-img img {
  transition: opacity .2s ease;
}

/* ════════════════════════════════════════════
   v2.0 — NOVA IDENTIDADE VISUAL TALS GESTÃO
   Logo Elite V4 · Paleta intimista · Hero claro
════════════════════════════════════════════ */

:root {
  --terra-new:    #c17b5a;
  --terra-d:      #a0624a;
  --terra-l:      #d4956e;
  --terra-bg:     rgba(193,123,90,.07);
  --terra-bg-md:  rgba(193,123,90,.12);
  --ink:          #1e2d2f;
  --ink-l:        #324047;
  --surface:      #ffffff;
  --surface-soft: #fafaf9;
  --surface-warm: #f8f4f0;
  --border-soft:  rgba(0,0,0,.07);
  --border-warm:  rgba(193,123,90,.15);
}

/* ── LOGO NOVA ── */
.logo-img { display:flex; align-items:center; text-decoration:none; }
.logo-img .logo-principal { height:52px; width:auto; display:block; }
.logo-img .logo-dark { height:52px; width:auto; display:none; }
.site-header.top .logo-img .logo-principal { display:none; }
.site-header.top .logo-img .logo-dark { display:block; }
.site-header.scrolled .logo-img .logo-principal { display:block; }
.site-header.scrolled .logo-img .logo-dark { display:none; }
.logo-footer { height:44px; width:auto; display:block; opacity:.9; }

/* ── HEADER LINHA TOPO ── */
.site-header::before {
  background: linear-gradient(90deg, var(--terra-new) 30%, var(--teal) 30%) !important;
}
.header-topbar { background: var(--terra-new) !important; }

/* ── HERO — mais íntimo, menos roxo ── */
.hero {
  background: linear-gradient(150deg, #1a2628 0%, #1e3035 40%, #1e2a2e 100%) !important;
}
.hero::before {
  background-image:
    radial-gradient(circle at 20% 80%, rgba(193,123,90,.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(0,171,171,.07) 0%, transparent 50%) !important;
}
.hero::after {
  background: radial-gradient(circle, rgba(0,171,171,.08) 0%, transparent 70%) !important;
  width:500px !important; height:500px !important;
}
.hero-orb2 { background: radial-gradient(circle, rgba(193,123,90,.1) 0%, transparent 70%) !important; }
.hero-pill { background:rgba(193,123,90,.12) !important; border-color:rgba(193,123,90,.25) !important; color:var(--terra-l) !important; }
.hero h1 .hi-under::after { background:var(--terra-new) !important; }
.hero-frame { background:linear-gradient(145deg,rgba(0,171,171,.1),rgba(193,123,90,.08)) !important; border-color:rgba(255,255,255,.08) !important; }

/* ── STATS BAR — fundo claro ── */
.stats-bar { background:var(--surface-warm) !important; border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); }
.stat { border-right-color:rgba(0,0,0,.06) !important; }
.stat:hover { background:var(--terra-bg) !important; }
.stat::after { background:var(--terra-new) !important; }
.stat-n { color:var(--terra-new) !important; font-size:2.5rem !important; }
.stat-l { color:var(--gray) !important; }

/* ── SERVIÇOS — acento terracota ── */
.serv-card:hover { border-color:rgba(193,123,90,.2) !important; }
.serv-card:hover::before { background:linear-gradient(135deg,rgba(193,123,90,.04),transparent 60%) !important; }
.serv-ic { background:rgba(193,123,90,.07) !important; }
.serv-ic svg { stroke:var(--terra-new) !important; }
.serv-lnk { color:var(--teal) !important; }

/* ── VITRINE — FUNDO CLARO ── */
.produtos { background:var(--surface-warm) !important; }
.produtos::before { background:none !important; }
.produtos .sec-head--light h2 { color:var(--ink) !important; }
.produtos .sec-head--light p { color:var(--gray) !important; }
.produtos .ey-light { color:var(--terra-new) !important; }

/* Tabs */
.tab { border-color:var(--border-warm) !important; background:var(--surface) !important; color:var(--gray) !important; }
.tab.on { background:var(--terra-new) !important; color:#fff !important; border-color:var(--terra-new) !important; }
.tab:hover:not(.on) { border-color:var(--terra-new) !important; color:var(--terra-new) !important; background:var(--terra-bg) !important; }

/* Cards de produto — brancos e limpos */
.pc {
  background:var(--surface) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1px solid var(--border-soft) !important;
  box-shadow:0 2px 12px rgba(0,0,0,.05) !important;
  border-radius:16px !important;
}
.pc:hover {
  transform:translateY(-5px) !important;
  box-shadow:0 12px 36px rgba(0,0,0,.1) !important;
  border-color:var(--border-warm) !important;
}
.pc-thumb { aspect-ratio:16/10 !important; }
.pc-cat { color:var(--terra-new) !important; font-size:.65rem !important; }
.pc-body h4 { color:var(--ink) !important; font-size:1rem !important; }
.pc-body p { color:var(--gray) !important; }
.p-por { color:var(--ink) !important; font-weight:700 !important; }
.p-free { color:#22c55e !important; font-weight:700 !important; }
.bh { background:var(--terra-new) !important; color:#fff !important; }
.bf { background:#22c55e !important; color:#fff !important; }

/* ── EYEBROW GLOBAL ── */
.eyebrow { color:var(--terra-new) !important; }
.pilar-dot { background:var(--terra-new) !important; }
.star-on { color:var(--terra-new) !important; }
.blog-cat { color:var(--terra-new) !important; }

/* ── NAV ACTIVE LINE ── */
.nav-a:hover::after,
.nav-a.active::after,
.nav-btn-mega:hover::after,
.nav-btn-mega.active::after,
.nav-btn-mega[aria-expanded="true"]::after { background:var(--terra-new) !important; }

/* ── SCROLL PROGRESS ── */
#scroll-progress { background:linear-gradient(90deg,var(--terra-new),var(--teal)) !important; }

/* ── FOCUS VISIBLE ── */
:focus-visible {
  outline-color:var(--terra-new) !important;
  box-shadow:0 0 0 4px rgba(193,123,90,.18) !important;
}

/* ── MEGA MENU badge ── */
.mega-badge { background:rgba(193,123,90,.1) !important; color:var(--terra-new) !important; }

/* ── PÁGINA HERO STRIPS ── */
.page-hero { background:linear-gradient(135deg,var(--ink) 0%,#1e3035 100%) !important; }
.page-hero::before { background:linear-gradient(90deg,rgba(193,123,90,.15) 0%,transparent 60%) !important; }

/* ── FOOTER ── */
.ft-body { background:var(--ink) !important; }
.ft-bottom { background:#141e20 !important; }

/* ── PRODUTO CARDS INTERNOS ── */
.produto-card:hover { border-color:var(--border-warm) !important; box-shadow:0 12px 32px rgba(193,123,90,.1) !important; }
.produto-card--destaque { border-color:var(--terra-new) !important; box-shadow:0 0 0 1.5px var(--terra-new) !important; }
.produto-badge--destaque { background:var(--terra-new) !important; color:#fff !important; }
.produto-categoria { color:var(--terra-new) !important; }

/* ── BOTÃO TERRACOTA ── */
.btn-terra {
  background:var(--terra-new); color:#fff; border:none;
  border-radius:var(--r-pill); padding:.75rem 1.75rem;
  font-size:.875rem; font-weight:600; font-family:var(--fb);
  cursor:pointer; display:inline-flex; align-items:center; gap:.5rem;
  transition:background .2s,transform .2s,box-shadow .2s; text-decoration:none;
}
.btn-terra:hover { background:var(--terra-d); transform:translateY(-2px); box-shadow:0 6px 20px rgba(193,123,90,.35); color:#fff; }

/* ── RESPONSIVIDADE LOGO ── */
@media (max-width:768px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark { height:38px !important; }
  .logo-footer { height:34px !important; }
}
@media (max-width:480px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark { height:32px !important; }
}

/* Transição suave logo */
.logo-img img { transition:opacity .2s ease; }

/* ════════════════════════════════════════════
   v2.0.1 — HEADER SEMPRE BRANCO + LOGO CORRETA
════════════════════════════════════════════ */

/* Header transparente no topo (fica branco só ao rolar — ver .scrolled abaixo).
   Regra de "header sempre branco" removida na auditoria de 21/07/2026:
   ela cobria o hero com fundo branco e sumia com o menu no topo. */

/* Scrolled — branco mais sólido */
.site-header.scrolled .header-main {
  background: rgba(255,255,255,.99) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,.08) !important;
}

/* Topbar — ocultar no topo, só mostrar no scroll? 
   Ou manter visível sempre — terracota */
.header-topbar {
  background: var(--terra-new) !important;
}

/* Logo no footer — filtro branco */
.logo-footer {
  filter: brightness(0) invert(1) !important;
  opacity: .85 !important;
}

/* ════════════════════════════════════════════
   v2.0.3 — REMOVE ROXO + LOGO MAIOR + RESPONSIVO
════════════════════════════════════════════ */

/* ── ELIMINAR ROXO — trocar por ink/terra dark ── */

/* CTA Diagnóstico — sai roxo, entra ink escuro com acento terra */
.cta-s {
  background: var(--ink) !important;
}
.cta-s::before {
  background: radial-gradient(circle, rgba(193,123,90,.1) 0%, transparent 65%) !important;
}
.cta-panel {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(193,123,90,.15) !important;
}
.cta-ptag {
  background: rgba(193,123,90,.12) !important;
  border-color: rgba(193,123,90,.25) !important;
  color: var(--terra-l) !important;
}
.cta-s h2 span { color: var(--terra-l) !important; }

/* Newsletter — sai graphite/navy, entra ink quente */
.newsletter-sec {
  background: linear-gradient(135deg, var(--ink) 0%, #1e3035 100%) !important;
}

/* Sobre photo frame — sai teal/purple */
.sobre-frame {
  background: linear-gradient(145deg, rgba(193,123,90,.1), rgba(0,171,171,.08)) !important;
}

/* Depoimentos — background */
.dep-card {
  background: var(--surface) !important;
  border-color: var(--border-soft) !important;
}

/* pav-2 (avatar roxo) → terracota */
.pav-2 { background: var(--terra-new) !important; color: #fff !important; }

/* Seção sobre hero escuro (algumas páginas) */
.sobre-hero,
.serv2-hero,
.cursos-hero,
.page-hero {
  background: linear-gradient(135deg, var(--ink) 0%, #1e3035 100%) !important;
}

/* Todos os gradientes que incluem purple — substituir */
.lp-hero,
.sales-hero,
.guia-hero {
  background: linear-gradient(150deg, var(--ink) 0%, #1e3035 50%, var(--ink) 100%) !important;
}

/* Timeline linha — sai teal/purple */
.timeline::before {
  background: linear-gradient(180deg, var(--terra-new), var(--teal)) !important;
}

/* ── LOGO MAIOR E MAIS DESTAQUE ── */

/* Header logo — maior, com espaço adequado */
.logo-img .logo-principal,
.logo-img .logo-dark {
  height: 68px !important;
  width: auto !important;
}

/* Header main — mais padding para acomodar logo maior */
.header-main {
  padding: .75rem 2rem !important;
}

/* Topbar — texto e espaçamento melhorado */
.header-topbar {
  padding: .5rem 2rem !important;
}
.header-topbar span {
  font-size: .78rem !important;
  letter-spacing: .02em !important;
}
.header-topbar a {
  font-size: .78rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Hero — mais padding-top para header maior */
.hero {
  padding-top: 8rem !important;
}

/* ── RESPONSIVIDADE COMPLETA ── */

/* Tablet (≤1024px) */
@media (max-width: 1024px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark {
    height: 56px !important;
  }
  .header-main {
    padding: .75rem 1.5rem !important;
  }
  .hero {
    padding-top: 7rem !important;
  }
}

/* Mobile grande (≤768px) */
@media (max-width: 768px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark {
    height: 44px !important;
  }
  .header-main {
    padding: .625rem 1.25rem !important;
  }
  .header-topbar {
    padding: .375rem 1.25rem !important;
  }
  .header-topbar span {
    font-size: .7rem !important;
    /* Ocultar texto longo em mobile */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 55vw;
    display: inline-block;
  }
  .hero {
    padding-top: 6.5rem !important;
  }
  .cta-panel {
    padding: 2rem 1.25rem !important;
  }
}

/* Mobile pequeno (≤480px) */
@media (max-width: 480px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark {
    height: 38px !important;
  }
  .header-main {
    padding: .5rem 1rem !important;
  }
  .header-topbar span {
    max-width: 45vw !important;
  }
  .hero {
    padding-top: 6rem !important;
  }
}

/* Mobile mínimo (≤375px) */
@media (max-width: 375px) {
  .logo-img .logo-principal,
  .logo-img .logo-dark {
    height: 34px !important;
  }
  .header-topbar span {
    display: none !important; /* oculta texto, mantém link */
  }
  .header-topbar a {
    margin-left: auto !important;
  }
}

/* ── FOOTER LOGO MAIOR ── */
.logo-footer {
  height: 56px !important;
  opacity: .9 !important;
}

@media (max-width: 768px) {
  .logo-footer { height: 44px !important; }
}

/* ── MELHORIAS GERAIS ── */

/* Garantir que seções com gradiente não usem purple */
.dep-g { gap: 1.25rem !important; }

/* Sobre frame no hero */
.hero-frame {
  border: 1px solid rgba(193,123,90,.15) !important;
}

/* Pulse — terracota */
.pulse {
  background: var(--terra-new) !important;
}

/* CTA micros (baixo do form) */
.cta-mc {
  color: rgba(255,255,255,.5) !important;
  font-size: .78rem !important;
}
.cta-mc::before {
  color: var(--terra-new) !important;
}

/* Botão CTA do diagnóstico */
.cta-mb {
  background: var(--teal) !important;
  color: var(--teal-navy) !important;
}
.cta-mb:hover {
  background: var(--teal-d) !important;
}

/* ── IMAGENS — garantir responsividade ── */
img {
  max-width: 100%;
  height: auto;
}

/* Logo sempre responsiva */
.logo-img img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ════════════════════════════════════════════
   v2.0.3 — REMOVE ROXO + LOGO MAIOR + RESPONSIVO
════════════════════════════════════════════ */

/* ELIMINAR ROXO — CTA Diagnóstico */
.cta-s { background: var(--ink) !important; }
.cta-s::before { background: radial-gradient(circle, rgba(193,123,90,.1) 0%, transparent 65%) !important; }
.cta-panel { background: rgba(255,255,255,.04) !important; border-color: rgba(193,123,90,.15) !important; }
.cta-ptag { background: rgba(193,123,90,.12) !important; border-color: rgba(193,123,90,.25) !important; color: var(--terra-l) !important; }
.cta-s h2 span { color: var(--terra-l) !important; }
.pulse { background: var(--terra-new) !important; }
.cta-mb { background: var(--teal) !important; color: var(--teal-navy) !important; }

/* Newsletter — sai graphite/navy, entra ink */
.newsletter-sec { background: linear-gradient(135deg, var(--ink) 0%, #1e3035 100%) !important; }

/* pav-2 roxo → terracota */
.pav-2 { background: var(--terra-new) !important; color: #fff !important; }

/* Timeline linha */
.timeline::before { background: linear-gradient(180deg, var(--terra-new), var(--teal)) !important; }

/* Páginas internas que usavam purple */
.lp-hero { background: linear-gradient(150deg, var(--ink) 0%, #1e3035 100%) !important; }
.sales-hero { background: linear-gradient(135deg, var(--ink) 0%, #1e3035 100%) !important; }

/* LOGO MAIOR E COM MAIS DESTAQUE */
.logo-img .logo-principal,
.logo-img .logo-dark {
  height: 68px !important;
  width: auto !important;
}
.header-main { padding: .75rem 2rem !important; }
.header-topbar { padding: .5rem 2rem !important; }
.header-topbar span { font-size: .78rem !important; }
.header-topbar a { font-size: .78rem !important; font-weight: 700 !important; }
.hero { padding-top: 8rem !important; }
.logo-footer { height: 56px !important; }

/* RESPONSIVIDADE COMPLETA — todos os breakpoints */
@media (max-width: 1024px) {
  .logo-img .logo-principal, .logo-img .logo-dark { height: 56px !important; }
  .header-main { padding: .75rem 1.5rem !important; }
  .hero { padding-top: 7rem !important; }
}
@media (max-width: 768px) {
  .logo-img .logo-principal, .logo-img .logo-dark { height: 44px !important; }
  .header-main { padding: .625rem 1.25rem !important; }
  .header-topbar { padding: .375rem 1.25rem !important; }
  .header-topbar span { font-size: .7rem !important; max-width: 55vw !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; display: inline-block !important; }
  .hero { padding-top: 6.5rem !important; }
  .logo-footer { height: 44px !important; }
}
@media (max-width: 480px) {
  .logo-img .logo-principal, .logo-img .logo-dark { height: 38px !important; }
  .header-main { padding: .5rem 1rem !important; }
  .hero { padding-top: 6rem !important; }
  .logo-footer { height: 38px !important; }
}
@media (max-width: 375px) {
  .logo-img .logo-principal, .logo-img .logo-dark { height: 34px !important; }
  .header-topbar span { display: none !important; }
  .logo-footer { height: 34px !important; }
}

/* ════════════════════════════════════════════
   v2.0.5 — LOGO HORIZONTAL (símbolo + texto lado a lado)
════════════════════════════════════════════ */

/* Container horizontal */
.logo-horiz {
  display: flex;
  align-items: center;
  gap: .875rem;
  text-decoration: none;
}

/* Símbolo */
.logo-simbolo {
  height: 52px;
  width: auto;
  display: block;
  flex-shrink: 0;
  transition: opacity .2s;
}

/* Bloco de texto */
.logo-horiz-text {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1;
}

/* Nome principal */
.logo-horiz-name {
  font-family: var(--fd);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: .18em;
  color: var(--ink);
  line-height: 1;
  display: block;
}

/* Subtítulo com as linhas coloridas */
.logo-horiz-sub {
  font-family: var(--fb);
  font-size: .55rem;
  font-weight: 400;
  letter-spacing: .2em;
  color: var(--gray);
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-top: .3rem;
}

/* Linhas decorativas — terracota esquerda, teal direita */
.logo-horiz-sub::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 1px;
  background: var(--terra-new);
  flex-shrink: 0;
}
.logo-horiz-sub::after {
  content: '';
  display: inline-block;
  width: 18px;
  height: 1px;
  background: var(--teal);
  flex-shrink: 0;
}

/* Remover estilos antigos da logo PNG */
.logo-img .logo-principal,
.logo-img .logo-dark { display: none !important; }

/* ── RESPONSIVIDADE ── */
@media (max-width: 1024px) {
  .logo-simbolo { height: 46px; }
  .logo-horiz-name { font-size: 1.1rem; }
}

@media (max-width: 768px) {
  .logo-simbolo { height: 40px; }
  .logo-horiz-name { font-size: 1rem; letter-spacing: .14em; }
  .logo-horiz-sub { font-size: .5rem; }
  .logo-horiz { gap: .625rem; }
}

@media (max-width: 480px) {
  .logo-simbolo { height: 34px; }
  .logo-horiz-name { font-size: .875rem; letter-spacing: .1em; }
  .logo-horiz-sub { display: none; } /* só símbolo + nome em tela pequena */
  .logo-horiz { gap: .5rem; }
}

/* ── FOOTER — logo horizontal também ── */
.logo-footer-horiz {
  display: flex;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
  margin-bottom: .875rem;
}

.logo-footer-horiz .logo-simbolo {
  height: 44px;
  filter: brightness(0) invert(1);
  opacity: .85;
}

.logo-footer-horiz .logo-horiz-name {
  color: #fff;
  font-size: 1.1rem;
}

.logo-footer-horiz .logo-horiz-sub {
  color: rgba(255,255,255,.4);
}

.logo-footer-horiz .logo-horiz-sub::before {
  background: var(--terra-new);
  opacity: .6;
}
.logo-footer-horiz .logo-horiz-sub::after {
  background: var(--teal);
  opacity: .6;
}

@media (max-width: 768px) {
  .logo-footer-horiz .logo-simbolo { height: 36px; }
  .logo-footer-horiz .logo-horiz-name { font-size: .95rem; }
}

/* ════════════════════════════════════════════
   v2.0.6 — SEPARAÇÃO NEWSLETTER/FOOTER + LOGO MAIOR
════════════════════════════════════════════ */

/* Newsletter — fundo levemente diferente com borda inferior */
.newsletter-sec {
  background: linear-gradient(135deg, #1a2628 0%, #1e3035 100%) !important;
  border-bottom: 3px solid var(--terra-new) !important;
  position: relative;
}

/* Footer — fundo mais escuro para diferenciar */
.ft-body {
  background: #0f1a1c !important;
}
.ft-bottom {
  background: #0a1214 !important;
}

/* Linha decorativa no topo do footer */
.ft-body::before {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--terra-new) 25%,
    var(--teal) 75%,
    transparent 100%);
  opacity: .4;
  margin-bottom: 0;
}

/* LOGO FOOTER MAIOR */
.logo-footer-horiz {
  gap: 1rem !important;
  margin-bottom: 1.25rem !important;
}

.logo-footer-horiz .logo-simbolo {
  height: 58px !important;
  filter: brightness(0) invert(1) !important;
  opacity: .9 !important;
}

.logo-footer-horiz .logo-horiz-name {
  font-size: 1.35rem !important;
  letter-spacing: .2em !important;
  color: #fff !important;
}

.logo-footer-horiz .logo-horiz-sub {
  font-size: .58rem !important;
  color: rgba(255,255,255,.38) !important;
  margin-top: .35rem !important;
}

/* LOGO HEADER MAIOR */
.logo-simbolo { height: 58px !important; }
.logo-horiz-name { font-size: 1.3rem !important; }
.logo-horiz { gap: 1rem !important; }

/* Responsivo logo header */
@media (max-width: 1024px) {
  .logo-simbolo { height: 50px !important; }
  .logo-horiz-name { font-size: 1.15rem !important; }
}
@media (max-width: 768px) {
  .logo-simbolo { height: 42px !important; }
  .logo-horiz-name { font-size: 1rem !important; }
  .logo-footer-horiz .logo-simbolo { height: 44px !important; }
  .logo-footer-horiz .logo-horiz-name { font-size: 1.1rem !important; }
}
@media (max-width: 480px) {
  .logo-simbolo { height: 36px !important; }
  .logo-horiz-name { font-size: .9rem !important; letter-spacing: .12em !important; }
}

/* ════════════════════════════════════════════
   v2.0.7 — NEWSLETTER CLARA, FOOTER ESCURO LIMPO
════════════════════════════════════════════ */

/* Newsletter — fundo claro creme, sem verde */
.newsletter-sec {
  background: var(--surface-warm) !important;
  border-bottom: none !important;
  border-top: 1px solid var(--border-soft) !important;
}

/* Textos da newsletter no claro */
.newsletter-sec h2 {
  color: var(--ink) !important;
}
.newsletter-sec p,
.newsletter-sec .lead {
  color: var(--gray) !important;
}

/* Eyebrow / tag "Toda semana" */
.ins-tag {
  background: rgba(193,123,90,.1) !important;
  border-color: rgba(193,123,90,.2) !important;
  color: var(--terra-new) !important;
}
.ins-tag .pulse {
  background: var(--terra-new) !important;
}

/* Card do formulário no fundo claro */
.nl-form-card {
  background: var(--surface) !important;
  border: 1px solid var(--border-soft) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.06) !important;
}
.nl-form-card strong {
  color: var(--ink) !important;
}
.nl-form-card span {
  color: var(--gray) !important;
}
.nl-form-card .nl-input {
  background: var(--surface-warm) !important;
  border-color: var(--border-soft) !important;
  color: var(--ink) !important;
}
.nl-form-card .nl-input::placeholder {
  color: var(--gray) !important;
  opacity: .7;
}
.nl-privacy {
  color: var(--gray) !important;
}

/* Footer — limpo sem linha colorida excessiva */
.ft-body::before {
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(193,123,90,.3) 30%,
    rgba(193,123,90,.3) 70%,
    transparent 100%) !important;
  opacity: .5 !important;
}

/* ════════════════════════════════════════════
   v2.0.8 — DIVISORES ENTRE SEÇÕES + SCROLL BAR SEM ROXO
════════════════════════════════════════════ */

/* Scroll progress — sem roxo */
#scroll-progress {
  background: linear-gradient(90deg,
    var(--terra-new) 0%,
    var(--terra-l) 40%,
    var(--teal) 100%) !important;
}

/* ── DIVISOR PADRÃO — mixin via pseudo-elemento ── */
/* Aplicado nas seções que precisam de separação visual */

/* Divisor após hero (antes da stats-bar) */
.stats-bar {
  position: relative;
}

/* Divisor após stats-bar */
.stats-bar::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--border-soft) 20%,
    var(--border-soft) 80%,
    transparent 100%);
}

/* Divisor acima dos serviços */
.sp[id="servicos"] {
  border-top: 1px solid var(--border-soft);
}

/* Divisor entre serviços e vitrine */
.produtos {
  position: relative;
}
.produtos::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(193,123,90,.2) 30%,
    var(--teal) 50%,
    rgba(193,123,90,.2) 70%,
    transparent);
}

/* Divisor entre vitrine e CTA diagnóstico */
.cta-s {
  position: relative;
}
.cta-s::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(193,123,90,.3) 50%,
    transparent);
}

/* Divisor após CTA / antes da seção sobre */
#sobre {
  border-top: 1px solid var(--border-soft);
}

/* Divisor entre sobre e depoimentos */
#depoimentos {
  border-top: 1px solid var(--border-soft);
}

/* Divisor entre depoimentos e blog */
#blog {
  border-top: 1px solid var(--border-soft);
}

/* Divisor após blog / antes newsletter */
.newsletter-sec {
  border-top: 1px solid var(--border-soft) !important;
}

/* ── LINHA DECORATIVA ENTRE NEWSLETTER E FOOTER ── */
/* Já está na .ft-body::before — deixar mais visível */
.ft-body::before {
  background: linear-gradient(90deg,
    transparent 0%,
    var(--terra-new) 20%,
    var(--teal) 80%,
    transparent 100%) !important;
  opacity: .35 !important;
  height: 2px !important;
}

/* ════════════════════════════════════════════
   v2.0.9 — CORRIGIR BOTÕES INVISÍVEIS + AUDITORIA
════════════════════════════════════════════ */

/* ── btn-gw NA SEÇÃO PRODUTOS (fundo claro) ──
   .btn-gw foi feito para fundo escuro (rgba branco)
   Na vitrine clara, precisa de versão escura */
.produtos .btn-gw,
.produtos .btn-gw:link,
.produtos .btn-gw:visited {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1.5px solid var(--border-warm) !important;
}
.produtos .btn-gw:hover {
  background: var(--terra-bg) !important;
  border-color: var(--terra-new) !important;
  color: var(--terra-new) !important;
  transform: translateY(-2px) !important;
}

/* ── btn-dark NA SEÇÃO SOBRE (fundo cream/white) ── */
.sobre .btn-dark {
  background: var(--ink) !important;
  color: #fff !important;
}
.sobre .btn-dark:hover {
  background: var(--terra-new) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

/* ── btn-o NA SEÇÃO BLOG (fundo cream) ── */
.sp .btn-o {
  color: var(--teal) !important;
  border-color: var(--teal) !important;
  background: transparent !important;
}
.sp .btn-o:hover {
  background: var(--teal) !important;
  color: #fff !important;
}

/* ── btn-gw NO HERO (fundo escuro) — manter branco ── */
.hero .btn-gw {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.25) !important;
}
.hero .btn-gw:hover {
  background: rgba(255,255,255,.2) !important;
  color: #fff !important;
}

/* ── "Ver todos os produtos" especificamente ── */
.produtos [class*="btn-gw"] {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1.5px solid rgba(30,45,47,.2) !important;
}
.produtos [class*="btn-gw"]:hover {
  border-color: var(--terra-new) !important;
  color: var(--terra-new) !important;
  background: var(--terra-bg) !important;
}

/* ── TEXTOS POTENCIALMENTE INVISÍVEIS ── */

/* Seção sobre — garantir textos legíveis */
.sobre .proof-txt,
.sobre .proof-txt strong {
  color: var(--gray) !important;
}

/* Pilares na seção sobre */
.pilar { color: var(--graphite) !important; }

/* Cards de depoimento — garantir legibilidade */
.dep-card blockquote { color: var(--graphite) !important; }
.dep-card .dep-author strong { color: var(--ink) !important; }
.dep-card .dep-author span { color: var(--gray) !important; }

/* CTA micro textos abaixo do form */
.cta-micros .cta-mc {
  color: rgba(255,255,255,.45) !important;
}

/* Newsletter no fundo claro — garantir textos */
.newsletter-sec .nl-sec-grid h2 {
  color: var(--ink) !important;
}
.newsletter-sec .nl-sec-grid p {
  color: var(--gray) !important;
}

/* Seção blog — título e texto legíveis */
#blog .sec-head h2 { color: var(--graphite) !important; }
#blog .sec-head p { color: var(--gray) !important; }
.blog-body h3 a { color: var(--graphite) !important; }
.blog-body h3 a:hover { color: var(--teal) !important; }
.blog-date { color: var(--gray) !important; }

/* ── BOTÃO DE PC (produto card) — garantir visível ── */
.pc .btn-p {
  background: var(--teal) !important;
  color: #fff !important;
}
.pc .btn-p:hover {
  background: var(--teal-d) !important;
}

/* ── "Ver todos" text legível em qualquer fundo ── */
a.btn.btn-gw:not(.hero .btn-gw):not(.site-header .btn-gw) {
  color: var(--ink) !important;
  background: transparent !important;
  border-color: rgba(30,45,47,.18) !important;
}
a.btn.btn-gw:not(.hero .btn-gw):not(.site-header .btn-gw):hover {
  color: var(--terra-new) !important;
  border-color: var(--terra-new) !important;
  background: var(--terra-bg) !important;
}



/* ═════════════════════════════════════════════════════════════════
   CABEÇALHO BRANCO SÓLIDO FULL-WIDTH — DECISÃO 21/07/2026
   A Natali optou por um cabeçalho branco sólido, sempre visível, com a
   faixa branca ocupando toda a largura da tela e o conteúdo (logo, menu,
   botões) alinhado ao centro do site. Substitui o comportamento
   transparente/glassmorphism anterior. Todos os elementos ficam em tom
   escuro legível sobre o fundo branco.
   ═════════════════════════════════════════════════════════════════ */

/* Faixa branca de ponta a ponta: quem pinta full-width é o .site-header.
   O .header-main NÃO recebe max-width:none — ele centraliza o conteúdo. */
.site-header,
.site-header.top,
.site-header.scrolled {
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(0,0,0,.06), 0 2px 16px rgba(0,0,0,.05);
}
.site-header .header-main,
.site-header.top .header-main,
.site-header.scrolled .header-main {
  background: transparent;   /* a cor branca vem do .site-header (full-width) */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Conteúdo do header centralizado (logo/menu/botões acompanham a largura do site) */
.header-main {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Logo-texto SEMPRE escuro (fundo é branco agora) */
.site-header .logo-horiz-name,
.site-header.top .logo-horiz-name,
.site-header.scrolled .logo-horiz-name { color: var(--ink); }
.site-header .logo-horiz-sub,
.site-header.top .logo-horiz-sub,
.site-header.scrolled .logo-horiz-sub { color: var(--gray); }

/* Menu SEMPRE escuro e legível sobre branco */
.site-header .nav-a,
.site-header.top .nav-a,
.site-header .nav-btn-mega,
.site-header.top .nav-btn-mega { color: var(--ink); }
.site-header .nav-a:hover,
.site-header.top .nav-a:hover,
.site-header .nav-btn-mega:hover,
.site-header.top .nav-btn-mega:hover { color: var(--teal); }
.site-header .nav-a.active,
.site-header.top .nav-a.active,
.site-header .nav-btn-mega.active,
.site-header.top .nav-btn-mega.active { color: var(--teal); }

/* Botão WhatsApp — visível sobre branco (contorno teal, ícone/texto escuro) */
.site-header .btn-gw,
.site-header.top .btn-gw {
  color: var(--ink);
  background: transparent;
  border: 1.5px solid var(--off);
}
.site-header .btn-gw:hover,
.site-header.top .btn-gw:hover {
  border-color: #25d366;
  color: #1a8f45;
}

/* Botão "Agendar conversa" — contorno teal, preenchido no hover */
.site-header .btn-o,
.site-header.top .btn-o {
  color: var(--teal);
  border: 1.5px solid var(--teal);
  background: transparent;
}
.site-header .btn-o:hover,
.site-header.top .btn-o:hover {
  background: var(--teal);
  color: #fff;
}

/* Ícone do hambúrguer (mobile) escuro sobre branco */
.site-header.top .nav-toggle span { background: var(--ink); }

/* O hero não fica mais atrás do header branco — dá respiro no topo */
.hero { padding-top: 3rem; }
