/* ===================================================================
   HELLEN BRAGA — Neuroergonomia
   Prata premium · dourado · experiência imersiva (mobile-first)
   =================================================================== */

:root {
  /* Prata premium titânio satinado (claríssimo para alto luxo) */
  --silver-0: #fafbfc;
  --silver-1: #f3f5f8;
  --silver-2: #e9ebf0;
  --silver-3: #dde1e8;
  --silver-4: #ccd1d9;

  /* Tinta */
  --ink: #15171c;
  --ink-soft: #3b3f47;
  --ink-mute: #6c717b;

  /* Dourado premium (escuro, saturado e de altíssimo contraste) */
  --gold-1: #694a11;
  --gold-2: #8c6720;
  --gold-3: #a87f2d;
  --gold-4: #cfa858;
  --gold-grad: linear-gradient(135deg, #694a11 0%, #b0822a 35%, #91681a 60%, #7d5711 85%, #593d0a 100%);
  --gold-grad-soft: linear-gradient(135deg, #8c6720, #cca143 55%, #8c6720);
  --copper: #b06a3f;

  --shadow-1: 0 1px 2px rgba(20, 23, 28, .06), 0 8px 24px rgba(20, 23, 28, .07);
  --shadow-2: 0 20px 60px rgba(20, 23, 28, .14);
  --ring: rgba(199, 154, 46, .55);

  --maxw: 1120px;
  --radius: 20px;
  --radius-sm: 14px;
  --ease: cubic-bezier(.2, .7, .2, 1);

  --header-h: 68px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--silver-2);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

body.intro-lock { overflow: hidden; height: 100vh; }

img, svg, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

::selection { background: rgba(199, 154, 46, .25); }

/* ---------- Fundo prata dinâmico ---------- */
.bg-stage { position: fixed; inset: 0; z-index: -2; overflow: hidden; }
.bg-stage__layer {
  position: absolute; inset: -20%;
  background:
    radial-gradient(60% 50% at 18% calc(8% + var(--scroll, 0) * 30%), #ffffff 0%, rgba(255,255,255,0) 55%),
    radial-gradient(55% 45% at 85% calc(90% - var(--scroll, 0) * 40%), rgba(244, 227, 161, .28) 0%, rgba(244,227,161,0) 60%),
    linear-gradient(calc(135deg + var(--scroll, 0) * 75deg),
      var(--silver-0) 0%, var(--silver-1) 25%, var(--silver-3) 50%, var(--silver-2) 75%, var(--silver-4) 100%);
  transition: background .2s linear;
}
.bg-stage__grain {
  position: absolute; inset: 0; opacity: .35; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}

/* ---------- Layout ---------- */
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
.container.narrow { max-width: 760px; }
.section { padding: clamp(56px, 9vw, 110px) 0; }

/* ---------- Tipografia premium ---------- */
.section__title {
  font-family: "Outfit", "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(1.7rem, 5.2vw, 2.8rem);
  line-height: 1.12;
  letter-spacing: -.02em;
  color: var(--ink);
}
.section__head { text-align: center; max-width: 720px; margin: 0 auto clamp(32px, 5vw, 54px); }
.section__desc { color: var(--ink-soft); margin-top: 14px; font-size: 1.05rem; }
.kicker {
  display: inline-block; font-size: .76rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; margin-bottom: 14px;
  background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.lead { font-size: clamp(1.02rem, 2.4vw, 1.18rem); color: var(--ink-soft); margin-top: 18px; }

.gold-text {
  background: var(--gold-grad); -webkit-background-clip: text; background-clip: text;
  color: transparent; font-weight: 700;
  filter: drop-shadow(0px 1px 1px rgba(21, 23, 28, 0.16));
}

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 26px; border-radius: 999px; font-weight: 700; font-size: .98rem;
  letter-spacing: .01em; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s;
  will-change: transform;
}
.btn--gold {
  color: #2a2008; background: var(--gold-grad); background-size: 180% 180%;
  box-shadow: 0 10px 26px rgba(184, 144, 47, .4), inset 0 1px 0 rgba(255,255,255,.5);
}
.btn--gold:hover { transform: translateY(-2px); background-position: 100% 0; box-shadow: 0 16px 38px rgba(184, 144, 47, .5); }
.btn--ghost-gold {
  position: relative; color: var(--gold-1); background: transparent;
  border: 1.5px solid transparent;
  background-image: linear-gradient(var(--silver-1), var(--silver-1)), var(--gold-grad);
  background-origin: border-box; background-clip: padding-box, border-box;
}
.btn--ghost-gold:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(184, 144, 47, .28); }
.btn--quiet { color: var(--ink-soft); background: rgba(255,255,255,.55); border: 1px solid rgba(20,23,28,.1); }
.btn--quiet:hover { transform: translateY(-2px); background: #fff; }
.btn--block { width: 100%; }
.btn--sm { padding: 9px 18px; font-size: .85rem; }

/* ===================================================================
   INTRO CINEMÁTICA
   =================================================================== */
.intro { position: fixed; inset: 0; z-index: 9999; overflow: hidden; }
.intro.is-done { animation: introOut .9s var(--ease) forwards; }
@keyframes introOut { to { opacity: 0; visibility: hidden; } }

.intro__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(75% 65% at 50% 38%, #ffffff 0%, rgba(255,255,255,0) 70%),
    radial-gradient(120% 90% at 50% 50%, var(--silver-0) 0%, var(--silver-1) 35%, var(--silver-2) 65%, var(--silver-3) 100%);
}

.intro__skip {
  position: absolute; top: 18px; right: 18px; z-index: 5;
  font-size: .8rem; font-weight: 600; color: var(--ink-mute);
  padding: 8px 16px; border-radius: 999px; background: rgba(255,255,255,.5);
  border: 1px solid rgba(20,23,28,.08); backdrop-filter: blur(6px);
  opacity: 0; animation: fadeIn .6s ease .8s forwards;
}
.intro__skip:hover { color: var(--ink); }

/* logo HB */
.intro__logo {
  position: absolute; inset: 0; display: grid; place-items: center;
  overflow: hidden;
}
.intro__logo::after {
  content: "";
  position: absolute;
  top: -50%; left: -60%; width: 220%; height: 220%;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,0.4) 45%, rgba(255,255,255,0.78) 50%, rgba(255,255,255,0.4) 55%, transparent 65%);
  transform: rotate(-15deg) translateX(-100%);
  mix-blend-mode: overlay;
  pointer-events: none;
}
.intro__logo.is-spark::after {
  animation: logoShimmer 1.8s var(--ease) forwards;
}
@keyframes logoShimmer {
  0% { transform: rotate(-15deg) translateX(-60%); }
  100% { transform: rotate(-15deg) translateX(60%); }
}

.intro__logo .hb {
  width: min(50vw, 320px); height: auto;
  opacity: 0; transform: scale(.62);
  filter: drop-shadow(0 18px 36px rgba(13,15,18,.25)) drop-shadow(0 4px 10px rgba(13,15,18,.12)) drop-shadow(0 1px 2px rgba(13,15,18,.15));
}
.intro__logo .hb path {
  stroke: rgba(13, 15, 18, 0.14);
  stroke-width: 0.6px;
  stroke-linejoin: round;
}
.intro__logo.is-in .hb { animation: hbIn 1.5s var(--ease) forwards; }
@keyframes hbIn {
  0%   { opacity: 0; transform: scale(.62); }
  55%  { opacity: 1; transform: scale(1.04); }
  100% { opacity: 1; transform: scale(1); }
}
.intro__logo.is-out .hb { animation: hbOut .6s var(--ease) forwards; }
@keyframes hbOut { to { opacity: 0; transform: scale(1.15); filter: blur(4px); } }

.spark {
  position: absolute; width: 16px; height: 16px; opacity: 0;
  background:
    radial-gradient(closest-side, rgba(255,255,255,1), rgba(255,255,255,0) 70%),
    conic-gradient(from 0deg, transparent, rgba(255,255,255,.9), transparent 30%, transparent 70%, rgba(255,255,255,.9), transparent);
  border-radius: 50%;
}
.spark::before {
  content: ""; position: absolute; inset: -8px;
  background:
    linear-gradient(transparent 46%, rgba(255,255,255,.95) 50%, transparent 54%),
    linear-gradient(90deg, transparent 46%, rgba(255,255,255,.95) 50%, transparent 54%);
}
.spark--1 { top: 30%; left: 56%; }
.spark--2 { top: 62%; left: 64%; }
.intro__logo.is-spark .spark--1 { animation: sparkPop .8s ease .0s; }
.intro__logo.is-spark .spark--2 { animation: sparkPop .8s ease .18s; }
@keyframes sparkPop {
  0% { opacity: 0; transform: scale(.2) rotate(0deg); }
  45% { opacity: 1; transform: scale(1.25) rotate(45deg); }
  100% { opacity: 0; transform: scale(.6) rotate(90deg); }
}

/* frases */
.intro__phrases { position: absolute; inset: 0; display: grid; place-items: center; padding: 0 26px; opacity: 0; pointer-events: none; }
.intro__phrases.is-in { opacity: 1; }
.phrase {
  position: absolute; max-width: 18ch; text-align: center;
  font-family: "Outfit", "Plus Jakarta Sans", sans-serif; font-weight: 700;
  font-size: clamp(1.5rem, 6.4vw, 2.6rem); line-height: 1.18; color: var(--ink);
  opacity: 0; transform: translateY(14px);
}
.phrase b { background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; filter: drop-shadow(0px 1px 1px rgba(21, 23, 28, 0.2)); }
.phrase.is-show { animation: phraseIn .55s var(--ease) forwards; }
.phrase.is-hide { animation: phraseOut .45s var(--ease) forwards; }
@keyframes phraseIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes phraseOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-12px); } }

