/*
Theme Name:        Tema Auto-pilot
Theme URI:         https://teammamedia.pt
Author:            MA MEDIA
Author URI:        https://teammamedia.pt
Description:       Tema oficial do Auto-pilot — marca da MA MEDIA para marketing automatizado com IA supervisionada. Construído em blocos Gutenberg, sem dependências externas, totalmente compatível com os plugins MA Media e WooCommerce. Personalização via Personalizador Clássico do WordPress.
Version:           3.16.1
Requires at least: 6.4
Tested up to:      6.5
Requires PHP:      8.1
License:           Proprietary — MA MEDIA
License URI:       https://teammamedia.pt
Text Domain:       tema-auto-pilot
Tags:              gutenberg, woocommerce, full-width-template, custom-menu, custom-logo
*/

/* Bricolage Grotesque — self-hosted (variável: opsz 12–96, wght 200–800).
   Fonte de títulos definitiva (substitui o plano Croogla). Licença OFL em
   assets/fonts/OFL-BricolageGrotesque.txt. */
@font-face{
  font-family:'Bricolage Grotesque';
  src:url('assets/fonts/BricolageGrotesque.woff2') format('woff2');
  font-weight:200 800;
  font-stretch:normal;
  font-style:normal;
  font-display:swap;
}
@font-face{font-family:'Open Sans';src:url('assets/fonts/OpenSans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('assets/fonts/OpenSans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('assets/fonts/OpenSans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('assets/fonts/OpenSans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}


/* =========================================================================
   Auto-pilot — Design tokens (v2.0.0)
   Cores e tipografia derivadas do mockup definitivo. Tema dark por defeito;
   `<html data-theme="light">` activa a paleta clara. As fontes Croogla são
   fallback até as variantes .woff2 oficiais entrarem em produção (SOP §13.4).
   ========================================================================= */
:root {
  /* Superfícies — DARK (default). Paleta v3.0.0 derivada do mockup definitivo. */
  --auto-pilot-bg:      #15120F;
  --auto-pilot-bg-rgb:  21, 18, 15;
  --auto-pilot-surf:    #211D18;
  --auto-pilot-raised:  #2a241d;
  --auto-pilot-border:  rgba(var(--auto-pilot-txt-rgb), .10);
  --auto-pilot-dark:    #0f0d0b;

  /* Texto */
  --auto-pilot-txt:     #F4F1E8;
  --auto-pilot-txt-rgb: 244, 241, 232;
  --auto-pilot-dim:     #B5AFA3;
  --auto-pilot-muted:   #928C81;

  /* Accent — amarelo Auto-pilot. APENAS em CTAs primários, pills e ênfase. */
  --auto-pilot-acc:     #E8C61F;
  --auto-pilot-acc-2:   #F2D74A;
  --auto-pilot-acc-d:   rgba(232, 198, 31, .12);
  --auto-pilot-acc-txt: #181309;

  /* Raios */
  --r-card:   20px;
  --r-card-m: 20px;
  --r-card-s: 14px;
  --r-badge:  12px;
  --r-input:   8px;
  --r-btn:  12px;

  /* Pressed-glass shadow — exclusivo do CTA primário */
  --auto-pilot-glass:
    rgba(255,255,255,.5) 0 .5px 0 0 inset,
    rgba(117,123,133,.4) 0 9px 14px -5px inset,
    rgb(44,46,52) 0 0 0 1.5px,
    rgba(0,0,0,.14) 0 4px 6px 0;

  /* Tipografia. Bricolage Grotesque (self-hosted) é a fonte oficial de
     até o admin fazer upload em Personalizar → Identidade. Entretanto, o
     primeiro item da stack é 'Auto-pilot Custom' (família atribuída ao
     títulos. O slot 'Auto-pilot Custom' permite override por upload do
     admin; cai depois para serif do sistema. */
  --ff-head: 'Auto-pilot Custom', 'Bricolage Grotesque', Georgia, serif;
  --ff-body: 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Light theme — activado via <html data-theme="light"> ou Personalizador. */
:root[data-theme="light"] {
  --auto-pilot-bg:      #FAF1EA;
  --auto-pilot-bg-rgb:  250, 241, 234;
  --auto-pilot-surf:    #ffffff;
  --auto-pilot-raised:  #f0e8e0;
  --auto-pilot-border:  #e0d5cb;
  --auto-pilot-dark:    #312E2D;
  --auto-pilot-txt:     #312E2D;
  --auto-pilot-txt-rgb: 49, 46, 45;
  --auto-pilot-dim:     #4a4643;
  --auto-pilot-muted:   #7a7370;
  /* accent partilhado com o dark (#E8C61F); acc-txt mantém-se escuro */
}

/* =========================================================================
   Reset suave + base
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 84px; }

body {
  margin: 0;
  font-family: var(--ff-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--auto-pilot-txt);
  background: var(--auto-pilot-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg, video { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--auto-pilot-acc);
  outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ff-head);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 .4em;
}

p { margin: 0 0 1em; }

/* Skip link acessibilidade */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt, #312E2D);
  padding: 12px 16px;
  z-index: 9999;
}
.skip-link:focus { left: 12px; top: 12px; }

/* =========================================================================
   Layout — container partilhado
   ========================================================================= */
.wrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

@media (max-width: 700px) {
  .wrap { padding: 0 18px; }
}

/* =========================================================================
   Navegação principal
   ========================================================================= */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 400;
  height: 60px;
  /* No topo da página, o header fica totalmente transparente — vê-se o
     hero por trás, sem barra nem blur. Só ganha fundo (e desfoque) depois
     de scroll, via .is-scrolled (JS: nav.js, scrollY > 55).
     Páginas sem hero podem forçar o fundo sólido desde o topo através da
     meta box "Aparência do cabeçalho" (editor de página → barra lateral),
     que aplica a classe .header-solid — ver tema_auto_pilot_get_header_mode()
     em functions.php. */
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.is-scrolled,
.site-header.header-solid {
  /* Usa --auto-pilot-bg-rgb (não um rgba() fixo) para acompanhar o modo
     claro/escuro — antes disto o header ficava sempre escuro mesmo com
     data-theme="light" ativo, porque o valor estava escrito à mão a
     partir do #15120F do dark mode. */
  background: rgba(var(--auto-pilot-bg-rgb), .94);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--auto-pilot-border);
}
.site-header .wrap {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ff-head);
  letter-spacing: -0.02em;
  /* font-weight / font-size / color: definidos na camada de redesign mais
     abaixo (font-weight 600, font-size 20px, color var(--text)) — não
     duplicar aqui para não haver dois valores a competir. */
}
.brand .honu { width: 32px; height: 32px; }
.brand .brand-name {
  transition: opacity .25s ease, max-width .25s ease;
  white-space: nowrap;
  overflow: hidden;
}
.site-header.is-scrolled .brand-name {
  opacity: 0;
  max-width: 0;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}
.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 28px;
}

/* Override: links com classe `.btn` dentro do main-nav herdam a cor da
   variante (.btn-cta usa --auto-pilot-acc-txt sobre fundo amarelo,
   .btn-ghost usa --auto-pilot-txt). Duas classes (.main-nav + .btn-cta/
   .btn-ghost no próprio <a>) batem a regra `.main-nav ul a` da camada
   v3.3.0 mais abaixo, que é a única fonte de verdade para a cor base dos
   links do menu — não há aqui nenhuma outra regra `.main-nav a` a competir. */
