/* ==========================================================
   TEZONI VIEIRA — Dark editorial theme (refs site1/site3)
   ========================================================== */

:root{
  /* navy + gold palette (logo-driven) */
  --bg:#0B1734;
  --bg-2:#0E1C3F;
  --bg-3:#13234D;
  --bg-card:#152858;
  --bg-card-2:#1B3068;
  --line:rgba(229,180,58,0.14);
  --line-2:rgba(229,180,58,0.28);
  --tan:#E5B43A;          /* gold from logo, primary CTA */
  --tan-soft:#F2C95A;
  --tan-deep:#B98F22;
  --cream:#F4E9CC;
  --text:#cdd5e8;
  --text-soft:#8b97b5;
  --gold:#E5B43A;
  --gold-soft:#F2C95A;
  --navy:#0B1734;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);font-size:80%}
body{
  margin:0;
  font-family:'Manrope',ui-sans-serif,system-ui,sans-serif;
  font-size:1rem;line-height:1.7;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ---------- Type ---------- */
h1,h2,h3,h4{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;
  font-weight:500;color:var(--cream);letter-spacing:0;margin:0;
  text-wrap:balance;
}
h1,h2{text-transform:uppercase;letter-spacing:0.01em}
h1{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.05;font-weight:500}
h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.1;font-weight:500}
h3{font-size:1.4rem;line-height:1.25;font-weight:500;text-transform:uppercase;letter-spacing:0.02em}
p{margin:0 0 1em;text-wrap:pretty;color:var(--text)}

/* ---------- Layout ---------- */
.container{max-width:1180px;margin:0 auto;padding:0 2rem}
.narrow{max-width:840px;margin:0 auto;padding:0 2rem}
.section{padding:7.5rem 0;position:relative}
.section--alt{background:var(--bg-2)}

/* ---------- Background texture ---------- */
.bg-texture{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 800px 500px at 10% 20%, rgba(201,168,138,0.04), transparent 60%),
    radial-gradient(ellipse 600px 400px at 90% 80%, rgba(201,168,138,0.03), transparent 60%);
}

/* ---------- Eyebrow ---------- */
.eyebrow{
  display:block;
  font-family:'Manrope',sans-serif;
  font-size:11px;font-weight:500;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--tan);
  margin-bottom:22px;
}

.section-head{margin-bottom:64px;max-width:780px}
.section-head .lead{font-size:1.05rem;color:var(--text-soft);margin-top:18px}

