/*
 Theme Name:   BMR v2 Child Theme
 Theme URI:    https://www.bmr-e.com.br
 Description:  Child theme para o tema Elementor (Hello Elementor ou tema ativo) — BMR site v2 redesign.
 Author:       BMR
 Template:     hello-elementor
 Version:      2.0.0
 Text Domain:  bmr-child
*/

/* ======================================================================
   IMPORTANTE: Altere "Template: hello-elementor" acima para o slug
   exato do tema pai. Use: wp-content/themes/<slug-do-tema-pai>
   Para ver o slug: Aparência → Temas → clique no tema ativo → veja "Pasta"
   ====================================================================== */

/* =======================================================================
   BMR v2 — Design Tokens (CSS Custom Properties)
   Bordô = marca. Base clara + faixas escuras (plataforma).
   Acento "íris" (rosa-elétrico derivado do bordô) usado com restrição.
   ======================================================================= */
:root {
  /* Paleta principal */
  --wine:       #8A1730;
  --wine-2:     #A81E3C;
  --wine-deep:  #63102170;
  --graphite:   #17181D;
  --graphite-2: #1E2027;
  --wine-ink:   #191A1E;
  --wine-soft:  #F7ECEF;
  --iris:       #E23A6B;
  --iris-2:     #FF6B8A;
  --cyan:       #38BDF8;
  --ink:        #191A1E;
  --slate:      #5B5E68;
  --slate-2:    #8A8D96;
  --line:       #E9E9ED;
  --line-dk:    rgba(255,255,255,.10);
  --paper:      #FFFFFF;
  --cloud:      #FAFAFB;
  --cloud-2:    #F4F4F6;

  /* Sombras */
  --shadow:     0 1px 2px rgba(20,20,26,.05), 0 10px 30px rgba(20,20,26,.07);
  --shadow-lg:  0 10px 30px rgba(20,20,26,.10), 0 30px 70px rgba(20,20,26,.14);

  /* Raios e dimensões */
  --r:    14px;
  --r-sm: 10px;
  --maxw: 1200px;

  /* Tipografia */
  --disp: "Space Grotesk", system-ui, sans-serif;
  --body: "Inter", system-ui, -apple-system, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}

/* =======================================================================
   Reset mínimo (o Elementor já faz boa parte, mas garantimos aqui)
   ======================================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--body);
  color: var(--ink);
  background: var(--cloud);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 {
  font-family: var(--disp);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--wine-ink);
}

/* =======================================================================
   Utility Classes
   ======================================================================= */
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.mono { font-family: var(--mono); }
.eyebrow {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--wine);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.eyebrow::before {
  content: "";
  width: 22px;
  height: 1.5px;
  background: var(--iris);
  display: inline-block;
}
.lead { font-size: 1.16rem; color: var(--slate); max-width: 58ch; }
.ctr { text-align: center; margin-left: auto; margin-right: auto; }

/* =======================================================================
   Botões BMR
   ======================================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--body);
  font-weight: 600;
  font-size: .96rem;
  padding: .72rem 1.4rem;
  border-radius: 13px;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: .18s ease;
  white-space: nowrap;
}
.btn svg { width: 16px; height: 16px; }
.btn-primary { background: var(--wine); color: #fff; }
.btn-primary:hover { background: #5E0F1F; }
.btn-ghost { background: transparent; color: var(--wine); border-color: var(--line); }
.btn-ghost:hover { border-color: var(--wine); background: var(--wine-soft); }
.btn-light { background: #fff; color: var(--wine); }
.btn-light:hover { background: var(--wine); color: #fff; }
.btn-ol { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.btn-ol:hover { border-color: #fff; background: rgba(255,255,255,.08); }

/* =======================================================================
   HEADER — Sticky com dark/light mode dinâmico via JS
   ======================================================================= */