.main-nav a.btn-cta,
.main-nav a.btn-cta:hover { color: var(--auto-pilot-acc-txt, #312E2D); }
.main-nav a.btn-ghost,
.main-nav a.btn-ghost:hover { color: var(--auto-pilot-txt); }

@media (max-width: 760px) {
  .site-header .main-nav { display: none; }
  .site-header .hb { display: inline-flex; }
}

/* =========================================================================
   WordPress Admin Bar — compensação para elementos fixos
   -------------------------------------------------------------------------
   Quando o utilizador está autenticado, o WP injecta `<body class="admin-bar">`
   e mostra a sua própria barra fixa no topo (32px desktop, 46px ≤ 782px). O
   tema Auto-pilot tem header fixo a `top:0` e outros elementos fixos
   (hb-floating do wizard, drawer lateral) que ficavam debaixo dessa barra —
   logo, parcialmente invisíveis ou cortados. O WP só compensa automaticamente
   margens do `body`; elementos fixos têm de ser tratados pelo tema.

   Solução: empurrar verticalmente cada elemento fixo no topo enquanto a
   admin bar está visível. Mantém o tema inteiramente igual para visitantes
   públicos (sem a classe `.admin-bar`).
   ========================================================================= */
.admin-bar .site-header { top: 32px; }
.admin-bar .hb-floating  { top: 52px; } /* 32 admin bar + 20 do offset original */
.admin-bar .drawer       { top: 32px; }
.admin-bar .drawer-backdrop { top: 32px; }

/* Breakpoint do WP: 782px e abaixo, a admin bar fica 46px e em scroll some
   (passa a position:absolute), mas para evitar saltos visuais durante o
   scroll vertical, compensamos como se fosse fixa. */
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .hb-floating  { top: 66px; } /* 46 + 20 */
  .admin-bar .drawer       { top: 46px; }
  .admin-bar .drawer-backdrop { top: 46px; }
}
@media (max-width: 480px) {
  .admin-bar .hb-floating { top: 62px; } /* 46 + 16 do offset mobile original */
}

/* =========================================================================
   Botões
   ========================================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  padding: 12px 22px;
  border-radius: var(--r-btn);
  border: 0;
  cursor: pointer;
  transition: transform .12s ease, opacity .15s ease;
  text-decoration: none;
}
.btn:active { transform: translateY(1px); }

.btn-cta {
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt, #312E2D);
  box-shadow: var(--auto-pilot-glass);
}
.btn-cta:hover { opacity: .94; color: var(--auto-pilot-acc-txt, #312E2D); }

.btn-ghost {
  background: transparent;
  color: var(--auto-pilot-txt);
  border: 1px solid var(--auto-pilot-border);
}
/* .btn-ghost:hover — definido na camada de redesign mais abaixo. */

/* =========================================================================
   Notificações em ciclo (bloco auto-pilot/notif-stack)
   ========================================================================= */
.notif-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}
.notif-item {
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: left;
  background: var(--auto-pilot-surf, #fff);
  border: 1px solid var(--auto-pilot-border);
  color: var(--auto-pilot-txt);
  border-radius: 16px;
  padding: 15px 20px;
  box-shadow: 0 10px 32px rgba(17, 17, 17, .07);
  font-size: 14px;
  font-weight: 600;
  max-height: 96px;
  margin-top: 14px;
  overflow: hidden;
  transition: opacity .5s ease, transform .5s ease, max-height .5s ease, margin-top .5s ease, padding .5s ease;
  animation: notif-in 1.1s cubic-bezier(.2,.8,.3,1) both;
}
@keyframes notif-in {
  from { opacity: 0; transform: translateY(20px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.notif-item.is-off {
  opacity: 0;
  transform: translateY(-16px) scale(.96);
  max-height: 0;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.notif-item-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(232, 198, 31, .12);
  font-size: 17px;
}
.notif-item-body { display: flex; flex-direction: column; }
.notif-item-body strong { font-size: 14px; color: var(--auto-pilot-txt); }
.notif-item-body small { display: block; font-weight: 500; color: var(--auto-pilot-muted); font-size: 12px; margin-top: 2px; }

/* =========================================================================
   Hero (Home com contexto)
   ========================================================================= */
.hero {
  padding: 140px 0 80px;
  background: var(--auto-pilot-bg);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero { padding: 110px 0 60px; }
}
/* .eyebrow — definido mais abaixo (ver "Camada de redesign"), que já
   cobre todas estas propriedades e acrescenta o layout flex necessário
   para o ponto/dot alinhado. Bloco antigo removido para não duplicar. */
.hero h1 {
  font-size: clamp(40px, 5.5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 22px;
}
.hero h1 .soft { font-weight: 300; color: var(--auto-pilot-dim); }
.hero .sub {
  font-size: 17px;
  color: var(--auto-pilot-dim);
  max-width: 420px;
  line-height: 1.55;
  margin-bottom: 28px;
}

/* Prova social */
.social-proof {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 36px;
}
.avatars {
  display: flex;
}
.avatars img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--auto-pilot-bg);
  margin-left: -10px;
  object-fit: cover;
}
.avatars img:first-child { margin-left: 0; }
.social-proof .count {
  font-size: 14px;
  color: var(--auto-pilot-dim);
}
.social-proof .count strong { color: var(--auto-pilot-txt); font-weight: 500; }

/* Feature pills */
.pills {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pill {
  display: flex;
  gap: 14px;
  padding: 14px 16px;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-s);
}
.pill-ico {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--auto-pilot-raised);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--auto-pilot-dim);
}
.pill-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--auto-pilot-txt);
  margin: 0 0 2px;
}
.pill-sub {
  font-size: 13px;
  color: var(--auto-pilot-muted);
  margin: 0;
}

/* =========================================================================
   Secção: Como funciona (resumo)
   ========================================================================= */
.section {
  padding: 96px 0;
}
.section h2 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 0 18px;
  max-width: 680px;
}
.section .lead {
  font-size: 17px;
  color: var(--auto-pilot-dim);
  max-width: 620px;
  margin: 0 0 56px;
}
.how-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card);
  overflow: hidden;
}
.how-item {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  padding: 28px 32px;
  align-items: start;
  border-bottom: 1px solid var(--auto-pilot-border);
}
.how-item:last-child { border-bottom: 0; }
.how-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--auto-pilot-raised);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-head);
  font-weight: 500;
  color: var(--auto-pilot-dim);
}
.how-item h3 { font-size: 18px; margin: 0 0 6px; font-weight: 500; }
.how-item p { color: var(--auto-pilot-dim); margin: 0; font-size: 15px; }

/* =========================================================================
   Painel de razões (dark)
   ========================================================================= */
.dark-panel {
  background: var(--auto-pilot-dark);
  border-radius: var(--r-card);
  padding: 64px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
}
@media (max-width: 900px) {
  .dark-panel { grid-template-columns: 1fr; padding: 40px; }
}
.dark-panel h2 { color: #fff; max-width: none; }
.dark-panel .inline-soft { font-weight: 300; color: rgba(255, 255, 255, .36); }
.dark-panel img {
  border-radius: var(--r-card-m);
  aspect-ratio: 4/3;
  object-fit: cover;
}

/* =========================================================================
   Testemunhos
   ========================================================================= */
.tcards {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 20px;
}
@media (max-width: 900px) {
  .tcards { grid-template-columns: 1fr; }
}
.tcard {
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tcard-lg {
  background: var(--auto-pilot-dark);
  border-color: var(--auto-pilot-dark);
}
.tcard blockquote {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  color: var(--auto-pilot-txt);
}
.tcard-lg blockquote { font-size: 22px; line-height: 1.45; }
.tperson { display: flex; align-items: center; gap: 12px; }
.tperson img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.tperson .tname { font-size: 14px; font-weight: 500; color: var(--auto-pilot-txt); }
.tperson .trole { font-size: 13px; color: var(--auto-pilot-muted); }

/* =========================================================================
   Faixa de estatísticas
   ========================================================================= */
.stats {
  background: var(--auto-pilot-raised);
  border-radius: var(--r-card);
  padding: 48px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
@media (max-width: 760px) {
  .stats { grid-template-columns: 1fr 1fr; gap: 28px; padding: 36px; }
}
.stat .num {
  display: block;
  font-family: var(--ff-head);
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 300;
  letter-spacing: -0.02em;
  color: var(--auto-pilot-txt);
  margin-bottom: 6px;
}
.stat .lbl {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--auto-pilot-muted);
}

/* =========================================================================
   CTA final
   ========================================================================= */
.cta-block {
  text-align: center;
  padding: 96px 0;
}
.cta-block h2 {
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(36px, 4.5vw, 56px);
}
.cta-block p {
  color: var(--auto-pilot-dim);
  font-size: 17px;
  max-width: 540px;
  margin: 0 auto 32px;
}
.cta-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* =========================================================================
   Rodapé
   ========================================================================= */
.site-footer {
  background: var(--auto-pilot-dark);
  padding: 72px 0 28px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
@media (max-width: 760px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
.footer-grid h4 {
  font-family: var(--ff-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--auto-pilot-muted);
  margin: 0 0 16px;
}
.footer-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-grid li { margin-bottom: 10px; }
.footer-grid a { font-size: 14px; color: var(--auto-pilot-dim); }
.footer-grid a:hover { color: var(--auto-pilot-txt); }
.footer-tagline {
  font-size: 14px;
  color: var(--auto-pilot-muted);
  max-width: 280px;
  margin-top: 14px;
}
.footer-bottom {
  border-top: 1px solid var(--auto-pilot-border);
  padding-top: 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: var(--auto-pilot-muted);
}

/* =========================================================================
   FAQ (Como funciona)
   ========================================================================= */
.faq-list { display: flex; flex-direction: column; gap: 12px; }
.faq-item {
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-s);
  overflow: hidden;
}
.faq-q {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  color: var(--auto-pilot-txt);
  font-family: var(--ff-body);
  font-size: 16px;
  font-weight: 500;
  padding: 22px 28px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.faq-q .ico {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  transition: transform .25s ease;
}
.faq-item.is-open .faq-q .ico { transform: rotate(45deg); }
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
  color: var(--auto-pilot-dim);
  font-size: 15px;
  line-height: 1.55;
}
.faq-a > div { padding: 0 28px 22px; }
.faq-item.is-open .faq-a { max-height: 400px; }

/* =========================================================================
   Hero da página Como funciona — passos
   ========================================================================= */
.steps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 760px) { .steps-grid { grid-template-columns: 1fr; } }
.step-card {
  position: relative;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 36px;
  overflow: hidden;
}
.step-card .big-num {
  position: absolute;
  top: 12px;
  right: 20px;
  font-family: var(--ff-head);
  font-size: 140px;
  font-weight: 700;
  color: var(--auto-pilot-acc);
  opacity: 0.08;
  line-height: 1;
  pointer-events: none;
}
.step-card h3 { font-size: 20px; font-weight: 500; margin: 0 0 12px; position: relative; }
.step-card p { color: var(--auto-pilot-dim); font-size: 15px; margin: 0; position: relative; }

/* =========================================================================
   Preços
   ========================================================================= */
.price-toggle {
  display: inline-flex;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-btn);
  padding: 4px;
  margin-top: 24px;
}
.price-toggle button {
  background: transparent;
  border: 0;
  color: var(--auto-pilot-dim);
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: var(--r-btn);
  cursor: pointer;
}
.price-toggle button.is-active {
  background: var(--auto-pilot-raised);
  color: var(--auto-pilot-txt);
}

.plans {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
@media (max-width: 900px) { .plans { grid-template-columns: 1fr; } }
/* .plan — definido na camada de redesign mais abaixo (padding 26px,
   border-radius 18px, via --card/--line). Bloco antigo removido. */
.plan.feat {
  background: var(--auto-pilot-raised);
  border-color: var(--auto-pilot-raised);
}
.plan-tag {
  display: inline-block;
  background: var(--auto-pilot-raised);
  color: var(--auto-pilot-dim);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: var(--r-badge);
  margin-bottom: 16px;
  align-self: flex-start;
}
.plan.feat .plan-tag { background: var(--auto-pilot-surf); }
.plan h3 { font-size: 22px; font-weight: 500; margin: 0 0 8px; }
.plan .desc { color: var(--auto-pilot-muted); font-size: 14px; margin-bottom: 24px; }
.plan .price {
  font-family: var(--ff-head);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.02em;
  color: var(--auto-pilot-txt);
  line-height: 1;
}
.plan .price .per { font-size: 14px; color: var(--auto-pilot-muted); margin-left: 6px; }
.plan ul {
  list-style: none;
  margin: 24px 0 32px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.plan li {
  font-size: 14px;
  color: var(--auto-pilot-dim);
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.plan li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--auto-pilot-muted);
  margin-top: 8px;
  flex: 0 0 6px;
}
.plan .btn { margin-top: auto; }

/* Como funciona — passos numerados (bloco auto-pilot/how-it-works) */
.how-it-works { max-width: 640px; margin: 0 auto; }
.how-it-works-item {
  display: flex;
  gap: 32px;
  padding-bottom: 64px;
  border-left: 2px solid var(--auto-pilot-border);
  margin-left: 27px;
  padding-left: 40px;
  position: relative;
}
.how-it-works-item:last-child { padding-bottom: 0; border-color: transparent; }
.how-it-works-num {
  position: absolute;
  left: -29px;
  top: -2px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--auto-pilot-surf);
  border: 2px solid var(--auto-pilot-acc);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: 18px;
  color: var(--auto-pilot-txt);
  flex-shrink: 0;
}
.how-it-works-body { padding-top: 6px; }
.how-it-works-body h3 {
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: 24px;
  margin: 0 0 8px;
  color: var(--auto-pilot-txt);
}
.how-it-works-body p {
  color: var(--auto-pilot-muted);
  font-size: 16px;
  line-height: 1.7;
  max-width: 460px;
  margin: 0;
}
.how-it-works-shot {
  margin-top: 20px;
  border-radius: var(--r-card-m);
  overflow: hidden;
  border: 1px solid var(--auto-pilot-border);
  max-width: 420px;
}
.how-it-works-shot img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) {
  .how-it-works-item { margin-left: 14px; padding-left: 28px; gap: 0; padding-bottom: 48px; }
  .how-it-works-num { width: 44px; height: 44px; font-size: 15px; left: -23px; }
  .how-it-works-body h3 { font-size: 20px; }
  .how-it-works-body p { font-size: 15px; }
}