/* última frase com sweep dourado */
.phrase--final.is-show {
  background: linear-gradient(100deg, var(--ink) 0%, var(--ink) 38%, #b0822a 48%, #91681a 52%, var(--ink) 62%, var(--ink) 100%);
  background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: phraseIn .55s var(--ease) forwards, goldSweep 2s ease .35s 1;
}
.phrase--final.is-show b { -webkit-text-fill-color: initial; }
@keyframes goldSweep { 0% { background-position: 130% 0; } 100% { background-position: -30% 0; } }

@keyframes fadeIn { to { opacity: 1; } }

/* ===================================================================
   HEADER
   =================================================================== */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900; height: var(--header-h);
  display: flex; align-items: center;
  transition: background .3s, box-shadow .3s, backdrop-filter .3s;
}
.site-header.is-stuck {
  background: rgba(238, 240, 244, .72); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 1px 0 rgba(20,23,28,.06), 0 10px 30px rgba(20,23,28,.06);
}
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand__logo-svg {
  height: 38px;
  width: auto;
  filter: drop-shadow(0 4px 8px rgba(20,23,28,.1));
  transition: transform .25s var(--ease);
}
.brand:hover .brand__logo-svg {
  transform: scale(1.05);
}
.brand__txt { display: flex; flex-direction: column; line-height: 1.05; }
.brand__txt strong { font-size: .98rem; font-weight: 700; color: var(--ink); }
.brand__txt small { font-size: .72rem; color: var(--ink-mute); letter-spacing: .04em; }

