/* ---------------------------
   DESIGN TOKENS
----------------------------*/
:root{
  --brand: #62C554;
  --brand-ink: #ffffff;
  --ink: #111111;
  --ink-weak: #6B7280;
  --bg: #FFFFFF;
  --radius-pill: 999px;
  --radius-soft: 8px;
  --header-height: 80px;
  --maxw: 1180px;
}

body{
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}
.artboard{
  min-height: 426px;
  width: 100%;
  display: grid;
  grid-template-rows: var(--header-height) 1fr;
}

/* HEADER */
.header{
  height: var(--header-height);
  display: flex;
  align-items: center;
}
.container{
  width: min(100%, var(--maxw));
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* Marca */
.brand{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  font-size: 20px;
}
.brand svg{
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
}

/* Navegação */
.nav{
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 16px;
}
.nav a{
  color: var(--ink-weak);
  padding: 10px 12px;
  border-radius: var(--radius-soft);
  transition: color .2s ease, background-color .2s ease, transform .08s ease;
}
.nav a:hover{ color: var(--ink); transform: translateY(-1px); }

/* Ativo */
.nav a[aria-current="page"]{
  background: var(--brand);
  color: var(--brand-ink);
  font-weight: 500;
}

/* CTA */
.cta{
  background: var(--brand);
  color: var(--brand-ink);
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .08s ease, filter .2s ease;
  border: none;
  cursor: pointer;
}
.cta:hover{ filter: brightness(1.05); transform: translateY(-1px); }

/* Mobile */
.burger{
  display: none;
  width: 40px; height: 40px;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  align-items: center; justify-content: center;
  background: #fff;
}
.burger span{
  width: 20px; height: 2px; background: var(--ink);
  position: relative; display: block;
}
.burger span::before,
.burger span::after{
  content:"";
  position: absolute; left: 0; width: 100%; height: 2px; background: var(--ink);
}
.burger span::before{ top: -6px; }
.burger span::after{ top: 6px; }

.drawer{
  position: fixed;
  inset: 0 0 0 30%;
  transform: translateX(100%);
  background: #fff;
  box-shadow: -10px 0 30px rgba(0,0,0,.06);
  display: flex; flex-direction: column; gap: 8px;
  padding: 20px;
  transition: transform .25s ease;
  z-index: 50;
}
.drawer.open{ transform: translateX(0); }
.drawer a{ padding: 14px 12px; border-radius: 10px; font-size: 16px; }
.drawer .cta{ width: 100%; margin-top: 8px; }

@media (max-width: 860px){
  :root{ --header-height: 64px; }
  .nav, .cta-desktop{ display: none; }
  .burger{ display: inline-flex; }
  .container{ gap: 12px; }
  .brand{ font-size: 18px; }
  .artboard{ min-height: 800px; }
}

body.lock{ overflow: hidden; }