/* Painel ROI */
.roi-panel {
  background: var(--auto-pilot-dark);
  border-radius: var(--r-card);
  padding: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 900px) { .roi-panel { grid-template-columns: 1fr; padding: 36px; } }
.roi-bar { margin-bottom: 22px; }
.roi-bar .lbl {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: var(--auto-pilot-dim);
  margin-bottom: 8px;
}
.roi-bar .lbl strong { color: var(--auto-pilot-txt); font-weight: 500; }
.roi-bar .track {
  height: 6px;
  background: var(--auto-pilot-raised);
  border-radius: 999px;
  overflow: hidden;
}
.roi-bar .fill {
  height: 100%;
  background: var(--auto-pilot-dim);
  border-radius: 999px;
}

/* =========================================================================
   Sobre — hero full-bleed
   ========================================================================= */
.bleed-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 21/8;
  overflow: hidden;
  margin-top: 60px;
}
.bleed-hero img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(.38);
}
.bleed-hero-inner {
  position: absolute;
  inset: auto 0 40px 0;
  padding: 0 24px;
}
.bleed-hero-inner .wrap { display: flex; flex-direction: column; }
.bleed-hero h1 { font-size: clamp(40px, 6vw, 72px); margin: 0 0 16px; color: #fff; }
.bleed-hero .sub { color: rgba(255,255,255,.85); font-size: 17px; max-width: 540px; margin-bottom: 24px; }

.pillars { display: flex; flex-direction: column; }
.pillar {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 32px;
  padding: 28px 0;
  border-bottom: 1px solid var(--auto-pilot-border);
}
.pillar:last-child { border-bottom: 0; }
@media (max-width: 600px) { .pillar { grid-template-columns: 1fr; gap: 8px; } }
.pillar .eyebrow { margin: 0; }
.pillar h3 { font-size: 22px; font-weight: 500; margin: 0 0 8px; }
.pillar p { color: var(--auto-pilot-dim); margin: 0; font-size: 15px; line-height: 1.6; }

.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 760px) { .team-grid { grid-template-columns: 1fr; } }
.team-card {
  background: var(--auto-pilot-surf);
  border-radius: var(--r-card-m);
  overflow: hidden;
}
.team-card .photo {
  aspect-ratio: 1;
  overflow: hidden;
}
.team-card .photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(.88);
  transition: transform .35s ease, filter .35s ease;
}
.team-card:hover .photo img { transform: scale(1.05); filter: brightness(1); }
.team-card .info { padding: 22px 24px; }
.team-card .name { font-size: 16px; font-weight: 500; color: var(--auto-pilot-txt); margin: 0 0 4px; }
.team-card .role { font-size: 13px; color: var(--auto-pilot-muted); margin: 0; }

/* =========================================================================
   Brevemente — captura de email
   ========================================================================= */
.coming-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 21/9;
  overflow: hidden;
  margin-top: 60px;
}
.coming-hero img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(.4);
}
.coming-hero-inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 24px;
}
.coming-hero h1 { color: #fff; font-size: clamp(40px, 6vw, 72px); margin-bottom: 16px; }
.coming-hero .sub { color: rgba(255,255,255,.85); font-size: 17px; max-width: 540px; margin: 0 auto 32px; }
.kicker {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--auto-pilot-acc);
  margin-bottom: 18px;
}

.email-form {
  display: flex;
  gap: 8px;
  max-width: 480px;
  margin: 0 auto 12px;
}
.email-form input {
  flex: 1;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  padding: 14px 18px;
  border-radius: var(--r-btn);
  font-family: var(--ff-body);
  font-size: 14px;
}
.email-form input::placeholder { color: rgba(255,255,255,.5); }
.privacy-note { font-size: 12px; color: rgba(255,255,255,.55); }

/* Tiles de métricas */
.tiles {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
@media (max-width: 760px) { .tiles { grid-template-columns: 1fr; } }
.tiles .tile {
  background: var(--auto-pilot-surf);
  border-radius: var(--r-card-m);
  padding: 32px;
}
.tiles .tile.dark { background: var(--auto-pilot-dark); }
.tiles .tile .num { font-family: var(--ff-head); font-size: 44px; font-weight: 300; letter-spacing: -0.02em; }
.tiles .tile .lbl { font-size: 13px; color: var(--auto-pilot-muted); margin-top: 4px; }

/* Formulário de contacto */
.contact-form {
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.contact-form label {
  font-size: 13px;
  color: var(--auto-pilot-muted);
  margin-bottom: 6px;
  display: block;
}
.contact-form input, .contact-form textarea, .contact-form select {
  width: 100%;
  background: var(--auto-pilot-raised);
  border: 1px solid var(--auto-pilot-border);
  color: var(--auto-pilot-txt);
  font-family: var(--ff-body);
  font-size: 14px;
  padding: 12px 14px;
  border-radius: var(--r-input);
}
.contact-form textarea { min-height: 140px; resize: vertical; }
.contact-form .field-row { display: flex; flex-direction: column; }
.contact-form .form-feedback {
  padding: 12px 14px;
  border-radius: var(--r-input);
  font-size: 14px;
}
.contact-form .form-feedback.ok { background: rgba(107,78,255,.12); color: var(--auto-pilot-txt); }
.contact-form .form-feedback.err { background: rgba(255,80,80,.12); color: #ffb4b4; }

/* =========================================================================
   Wizard puro (page-wizard.php)
   ========================================================================= */
.wizard-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--auto-pilot-bg);
  position: relative;
}
.wizard-page .stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.wizard-page .stage > .auto-pilot-wizard-wrap {
  flex: 1;
}
/* Hamburger flutuante no canto top-right do wizard. */
.hb-floating {
  position: fixed;
  top: 20px;
  right: 24px;
  z-index: 50;
}
@media (max-width: 480px) {
  .hb-floating { top: 16px; right: 16px; }
}

/* Esconder o hambúrguer flutuante quando a página do wizard está activa —
   o bloco auto-pilot/wizard renderiza um hambúrguer integrado no seu próprio
   nav, que clica programaticamente no #hbToggle. O elemento fica no DOM (não
   é removido) para o handler do drawer continuar a funcionar. */
body.wizard-page-body .hb-floating {
  visibility: hidden;
  pointer-events: none;
}

/* Hambúrguer + drawer */
.hb {
  background: transparent;
  border: 0;
  color: var(--auto-pilot-txt);
  cursor: pointer;
  padding: 10px;
  display: none;
  flex-direction: column;
  gap: 5px;
}
.hb span {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}
.hb.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hb.is-open span:nth-child(2) { opacity: 0; }
.hb.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 900;
}
.drawer-backdrop.is-open { opacity: 1; pointer-events: auto; }
.drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(420px, 100%);
  background: var(--auto-pilot-surf);
  border-left: 1px solid var(--auto-pilot-border);
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 901;
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.drawer.is-open { transform: translateX(0); }
.drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.drawer nav ul { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 4px; }
.drawer nav a {
  display: block;
  font-size: 18px;
  font-weight: 500;
  color: var(--auto-pilot-txt);
  padding: 12px 0;
}
.drawer .btn { align-self: flex-start; }

/* =========================================================================
   WooCommerce — minha conta + checkout (overrides)
   ========================================================================= */
.auto-pilot-account {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 96px 0;
}
@media (max-width: 760px) { .auto-pilot-account { grid-template-columns: 1fr; } }
.auto-pilot-account .sidebar {
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 20px;
}
.auto-pilot-account .sidebar ul { list-style: none; margin: 0; padding: 0; }
.auto-pilot-account .sidebar a {
  display: block;
  padding: 10px 14px;
  font-size: 14px;
  color: var(--auto-pilot-dim);
  border-radius: var(--r-input);
}
.auto-pilot-account .sidebar a:hover,
.auto-pilot-account .sidebar .is-active a {
  background: var(--auto-pilot-raised);
  color: var(--auto-pilot-txt);
}
.auto-pilot-account .main {
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card);
  padding: 36px;
}

/* WooCommerce checkout overrides minimais */
.woocommerce-checkout #payment, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border-radius: var(--r-input);
}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt, #312E2D);
  border-radius: var(--r-btn);
  box-shadow: var(--auto-pilot-glass);
  padding: 14px 24px;
}

/* =========================================================================
   Case Studies (auto-pilot/case-studies — alimentado por MA Media → Resultados)
   ========================================================================= */
.cs-header {
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
}
.cs-header .s-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--auto-pilot-acc);
  margin-bottom: 14px;
}
.cs-title {
  font-family: var(--ff-head);
  font-size: clamp(26px, 3.4vw, 38px);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0 0 10px;
  color: var(--auto-pilot-txt);
}
.cs-lead {
  font-size: 15px;
  color: var(--auto-pilot-muted);
  margin: 0;
  line-height: 1.6;
}