.header__cta { white-space: nowrap; padding: 10px 18px; font-size: .82rem; }
@media (max-width: 400px) {
  .brand__txt small { display: none; }
  .header__cta { padding: 9px 15px; font-size: .78rem; }
}

/* ===================================================================
   HERO + VSL
   =================================================================== */
.hero { padding-top: calc(var(--header-h) + 30px); padding-bottom: clamp(40px, 7vw, 80px); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 7px; font-size: clamp(0.72rem, 2.2vw, 0.8rem); font-weight: 600;
  color: var(--ink-soft); letter-spacing: .03em; margin-bottom: 22px;
  padding: 5px 14px; border-radius: 999px; background: rgba(255,255,255,.65);
  border: 1px solid rgba(20,23,28,.09);
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold-grad); box-shadow: 0 0 0 3px rgba(199,154,46,.18); }

/* Hero Layout (2 colunas) */
.hero__container {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(30px, 5vw, 60px);
  align-items: center;
}

.hero__copy {
  text-align: left;
  max-width: 100%;
  margin: 0;
}

.hero__title {
  font-family: "Outfit", "Plus Jakarta Sans", sans-serif; font-weight: 700;
  font-size: clamp(1.85rem, 5vw, 3.2rem); line-height: 1.12; letter-spacing: -.02em;
}

