/* Base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Nirmala UI', Segoe UI, Inter, system-ui, -apple-system, Roboto, Arial, sans-serif; color: #0e1116; background: #ffffff; line-height: 1.6; }
:root{ --ink:#0e1116; --muted:#6b7280; --brand: #212548; --accent: #B8AB6E; --surface:#F6F9FB; --ring:rgba(38,41,72,0.35); --radius:14px; --shadow: 0 8px 28px rgba(9, 30, 66, 0.14);}

.container { width: min(1120px, 92vw); margin: 0 auto; }
.section { padding: 64px 0; }
.section--alt { background: var(--surface); }
.section__header { margin-bottom: 24px; }
.section__header h2 { margin: 0 0 8px; font-size: clamp(24px, 3.2vw, 36px); letter-spacing: -0.02em; }
.section__header p { margin: 0; color: var(--muted); }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; padding: 12px 18px; border-radius:999px; font-weight:700; text-decoration:none; cursor:pointer; background:var(--brand); color: #B8AB6E; border:2px solid var(--brand); transition:transform .06s ease, box-shadow .2s ease; box-shadow: 0 2px 0 rgba(0,0,0,.08);}
.btn:hover { transform: translateY(-1px); }
.btn:focus { outline: none; box-shadow: 0 0 0 4px var(--ring); }
.btn--ghost {
  color: var(--accent) !important; /* dourado */
  border-color: var(--accent) !important;
}
.btn--outline { background:transparent; color:#fff; border-color:#fff; }
.btn--block { width:100%; }
.btn--big { padding: 14px 22px; font-size:18px; }

/* Header */
.site-header { position: sticky; top:0; z-index:1000; background: rgba(255,255,255,0.9); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid #e5e7eb; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:10px 0; gap:14px; }
.brand--link img { height:56px; width:auto; display:block; }
.nav ul { display:flex; gap:12px; list-style:none; margin:0; padding:0; align-items:center; }
.nav a { text-decoration:none; color:var(--ink); font-weight:600; padding:8px 12px; border-radius:8px; }
.nav a:hover { background: rgba(38,41,72,0.08); }
.nav-cta .btn { padding:8px 14px; }
.nav-toggle{ display:none; border:0; background:transparent; width:44px; height:44px; padding:0; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--ink); margin:5px auto; border-radius:2px; }
@media (max-width: 900px){
  .nav-toggle{ display:inline-block; }
  .nav { position:absolute; top:60px; right:0; left:0; background:#fff; border-bottom:1px solid #e5e7eb; display:none; }
  .nav.is-open{ display:block; }
  .nav ul{ flex-direction:column; align-items:stretch; padding:12px; }
  .nav li{ width:100%; }
  .nav a, .nav .btn{ width:100%; display:block; text-align:center; }
}

/* Hero */
.hero{ padding: 72px 0 40px; background:var(--brand); color:white; }
.hero__grid-simple{ display:grid; grid-template-columns:1fr; align-items:center; gap:24px; }
.hero__copy h1{ margin:0 0 10px; font-size: clamp(30px, 5vw, 48px); letter-spacing:-0.02em; }
.hero__copy p{ margin:0 0 16px; color:#e8eaf6; font-size: clamp(16px, 2.2vw, 18px); }
.hero__ctas{ display:flex; gap:12px; flex-wrap:wrap; margin:12px 0 8px; }
.hero__badges{ list-style:none; padding:0; display:flex; gap:14px; flex-wrap:wrap; color:#e8eaf6; font-size:14px; }
.hero .btn{ background:var(--accent); border-color:var(--accent); color:var(--brand); }
.hero .btn--ghost {
  color: var(--accent) !important; /* dourado */
  border-color: var(--accent) !important;
}

/* Cards & Features */
.cards{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:20px; }
@media (max-width: 800px){ .cards{ grid-template-columns:1fr; } }
.card{ background:#fff; border:1px solid #e6eaee; border-radius:var(--radius); padding:22px; box-shadow: var(--shadow);}
.card h3{ margin:0 0 6px; font-size:22px; }
.price{ font-weight:800; font-size:24px; margin:0 0 12px; color:var(--brand); }
.list{ padding-left:18px; margin:0 0 8px; }
.grid-3{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:20px; }
@media (max-width: 1000px){ .grid-3{ grid-template-columns:1fr 1fr; } }
@media (max-width: 700px){ .grid-3{ grid-template-columns:1fr; } }
.feature{ background:#fff; border:1px solid #e6eaee; border-radius:var(--radius); padding:18px; box-shadow: var(--shadow);}

/* Steps */
.steps{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:18px; }
.step{ background:#fff; border:1px solid #e6eaee; border-radius:var(--radius); padding:18px; box-shadow: var(--shadow); }
.step__num{ display:inline-grid; place-items:center; width:32px; height:32px; background:var(--brand); color:#fff; border-radius:999px; font-weight:800; margin-bottom:8px; }
@media (max-width: 900px){ .steps{ grid-template-columns:1fr; } }

/* FAQ */
.faq details{ background:#fff; border:1px solid #e6eaee; border-radius:var(--radius); padding:14px 18px; margin-bottom:10px; }
.faq summary{ cursor:pointer; font-weight:600; }

/* Contact & Footer */
.contact{ display:grid; gap:10px; align-items:start; }
.contact__meta{ color:var(--muted); margin:0; }
.site-footer{ border-top:1px solid #e5e7eb; background:#fff; }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; }
.footer-nav a{ color: var(--muted); text-decoration:none; margin-left:12px; }
@media (max-width: 700px){ .footer-inner{ flex-direction:column; align-items:flex-start; } }

.skip-link img { display:block; max-width:180px; height:auto; }


.skip-link {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1001;
}
.skip-link img {
  display: block;
  max-width: 160px;
  height: auto;
}
@media (max-width: 600px) {
  .skip-link {
    top: 6px;
    left: 6px;
  }
  .skip-link img {
    max-width: 120px;
  }
}


/* Redução do logo ao rolar */
.site-header.shrink .skip-link img {
  max-width: 110px !important;
  transition: max-width 0.3s ease;
}
.skip-link img {
  transition: max-width 0.3s ease;
}


/* Forçar texto dourado nos botões padrão */
.btn, .btn:link, .btn:visited { color: var(--accent) !important; }
/* No menu, .nav a tinha prioridade — garantir dourado também aqui */
.nav .btn, .nav .btn:link, .nav .btn:visited { color: var(--accent) !important; }
/* Exceção: no herói o botão principal é dourado com texto azul para contraste */
.hero .btn { color: var(--brand) !important; }

.btn--ghost:hover {
  background-color: var(--accent) !important;
  color: var(--brand) !important; /* texto azul no hover */
}