.hd {
  position: sticky;
  top: 0;
  z-index: 70;
  background: rgba(251,249,248,.82);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--line);
  transition: background .45s cubic-bezier(.4,0,.2,1),
              border-color .45s cubic-bezier(.4,0,.2,1);
}
.hd.over-hero { background: rgba(15,16,21,.9); border-bottom-color: rgba(255,255,255,.06); }
.hd.over-hero .brand { color: #fff; }
.hd.over-hero .brand small { color: rgba(255,255,255,.6); }
.hd.over-hero .nav-links a { color: rgba(255,255,255,.9); }
.hd.over-hero .nav-links a:hover { color: #fff; }
.hd.over-hero .nav-diag { color: #fff !important; }
.hd.over-hero .mtoggle span { background: #fff; }
.hd.over-hero .btn-primary { background: #fff; color: var(--wine); }
.hd.over-hero .btn-primary:hover { background: rgba(255,255,255,.9); }
.hd .brand, .hd .brand small, .hd .nav-links a, .hd .nav-diag,
.hd .mtoggle span, .hd .btn-primary {
  transition: color .45s cubic-bezier(.4,0,.2,1),
              background .45s cubic-bezier(.4,0,.2,1);
}
.hd .wrap { max-width: 1320px; padding: 0 32px; }

/* Nav */
.nav { display: flex; align-items: center; gap: 2.6rem; height: 74px; }
.brand {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--disp);
  font-weight: 700;
  font-size: 1.35rem;
  color: var(--wine);
  letter-spacing: -.03em;
  flex: 0 0 auto;
}
.brand small {
  font-family: var(--mono);
  font-weight: 500;
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--slate-2);
  display: block;
  line-height: 1;
  margin-top: 2px;
}
.brand-logo { height: 52px; width: auto; display: block; }
.ft .brand-logo { height: 46px; }
.nav > nav { flex: 0 0 auto; }
.nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; }
.nav-links a { font-size: .95rem; font-weight: 500; color: var(--ink); transition: .15s; }
.nav-links a:hover { color: var(--wine); }
.nav-cta { margin-left: auto; display: flex; align-items: center; gap: .7rem; }
.nav-cta .btn { padding: .85rem 1.7rem; }
.nav-diag { color: var(--wine) !important; font-weight: 600 !important; display: inline-flex; align-items: center; gap: 6px; }
.nav-diag::before { content: "\25C8"; font-size: .78em; color: var(--iris); }
.mtoggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.mtoggle span { display: block; width: 23px; height: 2px; background: var(--wine-ink); margin: 5px 0; transition: .2s; }

/* =======================================================================
   Mega-menu
   ======================================================================= */
.has-mega { position: static; }
.mega-trigger { display: inline-flex; align-items: center; gap: 5px; }
.mega-trigger svg { transition: transform .2s ease; opacity: .6; }
.has-mega:hover .mega-trigger svg,
.has-mega.open .mega-trigger svg { transform: rotate(180deg); }
.mega {
  position: absolute; left: 0; right: 0; top: calc(100% + 1px); z-index: 65;
  opacity: 0; visibility: hidden; transform: translateY(-6px); transition: .2s ease;
  background: var(--paper); border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line); box-shadow: var(--shadow-lg);
}
.has-mega:hover .mega,
.has-mega.open .mega { opacity: 1; visibility: visible; transform: none; }
.mega-inner {
  max-width: var(--maxw); margin: 0 auto; padding: 34px 24px 38px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 44px;
}
.mega-col { display: flex; flex-direction: column; }
.mega-label {
  font-family: var(--mono); font-size: .66rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--slate-2); font-weight: 600;
  margin-bottom: 14px; padding-left: 2px;
}
.mega-item { display: flex; gap: 14px; align-items: flex-start; padding: 11px 12px; border-radius: 10px; transition: .15s; }
.mega-item:hover { background: var(--cloud-2); }
.mega-ic {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 9px;
  background: var(--wine-soft); color: var(--wine);
  display: grid; place-items: center; font-size: 1.05rem; transition: .15s;
}
.mega-ic svg {
  width: 19px; height: 19px; stroke: currentColor; fill: none;
  stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.vlist .ic svg, .ph-ic svg {
  stroke: currentColor; fill: none; stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}
.mega-item:hover .mega-ic { background: var(--wine); color: #fff; }
.mega-txt b {
  display: flex; align-items: center; gap: 8px; font-family: var(--body);
  font-size: .98rem; font-weight: 600; color: var(--ink); margin-bottom: 3px;
}
.mega-txt small { display: block; color: var(--slate); font-size: .83rem; line-height: 1.4; max-width: 34ch; }
.mega-flag {
  font-style: normal; font-family: var(--mono); font-size: .56rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: #fff;
  background: var(--iris); padding: 3px 7px; border-radius: 100px;
}
.mega-promo { margin-top: 14px; background: var(--graphite); color: #fff; border-radius: 12px; padding: 20px 22px; }
.mega-promo-eyebrow {
  font-family: var(--mono); font-size: .62rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--iris-2); font-weight: 600;
}
.mega-promo p { font-family: var(--disp); font-size: 1rem; line-height: 1.35; color: #fff; margin: 8px 0 12px; font-weight: 500; }
.mega-promo-link { font-size: .86rem; font-weight: 600; color: var(--iris-2); }
.mega-promo-link:hover { color: #fff; }

/* =======================================================================
   Hero (Home)
   ======================================================================= */
.hero {
  position: relative; background: var(--graphite); color: #fff;
  overflow: hidden; padding: 76px 0 64px;
}
.hero::before {
  content: ""; position: absolute; inset: 0; opacity: .5;
  background: radial-gradient(700px 340px at 82% 8%, rgba(226,58,107,.22), transparent 62%),
              radial-gradient(600px 400px at 10% 100%, rgba(138,23,48,.35), transparent 60%);
}
.hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35;
  background-image: linear-gradient(var(--line-dk) 1px, transparent 1px),
                    linear-gradient(90deg, var(--line-dk) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(circle at 60% 30%, #000, transparent 78%);
}
.hero-grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.02fr .98fr; gap: 52px; align-items: center;
}
.hero h1 {
  font-size: clamp(2.3rem, 4.7vw, 3.55rem); font-weight: 600; color: #fff;
  margin: 20px 0 0; letter-spacing: -.03em;
}
.hero h1 .grad {
  background: linear-gradient(92deg, var(--iris-2), var(--iris));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-msgs { margin: 22px 0 30px; display: flex; flex-direction: column; gap: 14px; max-width: 52ch; }
.hmsg { display: flex; gap: 13px; align-items: flex-start; opacity: 0; transform: translateY(10px); animation: rise .6s ease forwards; }
.hmsg:nth-child(1) { animation-delay: .15s; }
.hmsg:nth-child(2) { animation-delay: .35s; }
.hmsg:nth-child(3) { animation-delay: .55s; }
.hmsg .k {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 7px;
  display: grid; place-items: center; font-family: var(--mono); font-size: .7rem;
  font-weight: 600; background: rgba(255,255,255,.1); color: var(--iris-2);
  border: 1px solid rgba(255,255,255,.14);
}
.hmsg p { color: rgba(255,255,255,.86); font-size: 1.02rem; line-height: 1.5; }
.hmsg p b { color: #fff; font-weight: 600; }
@keyframes rise { to { opacity: 1; transform: none; } }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; opacity: 0; animation: rise .6s ease .75s forwards; }
.hero-trust { margin-top: 20px; display: flex; gap: 22px; flex-wrap: wrap; opacity: 0; animation: rise .6s ease .9s forwards; }
.hero-trust div { font-family: var(--mono); }
.hero-trust .n { font-family: var(--disp); font-weight: 700; font-size: 1.5rem; color: #fff; line-height: 1; }
.hero-trust .l { font-size: .72rem; color: rgba(255,255,255,.6); letter-spacing: .04em; margin-top: 3px; }

/* Terminal / Chat animation */
.term {
  position: relative; z-index: 2; background: #101116;
  border: 1px solid rgba(255,255,255,.12); border-radius: 16px;
  box-shadow: var(--shadow-lg); overflow: visible;
}
.term-top {
  display: flex; align-items: center; gap: 8px; padding: 12px 15px;
  border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.02);
  border-radius: 16px 16px 0 0;
}
.term-top i { width: 11px; height: 11px; border-radius: 50%; background: rgba(255,255,255,.18); }
.term-top i:first-child { background: var(--iris); }
.term-top span { margin-left: auto; font-family: var(--mono); font-size: .68rem; color: rgba(255,255,255,.5); letter-spacing: .05em; }
.term-body { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 12px; min-height: 290px; }
.bub { max-width: 82%; padding: 11px 14px; border-radius: 12px; font-size: .9rem; line-height: 1.45; }
.bub.user { align-self: flex-end; background: var(--wine-2); color: #fff; border-bottom-right-radius: 4px; }
.bub.ai { align-self: flex-start; background: rgba(255,255,255,.06); color: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.09); border-bottom-left-radius: 4px; }
.bub.ai .src { display: block; margin-top: 8px; font-family: var(--mono); font-size: .68rem; color: var(--cyan); letter-spacing: .03em; }
.bub b { color: #fff; }
.typing { align-self: flex-start; display: flex; gap: 5px; padding: 12px 15px; background: rgba(255,255,255,.06); border-radius: 12px; border-bottom-left-radius: 4px; }
.typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--iris-2); animation: blink 1.2s infinite; }
.typing i:nth-child(2) { animation-delay: .2s; }
.typing i:nth-child(3) { animation-delay: .4s; }
@keyframes blink { 0%,60%,100% { opacity: .25; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.term-tag {
  position: absolute; bottom: -13px; left: 20px; background: var(--iris); color: #fff;
  font-family: var(--mono); font-size: .66rem; font-weight: 600;
  letter-spacing: .05em; padding: 5px 11px; border-radius: 100px; box-shadow: var(--shadow);
}

/* =======================================================================
   Seções comuns
   ======================================================================= */
.sec { padding: 92px 0; }
.sec-head { max-width: 62ch; margin-bottom: 46px; }
.sec-head.ctr { margin-left: auto; margin-right: auto; text-align: center; }
.sec-head h2 { font-size: clamp(1.95rem, 3.6vw, 2.7rem); margin: 14px 0 14px; font-weight: 600; }
.sec-head.ctr .lead { margin-left: auto; margin-right: auto; }

/* Problem bar */
.problem { background: var(--paper); border-bottom: 1px solid var(--line); padding: 30px 0; }
.problem .wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.pcell { display: flex; gap: 13px; align-items: flex-start; }
.pcell .x { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px; background: var(--wine-soft); color: var(--wine); display: grid; place-items: center; font-weight: 700; }
.pcell b { display: block; color: var(--ink); font-size: .96rem; font-family: var(--disp); font-weight: 600; }
.pcell p { font-size: .87rem; color: var(--slate); line-height: 1.45; }

/* Steps / How it works */
.how { background: var(--cloud-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: s; }
.step { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 28px 24px; position: relative; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.step .idx { font-family: var(--mono); font-size: .72rem; font-weight: 600; color: var(--iris); letter-spacing: .1em; }
.step h3 { font-size: 1.2rem; margin: 6px 0 8px; }
.step .price { font-family: var(--mono); font-size: .78rem; color: var(--wine); background: var(--wine-soft); padding: 5px 10px; border-radius: 100px; align-self: flex-start; margin-bottom: 12px; }
.step p { font-size: .92rem; color: var(--slate); flex: 1; }
.step .arrow { position: absolute; top: 50%; right: -19px; z-index: 3; color: var(--iris); font-size: 1.2rem; transform: translateY(-50%); }
.step:last-child .arrow { display: none; }
.step.hl { border-color: var(--iris); box-shadow: 0 0 0 1px var(--iris), var(--shadow-lg); }
.step.hl .flag { position: absolute; top: -11px; left: 24px; background: var(--iris); color: #fff; font-family: var(--mono); font-size: .62rem; font-weight: 600; letter-spacing: .08em; padding: 4px 10px; border-radius: 100px; }

/* Versus */
.versus { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); background: #fff; max-width: 900px; margin: 0 auto; }
.vs-col { padding: 32px 30px; }
.vs-col.generic { background: var(--cloud-2); }
.vs-col.bmr { background: var(--graphite-2); color: #fff; }
.vs-col h3 { font-size: 1.15rem; margin-bottom: 4px; }
.vs-col.bmr h3 { color: #fff; }
.vs-col .tag { font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 16px; display: block; }
.vs-col.generic .tag { color: var(--slate-2); }
.vs-col.bmr .tag { color: var(--iris-2); }
.vs-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.vs-col li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; line-height: 1.4; }
.vs-col.generic li { color: var(--slate); }
.vs-col.bmr li { color: rgba(255,255,255,.86); }
.vs-col .mk { flex: 0 0 auto; font-weight: 700; }
.vs-col.generic .mk { color: var(--slate-2); }
.vs-col.bmr .mk { color: var(--iris-2); }

/* Verticals */
.verts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.vcard { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 32px; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.vcard .tag { font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wine); background: var(--wine-soft); padding: 5px 11px; border-radius: 100px; align-self: flex-start; margin-bottom: 16px; }
.vcard h3 { font-size: 1.5rem; margin-bottom: 8px; }
.vcard > p { color: var(--slate); margin-bottom: 20px; font-size: .96rem; }
.vlist { list-style: none; display: flex; flex-direction: column; gap: 2px; padding: 0; }
.vlist a, .vlist .item { display: flex; align-items: center; gap: 12px; padding: 12px 12px; border-radius: 10px; transition: .15s; }
.vlist a:hover { background: var(--cloud-2); }
.vlist .ic { width: 32px; height: 32px; border-radius: 8px; background: var(--wine-soft); color: var(--wine); display: grid; place-items: center; flex: 0 0 auto; font-size: .9rem; }
.vlist .ic svg { width: 17px; height: 17px; }
.vlist .txt b { display: block; font-size: .96rem; color: var(--ink); }
.vlist .txt small { color: var(--slate); font-size: .82rem; }
.flag2 { margin-left: auto; font-family: var(--mono); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--iris); padding: 4px 9px; border-radius: 100px; flex: 0 0 auto; }

/* Services */
.svc { padding: 82px 0; border-top: 1px solid var(--line); }
.svc-grid { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 52px; align-items: center; }
.svc-grid.rev { grid-template-columns: 1.22fr 0.78fr; }
.svc-grid.rev .svc-copy { order: 2; }
.svc h2 { font-size: clamp(1.55rem, 3vw, 2.1rem); margin: 12px 0 16px; font-weight: 600; }
.svc h2 .hl { color: var(--wine); }
.svc-copy p { color: var(--slate); margin-bottom: 14px; }
.svc-copy .btn { margin-top: 10px; }

/* Illustration frames */
.illus { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(160deg, #fff, var(--cloud-2)); box-shadow: var(--shadow); }
.illus svg { display: block; width: 100%; height: auto; }
.illus.on-dark { border-color: rgba(255,255,255,.12); background: linear-gradient(160deg, var(--graphite-2), var(--graphite)); }
.illus { transition: transform .5s cubic-bezier(.2,.7,.3,1), box-shadow .5s ease; }
.two .illus { border-radius: 18px; box-shadow: 0 20px 54px rgba(20,20,26,.14); min-height: 400px; display: flex; align-items: center; justify-content: center; padding: 18px; transition: transform .5s cubic-bezier(.2,.7,.3,1), box-shadow .5s ease; }
.two .illus svg { width: 100%; height: auto; max-height: 100%; }
.two .illus:hover { transform: translateY(-4px); box-shadow: 0 26px 64px rgba(138,23,48,.15); }
.illus.frameless { border: none !important; background: transparent !important; box-shadow: none !important; }
.two .illus.frameless { box-shadow: none !important; padding: 0; }
.svc-grid .illus { border-radius: 18px; border: none; box-shadow: 0 1px 2px rgba(20,20,26,.05), 0 10px 30px rgba(20,20,26,.07); min-height: 250px; display: flex; align-items: center; justify-content: center; padding: 18px; transition: transform .5s cubic-bezier(.2,.7,.3,1), box-shadow .5s ease; }
.svc-grid .illus svg { width: 100%; height: auto; max-height: 100%; }
.svc-grid .illus:hover { transform: translateY(-4px); box-shadow: 0 4px 12px rgba(20,20,26,.06), 0 16px 40px rgba(20,20,26,.10); }

/* Placeholder */
.ph { border: 1.5px dashed var(--iris); border-radius: var(--r); position: relative; background: linear-gradient(0deg, rgba(226,58,107,.04), rgba(226,58,107,.04)), var(--cloud); min-height: 290px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 34px 26px; gap: 10px; }
.ph .ph-ic { width: 46px; height: 46px; border-radius: 11px; background: var(--wine); color: #fff; display: grid; place-items: center; font-size: 1.2rem; }
.ph b { font-family: var(--disp); font-size: 1.02rem; color: var(--wine-ink); }
.ph small { color: var(--slate); max-width: 36ch; font-size: .85rem; }

/* Marquee */
.eco { padding: 50px 0; background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.eco-head { text-align: center; margin-bottom: 30px; }
.eco-head p { color: var(--slate); max-width: 52ch; margin: 10px auto 0; font-size: .96rem; }
.marquee { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track {
  display: flex; gap: 18px; width: max-content;
  animation: scroll-x 32s linear infinite;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes scroll-x { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 9px)); } }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 100px; font-family: var(--body); font-size: .88rem; color: var(--ink); background: #fff; white-space: nowrap; }
.chip .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--iris); }

/* Metrics */
.metrics { padding: 56px 0; background: var(--paper); border-bottom: 1px solid var(--line); }
.metrics-head { text-align: center; margin-bottom: 36px; }
.mgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.mstat { text-align: center; padding: 24px; }
.mnum { font-family: var(--disp); font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 700; color: var(--wine); line-height: 1; display: flex; justify-content: center; align-items: baseline; gap: 2px; }
.mnum .pre, .mnum .suf { font-size: .6em; color: var(--iris); }
.mlabel { font-family: var(--disp); font-weight: 600; font-size: 1.05rem; margin: 8px 0 4px; }
.msub { color: var(--slate); font-size: .88rem; }

/* Diagnostic (CTA) */
.diag { background: var(--cloud-2); }
.diag .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
.diag ul { list-style: none; display: flex; flex-direction: column; gap: 11px; margin-top: 22px; }
.diag li { display: flex; gap: 11px; align-items: center; font-size: .96rem; }
.diag li .c { color: var(--iris); font-weight: 700; }

/* Loyalty (dark) */
.loyal { background: var(--graphite); color: #fff; }
.loyal h2, .loyal h4 { color: #fff; }
.loyal .lead { color: rgba(255,255,255,.8); }
.loyal .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
.lsteps { display: flex; flex-direction: column; gap: 15px; margin: 24px 0; }
.lstep { display: flex; gap: 15px; align-items: flex-start; }
.lstep .n { font-family: var(--disp); font-weight: 700; font-size: .95rem; color: #fff; background: var(--iris); width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; }
.lstep b { color: #fff; display: block; margin-bottom: 2px; }
.lstep p { color: rgba(255,255,255,.78); font-size: .9rem; }
.rich { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13); border-radius: var(--r); padding: 30px; }
.rich-form { display: flex; gap: 9px; margin-top: 16px; flex-wrap: wrap; }
.rich-form input { flex: 1; min-width: 170px; padding: 13px 15px; border-radius: 9px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-family: var(--body); font-size: .92rem; }
.rich-form input::placeholder { color: rgba(255,255,255,.5); }

/* CTA final */
.fcta { position: relative; background: var(--graphite); color: #fff; text-align: center; padding: 88px 0; overflow: hidden; }
.fcta::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none; background: radial-gradient(600px 300px at 80% 6%, rgba(226,58,107,.18), transparent 62%); }
.fcta::after { content: ""; position: absolute; inset: 0; opacity: .4; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 46px 46px; mask-image: radial-gradient(circle at 78% 12%, #000, transparent 76%); }
.fcta .wrap { position: relative; z-index: 2; }
.fcta h2 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 1.9rem); margin-bottom: 12px; }
.fcta p { color: rgba(255,255,255,.85); font-size: 1rem; max-width: 52ch; margin: 0 auto 22px; }
.fcta .btn-light { font-size: 1.02rem; padding: .95rem 1.9rem; }
.fcta-proof { display: flex; justify-content: center; margin: 40px auto 0; max-width: 640px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; overflow: hidden; }
.fcta-proof div { flex: 1; padding: 18px 14px; border-right: 1px solid rgba(255,255,255,.13); }
.fcta-proof div:last-child { border-right: none; }
.fcta-proof b { font-family: var(--disp); font-size: 1.1rem; color: #fff; display: block; font-weight: 600; }
.fcta-proof small { color: rgba(255,255,255,.6); font-size: .76rem; font-family: var(--mono); letter-spacing: .03em; }

/* =======================================================================
   Footer
   ======================================================================= */
.ft { background: #0E0F12; color: rgba(255,255,255,.68); padding: 60px 0 28px; font-size: .9rem; border-top: 1px solid rgba(255,255,255,.08); }
.ft-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 38px; margin-bottom: 40px; }
.ft h4 { color: #fff; font-family: var(--mono); font-weight: 600; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-top: 0; margin-bottom: 15px; }
.ft ul { list-style: none; display: flex; flex-direction: column; gap: 9px; padding: 0; margin: 0; }
.ft a:hover { color: #fff; }
.ft .brand { color: #fff; margin-bottom: 12px; }
.ft-about p { line-height: 1.6; max-width: 36ch; margin: 0; }
.ft-bot { border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: .8rem; color: rgba(255,255,255,.5); }
.ft-bot a { text-decoration: underline; }

/* =======================================================================
   Page hero (solution pages)
   ======================================================================= */
.page-hero { position: relative; background: var(--graphite); color: #fff; overflow: hidden; padding: 64px 0 60px; }
.page-hero::before { content: ""; position: absolute; inset: 0; opacity: .5; background: radial-gradient(700px 320px at 82% 0%, rgba(226,58,107,.16), transparent 62%); }
.page-hero::after { content: ""; position: absolute; inset: 0; opacity: .4; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 46px 46px; mask-image: radial-gradient(circle at 78% 14%, #000, transparent 76%); }
.page-hero .wrap { position: relative; z-index: 2; }
.crumb { font-family: var(--mono); font-size: .72rem; letter-spacing: .08em; color: rgba(255,255,255,.55); margin-bottom: 16px; }
.crumb a { color: rgba(255,255,255,.7); }
.crumb a:hover { color: #fff; }
.page-hero .tagv { font-family: var(--mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--iris-2); background: rgba(226,58,107,.12); border: 1px solid rgba(226,58,107,.25); padding: 5px 12px; border-radius: 100px; display: inline-block; margin-bottom: 16px; }
.page-hero h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; color: #fff; max-width: 20ch; letter-spacing: -.02em; }
.page-hero p.sub { color: rgba(255,255,255,.82); font-size: 1.15rem; max-width: 56ch; margin-top: 18px; }
.page-hero .acts { margin-top: 28px; display: flex; gap: 12px; flex-wrap: wrap; }

/* Solution page common */
.sect { padding: 76px 0; border-bottom: 1px solid var(--line); }
.sect h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 600; margin-bottom: 16px; max-width: 24ch; }
.sect .lead { font-size: 1.1rem; color: var(--slate); max-width: 60ch; margin-bottom: 14px; }
.two { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 40px; align-items: center; }
.two.two-wide { grid-template-columns: 0.6fr 1.4fr; gap: 48px; }
.prose p { color: var(--slate); margin-bottom: 14px; max-width: 60ch; }
.prose p b { color: var(--ink); }
.bullets { list-style: none; display: flex; flex-direction: column; gap: 14px; margin: 8px 0; }
.bullets li { display: flex; gap: 12px; align-items: flex-start; }
.bullets .ic { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px; background: var(--wine-soft); color: var(--wine); display: grid; place-items: center; font-weight: 700; font-size: .85rem; }
.bullets b { display: block; color: var(--ink); font-family: var(--disp); font-weight: 600; margin-bottom: 2px; }
.bullets p { color: var(--slate); font-size: .94rem; margin: 0; }
.cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 10px; }
.mcard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 26px; box-shadow: var(--shadow); }
.mcard .n { font-family: var(--mono); font-size: .72rem; color: var(--iris); font-weight: 600; }
.mcard h3 { font-size: 1.1rem; margin: 6px 0 8px; }
.mcard p { color: var(--slate); font-size: .92rem; }
.faq { max-width: 760px; }
.qa { border-bottom: 1px solid var(--line); padding: 20px 0; }
.qa h3 { font-size: 1.08rem; margin-bottom: 8px; color: var(--ink); }
.qa p { color: var(--slate); font-size: .96rem; }
.related { background: var(--cloud-2); }
.related .rgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 26px; }
.rcard { display: block; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; box-shadow: var(--shadow); transition: transform .32s cubic-bezier(.2,.7,.3,1), box-shadow .32s ease, border-color .32s ease; }
.rcard:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); border-color: var(--wine); }
.rcard .k { font-family: var(--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--iris); }
.rcard h3 { font-size: 1.12rem; margin: 8px 0 6px; display: flex; align-items: center; gap: 8px; }
.rcard p { color: var(--slate); font-size: .9rem; }
.rcard .arrow { color: var(--wine); font-weight: 700; }

/* Clients page */
.clients { padding: 68px 0; text-align: center; border-top: 1px solid var(--line); background: var(--paper); }
.logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
.lslot { width: 148px; height: 60px; border: 1px dashed var(--line); border-radius: 9px; display: grid; place-items: center; color: var(--slate-2); font-family: var(--mono); font-size: .6rem; letter-spacing: .06em; background: var(--cloud); }
.tgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 32px; }
.tcard { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 28px; box-shadow: var(--shadow); }

/* Agent page pulse */
@keyframes agpulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.ag-pulse { animation: agpulse 1.8s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }

/* Quiz styles */
.quiz { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow);
  padding: 40px 38px; position: relative; overflow: hidden; }
#quiz-diag { box-shadow: var(--shadow-lg); }
.quiz-eyebrow { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--iris); margin-bottom: 6px; }
.quiz h3 { font-size: 1.4rem; margin-bottom: 6px; }
.quiz .quiz-sub { color: var(--slate); font-size: .9rem; margin-bottom: 20px; }
.qbar { height: 5px; background: var(--line); border-radius: 100px; overflow: hidden; margin-bottom: 24px; }
.qbar i { display: block; height: 100%; background: linear-gradient(90deg, var(--iris), var(--wine)); width: 0; transition: width .35s ease; border-radius: 100px; }
.q-count { font-family: var(--mono); font-size: .72rem; color: var(--slate-2); letter-spacing: .06em; margin-bottom: 8px; }
.q-text { font-family: var(--disp); font-size: 1.2rem; color: var(--wine-ink); margin-bottom: 18px; line-height: 1.24; font-weight: 600; }
.q-opts { display: flex; flex-direction: column; gap: 10px; }
.q-opt { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; cursor: pointer; background: var(--cloud); border: 1.5px solid var(--line); border-radius: 11px; padding: 14px 16px; font-family: var(--body); font-size: .96rem; color: var(--ink); transition: .15s; }
.q-opt:hover { border-color: var(--wine); background: var(--wine-soft); }
.q-opt .mk { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--line); flex: 0 0 auto; transition: .15s; }
.q-opt:hover .mk { border-color: var(--wine); }
.q-opt.sel { border-color: var(--wine); background: var(--wine-soft); }
.q-opt.sel .mk { border-color: var(--wine); background: var(--wine); box-shadow: inset 0 0 0 4px #fff; }
.q-nav { display: flex; justify-content: space-between; margin-top: 22px; align-items: center; }
.q-back { background: none; border: none; color: var(--slate-2); cursor: pointer; font-family: var(--body); font-size: .88rem; display: inline-flex; align-items: center; gap: 6px; visibility: hidden; }
.q-back.show { visibility: visible; }
.q-back:hover { color: var(--wine); }
.q-step { animation: fade .3s ease; }
@keyframes fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.q-result { animation: fade .35s ease; }
.rbadge { display: inline-flex; align-items: center; gap: 7px; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; padding: 6px 12px; border-radius: 100px; margin-bottom: 14px; }
.r-good { background: #E7F3EC; color: #1F7A45; }
.r-op { background: var(--wine-soft); color: var(--wine); }
.q-result h4 { font-family: var(--disp); font-size: 1.4rem; color: var(--wine-ink); margin-bottom: 10px; line-height: 1.2; font-weight: 600; }
.q-result p { color: var(--slate); margin-bottom: 20px; }
.q-capture { background: var(--cloud); border: 1px solid var(--line); border-radius: 12px; padding: 18px; margin-bottom: 18px; }
.q-capture label { font-size: .82rem; color: var(--slate); display: block; margin-bottom: 8px; }
.q-capture .row { display: flex; gap: 8px; flex-wrap: wrap; }
.q-capture input { flex: 1; min-width: 170px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; font-family: var(--body); font-size: .92rem; background: #fff; }
.q-restart { background: none; border: none; color: var(--slate-2); font-family: var(--body); font-size: .84rem; cursor: pointer; text-decoration: underline; margin-top: 12px; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1); }
.reveal.in { opacity: 1; transform: none; }

/* =======================================================================
   Responsivo
   ======================================================================= */
@media (max-width: 920px) {
  .nav-links { display: none; }
  .mtoggle { display: block; }
  .nav-cta .btn { display: none; }
  .nav-cta { gap: 0; }
  .nav-links.open {
    display: flex; position: absolute; top: 74px; left: 0; right: 0;
    background: #fff; flex-direction: column; padding: 16px 20px 22px; gap: 6px;
    border-bottom: 1px solid var(--line); box-shadow: var(--shadow);
    max-height: calc(100vh - 70px); overflow-y: auto; align-items: stretch;
  }
  .nav-links.open > li > a { padding: 12px 4px; font-size: 1rem; }
  .has-mega { position: relative; }
  .mega { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; background: transparent; display: none; }
  .has-mega.open .mega { display: block; }
  .mega-inner { display: block; padding: 4px 0 8px; }
  .mega-col { margin-bottom: 14px; }
  .mega-item { padding: 9px 8px; }
  .mega-ic { width: 32px; height: 32px; font-size: .9rem; }
  .mega-txt small { max-width: none; }
  .mega-promo { margin-top: 8px; }
  .hero-grid, .svc-grid, .svc-grid.rev, .svc-grid.rev .svc-copy,
  .diag .wrap, .loyal .wrap, .verts, .versus { grid-template-columns: 1fr; }
  .svc-grid.rev .svc-copy { order: 0; }
  .problem .wrap, .steps { grid-template-columns: 1fr; }
  .step .arrow { display: none; }
  .term { max-width: 480px; margin: 0 auto; }
  .ft-grid { grid-template-columns: 1fr 1fr; }
  .brand-logo { height: 44px; }
  .tgrid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .two, .cards3, .related .rgrid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .fcta-proof { flex-direction: column; }
  .fcta-proof div { border-right: none; border-bottom: 1px solid rgba(255,255,255,.13); }
  .fcta-proof div:last-child { border-bottom: none; }
  .mgrid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .ft-grid { grid-template-columns: 1fr; }
  .sec, .svc { padding: 58px 0; }
  .quiz { padding: 24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal, .reveal.in { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* =======================================================================
   Legal pages (LGPD + Cookies)
   ======================================================================= */
.legal-hero{background:var(--cloud);padding:64px 0 48px;border-bottom:1px solid var(--line)}
.legal-hero .wrap{max-width:800px}
.legal-hero h1{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:12px}
.legal-hero .legal-updated{font-family:var(--mono);font-size:.74rem;color:var(--slate-2);letter-spacing:.04em}
.legal-body{max-width:800px;margin:0 auto;padding:48px 24px 64px}
.legal-body h2{font-size:clamp(1.2rem,2vw,1.45rem);margin:48px 0 16px;padding-top:16px;
  border-top:1px solid var(--line);line-height:1.2}
.legal-body h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.legal-body h3{font-size:1.08rem;margin:32px 0 12px;line-height:1.25}
.legal-body p{font-size:1.02rem;line-height:1.78;color:var(--ink);margin-bottom:20px}
.legal-body ul,.legal-body ol{margin:0 0 20px 20px;font-size:1.02rem;line-height:1.78;color:var(--ink)}
.legal-body li{margin-bottom:8px}
.legal-body strong{font-weight:600}
.legal-body a{color:var(--wine);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.legal-body a:hover{color:#5E0F1F}
.legal-body .legal-highlight{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r);
  padding:24px 28px;margin:28px 0;position:relative;overflow:hidden}
.legal-body .legal-highlight::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--wine)}
.legal-body .legal-highlight p{margin-bottom:0}
.cookie-table{width:100%;border-collapse:collapse;margin:24px 0 28px;font-size:.95rem}
.cookie-table thead{background:var(--cloud)}
.cookie-table th{font-family:var(--disp);font-weight:600;font-size:.82rem;letter-spacing:.02em;
  text-align:left;padding:12px 16px;border-bottom:2px solid var(--line);color:var(--ink)}
.cookie-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6;color:var(--ink)}
.cookie-table code{font-family:var(--mono);font-size:.82rem;background:var(--cloud-2);padding:2px 7px;border-radius:5px;white-space:nowrap}
.cookie-table tr:last-child td{border-bottom:none}

/* =======================================================================
   Blog listing
   ======================================================================= */
.blog-filters{padding:36px 0 8px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:74px;z-index:40;
  backdrop-filter:saturate(160%) blur(14px)}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap;list-style:none}
.filter-chip{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;padding:7px 16px;border-radius:100px;border:1.5px solid var(--line);color:var(--slate);
  cursor:pointer;transition:.18s ease;background:transparent;white-space:nowrap}
.filter-chip:hover{border-color:var(--wine);color:var(--wine)}
.filter-chip.active{background:var(--wine);color:#fff;border-color:var(--wine)}
.blog-feat{padding:48px 0 0}
.feat-card{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);
  transition:transform .32s cubic-bezier(.2,.7,.3,1),box-shadow .32s ease}
.feat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.feat-img{background:linear-gradient(135deg,var(--graphite),var(--graphite-2));min-height:320px;display:flex;
  align-items:center;justify-content:center;padding:32px;position:relative;overflow:hidden}
.feat-img::after{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:38px 38px}
.feat-img svg{position:relative;z-index:2}
.feat-body{padding:32px 36px 32px 0}
.feat-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.blog-cat{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;padding:4px 10px;border-radius:100px;background:var(--wine-soft);color:var(--wine)}
.blog-date{font-family:var(--mono);font-size:.72rem;color:var(--slate-2);letter-spacing:.04em}
.feat-body h2{font-size:clamp(1.4rem,2.4vw,1.75rem);margin-bottom:12px;line-height:1.18}
.feat-body h2 a{color:var(--wine-ink);transition:.15s}
.feat-body h2 a:hover{color:var(--wine)}
.feat-body p{color:var(--slate);font-size:1rem;line-height:1.65;margin-bottom:18px;max-width:48ch}
.read-more{font-weight:600;color:var(--wine);font-size:.94rem;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.read-more:hover{gap:10px;color:#5E0F1F}
.blog-grid-section{padding:48px 0 80px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .32s cubic-bezier(.2,.7,.3,1),box-shadow .32s ease,border-color .32s ease;
  display:flex;flex-direction:column}
.bcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--wine)}
.bcard-img{background:linear-gradient(135deg,var(--graphite),var(--graphite-2));height:190px;display:flex;
  align-items:center;justify-content:center;position:relative;overflow:hidden}
.bcard-img::after{content:"";position:absolute;inset:0;opacity:.25;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px}
.bcard-img svg{position:relative;z-index:2}
.bcard-body{padding:22px 24px 26px;flex:1;display:flex;flex-direction:column}
.bcard-body .feat-meta{margin-bottom:12px}
.bcard-body h3{font-size:1.08rem;line-height:1.25;margin-bottom:10px}
.bcard-body h3 a{color:var(--wine-ink);transition:.15s}
.bcard-body h3 a:hover{color:var(--wine)}
.bcard-body p{color:var(--slate);font-size:.9rem;line-height:1.6;flex:1;margin-bottom:14px}
.bcard-body .read-more{font-size:.86rem}
.blog-pag{display:flex;justify-content:center;gap:6px;margin-top:48px}
.pag-btn{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);
  font-family:var(--mono);font-size:.85rem;font-weight:600;color:var(--slate);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:.18s ease}
.pag-btn:hover{border-color:var(--wine);color:var(--wine)}
.pag-btn.active{background:var(--wine);color:#fff;border-color:var(--wine)}
.pag-btn.arrow{font-size:1rem}
.blog-cta{background:var(--graphite);color:#fff;padding:56px 0;text-align:center;position:relative;overflow:hidden}
.blog-cta::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(600px 280px at 50% 0%,rgba(226,58,107,.14),transparent 62%)}
.blog-cta::after{content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:46px 46px;
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 72%)}
.blog-cta .wrap{position:relative;z-index:2}
.blog-cta h2{color:#fff;font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:10px}
.blog-cta p{color:rgba(255,255,255,.8);font-size:1rem;max-width:50ch;margin:0 auto 24px}
.nl-form{display:flex;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.nl-form input{flex:1;min-width:220px;padding:.75rem 1.1rem;border-radius:12px;border:1.5px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);color:#fff;font-family:var(--body);font-size:.94rem;outline:none;transition:.18s ease}
.nl-form input::placeholder{color:rgba(255,255,255,.45)}
.nl-form input:focus{border-color:var(--iris);background:rgba(255,255,255,.12)}
.nl-form .btn-light{padding:.75rem 1.6rem}
.nav-active{color:var(--wine)!important;font-weight:600!important}
.hd.over-hero .nav-active{color:#fff!important}

/* =======================================================================
   Article template
   ======================================================================= */
.reading-bar{position:fixed;top:0;left:0;height:2.5px;background:linear-gradient(90deg,var(--wine),var(--iris));
  z-index:80;width:0;transition:width .1s linear;pointer-events:none}
.art-hero{background:var(--paper);padding:72px 0 0;border-bottom:none}
.art-hero .wrap{max-width:900px}
.art-crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--slate-2);margin-bottom:24px}
.art-crumb a{color:var(--slate);transition:.15s}.art-crumb a:hover{color:var(--wine)}
.art-cat-bar{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.art-cat{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;padding:6px 15px;border-radius:100px;background:var(--wine-soft);color:var(--wine);
  display:inline-block;transition:.15s}
.art-cat:hover{background:var(--wine);color:#fff}
.art-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;color:var(--wine-ink);
  max-width:none;letter-spacing:-.03em;line-height:1.08;margin-bottom:24px}
.art-lede{font-size:1.3rem;color:var(--slate);max-width:52ch;line-height:1.6;margin-bottom:36px}
.art-meta{display:flex;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);flex-wrap:wrap}
.art-meta-item{font-family:var(--mono);font-size:.74rem;color:var(--slate-2);letter-spacing:.04em;
  display:inline-flex;align-items:center;gap:7px}
.art-meta-item svg{width:15px;height:15px;stroke:var(--slate-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.art-author-chip{display:inline-flex;align-items:center;gap:10px}
.art-author-chip .av{width:30px;height:30px;border-radius:50%;background:var(--wine);color:#fff;
  font-family:var(--disp);font-weight:700;font-size:.65rem;display:grid;place-items:center;flex:0 0 auto}
.art-cover{max-width:1120px;margin:48px auto 0;padding:0 24px}
.art-cover-inner{border-radius:18px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(145deg,var(--graphite),var(--graphite-2));
  box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;
  min-height:420px;position:relative}
.art-cover-inner::after{content:"";position:absolute;inset:0;opacity:.25;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px}
.art-cover-inner svg{position:relative;z-index:2}
.art-layout{display:flex;max-width:1120px;margin:0 auto;padding:0 24px;gap:0;position:relative}
.art-main{flex:1;min-width:0;max-width:760px}
.art-sidebar{width:220px;flex-shrink:0;position:relative;padding-top:48px}
.art-sidebar-inner{position:sticky;top:100px}
.sidebar-section{margin-bottom:32px}
.sidebar-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--slate-2);font-weight:600;margin-bottom:14px;display:block}
.sidebar-share{display:flex;flex-direction:column;gap:8px}
.sidebar-share .share-btn{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s ease;color:var(--slate)}
.sidebar-share .share-btn:hover{border-color:var(--wine);color:var(--wine);background:var(--wine-soft)}
.sidebar-share .share-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-share .share-btn.copied{border-color:var(--wine);color:var(--wine);background:var(--wine-soft)}
.sidebar-toc{display:flex;flex-direction:column;gap:0}
.toc-link{font-size:.84rem;color:var(--slate-2);line-height:1.4;padding:7px 0 7px 14px;
  border-left:2px solid transparent;transition:color .2s ease,border-color .2s ease;display:block}
.toc-link:hover{color:var(--ink)}
.toc-link.active{color:var(--wine);font-weight:600;border-left-color:var(--wine)}
.toc-link-alt{font-size:.84rem;color:var(--slate-2);line-height:1.4;display:block;transition:color .2s ease}
.toc-link-alt:hover{color:var(--wine)}
.art-body{padding:48px 0 0 36px}
.art-body p{color:var(--ink);font-size:1.08rem;line-height:1.82;margin-bottom:24px;letter-spacing:-.005em}
.art-body p strong,.art-body p b{color:var(--ink);font-weight:600}
.art-body h2{font-size:clamp(1.35rem,2.4vw,1.7rem);margin:56px 0 18px;line-height:1.18;color:var(--wine-ink);
  padding-top:16px;border-top:1px solid var(--line);scroll-margin-top:100px}
.art-body h2:first-of-type{border-top:none;padding-top:0;margin-top:8px}
.art-body h3{font-size:clamp(1.08rem,1.8vw,1.25rem);margin:40px 0 14px;line-height:1.22;color:var(--wine-ink)}
.art-body ul,.art-body ol{margin:0 0 24px 20px;color:var(--ink);font-size:1.04rem;line-height:1.78}
.art-body li{margin-bottom:10px}
.art-body li strong{color:var(--ink)}
.art-body a{color:var(--wine);font-weight:500;text-decoration:underline;text-underline-offset:3px;transition:.15s}
.art-body a:hover{color:#5E0F1F}
.art-body blockquote{border-left:none;padding:20px 0 20px 28px;margin:36px 0;background:transparent;position:relative}
.art-body blockquote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--iris),var(--wine));border-radius:2px}
.art-body blockquote p{color:var(--ink);font-size:1.14rem;font-style:italic;margin-bottom:0;
  font-family:var(--disp);font-weight:500;line-height:1.55;letter-spacing:-.01em}
.callout{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r);padding:26px 30px;margin:36px 0;
  position:relative;overflow:hidden}
.callout::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--wine)}
.callout .callout-label{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--wine);font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.callout .callout-label svg{width:15px;height:15px;stroke:var(--wine);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.callout p{color:var(--ink);font-size:.98rem;line-height:1.7;margin-bottom:0}
.callout a{color:var(--wine);font-weight:600;text-decoration:underline}
.art-body code{font-family:var(--mono);font-size:.86em;background:var(--cloud-2);border:1px solid var(--line);
  padding:2px 7px;border-radius:5px;color:var(--wine)}
.art-steps{counter-reset:step;list-style:none;margin:32px 0;padding:0}
.art-steps li{counter-increment:step;display:grid;grid-template-columns:40px 1fr;gap:16px;
  align-items:start;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.art-steps li:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
.art-steps li::before{content:counter(step);width:40px;height:40px;border-radius:50%;
  background:var(--paper);border:2px solid var(--wine);color:var(--wine);font-family:var(--disp);
  font-size:.95rem;font-weight:700;display:grid;place-items:center}
.art-steps li div{flex:1}
.art-steps li b{display:block;color:var(--ink);font-family:var(--disp);font-weight:600;margin-bottom:4px;font-size:1.04rem}
.art-steps li p{margin-bottom:0;font-size:.98rem;color:var(--slate)}
.art-illus{border-radius:16px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(160deg,var(--graphite-2),var(--graphite));
  box-shadow:var(--shadow);margin:36px 0;display:flex;align-items:center;justify-content:center;padding:28px;position:relative}
.art-illus::after{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px}
.art-illus svg{position:relative;z-index:2;display:block;width:100%;height:auto;max-width:580px}
.art-divider{border:none;border-top:1px solid var(--line);margin:48px 0}
.art-tags{padding:32px 0 0 36px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.art-tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;padding:5px 13px;border-radius:100px;border:1.5px solid var(--line);color:var(--slate);
  transition:.18s;cursor:default}
.art-tag:hover{border-color:var(--wine);color:var(--wine)}
.art-share-bottom{padding:0 0 0 36px;display:none}
.share-bar{display:flex;align-items:center;gap:12px;padding:24px 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);margin-top:24px}
.share-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);font-weight:600}
.share-btn{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s ease;color:var(--slate)}
.share-btn:hover{border-color:var(--wine);color:var(--wine);background:var(--wine-soft)}
.share-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.author-card{padding:40px 0 0 36px}
.author-inner{display:flex;gap:22px;align-items:flex-start;background:var(--cloud);border:1px solid var(--line);
  border-radius:var(--r);padding:28px 30px}
.author-avatar{width:52px;height:52px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;
  font-family:var(--disp);font-weight:700;font-size:1.1rem;flex:0 0 auto}
.author-info h4{font-size:1rem;margin-bottom:4px}
.author-info p{color:var(--slate);font-size:.88rem;margin:0;line-height:1.6}
.art-inline-cta{padding:0 0 48px 36px;margin-top:40px}
.inline-cta-box{background:var(--graphite);border-radius:var(--r);padding:36px 40px;display:flex;
  align-items:center;gap:32px;position:relative;overflow:hidden}
.inline-cta-box::before{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;
  background:radial-gradient(400px 200px at 90% 20%,rgba(226,58,107,.2),transparent 60%)}
.inline-cta-box>*{position:relative;z-index:2}
.inline-cta-text{flex:1}
.inline-cta-text h3{color:#fff;font-size:1.2rem;margin-bottom:8px;line-height:1.25}
.inline-cta-text p{color:rgba(255,255,255,.75);font-size:.92rem;margin:0;line-height:1.55;max-width:42ch}
.inline-cta-box .btn-light{flex:0 0 auto;padding:.8rem 1.6rem}
.art-related{padding:64px 0;background:var(--cloud);border-top:1px solid var(--line);scroll-margin-top:80px}
.art-related .wrap{max-width:var(--maxw)}
.art-related-header{text-align:center;margin-bottom:36px}
.art-related-header span{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wine);font-weight:600;display:block;margin-bottom:8px}
.art-related-header h2{font-size:clamp(1.3rem,2.2vw,1.55rem)}
.art-cta{background:var(--graphite);color:#fff;padding:56px 0;text-align:center;position:relative;overflow:hidden}
.art-cta::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(600px 280px at 50% 0%,rgba(226,58,107,.14),transparent 62%)}
.art-cta::after{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:46px 46px;
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 72%)}
.art-cta .wrap{position:relative;z-index:2}
.art-cta h2{color:#fff;font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:10px}
.art-cta p{color:rgba(255,255,255,.8);font-size:1rem;max-width:50ch;margin:0 auto 24px}

/* =======================================================================
   Clientes — Testimonials
   ======================================================================= */
.tcard{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:18px;
  padding:30px 28px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;overflow:hidden}
.tcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--wine),var(--iris));opacity:0;transition:opacity .3s ease}
.tcard:hover::before{opacity:1}
.tquote{position:absolute;top:6px;right:20px;font-family:var(--disp);font-size:5rem;line-height:1;
  color:var(--wine);opacity:.08;pointer-events:none}
.tstars{color:var(--iris);font-size:.95rem;letter-spacing:2px}
.tcard blockquote{margin:0;font-size:1.04rem;line-height:1.55;color:var(--ink);flex:1}
.tperson{display:flex;align-items:center;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid var(--line)}
.tavatar{width:44px;height:44px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--wine),var(--iris));color:#fff;font-family:var(--mono);font-size:.7rem}
.tperson b{display:block;font-size:.94rem;color:var(--ink)}
.tperson span{font-size:.8rem;color:var(--slate-2)}

/* =======================================================================
   Como Funciona — Differentials grid
   ======================================================================= */
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 26px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,border-color .3s ease}
.dcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--wine)}
.dcard .dic{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--wine),var(--iris));
  color:#fff;display:grid;place-items:center}