/* ---------- Buttons (pill, tan) ---------- */
.btn{
  display:inline-flex;align-items:center;gap:0.625rem;
  font-family:'Manrope',sans-serif;font-size:0.875rem;font-weight:500;
  padding:0.875rem 1.625rem;border-radius:999px;
  transition:transform .25s ease, background .25s ease, color .25s, border-color .25s;
  letter-spacing:0.02em;
}
.btn-tan{background:var(--tan);color:#1a1612}
.btn-tan:hover{background:var(--tan-soft);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(237,226,210,0.25);color:var(--cream)}
.btn-ghost:hover{border-color:var(--tan);color:var(--tan)}
.btn-arrow{transition:transform .3s}
.btn:hover .btn-arrow{transform:translate(2px,-2px)}

/* ==========================================================
   HEADER
   ========================================================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;overflow:visible;
  padding:1.125rem 0;
  background:rgba(14,13,11,0.78);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.site-header.scrolled{border-bottom-color:var(--line);background:rgba(14,13,11,0.92)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:2.5rem}
.brand{display:flex;align-items:center}
.brand-mark{display:flex;align-items:center}
.brand-logo{
  height:5rem;width:auto;
  position:relative;
  margin-top:-0.875rem;
  margin-bottom:-0.875rem;
}
.brand-logo-premium {
  filter: drop-shadow(0 2px 10px rgba(229, 180, 58, 0.16)) drop-shadow(0 1px 2px rgba(229, 180, 58, 0.08)) saturate(1.15) contrast(1.05);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.brand-logo-premium:hover {
  filter: drop-shadow(0 4px 18px rgba(229, 180, 58, 0.35)) drop-shadow(0 2px 4px rgba(229, 180, 58, 0.12)) saturate(1.25) contrast(1.1) brightness(1.03);
  transform: translateY(-1px) scale(1.02);
}
.brand-mark .v{
  width:2rem;height:2rem;display:grid;place-items:center;
}
.brand-mark .name{
  font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--cream);
  letter-spacing:0.02em;text-transform:uppercase;font-weight:500;
  white-space:nowrap;
}
.nav-links{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}
@media (max-width:1100px){.nav-links{gap:1.25rem}.nav-links a{font-size:0.78rem}}
.nav-links a{
  font-size:0.8125rem;font-weight:400;color:var(--text);letter-spacing:0.02em;
  position:relative;padding:0.375rem 0;transition:color .2s;
  white-space:nowrap;
}
.nav-links a:hover{color:var(--tan)}
.nav-links a.active{color:var(--cream)}
.nav-cta{display:flex;align-items:center;gap:0.875rem}
.nav-cta .btn{padding:0.6875rem 1.375rem;font-size:0.8125rem}
.menu-toggle{display:none;width:2.5rem;height:2.5rem;align-items:center;justify-content:center}
.menu-toggle span{display:block;width:1.375rem;height:1.5px;background:var(--cream);position:relative}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0;width:1.375rem;height:1.5px;background:var(--cream)}
.menu-toggle span::before{top:-0.375rem}.menu-toggle span::after{top:0.375rem}

/* ==========================================================
   HERO
   ========================================================== */
.hero{
  padding:170px 0 90px;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 900px 600px at 80% 30%, rgba(201,168,138,0.06), transparent 60%),
    var(--bg);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  pointer-events:none;z-index:0;
}
/* Imagem do hero — posicionada na seção inteira, lado direito */
.hero .photo{
  position:absolute;
  top:0;right:0;
  width:44%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
  z-index:1;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, black 32%),
    linear-gradient(to top, transparent 0%, black 18%),
    linear-gradient(to bottom, transparent 0%, black 14%);
  -webkit-mask-composite:destination-in;
  mask-image:
    linear-gradient(to right, transparent 0%, black 32%),
    linear-gradient(to top, transparent 0%, black 18%),
    linear-gradient(to bottom, transparent 0%, black 14%);
  mask-composite:intersect;
}
.hero-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:72px;align-items:center;position:relative;z-index:2;
}
.hero h1{margin-bottom:28px}
.hero h1 .accent{color:var(--tan);font-style:italic;text-transform:none;font-weight:400}
.hero .lead{font-size:1.05rem;color:var(--text-soft);margin-bottom:36px;max-width:540px}
.hero-bullets{list-style:none;margin:0 0 40px;padding:0;display:flex;flex-direction:column;gap:14px}
.hero-bullets li{display:flex;align-items:flex-start;gap:14px;font-size:14.5px;color:var(--text)}
.hero-bullets .check{
  flex:0 0 22px;width:22px;height:22px;border-radius:50%;
  background:transparent;border:1px solid var(--tan);color:var(--tan);
  display:grid;place-items:center;font-weight:400;font-size:11px;
  margin-top:3px;
}
.hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-micro{margin-top:20px;font-size:12px;color:var(--text-soft);letter-spacing:0.04em;display:flex;align-items:center;gap:10px}
.hero-micro .dot{width:5px;height:5px;border-radius:50%;background:var(--tan)}