.hero__sub {
  margin: 22px 0 0;
  max-width: 100%;
  font-size: clamp(0.95rem, 2.2vw, 1.12rem);
  color: var(--ink-soft);
  line-height: 1.5;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-start; margin-top: 30px; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: flex-start; margin-top: 26px; font-size: .88rem; color: var(--ink-mute); }
.stars { color: #d9b14b; letter-spacing: 2px; }

/* Coluna visual */
.hero__visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.hero__img-wrapper {
  position: relative;
  width: 100%;
  max-width: 350px;
  aspect-ratio: 3.8 / 5;
  border-radius: clamp(16px, 3vw, 24px);
  overflow: hidden;
  background: var(--silver-grad);
  border: 1px solid rgba(20,23,28,.08);
  box-shadow: var(--shadow-2);
}

.hero__img-bg-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 30%, rgba(199,154,46,.15), transparent 70%);
  z-index: 1;
}

.hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 2;
  transition: transform .6s var(--ease);
}

.hero__img-wrapper:hover .hero__img {
  transform: scale(1.04);
}

/* Micro-animação flutuante na foto */
.animate-float {
  animation: floatImg 6s ease-in-out infinite;
}

@keyframes floatImg {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Responsividade */
@media (max-width: 992px) {
  .hero__container {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 36px;
  }
  .hero__copy {
    text-align: center;
    order: 2;
  }
  .hero__visual {
    order: 1;
  }
  .hero__sub {
    margin: 20px auto 0;
    max-width: 600px;
  }
  .hero__actions {
    justify-content: center;
  }
  .hero__trust {
    justify-content: center;
  }
  .hero__img-wrapper {
    max-width: 280px;
  }
}

/* ===================================================================
   TSL / PROVA SOCIAL
   =================================================================== */
.tsl .lead + .lead { margin-top: 16px; }

.rating {
  display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap;
  margin: 0 auto clamp(34px, 5vw, 50px); padding: 12px 24px; width: fit-content;
  background: rgba(255,255,255,.65); border: 1px solid rgba(20,23,28,.08);
  border-radius: 999px; box-shadow: var(--shadow-1); backdrop-filter: blur(8px);
}
.rating__g svg { display: block; }
.rating__txt { display: flex; align-items: center; gap: 10px; }
.rating__txt strong { font-size: 1.6rem; font-weight: 800; }
.rating__txt .stars { font-size: 1.1rem; }
.rating .btn--sm {
  white-space: nowrap;
  font-size: clamp(0.72rem, 2vw, 0.8rem);
  padding: 8px 14px;
}

.proof__grid { display: grid; gap: 22px; grid-template-columns: 1fr; }
.quote {
  position: relative; padding: 30px 28px 26px; border-radius: var(--radius);
  background: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.7);
  box-shadow: var(--shadow-1); backdrop-filter: blur(10px);
}
.quote__mark { font-family: "Outfit", sans-serif; font-weight: 700; font-size: 4rem; line-height: .6; color: rgba(199,154,46,.35); height: 26px; }
.quote blockquote { font-size: 1.1rem; line-height: 1.6; color: var(--ink); margin: 6px 0 22px; }
.quote figcaption { display: flex; align-items: center; gap: 14px; }
.quote__avatar {
  width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  font-weight: 800; color: #2a2008; background: var(--gold-grad);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 6px 16px rgba(184,144,47,.3);
}
.quote__who { display: flex; flex-direction: column; line-height: 1.2; }
.quote__who strong { font-size: 1rem; }
.quote__who small { color: var(--ink-mute); font-size: .85rem; }

/* ===================================================================
   PAINEL INTERATIVO — ÁREAS
   =================================================================== */