.dcard .dic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dcard h3{font-family:var(--disp);font-size:1.15rem;color:var(--ink);margin:2px 0 0}
.dcard p{color:var(--slate);line-height:1.55;font-size:.96rem}

/* =======================================================================
   Quem Somos — Layers
   ======================================================================= */
.layers{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative}
.lcard{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:36px 32px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;gap:6px}
.lcard::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--wine),var(--iris))}
.lcard .lnum{font-family:var(--disp);font-weight:700;font-size:3rem;line-height:1;color:var(--wine-soft);
  -webkit-text-stroke:1.5px var(--wine);position:absolute;top:26px;right:30px;opacity:.5}
.lcard .ltag{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--iris)}
.lcard h3{font-family:var(--disp);font-size:1.4rem;margin:6px 0 8px;color:var(--ink);max-width:14ch}
.lcard p{color:var(--slate);line-height:1.55}
.lcard .lchips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.lcard .lchips span{font-family:var(--mono);font-size:.72rem;color:var(--wine);
  background:var(--wine-soft);border-radius:100px;padding:5px 12px}
/* Quem somos — vlist icons */
.vlist .vic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:var(--wine-soft);color:var(--wine);
  display:grid;place-items:center}
.vlist .vic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vlist .item b{font-size:.98rem;color:var(--ink)}