.case-studies {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .case-studies { grid-template-columns: 1fr; }
}

.cscard {
  position: relative;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}
.cscard-num {
  font-family: var(--ff-head);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: var(--auto-pilot-acc);
}
.cscard-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--auto-pilot-dim);
  letter-spacing: -.005em;
}
.cscard-desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--auto-pilot-muted);
}
.cscard .cs-chart {
  width: 100%;
  height: 48px;
  display: block;
  margin-top: 6px;
}
.cscard-meta {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--auto-pilot-border);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: var(--auto-pilot-muted);
}
.cscard-dates {
  font-weight: 600;
  letter-spacing: .01em;
}
.cscard-cats {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cscard-cat {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--r-badge);
  background: var(--auto-pilot-acc-d);
  color: var(--auto-pilot-acc);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
}

/* =========================================================================
   MA Media Blocks · Legal Notices — override visual Auto-pilot
   -------------------------------------------------------------------------
   O bloco `mamedia/legal-notices` do plugin `mamedia-blocks` injecta um
   markup BEM com namespace `.mamedia-legal-notices*` e estilos próprios
   que usam tokens MA Media (dourado `#b8a07a`, tipografia Horizon Bold,
   variáveis `--mm-gold`, `--text`, `--text-2`, `--text-3`, `--surface`,
   `--border`, etc.). Tudo isso é proibido em Auto-pilot (SOP §13.4).

   Estratégia: o tema NÃO mexe no plugin. Toda a re-estilização é feita
   por overrides cirúrgicos contra os selectores reais do plugin. Quando
   o markup do plugin tem inline `style=""` ou cores hardcoded, usamos
   `!important` — só nesses casos. Sem `!important` onde a especificidade
   nativa basta. Wrapper único: `.mamedia-legal-notices` (sem `__`).

   Cobre: header com título + eyebrow, tabs (pill amarelo activo),
   sidebar (quando presente), corpo com painéis em cross-fade, prose com
   <strong> branco (não dourado), tabelas, toggles de cookies, notice
   boxes, save button. Versão dos documentos em pill amarelo discreto.

   Compatível com `mamedia-blocks` v1.9.7 e posteriores que mantenham
   este BEM. Se o plugin mudar para outro markup, ajustar selectores
   aqui — não no plugin.

   Tokens Auto-pilot usados:
   --auto-pilot-bg / -surf / -raised / -border / -dark / -txt / -dim /
   -muted / -acc / -acc-d / -acc-txt / --ff-head / --ff-body /
   --r-card-m / --r-badge / --r-btn
   ========================================================================= */

/* Wrapper — re-define os tokens MA Media (text/surface/border/gold) para
   apontarem aos tokens Auto-pilot. Isto faz com que qualquer regra do
   plugin que use `var(--mm-gold)`, `var(--text)`, etc. passe a ler o
   nosso valor — uma forma elegante de "interceptar" sem reescrever cada
   regra. As que ainda assim falham (cores hardcoded, valores literais)
   são sobrepostas explicitamente abaixo. */
.mamedia-legal-notices {
  /* Cores: redirigir as variáveis do plugin para tokens Auto-pilot */
  --mm-gold:   var(--auto-pilot-acc);
  --text:      var(--auto-pilot-txt);
  --text-2:    var(--auto-pilot-dim);
  --text-3:    var(--auto-pilot-muted);
  --bg:        var(--auto-pilot-bg);
  --surface:   var(--auto-pilot-surf);
  --surface-2: var(--auto-pilot-raised);
  --border:    var(--auto-pilot-border);
  --border-2:  var(--auto-pilot-border);
  --r-lg:      var(--r-card-m);

  /* Família tipográfica: o plugin lê `--font-heading` / `--fh`. */
  --font-heading: var(--ff-head);
  --fh:           var(--ff-head);

  /* Fundo do wrapper alinhado com o body Auto-pilot */
  background: transparent;
  color: var(--auto-pilot-txt);
  font-family: var(--ff-body);
}

/* ── HEADER ───────────────────────────────────────────────────────────── */
/* O tema Auto-pilot tem header fixo de 60px (`.site-header { position: fixed; height: 60px }`)
   e o `page.php` compensa com `padding-top: 60px`. Mas isso só liberta espaço para
   que o conteúdo não fique POR BAIXO do header — não dá respiração visual. O bloco
   precisa do seu próprio buffer no topo para o título não colar ao header. 96px no
   desktop replica o ar generoso da homepage (entre header e hero). */
.mamedia-legal-notices .mamedia-legal-notices__header {
  background: transparent;
  border-bottom: 0;
  padding: 96px 0 0;
}
.mamedia-legal-notices .mamedia-legal-notices__header-inner {
  max-width: 1140px;
  padding: 0 24px;
}
.mamedia-legal-notices .mamedia-legal-notices__page-title {
  font-family: var(--ff-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 300;
  letter-spacing: -.025em;
  line-height: 1.06;
  color: var(--auto-pilot-txt);
  margin: 0 0 24px;
}
/* O `<strong>` no título não é dourado — mantém a mesma cor mas peso */
.mamedia-legal-notices .mamedia-legal-notices__page-title strong {
  color: var(--auto-pilot-txt);
  font-weight: 600;
}

/* ── TABS (pills com transição suave) ─────────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__tabs {
  gap: 6px;
  margin-top: 8px;
  margin-bottom: 4px;
  border-bottom: 0;
}
.mamedia-legal-notices .mamedia-legal-notices__tab {
  padding: 8px 18px;
  border-radius: var(--r-btn);
  border: 1.5px solid var(--auto-pilot-border);
  background: transparent;
  color: var(--auto-pilot-muted);
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.005em;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .15s ease;
}
.mamedia-legal-notices .mamedia-legal-notices__tab:hover:not(.is-active) {
  color: var(--auto-pilot-txt);
  border-color: var(--auto-pilot-dim);
}
.mamedia-legal-notices .mamedia-legal-notices__tab.is-active {
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt);
  border-color: var(--auto-pilot-acc);
  font-weight: 700;
}
.mamedia-legal-notices .mamedia-legal-notices__tab:active {
  transform: translateY(1px);
}

/* ── BODY ─────────────────────────────────────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__body {
  max-width: 1140px;
  padding: 0 24px 80px;
}
.mamedia-legal-notices .mamedia-legal-notices__body.has-sidebar {
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 16px 24px 80px;
}

/* ── SIDEBAR ──────────────────────────────────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__sidebar {
  padding: 32px 0;
  border-right: 1px solid var(--auto-pilot-border);
}
.mamedia-legal-notices .mamedia-legal-notices__sidebar-title {
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--auto-pilot-acc);
  margin-bottom: 14px;
  padding: 0 12px;
}
.mamedia-legal-notices .mamedia-legal-notices__nav-link {
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--auto-pilot-muted);
  border-radius: var(--r-badge);
  border-left: 2px solid transparent;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.mamedia-legal-notices .mamedia-legal-notices__nav-link:hover {
  background: var(--auto-pilot-surf);
  color: var(--auto-pilot-txt);
}
.mamedia-legal-notices .mamedia-legal-notices__nav-link.is-active {
  color: var(--auto-pilot-acc);
  background: var(--auto-pilot-acc-d);
  border-left-color: var(--auto-pilot-acc);
  font-weight: 600;
}

/* ── CONTENT ──────────────────────────────────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__content {
  padding: 32px 0 80px;
}
.mamedia-legal-notices__body:not(.has-sidebar) .mamedia-legal-notices__content {
  padding-left: 0;
  padding-right: 0;
}

/* Painel — cross-fade suave entre tabs (vai precisar de
   uma cooperação JS pequena no body para libertar `display:none` antes
   da animação; mas mesmo sem ela, o opacity dá um snap suave). */
.mamedia-legal-notices .mamedia-legal-notices__panel {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .3s ease, transform .3s ease;
}
.mamedia-legal-notices .mamedia-legal-notices__panel.is-active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

/* Cabeça do painel (versão + título do documento) */
.mamedia-legal-notices .mamedia-legal-notices__panel-head {
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--auto-pilot-border);
}
.mamedia-legal-notices .mamedia-legal-notices__version {
  display: inline-block;
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--auto-pilot-acc);
  padding: 4px 10px;
  background: var(--auto-pilot-acc-d);
  border-radius: var(--r-badge);
  margin-bottom: 12px;
}
.mamedia-legal-notices .mamedia-legal-notices__panel-title {
  font-family: var(--ff-head);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 300;
  letter-spacing: -.02em;
  color: var(--auto-pilot-txt);
  margin: 0;
}

/* ── PROSE (corpo dos documentos legais) ──────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__prose {
  font-family: var(--ff-body);
}
.mamedia-legal-notices .mamedia-legal-notices__prose h3 {
  font-family: var(--ff-head);
  font-size: 18px;
  font-weight: 600;
  color: var(--auto-pilot-txt);
  margin: 28px 0 10px;
  padding-top: 16px;
  border-top: 1px solid var(--auto-pilot-border);
}
.mamedia-legal-notices .mamedia-legal-notices__prose h3:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
.mamedia-legal-notices .mamedia-legal-notices__prose p {
  font-size: 14px;
  color: var(--auto-pilot-dim);
  line-height: 1.8;
  margin: 0 0 14px;
}
.mamedia-legal-notices .mamedia-legal-notices__prose a {
  color: var(--auto-pilot-acc);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.mamedia-legal-notices .mamedia-legal-notices__prose a:hover {
  text-decoration-thickness: 2px;
}
/* `<strong>` dentro da prose: branco (não dourado). Esta é a regra mais
   importante deste override — é onde o dourado MA Media mais aparece. */