/* HERO VISUAL — apenas container dos chips e deco, imagem está na seção */
.hero-visual{
  position:relative;
  min-height:1px;
}
.hero-visual .deco-circle{
  position:absolute;border:1px dashed rgba(229,180,58,0.3);border-radius:50%;
  pointer-events:none;z-index:3;
}
.hero-visual .deco-circle.c1{width:160px;height:160px;top:30px;left:-30px;animation:spin 40s linear infinite}
.hero-visual .deco-circle.c2{width:90px;height:90px;bottom:60px;right:-20px;border-style:solid;border-color:rgba(229,180,58,0.18);animation:spin 60s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-visual .deco-dots{
  position:absolute;top:20px;right:30px;width:90px;height:90px;
  background-image:radial-gradient(circle, rgba(229,180,58,0.4) 1px, transparent 1px);
  background-size:12px 12px;
  opacity:.6;pointer-events:none;z-index:3;
}
.hero-visual .deco-line{
  position:absolute;left:0;right:0;bottom:18%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(229,180,58,0.35),transparent);
  pointer-events:none;z-index:3;
}
.hero-visual .float-chip{
  position:absolute;z-index:6;
  background:rgba(8,18,42,0.96);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(229,180,58,0.25);
  border-radius:12px;padding:14px 18px;
  display:flex;align-items:center;gap:14px;
  box-shadow:0 8px 32px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.04);
  animation:bob 4s ease-in-out infinite;
  min-width:220px;
}
/* c-stat: canto superior direito, bem na borda */
.hero-visual .float-chip.c-stat{top:8%;right:-24px;animation-delay:.4s}
/* c-trust: meio esquerdo, saindo para fora da coluna */
.hero-visual .float-chip.c-trust{top:42%;left:-32px;animation-delay:1.2s}
.hero-visual .float-chip .ic{
  width:36px;height:36px;border-radius:50%;
  background:var(--tan);color:var(--bg);display:grid;place-items:center;flex:0 0 36px;
  font-family:'Cormorant Garamond',serif;font-weight:700;font-size:0.95rem;letter-spacing:-0.03em;
}
.hero-visual .float-chip strong{
  color:#ffffff;display:block;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:13.5px;
  letter-spacing:-0.01em;line-height:1.3;
}
.hero-visual .float-chip .chip-sub{
  display:block;font-family:'Manrope',sans-serif;font-size:11.5px;
  color:rgba(255,255,255,0.55);margin-top:2px;letter-spacing:0.01em;
}
/* Logo chip — centro horizontal da hero, 70% para baixo verticalmente */
.hero .float-chip.c-logo{
  position:absolute;
  top:70%;
  left:50%;
  margin-left:-90px;
  z-index:8;
  padding:10px;border-radius:50%;min-width:unset;width:180px;height:180px;
  display:flex;justify-content:center;align-items:center;
  background:#ffffff;
  border:2px solid rgba(229,180,58,0.4);
  box-shadow:0 8px 32px rgba(0,0,0,0.5), 0 0 0 6px rgba(229,180,58,0.1);
  animation:bob 4s ease-in-out infinite;animation-delay:2s;
}
.hero .float-chip.c-logo img{
  width:160px;height:160px;border-radius:50%;object-fit:cover;display:block;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.hero-badge{
  position:absolute;left:-12px;bottom:40px;z-index:2;
  background:var(--bg-card-2);padding:14px 18px;border-radius:6px;
  display:flex;align-items:center;gap:12px;max-width:240px;
  border:1px solid var(--line-2);
  box-shadow:0 20px 40px -20px rgba(0,0,0,0.6);
}
.hero-badge .ic{
  width:36px;height:36px;border-radius:50%;background:var(--tan);color:var(--bg);
  display:grid;place-items:center;flex:0 0 36px;font-weight:600;font-family:'Cormorant Garamond',serif;font-size:1.1rem;
}
.hero-badge .lbl{font-size:12px;color:var(--text);line-height:1.4}
.hero-badge .lbl strong{color:var(--cream);display:block;font-weight:500;font-size:13px;font-family:'Cormorant Garamond',serif}

/* ==========================================================
   SECTION 2 — DIAGNÓSTICO
   ========================================================== */
.diag-body p{font-size:1rem;color:var(--text);line-height:1.8}
.pull-quote{
  margin:48px 0 0;padding:32px 36px;
  background:var(--bg-card);
  border-left:2px solid var(--tan);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.3rem,2.1vw,1.7rem);
  font-style:italic;font-weight:400;
  color:var(--cream);line-height:1.4;
}