/* =======================================================================
   Responsivo — módulos adicionados
   ======================================================================= */
@media(max-width:920px){
  .feat-card{grid-template-columns:1fr}
  .feat-img{min-height:220px}
  .feat-body{padding:24px}
  .blog-filters{position:static}
  .cookie-table{font-size:.85rem}
  .cookie-table th,.cookie-table td{padding:10px 12px}
  .inline-cta-box{flex-direction:column;gap:20px;padding:28px 24px;text-align:center}
  .inline-cta-text p{max-width:none}
  .art-sidebar{display:none}
  .art-body{padding:48px 0 0}
  .art-tags{padding:32px 0 0}
  .art-share-bottom{display:block;padding:0}
  .author-card{padding:40px 0 0}
  .art-inline-cta{padding:0 0 48px;margin-top:40px}
}
@media(max-width:860px){
  .tgrid{grid-template-columns:1fr;gap:16px}
}
@media(max-width:820px){
  .dgrid{grid-template-columns:1fr}
  .layers{grid-template-columns:1fr}
}
@media(max-width:768px){
  .blog-grid{grid-template-columns:1fr 1fr}
  .related-grid{grid-template-columns:1fr}
  .author-inner{flex-direction:column;text-align:center;align-items:center}
}
@media(max-width:560px){
  .blog-grid{grid-template-columns:1fr}
  .filter-chips{gap:6px}
  .filter-chip{font-size:.66rem;padding:6px 12px}
  .legal-hero{padding:48px 0 36px}
  .cookie-table{display:block;overflow-x:auto}
  .art-cover-inner{min-height:220px}
  .art-hero{padding:48px 0 0}
  .art-hero h1{font-size:1.9rem}
}
@media(max-width:1100px) and (min-width:921px){
  .art-sidebar{width:180px}
  .sidebar-label{font-size:.60rem}
  .toc-link{font-size:.80rem;padding:6px 0 6px 12px}
  .sidebar-share .share-btn{width:34px;height:34px}
  .sidebar-share .share-btn svg{width:15px;height:15px}
  .art-layout{max-width:1000px}
  .art-body{padding-left:28px;padding-right:0}
  .art-tags{padding-left:28px;padding-right:0}
  .art-share-bottom{padding-left:28px;padding-right:0}
  .author-card{padding-left:28px;padding-right:0}
  .art-inline-cta{padding-left:28px;padding-right:0}
}