.mamedia-legal-notices .mamedia-legal-notices__prose strong,
.mamedia-legal-notices .mamedia-legal-notices__prose b {
  color: var(--auto-pilot-txt);
  font-weight: 600;
}
.mamedia-legal-notices .mamedia-legal-notices__prose ul,
.mamedia-legal-notices .mamedia-legal-notices__prose ol {
  padding-left: 22px;
  margin: 8px 0 14px;
  color: var(--auto-pilot-dim);
  font-size: 14px;
  line-height: 1.8;
}
.mamedia-legal-notices .mamedia-legal-notices__prose li {
  margin-bottom: 6px;
}
.mamedia-legal-notices .mamedia-legal-notices__prose li::marker {
  color: var(--auto-pilot-acc);
}

/* Notice boxes (avisos destacados) */
.mamedia-legal-notices .mamedia-legal-notices__notice {
  background: var(--auto-pilot-acc-d);
  border-left: 3px solid var(--auto-pilot-acc);
  border-radius: 0 var(--r-card-m) var(--r-card-m) 0;
  padding: 16px 20px;
  margin-bottom: 24px;
  font-size: 14px;
  color: var(--auto-pilot-txt);
  line-height: 1.7;
}

/* ── COOKIE TOGGLES ───────────────────────────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__cookie-row {
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  transition: border-color .2s ease;
}
.mamedia-legal-notices .mamedia-legal-notices__cookie-row:hover:not(.mamedia-legal-notices__cookie-row--required) {
  border-color: var(--auto-pilot-dim);
}
.mamedia-legal-notices .mamedia-legal-notices__cookie-name {
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--auto-pilot-txt);
}
.mamedia-legal-notices .mamedia-legal-notices__cookie-desc {
  font-family: var(--ff-body);
  font-size: 12px;
  color: var(--auto-pilot-muted);
}
.mamedia-legal-notices .mamedia-legal-notices__toggle {
  background: var(--auto-pilot-border);
  transition: background-color .2s ease;
}
.mamedia-legal-notices .mamedia-legal-notices__toggle--on {
  background: var(--auto-pilot-acc);
}
.mamedia-legal-notices .mamedia-legal-notices__toggle-knob {
  background: #fff;
}
.mamedia-legal-notices .mamedia-legal-notices__save-cookies {
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt);
  border: 0;
  border-radius: var(--r-btn);
  padding: 10px 22px;
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  box-shadow: var(--auto-pilot-glass);
  transition: opacity .2s ease, transform .15s ease;
}
.mamedia-legal-notices .mamedia-legal-notices__save-cookies:hover {
  opacity: .9;
}
.mamedia-legal-notices .mamedia-legal-notices__save-cookies:active {
  transform: translateY(1px);
}

/* ── TABELAS ──────────────────────────────────────────────────────────── */
.mamedia-legal-notices .mamedia-legal-notices__table {
  font-family: var(--ff-body);
  font-size: 13px;
}
.mamedia-legal-notices .mamedia-legal-notices__table th {
  background: var(--auto-pilot-surf);
  color: var(--auto-pilot-txt);
  border: 1px solid var(--auto-pilot-border);
  font-weight: 600;
}
.mamedia-legal-notices .mamedia-legal-notices__table td {
  color: var(--auto-pilot-dim);
  border: 1px solid var(--auto-pilot-border);
}
.mamedia-legal-notices .mamedia-legal-notices__table tr:hover td {
  background: var(--auto-pilot-surf);
}
.mamedia-legal-notices .mamedia-legal-notices__table code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: var(--auto-pilot-acc);
  background: var(--auto-pilot-acc-d);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

/* ── MOBILE ───────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .mamedia-legal-notices .mamedia-legal-notices__body.has-sidebar {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .mamedia-legal-notices .mamedia-legal-notices__sidebar {
    display: none;
  }
  .mamedia-legal-notices .mamedia-legal-notices__header {
    padding: 64px 0 0;
  }
  .mamedia-legal-notices .mamedia-legal-notices__content {
    padding: 24px 0 64px;
  }
  .mamedia-legal-notices .mamedia-legal-notices__tab {
    font-size: 12px;
    padding: 7px 14px;
  }
}

/* =========================================================================
   Section Title (auto-pilot/section-title)
   -------------------------------------------------------------------------
   Título standalone para abrir secções, fora dos hero/cta-final.
   Anatomia: eyebrow (label ou pill) + título com duas partes (peso 300
   + peso 700, ambas brancas) + subtítulo. Suporta H1-H4 e três
   alinhamentos. A parte enfatizada NÃO é amarela — paleta SOP §13.4.
   ========================================================================= */
.sec-title { max-width: 780px; }
.sec-title--align-left   { margin-left: 0;    margin-right: auto; text-align: left; }
.sec-title--align-center { margin-left: auto; margin-right: auto; text-align: center; }
.sec-title--align-right  { margin-left: auto; margin-right: 0;    text-align: right; }

.sec-title__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--auto-pilot-muted);
  margin-bottom: 14px;
}
.sec-title__eyebrow--pill {
  padding: 6px 12px 6px 10px;
  border-radius: var(--r-badge);
  border: 1px solid var(--auto-pilot-border);
  background: var(--auto-pilot-surf);
  color: var(--auto-pilot-dim);
  text-transform: none;
  letter-spacing: .04em;
  font-weight: 600;
  font-size: 12px;
}
.sec-title__eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--auto-pilot-acc);
  display: inline-block;
}

.sec-title__heading {
  font-family: var(--ff-head);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.06;
  letter-spacing: -.025em;
  margin: 0 0 14px;
  color: var(--auto-pilot-txt);
}
.sec-title__t1 { font-weight: 300; }
.sec-title__t2 { font-weight: 700; }

.sec-title__subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: var(--auto-pilot-muted);
  max-width: 640px;
}
.sec-title--align-center .sec-title__subtitle { margin-left: auto; margin-right: auto; }
.sec-title--align-right  .sec-title__subtitle { margin-left: auto; margin-right: 0; }

/* =========================================================================
   Countdown (auto-pilot/countdown)
   -------------------------------------------------------------------------
   Contagem decrescente com badge opcional, título, grelha de 4 unidades,
   separadores tipográficos entre unidades, mensagem de expirado e CTA
   opcional. JS em assets/js/countdown.js faz o tick.
   ========================================================================= */
.cd {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  padding: 28px 24px;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
}

.cd__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px 5px 10px;
  border-radius: var(--r-badge);
  background: var(--auto-pilot-acc-d);
  color: var(--auto-pilot-acc);
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.cd__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--auto-pilot-acc);
  animation: cd-pulse 1.5s ease-in-out infinite;
}
@keyframes cd-pulse {
  0%, 100% { opacity: 1;    transform: scale(1);   }
  50%      { opacity: .35;  transform: scale(.78); }
}

.cd__title {
  font-family: var(--ff-head);
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--auto-pilot-txt);
  margin: 0 0 22px;
}

.cd__units {
  display: inline-flex;
  align-items: flex-end;
  gap: 6px;
  margin: 0 auto;
}
.cd__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 72px;
}
.cd__num {
  font-family: var(--ff-head);
  font-size: clamp(36px, 6vw, 56px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--auto-pilot-txt);
  font-variant-numeric: tabular-nums;
}
.cd__label {
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--auto-pilot-muted);
  margin-top: 6px;
}
.cd__sep {
  font-family: var(--ff-head);
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 300;
  color: var(--auto-pilot-dim);
  line-height: 1;
  padding: 0 2px 14px;
  user-select: none;
}

.cd__expired {
  font-size: 16px;
  color: var(--auto-pilot-muted);
  margin: 8px 0 0;
}

.cd__cta {
  margin-top: 22px;
}

@media (max-width: 600px) {
  .cd__unit { min-width: 56px; }
  .cd__sep { padding: 0 0 12px; }
}

/* =========================================================================
   Client Logos (auto-pilot/client-logos)
   -------------------------------------------------------------------------
   Faixa de logos. Dois modos: estático (grelha responsiva com wrap) e
   marquee (animação CSS de translateX 0 → -50% com clone aria-hidden).
   Por defeito monocromático com hover restaurando cor.
   ========================================================================= */
.cl-logos__section { padding-top: 56px; padding-bottom: 56px; }

.cl-logos__label {
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--auto-pilot-muted);
  text-align: center;
  margin-bottom: 28px;
}

/* Estático — grelha com wrap */
.cl-logos__row--static {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px 56px;
}

/* Marquee — track horizontal animada */
.cl-logos--marquee {
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right,
    transparent 0,
    #000 64px,
    #000 calc(100% - 64px),
    transparent 100%);
  -webkit-mask-image: linear-gradient(to right,
    transparent 0,
    #000 64px,
    #000 calc(100% - 64px),
    transparent 100%);
}
.cl-logos--marquee .cl-logos__track {
  display: flex;
  width: max-content;
  animation: cl-scroll var(--cl-marquee-speed, 28s) linear infinite;
}
.cl-logos--marquee .cl-logos__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 56px;
  padding-right: 56px;
  flex-shrink: 0;
}
@keyframes cl-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .cl-logos--marquee .cl-logos__track { animation: none; }
}