/* ==========================================================
   SECTION 3 — COMPARATIVO
   ========================================================== */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.compare-col{
  padding:44px 36px;border-radius:6px;
  border:1px solid var(--line);
  background:var(--bg-card);
  display:flex;flex-direction:column;
}
.compare-col.tezo{
  background:linear-gradient(165deg, var(--bg-card-2), var(--bg-card));
  border-color:var(--line-2);
  position:relative;overflow:hidden;
}
.compare-col.tezo::before{
  content:"";position:absolute;top:-30%;right:-30%;width:380px;height:380px;
  background:radial-gradient(circle, rgba(201,168,138,0.08), transparent 70%);
  pointer-events:none;
}
.compare-col h3{
  font-family:'Manrope',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:0.28em;text-transform:uppercase;
  margin-bottom:18px;color:var(--text-soft);
}
.compare-col.tezo h3{color:var(--tan)}
.compare-col .title{
  font-family:'Cormorant Garamond',serif;font-size:1.6rem;line-height:1.2;
  text-transform:uppercase;color:var(--cream);font-weight:500;
  margin-bottom:28px;
}
.compare-col.trad .title{color:var(--text-soft)}
.compare-list{list-style:none;margin:0;padding:0}
.compare-list li{
  display:flex;align-items:center;gap:14px;
  padding:16px 0;border-top:1px solid var(--line);font-size:14.5px;
}
.compare-list li:first-child{border-top:0}
.compare-list .icon{
  flex:0 0 22px;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;font-weight:500;font-size:11px;
}
.compare-col.trad .icon{background:transparent;border:1px solid rgba(237,226,210,0.18);color:var(--text-soft)}
.compare-col.tezo .icon{background:var(--tan);color:var(--bg)}
.compare-close{
  margin:56px auto 0;max-width:780px;text-align:center;
  font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-style:italic;
  color:var(--cream);line-height:1.45;
}

/* ==========================================================
   SECTION 4 — PILARES (grid like ref site3)
   ========================================================== */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.pillar{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:6px;
  padding:32px 24px 28px;
  text-align:center;
  position:relative;
  transition:border-color .3s, transform .3s, background .3s;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.pillar:hover{border-color:var(--line-2);transform:translateY(-4px);background:var(--bg-card-2)}
.pillar-icon{
  width:54px;height:54px;border-radius:50%;
  background:rgba(201,168,138,0.08);
  border:1px solid var(--line-2);
  color:var(--tan);
  display:grid;place-items:center;
  margin-bottom:6px;
}
.pillar-icon svg{width:22px;height:22px}
.pillar-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.85rem;color:var(--text-soft);letter-spacing:0.18em;}
.pillar-divider{width:24px;height:1px;background:var(--tan);opacity:.5;margin:4px 0}
.pillar h3{font-size:1rem;color:var(--cream);font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:0.04em;font-weight:500;line-height:1.25}
.pillar p{font-size:13.5px;color:var(--text-soft);line-height:1.6;margin:0}
.pillars-close{
  margin:64px auto 0;text-align:center;max-width:740px;
  font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-style:italic;
  color:var(--cream);line-height:1.45;
}

/* ==========================================================
   SECTION 5 — PARA QUEM
   ========================================================== */
.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.aud-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:6px;
  padding:32px 28px;
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .3s, transform .3s, background .3s;
}
.aud-card:hover{border-color:var(--line-2);transform:translateY(-3px);background:var(--bg-card-2)}
.aud-icon{width:38px;height:38px;color:var(--tan)}
.aud-card h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--cream);text-transform:uppercase;letter-spacing:0.02em}
.aud-card p{font-size:14px;color:var(--text-soft);margin:0;line-height:1.6}

/* ==========================================================
   SECTION 6 — INCLUSO (lista numerada elegante)
   ========================================================== */
.included{max-width:980px;margin:48px auto 0;display:flex;flex-direction:column}
.incl-item{
  display:grid;grid-template-columns:100px 1fr;gap:32px;align-items:center;
  padding:28px 0;border-top:1px solid var(--line);
}
.incl-item:first-child{border-top:0}
.incl-num{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:3.2rem;line-height:1;font-weight:400;
  color:var(--tan);
}
.incl-content h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--cream);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.02em}
.incl-content p{font-size:14.5px;color:var(--text-soft);margin:0;line-height:1.6}
.incl-close{
  margin:64px auto 0;text-align:center;max-width:680px;
  font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;
  color:var(--cream);
}