/* =======================================================================
   Elementor overrides — garante que o Elementor não quebre o layout
   ======================================================================= */
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.elementor-widget-html { overflow: visible !important; }
.elementor-page .hd { position: sticky !important; }

/* =======================================================================
   Ocultar header/footer padrão do Hello Elementor
   (usamos header.hd e footer.ft via PHP)
   ======================================================================= */
header.site-header.dynamic-header,
footer.site-footer.dynamic-footer {
  display: none !important;
}


/* =======================================================================
   Elementor Pro Theme Builder — Header wrapper fixes
   O container do Elementor adiciona padding e a regra .elementor img
   sobrescreve o height da .brand-logo. Corrigimos aqui.
   ======================================================================= */
.elementor-location-header {
  padding: 0 !important;
  width: 100% !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
}
/* Quando o admin bar está visível (usuário logado), desloca o header */
.admin-bar .elementor-location-header {
  top: 32px !important;
}
/* .hd não precisa de sticky dentro do Elementor (wrapper já é sticky) */
.elementor-location-header .hd {
  position: relative !important;
}
/* .hd não precisa de sticky dentro do Elementor (wrapper já é sticky) */
.elementor-location-header .hd {
  position: relative !important;
}
.elementor-location-header .e-con {
  max-width: 100% !important;
  padding: 0 !important;
}
.elementor-location-header .elementor-widget-html {
  width: 100% !important;
}
/* Sobrescrever .elementor img { height: auto } para o logo */
.elementor-location-header .brand-logo {
  height: 52px !important;
  width: auto !important;
}
/* Esconder o <p>&nbsp;</p> órfão que o WP/Elementor injeta após o header */
.elementor-location-header + p {
  display: none !important;
}