.cl-logos__item {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cl-logos__item img {
  display: block;
  height: 28px;
  width: auto;
  max-width: 160px;
  transition: opacity .25s ease, filter .25s ease;
}
.cl-logos__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Monocromático com hover restaurando cor */
.cl-logos--mono .cl-logos__item img {
  filter: grayscale(100%) brightness(1.6);
  opacity: .55;
}
.cl-logos--mono .cl-logos__item:hover img,
.cl-logos--mono .cl-logos__link:hover img {
  filter: none;
  opacity: 1;
}

@media (max-width: 700px) {
  .cl-logos__row--static { gap: 24px 36px; }
  .cl-logos__item img    { height: 22px; max-width: 120px; }
  .cl-logos--marquee .cl-logos__row { gap: 36px; padding-right: 36px; }
}

/* =========================================================================
   Pricing Selector (auto-pilot/pricing-selector)
   -------------------------------------------------------------------------
   Seletor interactivo com dois sliders discretos (publicações + canais)
   e card de resultado dinâmico. Layout em duas colunas no desktop
   (controles à esquerda, resultado à direita); empilha em mobile.
   ========================================================================= */
.ps-section { padding-top: 64px; padding-bottom: 64px; }
.ps-head    { margin-bottom: 32px; }
.ps-title   { font-size: clamp(28px, 4vw, 44px); font-weight: 300; letter-spacing: -.025em; line-height: 1.06; margin: 8px 0 12px; }
.ps-lead    { color: var(--auto-pilot-muted); max-width: 640px; margin: 0 auto; }

.ps { width: 100%; }
.ps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 800px) {
  .ps-grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ── Controles (esquerda) ─────────────────────────────────────────────── */
.ps-controls {
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 28px;
}

/* Toggle Mensal / Anual */
.ps-cycle {
  display: inline-flex;
  background: var(--auto-pilot-raised);
  border-radius: var(--r-btn);
  padding: 4px;
  margin-bottom: 28px;
}
.ps-cycle button {
  background: transparent;
  color: var(--auto-pilot-muted);
  border: 0;
  padding: 8px 16px;
  font-family: var(--ff-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -.005em;
  cursor: pointer;
  border-radius: calc(var(--r-btn) - 4px);
  transition: background-color .2s ease, color .2s ease;
}
.ps-cycle button:hover { color: var(--auto-pilot-txt); }
.ps-cycle button.is-active {
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt);
  font-weight: 700;
}

/* Sliders */
.ps-slider { margin-bottom: 28px; }
.ps-slider:last-child { margin-bottom: 0; }
.ps-slider__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
}
.ps-slider__label {
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--auto-pilot-muted);
}
.ps-slider__value {
  font-family: var(--ff-head);
  font-size: 18px;
  font-weight: 600;
  color: var(--auto-pilot-txt);
  letter-spacing: -.01em;
}
.ps-slider__input {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--auto-pilot-border);
  outline: none;
  cursor: pointer;
  transition: background-color .2s ease;
}
.ps-slider__input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--auto-pilot-acc);
  border: 3px solid var(--auto-pilot-surf);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  cursor: pointer;
  transition: transform .15s ease;
}
.ps-slider__input::-webkit-slider-thumb:hover { transform: scale(1.1); }
.ps-slider__input::-webkit-slider-thumb:active { transform: scale(1.18); }
.ps-slider__input::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--auto-pilot-acc);
  border: 3px solid var(--auto-pilot-surf);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  cursor: pointer;
  transition: transform .15s ease;
}
.ps-slider__input::-moz-range-thumb:hover { transform: scale(1.1); }
.ps-slider__input:focus-visible {
  outline: 2px solid var(--auto-pilot-acc);
  outline-offset: 4px;
}
.ps-slider__ticks {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  padding: 0 2px;
}
.ps-slider__tick {
  font-family: var(--ff-body);
  font-size: 11px;
  color: var(--auto-pilot-muted);
  font-variant-numeric: tabular-nums;
}

/* ── Resultado (direita) ──────────────────────────────────────────────── */
.ps-result { min-height: 100%; }
.ps-card {
  background: var(--auto-pilot-raised);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 32px 28px;
  position: relative;
  transition: border-color .25s ease, background-color .25s ease;
}
.ps-card.is-feat {
  border-color: var(--auto-pilot-acc);
  background: linear-gradient(180deg, var(--auto-pilot-raised) 0%, color-mix(in srgb, var(--auto-pilot-acc) 5%, var(--auto-pilot-raised)) 100%);
}
.ps-card.is-empty .ps-card__price,
.ps-card.is-empty .ps-card__feats,
.ps-card.is-empty .ps-card__cta { display: none; }

.ps-card__badge {
  position: absolute;
  top: -12px;
  left: 28px;
  background: var(--auto-pilot-acc);
  color: var(--auto-pilot-acc-txt);
  font-family: var(--ff-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--r-badge);
}

.ps-card__name {
  font-family: var(--ff-head);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--auto-pilot-txt);
  margin: 0 0 6px;
}
.ps-card__desc {
  font-size: 14px;
  color: var(--auto-pilot-muted);
  line-height: 1.55;
  margin: 0 0 22px;
}

.ps-card__price {
  font-family: var(--ff-head);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -.04em;
  color: var(--auto-pilot-txt);
  line-height: 1;
  margin-bottom: 22px;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.ps-card__per {
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--auto-pilot-muted);
  letter-spacing: 0;
}

.ps-card__feats {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.ps-card__feats li {
  font-size: 14px;
  color: var(--auto-pilot-dim);
  padding: 8px 0;
  border-bottom: 1px solid var(--auto-pilot-border);
  position: relative;
  padding-left: 22px;
}
.ps-card__feats li:last-child { border-bottom: 0; }
.ps-card__feats li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--auto-pilot-acc);
  font-weight: 700;
}

.ps-card__note {
  background: var(--auto-pilot-acc-d);
  border-left: 3px solid var(--auto-pilot-acc);
  border-radius: 0 8px 8px 0;
  padding: 12px 14px;
  font-size: 13px;
  color: var(--auto-pilot-dim);
  line-height: 1.5;
  margin: 0 0 18px;
}