/* ==========================================================
   SECTION 7 — NACIONAL
   ========================================================== */
.nacional{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.nac-card{
  text-align:center;padding:40px 28px;
  background:var(--bg-card);border:1px solid var(--line);border-radius:6px;
  transition:border-color .3s, background .3s;
}
.nac-card:hover{border-color:var(--line-2);background:var(--bg-card-2)}
.nac-icon{
  width:64px;height:64px;margin:0 auto 22px;
  border:1px solid var(--line-2);border-radius:50%;
  display:grid;place-items:center;color:var(--tan);
  background:rgba(201,168,138,0.05);
}
.nac-icon svg{width:26px;height:26px}
.nac-card h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--cream);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.02em}
.nac-card p{font-size:14px;color:var(--text-soft);margin:0;line-height:1.6}

/* ==========================================================
   SECTION 8 — DIFERENCIAL
   ========================================================== */
.editorial p{font-size:1.02rem;color:var(--text);line-height:1.85;margin-bottom:1.4em}
.editorial p:first-of-type::first-letter{
  font-family:'Cormorant Garamond',serif;
  font-size:4.6rem;line-height:0.9;float:left;color:var(--tan);
  padding-right:14px;padding-top:6px;font-weight:500;font-style:italic;
}

/* ==========================================================
   SECTION 9 — NÚMEROS
   ========================================================== */
.numbers-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:64px;
  position:relative;
}
.num-block{text-align:center;padding:0 16px;position:relative}
.num-block + .num-block::before{
  content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--line);
}
.num-big{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(4.5rem,8vw,7rem);
  line-height:1;color:var(--tan);font-weight:500;font-style:italic;
  letter-spacing:-0.02em;margin-bottom:8px;
}
.num-divider{width:42px;height:1px;background:var(--tan);margin:18px auto;opacity:.5}
.num-block h3{color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:1.15rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:0.04em}
.num-block p{color:var(--text-soft);font-size:14px;margin:0;line-height:1.55}

/* ==========================================================
   SECTION 10 — FAQ
   ========================================================== */
.faq{max-width:840px;margin:48px auto 0;display:flex;flex-direction:column;gap:12px}
.faq-item{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:6px;
  transition:border-color .3s, background .3s;
}
.faq-item[open]{border-color:var(--line-2);background:var(--bg-card-2)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px 28px;cursor:pointer;
  font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--cream);
  list-style:none;text-transform:uppercase;letter-spacing:0.02em;font-weight:500;
}
.faq-q::-webkit-details-marker{display:none}
.faq-icon{
  flex:0 0 28px;width:28px;height:28px;border-radius:50%;
  background:transparent;border:1px solid var(--line-2);color:var(--tan);
  display:grid;place-items:center;font-weight:300;font-size:18px;
  transition:transform .3s, background .3s, color .3s;
}
.faq-item[open] .faq-icon{transform:rotate(45deg);background:var(--tan);color:var(--bg);border-color:var(--tan)}
.faq-a{padding:0 28px 26px;color:var(--text-soft);font-size:14.5px;line-height:1.7}

/* ==========================================================
   SECTION 11 — CTA FINAL
   ========================================================== */
.cta-final{
  background:
    radial-gradient(ellipse 700px 400px at 80% 30%, rgba(201,168,138,0.10), transparent 60%),
    radial-gradient(ellipse 700px 400px at 10% 80%, rgba(201,168,138,0.06), transparent 60%),
    var(--bg-2);
  text-align:center;padding:140px 0;
  position:relative;overflow:hidden;
}
.cta-final h2{margin-bottom:24px}
.cta-final .lead{color:var(--text-soft);font-size:1.05rem;max-width:640px;margin:0 auto 36px}
.cta-final .hero-bullets{max-width:520px;margin:0 auto 40px}
.cta-final .hero-bullets li{justify-content:center}
.cta-final .micro{margin-top:22px;color:var(--text-soft);font-size:13px;font-style:italic;font-family:'Cormorant Garamond',serif}

/* ==========================================================
   "ATENDEMOS TODO BRASIL" + FOOTER (mirror reference site1)
   ========================================================== */