/* ===== Ajustes de paridade com o HTML de referencia — 21/08/2026 =====
   No HTML original cada pagina tinha o seu proprio CSS. Ao consolidar tudo numa folha so,
   valores da home passaram a valer tambem para as paginas internas. Os blocos abaixo
   devolvem o valor que a referencia usava em cada contexto. */

/* CTA final: a home usa 88px; as paginas internas usavam 48px */
body:not(.home) .fcta { padding: 48px 0; }

/* Cards de metricas da home: a referencia usa 34px 22px, nao 24px */
.metrics .mgrid .mstat { padding: 34px 22px; }


/* ===== Corrige vazamento do CSS da pagina de Diagnostico — 21/08/2026 =====
   Um bloco <style> com a folha inteira da pagina de Diagnostico e impresso em TODAS as
   paginas do site (origem fora do tema-filho — provavelmente Elementor ou plugin).
   Na home ele deixava a secao #diag escura e com 720px de largura, quando a referencia
   pede clara, 1200px e em duas colunas. As regras abaixo restauram o comportamento certo. */

body.home section#diag.diag {
  background: var(--cloud-2, #F4F4F6) !important;
  color: var(--ink, #191A1E) !important;
  padding: 92px 0;
}
body.home section#diag.diag h2,
body.home section#diag.diag h3,
body.home section#diag.diag h4 { color: var(--ink, #191A1E) !important; }
body.home section#diag.diag .lead,
body.home section#diag.diag p.lead { color: var(--slate, #5B5E68) !important; }
body.home section#diag.diag .wrap {
  max-width: var(--maxw, 1200px);
  text-align: left;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: center;
}
body.home section#diag.diag ul {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 11px;
}
@media (max-width: 920px) {
  body.home section#diag.diag .wrap { grid-template-columns: 1fr; }
}