.panel { display: grid; gap: 18px; grid-template-columns: 1fr; }
.panel__tabs { display: flex; flex-direction: column; gap: 10px; }
.panel__tab {
  display: flex; align-items: center; gap: 12px; text-align: left;
  padding: 15px 18px; border-radius: var(--radius-sm); font-weight: 600; font-size: .98rem;
  color: var(--ink-soft); background: rgba(255,255,255,.5); border: 1px solid rgba(20,23,28,.07);
  transition: all .25s var(--ease);
}
.panel__tab .ic { width: 22px; height: 22px; flex: 0 0 auto; }
.panel__tab:hover { transform: translateY(-2px); background: #fff; box-shadow: var(--shadow-1); }
.panel__tab.is-active {
  color: var(--ink); background: #fff;
  box-shadow: 0 10px 30px rgba(184,144,47,.18), inset 0 0 0 1.5px var(--ring);
}
.panel__views { position: relative; }
.panel__view {
  display: none; padding: 32px 28px; border-radius: var(--radius);
  background: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.7);
  box-shadow: var(--shadow-1); backdrop-filter: blur(10px);
}
.panel__view.is-active { display: block; animation: phraseIn .4s var(--ease); }
.panel__view .ic--lg { width: 46px; height: 46px; margin-bottom: 16px; }
.panel__view  h3 { font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.4rem; margin-bottom: 12px; }
.panel__view p { color: var(--ink-soft); font-size: 1.05rem; }

/* ===================================================================
   FORMULÁRIO BRIEFING
   =================================================================== */
.brief { padding: clamp(24px, 4vw, 38px); border-radius: var(--radius);
  background: rgba(255,255,255,.66); border: 1px solid rgba(255,255,255,.7);
  box-shadow: var(--shadow-2); backdrop-filter: blur(12px); display: grid; gap: 22px; }
.field { display: grid; gap: 9px; }
.field label, .field__label { font-weight: 600; font-size: .92rem; color: var(--ink); }
.field label small, .field__label small { color: var(--ink-mute); font-weight: 500; }
.field input[type="text"], .field textarea {
  width: 100%; padding: 14px 16px; border-radius: var(--radius-sm); font: inherit; color: var(--ink);
  background: rgba(255,255,255,.85); border: 1.5px solid rgba(20,23,28,.12); transition: border-color .2s, box-shadow .2s;
  resize: vertical;
}
.field input:focus, .field textarea:focus { outline: none; border-color: var(--gold-2); box-shadow: 0 0 0 4px rgba(199,154,46,.16); }

.choices { display: flex; flex-wrap: wrap; gap: 10px; }
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.choice span {
  display: inline-flex; padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: .92rem;
  color: var(--ink-soft); background: rgba(255,255,255,.7); border: 1.5px solid rgba(20,23,28,.12);
  transition: all .2s var(--ease);
}
.choice input:checked + span {
  color: #2a2008; background: var(--gold-grad); border-color: transparent;
  box-shadow: 0 8px 20px rgba(184,144,47,.32);
}
.choice input:focus-visible + span { box-shadow: 0 0 0 4px rgba(199,154,46,.2); }

.brief .wa-ic svg { width: 22px; height: 22px; fill: #221a06; }
.brief__hint { text-align: center; font-size: .85rem; color: var(--ink-mute); }

/* ===================================================================
   NÚMEROS / STATS
   =================================================================== */
.stats__grid { display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); margin-bottom: clamp(40px, 6vw, 64px); }
.stat {
  text-align: center; padding: 28px 16px; border-radius: var(--radius);
  background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.7); box-shadow: var(--shadow-1);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.stat strong {
  display: block; font-family: "Outfit", sans-serif; font-weight: 700; font-size: clamp(1.7rem, 6vw, 2.6rem); line-height: 1;
  background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat span { display: block; margin-top: 8px; font-size: .9rem; color: var(--ink-soft); font-weight: 600; }
.about { text-align: center; margin-top: 8px; }
.about .btn { margin-top: 26px; }

/* ===================================================================
   CARD GLOW (hover dourado nos quadrados)
   =================================================================== */
.card-glow { position: relative; transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.card-glow::before {
  content: ""; position: absolute; inset: -2px; border-radius: inherit; z-index: -1; opacity: 0;
  background: radial-gradient(80% 80% at 50% 50%, rgba(244,227,161,.65), rgba(199,154,46,.25) 45%, rgba(199,154,46,0) 70%);
  transition: opacity .4s var(--ease);
}
.card-glow:hover { transform: translateY(-8px) scale(1.03); box-shadow: 0 30px 70px rgba(184,144,47,.28), 0 0 0 1px rgba(199,154,46,.3); }
.card-glow:hover::before { opacity: 1; }

/* ===================================================================
   FOOTER
   =================================================================== */
.site-footer { margin-top: 20px; padding: 44px 0 36px; background: linear-gradient(180deg, rgba(255,255,255,0), rgba(20,23,28,.04)); border-top: 1px solid rgba(20,23,28,.08); }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 22px; }
.site-footer__brand { display: flex; align-items: center; gap: 14px; }
.site-footer__brand small { display: block; color: var(--ink-mute); font-size: .8rem; }
.site-footer__social { display: flex; gap: 12px; }
.site-footer__social a {
  width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center;
  background: rgba(255,255,255,.6); border: 1px solid rgba(20,23,28,.08); box-shadow: var(--shadow-1);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.site-footer__social a:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(184,144,47,.25); }
.site-footer__social .ic { width: 22px; height: 22px; }
.site-footer__legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(20,23,28,.07); font-size: .82rem; color: var(--ink-mute); }