.brasil-section{
  background:
    radial-gradient(ellipse 700px 500px at 30% 50%, rgba(201,168,138,0.04), transparent 60%),
    var(--bg);
  padding:100px 0;
  border-top:1px solid var(--line);
}
.brasil-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.brasil-copy h2{margin-bottom:18px}
.brasil-copy .eyebrow{color:var(--tan)}
.brasil-form{
  background:transparent;
  display:flex;flex-direction:column;gap:14px;
}
.brasil-form input,.brasil-form textarea,.brasil-form select{
  width:100%;background:rgba(255,255,255,0.03);
  border:1px solid var(--line-2);color:var(--cream);
  padding:16px 18px;border-radius:8px;font-family:inherit;font-size:14px;
  transition:border-color .25s, background .25s;
}
.brasil-form textarea{min-height:110px;resize:vertical}
.brasil-form input::placeholder,.brasil-form textarea::placeholder{color:var(--text-soft)}
.brasil-form input:focus,.brasil-form textarea:focus,.brasil-form select:focus{outline:none;border-color:var(--tan);background:rgba(255,255,255,0.05)}
.brasil-form .row{display:flex;gap:14px}
.brasil-form .row > *{flex:1}
.brasil-form .check-line{display:flex;gap:10px;font-size:12px;color:var(--text-soft);align-items:flex-start;line-height:1.5}
.brasil-form .check-line input{width:auto}
.brasil-form .submit{display:flex;justify-content:flex-end;margin-top:6px}

/* ==========================================================
   FOOTER
   ========================================================== */
.footer{
  background:var(--bg);padding:60px 0 30px;
  border-top:1px solid var(--line);
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:48px;
  padding-bottom:40px;border-bottom:1px solid var(--line);
}
.footer-brand .name{
  font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--cream);
  letter-spacing:0.02em;text-transform:uppercase;margin-bottom:14px;display:block;
}
.footer-brand p{font-size:13.5px;color:var(--text-soft);line-height:1.65;max-width:280px;margin-bottom:20px}
.footer-social{display:flex;gap:14px}
.footer-social a{
  width:36px;height:36px;border:1px solid var(--line-2);border-radius:50%;
  display:grid;place-items:center;color:var(--text);transition:color .2s, border-color .2s;
}
.footer-social a:hover{color:var(--tan);border-color:var(--tan)}
.footer-social svg{width:16px;height:16px}
.footer h4{
  font-family:'Manrope',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--text-soft);margin-bottom:24px;
}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.footer ul a{color:var(--text);font-size:14px;transition:color .2s}
.footer ul a:hover{color:var(--tan)}
.footer-contact div{margin-bottom:14px;font-size:14px;color:var(--text)}
.footer-contact strong{color:var(--text-soft);display:block;font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:4px}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:28px;font-size:12px;color:var(--text-soft);flex-wrap:wrap;gap:16px;
  letter-spacing:0.04em;
}
.footer-bottom a:hover{color:var(--tan)}

/* ==========================================================
   WHATSAPP FLOAT
   ========================================================== */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 10px 30px -10px rgba(37,211,102,0.5);
  transition:transform .25s;
}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:28px;height:28px}
.wa-float::before{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  background:#25D366;opacity:.4;z-index:-1;
  animation:pulse 2s ease-out infinite;
}
@keyframes pulse{
  0%{transform:scale(1);opacity:.4}
  100%{transform:scale(1.6);opacity:0}
}

/* ==========================================================
   REVEAL
   ========================================================== */
.reveal {
  opacity: 0;
  transform: translateY(32px) scale(0.985);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}