/* ===== Reset da margem padrao do paragrafo — 21/08/2026 =====
   O HTML de referencia zera todas as margens com *{margin:0} e devolve espacamento
   apenas onde a regra pede. O reset.css do tema Hello mantem p{margin-block:0 .9rem},
   o que empilha ~14px em cada paragrafo e engorda varias secoes.
   Especificidade identica a do reset.css, so que carregada depois: qualquer regra
   com classe (.fcta p, .lead, etc.) continua vencendo esta. */
p { margin-block: 0; }


/* ===== Restaura o bloco do guia em duas colunas — 21/08/2026 =====
   A secao #guia usa class="fcta", e no WordPress existe uma regra .fcta .wrap com
   display:flex e justify-content:center (feita para centralizar os botoes do CTA final).
   Por ter especificidade maior que .two, ela anulava o grid de duas colunas: a coluna
   do texto esticava para 608px e a ilustracao encolhia para 300px, contra 400 e 712 da
   referencia. */

#guia.fcta .wrap.two {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 40px;
  align-items: center;
  justify-content: normal;
}
@media (max-width: 920px) {
  #guia.fcta .wrap.two { grid-template-columns: 1fr; }
}


/* ===== Blog: barra de filtros + busca (identica ao blog.html de referencia) ===== */
.blog-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.blog-search-wrap{position:relative;width:380px;flex-shrink:0}
.blog-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--slate);opacity:.75}
.blog-search-wrap input.blog-search{width:100%;font-family:var(--body);font-size:.92rem;padding:11px 40px 11px 42px;border:1.5px solid var(--slate);
  border-radius:100px;background:var(--paper);color:var(--ink);outline:none;transition:.2s ease;
  box-shadow:0 1px 4px rgba(0,0,0,.06)}