/* ===================================================================
   WHATSAPP FLUTUANTE
   =================================================================== */
.wa-float {
  position: fixed; bottom: 20px; right: 18px; z-index: 870; width: 58px; height: 58px; border-radius: 50%;
  display: grid; place-items: center; background: linear-gradient(160deg, #2bd96b, #20b757);
  box-shadow: 0 12px 30px rgba(37,211,102,.45); transform: translateY(0);
  animation: waIn .5s var(--ease) .6s both;
}
.wa-float svg { width: 30px; height: 30px; fill: #fff; }
.wa-float::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(37,211,102,.5); animation: pulse 2.4s ease-out infinite; }
.wa-float:hover { transform: scale(1.08); }
@keyframes waIn { from { opacity: 0; transform: translateY(20px) scale(.7); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* ===================================================================
   ÍCONES DOURADOS (gradiente premium)
   =================================================================== */
.ic { display: inline-block; background: var(--gold-grad); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.ic[data-ic="brain"]     { -webkit-mask-image: var(--m-brain);     mask-image: var(--m-brain); }
.ic[data-ic="shield"]    { -webkit-mask-image: var(--m-shield);    mask-image: var(--m-shield); }
.ic[data-ic="chair"]     { -webkit-mask-image: var(--m-chair);     mask-image: var(--m-chair); }
.ic[data-ic="home"]      { -webkit-mask-image: var(--m-home);      mask-image: var(--m-home); }
.ic[data-ic="mic"]       { -webkit-mask-image: var(--m-mic);       mask-image: var(--m-mic); }
.ic[data-ic="doc"]       { -webkit-mask-image: var(--m-doc);       mask-image: var(--m-doc); }
.ic[data-ic="instagram"] { -webkit-mask-image: var(--m-instagram); mask-image: var(--m-instagram); }
.ic[data-ic="whatsapp"]  { -webkit-mask-image: var(--m-whatsapp);  mask-image: var(--m-whatsapp); }
.ic[data-ic="linkedin"]  { -webkit-mask-image: var(--m-linkedin);  mask-image: var(--m-linkedin); }
.ic[data-ic="mail"]      { -webkit-mask-image: var(--m-mail);      mask-image: var(--m-mail); }

:root {
  --m-brain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3a3 3 0 0 0-3 3 3 3 0 0 0-2 5.2A3 3 0 0 0 8 17a3 3 0 0 0 4 2 3 3 0 0 0 4-2 3 3 0 0 0 1-5.8A3 3 0 0 0 15 6a3 3 0 0 0-3-3zm0 0v16'/%3E%3C/svg%3E");
  --m-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 8.5-8 11-4.6-2.5-8-6-8-11V5l8-3zm-1 13l5-5-1.4-1.4L11 12.2 9.4 10.6 8 12l3 3z'/%3E%3C/svg%3E");
  --m-chair: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 3h10a2 2 0 0 1 2 2v6h-2l1 5h-2l-1-4H7l-1 4H4l1-5H3V5a2 2 0 0 1 2-2zm-1 16h12v2H6z'/%3E%3C/svg%3E");
  --m-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3l9-8z'/%3E%3C/svg%3E");
  --m-mic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v6a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3zm-7 9a7 7 0 0 0 6 6.9V21H8v2h8v-2h-3v-3.1A7 7 0 0 0 19 11h-2a5 5 0 0 1-10 0H5z'/%3E%3C/svg%3E");
  --m-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6 2h8l4 4v16H6V2zm7 1.5V7h3.5L13 3.5zM8 11h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E");
  --m-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2c2.7 0 3 0 4.1.1 1 0 1.8.2 2.5.5.7.3 1.3.6 1.9 1.2.6.6.9 1.2 1.2 1.9.3.7.4 1.5.5 2.5C22.3 9 22 9.3 22 12s0 3-.1 4.1c0 1-.2 1.8-.5 2.5-.3.7-.6 1.3-1.2 1.9-.6.6-1.2.9-1.9 1.2-.7.3-1.5.4-2.5.5C15 22.3 15 22 12 22s-3 0-4.1-.1c-1 0-1.8-.2-2.5-.5-.7-.3-1.3-.6-1.9-1.2-.6-.6-.9-1.2-1.2-1.9-.3-.7-.4-1.5-.5-2.5C1.7 15 2 15 2 12s0-3 .1-4.1c0-1 .2-1.8.5-2.5.3-.7.6-1.3 1.2-1.9.6-.6 1.2-.9 1.9-1.2.7-.3 1.5-.4 2.5-.5C9 1.7 9 2 12 2zm0 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0 8.2a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4zM17.8 5.9a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4z'/%3E%3C/svg%3E");
  --m-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='black'%3E%3Cpath d='M16 3C9 3 3.3 8.7 3.3 15.7c0 2.5.7 4.8 1.9 6.8L3 29l6.7-2.1c1.9 1 4 1.6 6.3 1.6 7 0 12.7-5.7 12.7-12.7S23 3 16 3zm6.2 15.4c-.3.8-1.6 1.5-2.3 1.6-.6.1-1.4.2-2.2-.1-.5-.1-1.2-.3-2-.7-3.5-1.5-5.7-5-5.9-5.2-.2-.3-1.4-1.9-1.4-3.6 0-1.7.9-2.6 1.2-2.9.3-.3.7-.4.9-.4h.7c.2 0 .5-.1.8.6.3.7 1 2.4 1.1 2.6.1.2.1.4 0 .6-.1.3-.2.4-.3.6-.2.2-.4.5-.5.6-.1.2-.3.4-.1.7.2.3.9 1.4 1.9 2.3 1.3 1.1 2.4 1.4 2.7 1.6.3.1.5.1.7-.1.2-.2.9-1 1.1-1.3.2-.4.5-.3.8-.2.3.1 2 1 2.3 1.1.3.2.5.2.6.4.1.1.1 1-.2 1.8z'/%3E%3C/svg%3E");
  --m-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9h4v12H3V9zm6 0h3.8v1.7h.05c.53-1 1.8-2 3.7-2 4 0 4.7 2.6 4.7 6V21h-4v-5.6c0-1.3 0-3-1.9-3s-2.1 1.4-2.1 2.9V21H9V9z'/%3E%3C/svg%3E");
  --m-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M2 5h20v14H2V5zm10 7L4 7v10h16V7l-8 5zm0-2.2L19.5 5h-15L12 9.8z'/%3E%3C/svg%3E");
}

/* ===================================================================
   REVEAL on scroll
   =================================================================== */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }

/* ===================================================================
   DESKTOP
   =================================================================== */
@media (min-width: 760px) {
  .proof__grid { grid-template-columns: 1fr 1fr; }
  .stats__grid { grid-template-columns: repeat(4, 1fr); }
  .panel { grid-template-columns: 340px 1fr; align-items: start; }
  .vsl.is-docked { width: 280px; top: calc(var(--header-h) + 16px); right: 24px; }
}

@media (min-width: 980px) {
  :root { --header-h: 76px; }
  .container { padding: 0 32px; }
}

/* Mobile fino */
@media (max-width: 380px) {
  .hero__actions .btn { width: 100%; }
  .vsl.is-docked { width: 40vw; }
}

/* Acessibilidade: reduzir movimento */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