.ps-card__cta {
  display: block;
  text-align: center;
  text-decoration: none;
}
.ps-card__cta.is-disabled {
  opacity: .4;
  pointer-events: none;
  cursor: not-allowed;
}
.ps-card__contact {
  display: block;
  width: 100%;
  margin-top: 10px;
  background: transparent;
  color: var(--auto-pilot-txt);
  border: 1.5px solid var(--auto-pilot-border);
  border-radius: var(--r-btn);
  padding: 12px 20px;
  font-family: var(--ff-body);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.ps-card__contact:hover {
  border-color: var(--auto-pilot-muted);
  background: rgba(255,255,255,.04);
}

/* ── Inclui em todos os planos ────────────────────────────────────────── */
.ps-includes {
  margin-top: 36px;
  background: var(--auto-pilot-surf);
  border: 1px solid var(--auto-pilot-border);
  border-radius: var(--r-card-m);
  padding: 24px 28px;
}
.ps-includes__title {
  font-family: var(--ff-head);
  font-size: 13px;
  font-weight: 700;
  color: var(--auto-pilot-txt);
  margin-bottom: 14px;
}
.ps-includes__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}
@media (max-width: 600px) {
  .ps-includes__list { grid-template-columns: 1fr; }
}
.ps-includes__list li {
  font-size: 13px;
  color: var(--auto-pilot-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.ps-includes__check {
  color: var(--auto-pilot-acc);
  font-weight: 700;
}

/* =========================================================================
   CTA opcional em todos os blocos (v3.1.0+)
   -------------------------------------------------------------------------
   `auto_pilot_render_cta()` renderiza um `<div class="auto-pilot-cta auto-pilot-cta--{align}">`
   contendo um `<a class="btn btn-cta|btn-ghost|btn-link">`. Estilo do
   botão herda das classes globais. O wrapper trata só do alinhamento e
   margem superior — o CSS de `.btn-*` já existe.
   ========================================================================= */
.auto-pilot-cta {
  margin-top: 32px;
}
.auto-pilot-cta--center { text-align: center; }
.auto-pilot-cta--left   { text-align: left; }
.auto-pilot-cta--right  { text-align: right; }
.auto-pilot-cta .btn { display: inline-block; }

/* Variante "link discreto" — usada quando o CTA não deve competir
   visualmente com outros botões na mesma secção. */
.btn-link {
  background: transparent;
  color: var(--auto-pilot-acc, #E2C720);
  border: 0;
  padding: 8px 4px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.btn-link:hover {
  text-decoration: none;
  background: transparent;
  color: var(--auto-pilot-acc, #E2C720);
}

/* =========================================================================
   Utilitários finais
   ========================================================================= */
.hidden { display: none !important; }
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}


/* =========================================================================
   v3.0.0 — Camada de redesign (fiel ao mockup definitivo)
   Mapeia as variáveis do mockup para os tokens do tema e porta os
   componentes do landing (hero+stage, nav, secções, marquee, planos, FAQ).
   Tokens = fonte única de verdade. Não remove regras anteriores; sobrepõe.
   ========================================================================= */
:root{
  --lemon:   var(--auto-pilot-acc);
  --lemon-2: var(--auto-pilot-acc-2);
  --bg:      var(--auto-pilot-bg);
  --text:    var(--auto-pilot-txt);
  --muted:   var(--auto-pilot-muted);
  --card:    var(--auto-pilot-surf);
  --line:    var(--auto-pilot-border);
}
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
  .amb{position:absolute;inset:0;z-index:0;background:radial-gradient(48% 52% at 24% 64%,rgba(232,198,31,.09),transparent 70%)}
  .lemon{position:absolute;left:0;bottom:0;z-index:1;height:82vh;transform:translate(-32%,24%);animation:floaty 10s ease-in-out infinite}
  .lemon svg{height:100%;width:auto;display:block}
  @keyframes floaty{0%,100%{transform:translate(-32%,24%) rotate(0)}50%{transform:translate(-32%,20%) rotate(3deg)}}
  .shell{position:relative;z-index:3;width:100%;max-width:1180px;margin:0 auto;padding:0 5vw;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:44px;align-items:center}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:26px;opacity:0;transform:translateY(10px);animation:rise .7s .1s forwards}
  .eyebrow .d{width:6px;height:6px;border-radius:50%;background:var(--lemon)}
  .hero h1{font-family:var(--ff-head);font-weight:600;font-size:clamp(44px,4.7vw,60px);line-height:1.04;letter-spacing:-.015em;margin-bottom:24px;max-width:none;opacity:0;transform:translateY(18px);animation:rise .85s .22s forwards}
  .hero h1 b{font-weight:600;color:var(--lemon)}
  p.sub{font-size:19px;line-height:1.55;color:var(--muted);max-width:400px;margin-bottom:32px;opacity:0;transform:translateY(16px);animation:rise .85s .36s forwards}
  .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;opacity:0;transform:translateY(16px);animation:rise .85s .5s forwards}
  .btn{font-size:15.5px;font-weight:500;padding:14px 24px;border-radius:12px;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:transform .25s ease,background .25s ease,border-color .25s ease}
  .btn-primary{color:#181309;background:var(--lemon)}
  .btn-primary:hover{background:var(--lemon-2);transform:translateY(-2px)}
  .btn-ghost{color:var(--text);background:transparent;border-color:rgba(var(--auto-pilot-txt-rgb), .4)}
  .btn-ghost:hover{border-color:rgba(var(--auto-pilot-txt-rgb), .6)}

  /* Compatibilidade com o bloco mamedia/booking-button (mamedia-blocks):
     as classes que o plugin gera na opção de estilo "gold" (.btn-gold,
     .btn-booking) não têm nenhuma regra de cor/forma no CSS do próprio
     plugin — a intenção é o tema decidir a aparência. Sem este
     mapeamento, o botão renderiza como texto simples. Mapeamos para o
     mesmo tratamento do .btn-primary (cor Auto-pilot); nunca o dourado
     MA Media #b8a07a que o nome da classe sugere (proibido — SOP §13.4).
   */
  .btn-gold,.btn-booking{display:inline-flex;align-items:center;gap:6px;font-size:15.5px;font-weight:500;padding:14px 24px;border-radius:12px;cursor:pointer;border:1px solid transparent;white-space:nowrap;text-decoration:none;transition:transform .25s ease,background .25s ease,border-color .25s ease;color:#181309;background:var(--lemon)}
  .btn-gold:hover,.btn-booking:hover{background:var(--lemon-2);transform:translateY(-2px)}
  .stage{position:relative;height:380px;opacity:0;animation:rise 1s .5s forwards;justify-self:end;width:100%;max-width:520px}
  .card{position:absolute;top:0;right:0;width:100%;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s ease;will-change:transform,opacity}
  .duo{display:flex;align-items:center;gap:14px}
  .shot{flex:1;min-width:0}
  .slabel{font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-align:center;margin-bottom:7px}
  .slabel.b{color:var(--muted)} .slabel.a{color:var(--lemon)}
  .thumb{height:205px;border-radius:14px;position:relative;overflow:hidden}
  .smeta{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--muted);margin-top:9px}
  .smeta svg{width:14px;height:14px;vertical-align:-2px}
  .mid{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(232,198,31,.14);color:var(--lemon);display:flex;align-items:center;justify-content:center;font-size:19px;margin-top:30px}
  .cfoot{margin-top:15px;padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
  .cfoot .lbl{font-size:12px;color:var(--muted)}
  .tag{font-size:11.5px;font-weight:500;color:#181309;background:var(--lemon);padding:4px 10px;border-radius:7px}
  @keyframes rise{to{opacity:1;transform:translateY(0)}}
  @media (max-width:900px){.shell{grid-template-columns:1fr;gap:34px}.stage{justify-self:center;max-width:500px}.lemon{opacity:.3}}
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}
    .eyebrow,.hero h1,h1,p.sub,.cta,.stage,.reveal{opacity:1!important;transform:none!important}
    .lemon{transform:translate(-32%,24%)!important}
  }

  /* header.nav / header.nav.scrolled removidos: código morto do mockup,
     nunca correspondia a markup real (o header usa class="site-header"). */
  .brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:600;font-size:20px;color:var(--text)}
  .brand svg{width:22px;height:28px;display:block}
  .nav-links{display:flex;align-items:center;gap:26px}
  .nav-links a{color:var(--muted);text-decoration:none;font-size:14px;transition:color .2s}
  .nav-links a:hover{color:var(--text)}
  .nav-cta{font-size:14px;font-weight:500;padding:10px 18px;border-radius:10px;background:var(--lemon);color:#181309;border:none;cursor:pointer;transition:background .2s}
  .nav-cta:hover{background:var(--lemon-2)}
  @media(max-width:760px){.nav-links a{display:none}}
  .sec{position:relative;z-index:3;max-width:1080px;margin:0 auto;padding:100px 5vw}
  .kicker{font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--lemon);margin-bottom:16px}
  .h2{font-family:var(--ff-head);font-weight:600;font-size:clamp(30px,3.4vw,42px);line-height:1.1;letter-spacing:-.01em;margin-bottom:18px;max-width:20ch}
  .lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:560px;margin-bottom:48px}
  /* Scroll-triggered: começa invisível e só anima quando o nav.js
     (IntersectionObserver) adiciona .in ao entrar no viewport. Sem JS
     (ou sem suporte a IntersectionObserver), fica sempre visível — ver
     o <noscript> no <head> e o fallback no próprio nav.js. */
  .reveal{opacity:0;transform:translateY(22px)}
  .reveal.in{opacity:1;transform:none;animation:ap-reveal .7s ease}
  @keyframes ap-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  /* Editor Gutenberg (style.css carregado via add_editor_style): o nav.js
     é só front-end, nunca corre ali — sem isto, .reveal ficava sempre
     invisível a editar. */
  .editor-styles-wrapper .reveal{opacity:1!important;transform:none!important}
  .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .fcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
  .fcard svg{width:24px;height:24px;color:var(--lemon);margin-bottom:14px}
  .fcard h3{font-size:16px;font-weight:500;margin-bottom:6px}
  .fcard p{font-size:13.5px;color:var(--muted);line-height:1.5}
  @media(max-width:760px){.feat{grid-template-columns:1fr 1fr}}
  .feat--plain{grid-template-columns:repeat(3,1fr);gap:32px}
  @media(max-width:760px){.feat--plain{grid-template-columns:1fr}}
  .fcard--plain{background:none;border:none;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center}
  .fcard--plain h3{font-size:19px;font-weight:700;margin-bottom:8px}
  .fcard--plain p{font-size:15px;line-height:1.65;max-width:32ch}
  .ichip--circle{width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,rgba(232,198,31,.16),rgba(232,198,31,.04));display:flex;align-items:center;justify-content:center;margin:0 0 22px}
  .ichip--circle img{width:64px;height:64px;object-fit:contain}
  .ichip--circle svg{width:40px;height:40px;color:var(--lemon)}
  @media(max-width:600px){.ichip--circle{width:96px;height:96px}.ichip--circle img{width:48px;height:48px}}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .step .n{font-family:var(--ff-head);font-weight:600;font-size:30px;color:var(--lemon);margin-bottom:12px}
  .step h3{font-size:16px;font-weight:500;margin-bottom:8px}
  .step p{font-size:13.5px;color:var(--muted);line-height:1.55}
  @media(max-width:760px){.steps{grid-template-columns:1fr 1fr}}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
  .cmp{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}
  .cmp.win{border-color:rgba(232,198,31,.4)}
  .cmp h4{font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;color:var(--muted)}
  .cmp.win h4{color:var(--lemon)}
  .cmp ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  .cmp li{font-size:14px;color:var(--text);display:flex;gap:9px;align-items:flex-start;line-height:1.4}
  .cmp li svg{width:16px;height:16px;flex:none;margin-top:2px}
  @media(max-width:760px){.split{grid-template-columns:1fr;gap:24px}}
  .stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
  .stat .v{font-family:var(--ff-head);font-weight:600;font-size:clamp(32px,3.6vw,46px);color:var(--lemon)}
  .stat .k{font-size:13px;color:var(--muted);margin-top:6px}
  @media(max-width:760px){.stats4{grid-template-columns:1fr 1fr;gap:30px}}
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
  .plan{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column}
  .plan.hot{border-color:var(--lemon)}
  .badge{align-self:flex-start;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#181309;background:var(--lemon);padding:4px 10px;border-radius:999px;margin-bottom:14px}
  .plan .pn{font-size:14px;color:var(--muted);margin-bottom:8px}
  .plan .pp{font-family:var(--ff-head);font-weight:600;font-size:38px;margin-bottom:4px}
  .plan .pp small{font-size:14px;color:var(--muted);font-weight:400}
  .plan .pd{font-size:13px;color:var(--muted);margin-bottom:4px}
  .pfeat{list-style:none;display:flex;flex-direction:column;gap:9px;margin:18px 0}
  .pfeat li{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;line-height:1.4}
  .pfeat li svg{width:15px;height:15px;color:var(--lemon);flex:none;margin-top:2px}
  .plan .pfeat li::before{content:none;display:none}  /* remove o ponto legado de .plan li; fica só o ticker */
  .pbtn{margin-top:auto;text-align:center;font-family:inherit;font-size:14px;font-weight:500;padding:12px;border-radius:11px;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--text);text-decoration:none;transition:background .2s,border-color .2s}
  .pbtn:hover{border-color:rgba(var(--auto-pilot-txt-rgb), .4)}
  .plan.hot .pbtn{background:var(--lemon);color:#181309;border-color:var(--lemon)}
  .plan.hot .pbtn:hover{background:var(--lemon-2)}
  .pbtn-ghost{margin-top:10px;width:100%;text-align:center;font-family:inherit;font-size:13px;font-weight:500;padding:9px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:11px;text-decoration:none;transition:color .2s}
  .pbtn-ghost:hover{color:var(--text);text-decoration:underline}
  .plan-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}
  .plan-actions .pbtn,.plan-actions .pbtn-ghost{margin-top:0}
  .plan-actions .is-disabled{opacity:.5;pointer-events:none}
  .trybar{text-align:center;margin-top:26px;font-size:14px;color:var(--muted)}
  .trybar b{color:var(--text);font-weight:700}
  /* Modal Fala connosco */
  .ap-modal{position:fixed;inset:0;z-index:1000}
  .ap-modal[hidden]{display:none}
  .ap-modal-backdrop{position:absolute;inset:0;background:rgba(10,8,6,.72)}
  .ap-modal-panel{position:relative;z-index:1;max-width:520px;width:calc(100% - 40px);max-height:calc(100vh - 96px);overflow:auto;margin:64px auto 24px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
  .ap-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:border-color .2s}
  .ap-modal-close:hover{border-color:rgba(var(--auto-pilot-txt-rgb), .4)}
  .ap-modal-title{font-family:var(--fh);font-size:22px;font-weight:700;color:var(--text);margin:0 0 8px;padding-right:34px}
  .ap-modal-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lemon);margin:0 0 8px}
  .ap-modal-intro{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 14px}
  .ap-modal-footer-note{font-size:12px;color:var(--muted);line-height:1.5;margin:14px 0 0;text-align:center}
  .ap-modal-footer-note a{color:var(--lemon)}
  .ap-modal-plan{font-size:13px;color:var(--muted);margin:0 0 18px}
  .ap-modal-plan b{color:var(--lemon);font-weight:700}
  .ap-modal-plan b:empty{display:none}
  .ap-modal-form :where(input,select,textarea){max-width:100%}
  .ap-modal-form iframe.mm-booking-iframe{width:100%;height:640px;max-height:70vh;border:0;border-radius:10px;display:block;background:var(--card)}
  .mm-booking-fallback{font-size:12px;color:var(--muted);margin:10px 0 0;text-align:center}
  .mm-booking-fallback a{color:var(--lemon)}
  @media(max-width:600px){.ap-modal-form iframe.mm-booking-iframe{height:520px}}
  body.ap-modal-lock{overflow:hidden}
  @media(max-width:760px){.plans{grid-template-columns:1fr}}
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .q{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
  .q p{font-size:15px;line-height:1.55;margin-bottom:18px}
  .q .who{font-size:13px;color:var(--muted)}
  @media(max-width:760px){.quotes{grid-template-columns:1fr}}
  .faq{max-width:760px;margin:0 auto}
  .faq details{border-bottom:1px solid var(--line);padding:18px 2px}
  .faq summary{list-style:none;cursor:pointer;font-size:16px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";color:var(--lemon);font-size:22px;font-weight:400;line-height:1}
  .faq details[open] summary::after{content:"\2013"}
  .faq p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:12px}
  .final{text-align:center}
  .final .h2{margin:0 auto 18px;max-width:18ch}
  .final .lead{margin:0 auto 32px}
  .final .cta{justify-content:center}
        
  .sec{padding:116px 5vw}
  .lead{margin-bottom:42px}
  .plan{position:relative}
  .badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}
  .flow{display:flex;align-items:stretch;gap:16px}
  .fbox{border:1px solid var(--line);background:rgba(232,198,31,.045);border-radius:18px;padding:26px;position:relative}
  .fbox.once{flex:0 0 250px}
  .fbox.monthly{flex:1}
  .flag{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--lemon);background:rgba(232,198,31,.1);padding:4px 11px;border-radius:999px;margin-bottom:18px}
  .fstep .n{font-family:var(--ff-head);font-weight:600;font-size:26px;color:var(--lemon);margin-bottom:8px}
  .fstep h3{font-size:16px;font-weight:500;margin-bottom:6px}
  .fstep p{font-size:13px;color:var(--muted);line-height:1.5}
  .farrow{display:flex;align-items:center;justify-content:center;color:var(--lemon);font-size:22px;flex:none}
  .mrow{display:flex;align-items:flex-start;gap:14px}
  .mstep{flex:1}
  .msep{display:flex;align-items:center;color:var(--lemon);font-size:20px;padding-top:6px}
  @media(max-width:760px){.flow{flex-direction:column}.farrow{transform:rotate(90deg)}.mrow{flex-direction:column}.msep{transform:rotate(90deg);align-self:center}}
  .marquee{position:relative;z-index:3;overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .track{display:flex;gap:0;width:max-content;animation:scrollx 32s linear infinite}
  .marquee:hover .track{animation-play-state:paused}
  @keyframes scrollx{to{transform:translateX(-50%)}}
  .track .tile{width:230px;height:290px;border-radius:18px;border:1px solid var(--line);overflow:hidden;flex:none;position:relative;margin-right:18px}

  .h2.big{font-size:clamp(34px,4.4vw,54px);line-height:1.06;max-width:18ch}
  .verbs{font-family:var(--ff-head);font-weight:600;font-size:clamp(24px,3.4vw,40px);line-height:1.3;color:var(--text);letter-spacing:-.01em;margin:8px 0 50px}
  .verbs i{color:var(--lemon);font-style:normal;margin:0 9px}
  .feat{gap:18px}
  .fcard{padding:28px 26px}
  .ichip{width:52px;height:52px;border-radius:14px;background:rgba(232,198,31,.1);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .ichip svg{width:26px;height:26px;color:var(--lemon);margin:0}
  .fcard h3{font-size:18px;margin-bottom:8px}
  .fcard p{font-size:14px;line-height:1.55}
  .fbox{padding:30px}
  .fstep .n{font-size:clamp(34px,3.4vw,46px);margin-bottom:12px}
  .fstep h3{font-size:18px;margin-bottom:8px}
  .fstep p{font-size:14px;line-height:1.55}
  .farrow{font-size:28px}
  .msep{font-size:24px}
  .flag{font-size:11.5px;margin-bottom:20px}

  .verbs{font-size:clamp(19px,2.4vw,30px);color:var(--auto-pilot-dim);font-weight:600}
  .verbs i{color:var(--lemon);margin:0 20px}
  @media(max-width:620px){.verbs i{margin:0 12px}}

/* Logótipo (limão da marca) herda o accent. */
.brand .ap-logo{color:var(--auto-pilot-acc);width:auto;display:block}

/* Fallback do baralho do hero sem JS (e na pré-visualização do editor):
   fan estático. O view.js sobrepõe com inline styles quando corre. */
.stage .card:nth-child(1){transform:translateX(0) translateY(0) scale(1);opacity:1;z-index:3}
.stage .card:nth-child(2){transform:translateX(-16px) translateY(14px) scale(.955);opacity:.5;z-index:2}
.stage .card:nth-child(n+3){transform:translateX(-32px) translateY(28px) scale(.91);opacity:0;z-index:1}


/* =========================================================================
   v3.3.0 — Cabeçalho e rodapé alinhados ao mockup
   O header.php usa .site-header/.main-nav e o footer .site-footer; aqui
   damos-lhes o aspeto do modelo (nav full-width, links muted, CTA pill).
   ========================================================================= */
.site-header .wrap{max-width:none;padding:0 5vw}
.brand .brand-name{font-family:var(--ff-head);font-weight:600;font-size:20px;color:var(--auto-pilot-txt)}
.main-nav{display:flex;align-items:center}
.main-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.main-nav ul li{margin:0}
.main-nav ul a{font-size:14.5px;font-weight:500;color:var(--auto-pilot-dim);text-decoration:none;transition:color .2s}
.main-nav ul a:hover{color:var(--auto-pilot-acc)}
.main-nav .btn{margin-left:26px;white-space:nowrap}
.main-nav .btn-cta{background:var(--auto-pilot-acc);color:#181309;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid transparent}
.main-nav .btn-cta:hover{background:var(--auto-pilot-acc-2)}
.main-nav .btn-ghost{color:var(--auto-pilot-txt);background:transparent;border:1px solid rgba(var(--auto-pilot-txt-rgb), .4);padding:9px 16px;border-radius:10px;font-size:14px;margin-left:14px}
.main-nav .btn-ghost:hover{border-color:rgba(var(--auto-pilot-txt-rgb), .6)}

.site-footer{border-top:1px solid var(--auto-pilot-border);background:var(--auto-pilot-bg);color:var(--auto-pilot-muted);padding:56px 0 34px}
.site-footer .wrap{max-width:1180px;padding:0 5vw}
.site-footer a{color:var(--auto-pilot-muted);text-decoration:none;transition:color .2s}
.site-footer a:hover{color:var(--auto-pilot-txt)}
.site-footer h4{color:var(--auto-pilot-txt);font-family:var(--ff-head);font-size:14px;margin:0 0 12px}
.site-footer .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.site-footer .footer-grid .footer-tagline{color:var(--auto-pilot-acc);font-family:var(--ff-head);font-size:18px;margin-top:12px}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid var(--auto-pilot-border);font-size:13px}
.site-footer .footer-claim{color:var(--auto-pilot-acc)}
@media (max-width:860px){.site-footer .footer-grid{grid-template-columns:1fr 1fr}}

/* Rodapé minimal (alinhado ao mockup). */
.site-footer .footer-min{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding-top:38px;padding-bottom:38px;border-top:1px solid var(--auto-pilot-border)}
.site-footer .footer-min-brand{display:flex;flex-direction:column;gap:5px}
.site-footer .footer-min-brand .footer-tagline{color:var(--auto-pilot-muted);font-size:13px;margin:0}
.site-footer .footer-min-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.site-footer .footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.site-footer .footer-social a{display:flex;align-items:center;justify-content:center;color:var(--auto-pilot-muted);transition:color .2s}
.site-footer .footer-social a:hover{color:var(--auto-pilot-acc)}
.site-footer .footer-social-email{gap:7px;font-size:13px}
.site-footer .footer-social-email span{white-space:nowrap}
.site-footer .footer-min-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.site-footer .footer-min-links a{color:var(--auto-pilot-muted);text-decoration:none;font-size:14px;transition:color .2s}
.site-footer .footer-min-links a:hover{color:var(--auto-pilot-txt)}
.site-footer .footer-min-links-list{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0}
.site-footer .footer-min-links-list li{list-style:none;margin:0;padding:0}
.site-footer .footer-min-links-list li::marker{content:none}
@media(max-width:600px){
  .site-footer .footer-min{flex-direction:column;align-items:flex-start}
  .site-footer .footer-min-right{align-items:flex-start}
}
.site-footer .footer-min-copy-wrap{border-top:1px solid var(--auto-pilot-border);padding-top:18px;padding-bottom:32px}
.site-footer .footer-min-copy{margin:0;font-size:12.5px;color:var(--auto-pilot-muted)}

/* Drawer (mobile) — botões e fecho */
.drawer-close{background:transparent;border:0;color:var(--auto-pilot-txt);font-size:30px;line-height:1;cursor:pointer;padding:4px 8px}
.drawer nav ul a{display:block;padding:10px 0;font-size:18px;color:var(--auto-pilot-txt);text-decoration:none}
.drawer-cta{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.drawer-cta .btn{width:100%;text-align:center;justify-content:center}

/* Mobile do hero / secções — evitar transbordo horizontal */
html,body{overflow-x:hidden;max-width:100%}
@media (max-width:760px){
  .hero{min-height:auto;padding:40px 0 56px}
  .stage{justify-self:center;max-width:100%}
}
@media (max-width:560px){
  .hero h1{font-size:clamp(30px,8.5vw,42px)}
  p.sub{font-size:17px}
  .shell{padding:0 22px;gap:28px}
  .card{width:100%;max-width:100%}
  .btn{padding:13px 20px;font-size:15px}
  .h2,.h2.big{font-size:clamp(28px,7.5vw,40px)}
  .sec{padding-left:22px;padding-right:22px}
}
