/* ============================================================
   base.css — primitivos reutilizáveis (consome tokens.css)
   Sem placeholders: serve a qualquer proposta. Importar DEPOIS de tokens.css.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fonte-corpo);background:var(--fundo);color:var(--texto);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,44px)}
section{position:relative}

/* tipografia utilitária */
.kicker{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--primaria);margin-bottom:14px;display:inline-block}
.kicker--alt{color:var(--secundaria)}
.sec-title{font-family:var(--fonte-titulo);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.02;color:var(--texto)}
.sec-lead{color:var(--texto-soft);max-width:60ch;margin-top:16px;font-size:1.05rem}

/* botões */
.btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  font-family:var(--fonte-titulo);font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  font-size:.92rem;border:none;border-radius:var(--r);padding:16px 28px;
  transition:transform .18s,box-shadow .18s,background .18s,color .18s}
.btn--primary{background:var(--primaria);color:#fff;
  box-shadow:0 14px 36px -14px color-mix(in srgb,var(--primaria) 80%,transparent)}
.btn--primary:hover{transform:translateY(-2px)}
.btn--secondary{background:var(--secundaria);color:#fff;
  box-shadow:0 14px 36px -14px color-mix(in srgb,var(--secundaria) 80%,transparent)}
.btn--secondary:hover{transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--texto);border:1.5px solid var(--linha)}
.btn--ghost:hover{border-color:var(--primaria);color:var(--primaria)}
.btn--light{background:#fff;color:#111}
.btn--light:hover{transform:translateY(-2px)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;padding:14px clamp(18px,4vw,44px);
  border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.hdr.scrolled{background:color-mix(in srgb,var(--fundo) 85%,transparent);
  backdrop-filter:blur(12px);border-bottom-color:var(--linha)}
.brand{display:flex;align-items:center;gap:9px}
.brand__logo{height:38px;width:auto;display:block}
.brand--ft .brand__logo{height:54px}
.hdr__nav{display:flex;gap:24px;align-items:center}
.hdr__nav a{font-family:var(--fonte-titulo);font-size:.82rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--texto-soft);transition:color .2s}
.hdr__nav a:hover{color:var(--texto)}
.hdr__cta{color:#fff !important;border:1.5px solid var(--primaria);border-radius:var(--r);
  padding:9px 16px;transition:background .2s}
.hdr__cta:hover{background:var(--primaria)}
@media(max-width:760px){.hdr__nav a:not(.hdr__cta){display:none}}

/* footer */
.ft{background:var(--fundo);padding:40px clamp(18px,4vw,44px)}
.ft__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:18px;
  justify-content:space-between;align-items:center}
.ft__social{display:flex;gap:18px;color:var(--texto-soft);font-size:.9rem}
.ft__social a:hover{color:var(--texto)}
.ft__by{color:var(--texto-soft);font-size:.82rem;width:100%;text-align:center;
  margin-top:18px;border-top:1px solid var(--linha);padding-top:18px}

/* reveal ao rolar */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* whatsapp flutuante */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:70;width:56px;height:56px;border-radius:50%;
  background:#25d366;display:grid;place-items:center;
  box-shadow:0 12px 30px -8px rgba(37,211,102,.7);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;color:#fff}