.blog-search::placeholder{color:var(--slate);opacity:.6}
.blog-search:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(138,23,48,.08)}
.blog-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;
  cursor:pointer;color:var(--slate);padding:4px;opacity:0;transition:.15s;font-size:1.1rem;line-height:1}
.blog-search-clear.show{opacity:.6}
.blog-search-clear:hover{opacity:1;color:var(--wine)}
.blog-empty{grid-column:1/-1;text-align:center;color:var(--slate);padding:48px 0;font-size:.95rem}.blog-no-results{display:none;text-align:center;padding:60px 20px;color:var(--slate);font-size:1rem}
.blog-no-results span{display:block;font-size:2rem;margin-bottom:12px}
.blog-pag .pag-btn.disabled{opacity:.4;pointer-events:none}
@media(max-width:920px){
  .blog-filter-bar{flex-direction:column;align-items:stretch}
  .blog-search-wrap{width:100%}
  .blog-search-wrap input.blog-search{font-size:.86rem;padding:10px 36px 10px 38px}
}


/* ===== Artigo: cards de "Artigos relacionados" (ref: artigo-*.html) ===== */
.rcard-img{background:linear-gradient(135deg,var(--graphite),var(--graphite-2));height:160px;display:flex;
  align-items:center;justify-content:center;position:relative;overflow:hidden}
.rcard-img::after{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px}
.rcard-img svg{position:relative;z-index:2}
.rcard-body{padding:20px 22px 24px}
.rcard-body .rc-cat{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;padding:3px 9px;border-radius:100px;background:var(--wine-soft);color:var(--wine);display:inline-block;margin-bottom:10px}
.rcard-body h3{font-size:1.02rem;line-height:1.25;margin-bottom:8px;color:var(--wine-ink)}
.rcard-body p{color:var(--slate);font-size:.86rem;line-height:1.55}

/* Botoes de compartilhar: o tema aplica padding padrao de botao e esmaga o icone. */
.share-btn{padding:0}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.related-grid{grid-template-columns:1fr}}

/* Listas do artigo: o tema soma padding-left de 40px ao margin-left da referencia. */
.art-body ul,.art-body ol{padding-left:0}


/* ============ Ajustes de 24/08/2026 ============ */

/* Home - #agente: o tema pinta borda e fundo em toda celula de tabela;
   a tabela do chat na referencia so tem a linha de baixo. */
.cht-table th,
.cht-table td{border-top:0!important;border-right:0!important;border-left:0!important}

/* Home - #diag: o CSS da pagina de Diagnostico (que vaza para o site inteiro)
   pinta os itens de branco, e aqui a secao e clara. */
body.home section#diag.diag li{color:var(--ink,#191A1E)!important}
body.home section#diag.diag li .c{color:var(--iris,#6E56CF)!important}

/* Paginas juridicas: o CSS proprio dessas paginas forca a cor de todo link
   dentro do .fcta, o que apagava o botao contra o fundo claro. */
body.page-id-36 .fcta a.btn,
body.page-id-37 .fcta a.btn{background:var(--wine,#8A1730)!important;color:#fff!important;border-color:var(--wine,#8A1730)!important}
body.page-id-36 .fcta a.btn:hover,
body.page-id-37 .fcta a.btn:hover{background:var(--wine-ink,#5E0F1F)!important;color:#fff!important}

/* o tema pinta as linhas impares da tabela; a especificidade dele e maior que .cht-table td */
.cht-table tbody > tr > td,
.cht-table tbody > tr > th{background:transparent!important}

/* Na pagina de Contato o wrapper .elementor-location-header nao contem o menu:
   ele recebe o conteudo da pagina. O deslocamento de 32px da barra do admin
   criava ali uma faixa clara entre o menu e o hero. */
body.admin-bar .elementor-location-header:not(:has(.hd)){top:0!important;position:static}

/* A pagina de Contato tem um .page-id-86 .hd que forcava o fundo claro do menu
   mesmo no modo escuro. */
body.page-id-86 .hd.over-hero{background:rgba(15,16,21,.9);border-bottom-color:rgba(255,255,255,.06)}