.reveal.in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(32px) scale(0.985);
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}
.reveal-stagger.in > * {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.reveal-stagger.in > *:nth-child(1){transition-delay:0ms}
.reveal-stagger.in > *:nth-child(2){transition-delay:100ms}
.reveal-stagger.in > *:nth-child(3){transition-delay:200ms}
.reveal-stagger.in > *:nth-child(4){transition-delay:300ms}
.reveal-stagger.in > *:nth-child(5){transition-delay:400ms}
.reveal-stagger.in > *:nth-child(6){transition-delay:500ms}

/* contact page reuse */
.contact-card{background:var(--bg-card);border:1px solid var(--line);padding:28px;border-radius:8px;margin-bottom:14px;display:flex;align-items:center;gap:18px;transition:border-color .3s, transform .3s}
.contact-card:hover{border-color:var(--tan);transform:translateX(4px)}
.contact-card .ic{width:50px;height:50px;border-radius:50%;background:rgba(201,168,138,0.08);border:1px solid var(--line-2);color:var(--tan);display:grid;place-items:center;flex:0 0 50px}
.contact-card h3{font-family:'Cormorant Garamond',serif;color:var(--cream);font-size:1.15rem;margin-bottom:4px;text-transform:uppercase;letter-spacing:0.02em}
.contact-card p{margin:0;color:var(--text-soft);font-size:13.5px}
.contact-card .big{color:var(--cream);font-weight:500;font-size:1rem}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

/* --- Tablet largo (1024px) --- */
@media (max-width:1024px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .audience{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hero-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hero .photo{width:50%}
}

/* --- Tablet / mobile largo (820px) --- */
@media (max-width:820px){
  /* zoom reset — no mobile zoom prejudica layout */
  body{zoom:1}

  .section{padding:72px 0}
  .container,.narrow{padding:0 20px}

  /* HEADER */
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;
    background:rgba(11,23,52,0.98);backdrop-filter:blur(16px);
    flex-direction:column;gap:0;padding:12px 0;
    border-bottom:1px solid var(--line-2)}
  .nav-links.nav-open{display:flex}
  .nav-links a{padding:14px 24px;font-size:15px;border-bottom:1px solid rgba(255,255,255,0.04)}
  .menu-toggle{display:flex}
  .nav-cta .btn span:not(.btn-arrow){display:none}
  .nav-cta .btn{padding:10px 16px}
  .brand-logo{height:44px;margin-top:-8px;margin-bottom:-8px}

  /* HERO */
  .hero{padding:110px 0 60px}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .hero .photo{display:none}
  .hero .float-chip.c-logo{display:none}
  .hero-visual{display:none}
  .hero-copy{text-align:center}
  .hero-bullets li{justify-content:flex-start}
  .hero-cta{justify-content:center}
  .hero-micro{justify-content:center}

  /* SEÇÕES */
  .section-head{margin-bottom:40px}
  .compare{grid-template-columns:1fr;gap:16px}
  .compare-col{padding:28px 22px}
  .pillars{grid-template-columns:repeat(2,1fr);gap:14px}
  .audience{grid-template-columns:repeat(2,1fr);gap:14px}
  .nacional{grid-template-columns:1fr;gap:16px}
  .numbers-grid{grid-template-columns:1fr;gap:36px}
  .num-block + .num-block::before{display:none}
  .num-big{font-size:clamp(3.5rem,14vw,5rem)}
  .incl-item{grid-template-columns:60px 1fr;gap:16px;padding:20px 0}
  .incl-num{font-size:2.2rem}
  .pull-quote{padding:24px 22px;font-size:1.2rem}

  /* BRASIL / CONTATO */
  .brasil-grid{grid-template-columns:1fr;gap:40px}
  .brasil-form .row{flex-direction:column}

  /* FOOTER */
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-bottom{flex-direction:column;text-align:center}

  /* FAQ */
  .faq-q{font-size:1rem;padding:18px 20px}
  .faq-a{padding:0 20px 20px}

  /* CTA FINAL */
  .cta-final{padding:80px 0}
  .cta-final .hero-bullets li{justify-content:flex-start}
}

/* --- Mobile (560px) --- */
@media (max-width:560px){
  .section{padding:56px 0}
  .container,.narrow{padding:0 16px}

  /* TIPOGRAFIA */
  h1{font-size:clamp(2rem,9vw,2.8rem)}
  h2{font-size:clamp(1.6rem,7vw,2.2rem)}

  /* HERO */
  .hero{padding:100px 0 50px}
  .hero .lead{font-size:0.95rem}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{justify-content:center}

  /* GRIDS */
  .pillars{grid-template-columns:1fr}
  .audience{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .numbers-grid{gap:28px}

  /* CHIPS hero — esconde no mobile pequeno */
  .hero-visual .float-chip{display:none}

  /* COMPARATIVO */
  .compare-col .title{font-size:1.3rem}

  /* FAQ */
  .faq-q{font-size:0.95rem;gap:14px}

  /* BRASIL FORM */
  .brasil-form input,.brasil-form textarea,.brasil-form select{font-size:16px}

  /* FOOTER */
  .footer{padding:40px 0 24px}
  .footer-bottom{font-size:11px}

  /* WA FLOAT */
  .wa-float{width:50px;height:50px;bottom:20px;right:16px}
  .wa-float svg{width:24px;height:24px}
}

/* ==========================================================
   PROVA SOCIAL (CARROSSEL)
   ========================================================== */
.social-proof-section {
  padding: 120px 0;
  position: relative;
  background: var(--bg);
  overflow: hidden;
}
.sp-slider-wrap {
  position: relative;
  width: 100%;
  margin-top: 56px;
  overflow: hidden;
}
.sp-slider-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  gap: 24px;
}
.sp-card {
  flex: 0 0 calc(33.333% - 16px);
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 350px;
  position: relative;
  box-shadow: 0 15px 35px rgba(0,0,0,0.3);
  transition: all 0.4s ease;
}
.sp-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(180deg, rgba(229,180,58,0.25), transparent 50%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.sp-card:hover {
  transform: translateY(-6px);
  border-color: rgba(229, 180, 58, 0.35);
  box-shadow: 0 20px 45px rgba(0,0,0,0.5), 0 0 20px rgba(229, 180, 58, 0.06);
}
.sp-stars {
  display: flex;
  gap: 4px;
  color: var(--tan);
  font-size: 13px;
  margin-bottom: 20px;
}
.sp-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.22rem;
  font-style: italic;
  color: var(--cream);
  line-height: 1.6;
  margin-bottom: 28px;
  position: relative;
  flex-grow: 1;
}
.sp-quote::before {
  content: "“";
  position: absolute;
  top: -24px;
  left: -12px;
  font-size: 4.5rem;
  color: rgba(229, 180, 58, 0.06);
  font-family: 'Cormorant Garamond', serif;
}
.sp-profile {
  display: flex;
  align-items: center;
  gap: 16px;
  border-top: 1px solid rgba(229,180,58,0.08);
  padding-top: 20px;
  margin-top: auto;
}
.sp-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--tan);
  background: rgba(229,180,58,0.08);
  display: grid;
  place-items: center;
  color: var(--tan);
  font-weight: 600;
  font-size: 13px;
  flex: 0 0 44px;
  overflow: hidden;
  font-family: 'Manrope', sans-serif;
}
.sp-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sp-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.sp-name {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #ffffff;
}
.sp-meta {
  font-size: 11px;
  color: var(--text-soft);
}
.sp-tag {
  align-self: flex-start;
  margin-top: 6px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--tan);
  background: rgba(229,180,58,0.06);
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(229,180,58,0.18);
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
}
.sp-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 48px;
}
.sp-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--line-2);
  display: grid;
  place-items: center;
  color: var(--cream);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  background: rgba(14,23,52,0.4);
}
.sp-arrow:hover {
  background: var(--tan);
  border-color: var(--tan);
  color: #1a1612;
  transform: scale(1.05);
}
.sp-arrow svg {
  width: 16px;
  height: 16px;
}
.sp-dots {
  display: flex;
  gap: 8px;
}
.sp-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(229,180,58,0.2);
  cursor: pointer;
  transition: all 0.3s ease;
}
.sp-dot.active {
  background: var(--tan);
  transform: scale(1.25);
  box-shadow: 0 0 8px rgba(229,180,58,0.5);
}

@media(max-width: 900px) {
  .sp-card {
    flex: 0 0 calc(50% - 12px);
    min-height: 360px;
  }
}
@media(max-width: 600px) {
  .social-proof-section {
    padding: 80px 0;
  }
  .sp-card {
    flex: 0 0 100%;
    min-height: 330px;
}

