/* CLISP Neon Tech Theme - v1 */
:root{
  --btn-primary-bg: #F97316;
  --btn-primary-bg-hover: #EA580C;
  --btn-primary-ring: rgba(249,115,22,.25);

  --bg-1:#040419;
  --bg-2:#050522;
  --bg-3:#090C54;

  --p-1:#2587F9;
  --p-2:#1B58E4;
  --p-3:#1A31D0;

  --a-1:#D43684;
  --a-2:#5F26C9;

  --warm-1:#E4936D;
  --warm-2:#FECC8D;

  --text:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.52);
  --border:rgba(37,135,249,.18);

  --radius:16px;
  --radius-sm:12px;

  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --glow: 0 0 16px rgba(37,135,249,.6);
  --glow-soft: 0 0 18px rgba(212,54,132,.25);

  --grad-bg: linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);
  --grad-neon: linear-gradient(90deg, var(--a-1) 0%, var(--a-2) 35%, var(--p-3) 70%, var(--p-1) 100%);

  --container: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, Poppins, Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--grad-bg);
  color: var(--text);
  line-height:1.55;
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
a:hover{color:var(--p-1)}
img{max-width:100%; display:block}

::selection{background:rgba(37,135,249,.28)}

/* Subtle grid background */
.bg-grid:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mix-blend-mode: overlay;
  opacity:.35;
  z-index:-2;
}

/* Soft glows */
.glow-orb{
  position:fixed;
  width:680px; height:680px;
  border-radius:999px;
  filter: blur(44px);
  opacity:.22;
  z-index:-3;
}
.orb-1{top:-240px; left:-240px; background: radial-gradient(circle at 30% 30%, rgba(37,135,249,.85), transparent 60%);}
.orb-2{bottom:-280px; right:-260px; background: radial-gradient(circle at 30% 30%, rgba(212,54,132,.75), transparent 60%);}

.container{max-width:var(--container); margin:0 auto; padding:0 20px}
.section{padding:78px 0}
.section-sm{padding:56px 0}

.neon-line{
  height:3px;
  border-radius:999px;
  background: var(--grad-neon);
  box-shadow: 0 0 16px rgba(37,135,249,.35);
  margin:16px 0 0;
}

/* Header / Nav */
.header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(4,4,25,.55);
  border-bottom:1px solid rgba(37,135,249,.12);
}
.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
}
/* Logo image (PNG) – mantém proporção */
.brand img{height:44px; width:auto; display:block}
/* Caso use SVG em algum momento */
.brand svg{width:44px; height:44px}
.brand .name{
  display:flex; flex-direction:column;
  line-height:1.05;
}
.brand .name strong{letter-spacing:.4px}
.brand .name span{font-size:.85rem; color:var(--muted2)}
.navlinks{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--muted);
  font-weight:500;
}
.navlinks a{padding:10px 10px; border-radius:12px}
.navlinks a.active, .navlinks a:hover{
  color:var(--text);
  background:rgba(37,135,249,.10);
  border:1px solid rgba(37,135,249,.14);
}

.nav-cta{display:flex; align-items:center; gap:10px}

.hamburger{
  display:none;
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid rgba(37,135,249,.18);
  background:rgba(5,5,34,.55);
  color:var(--text);
  cursor:pointer;
}
.hamburger:hover{box-shadow:var(--glow)}
.mobile-drawer{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:60;
}
.drawer-panel{
  position:absolute;
  right:0; top:0; bottom:0;
  width:min(92vw, 360px);
  background:rgba(5,5,34,.95);
  border-left:1px solid rgba(37,135,249,.18);
  box-shadow:var(--shadow);
  padding:18px;
}
.drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:10px;
}
.drawer-links{display:flex; flex-direction:column; gap:10px; padding:10px 0}
.drawer-links a{
  padding:12px 12px; border-radius:14px;
  border:1px solid rgba(37,135,249,.12);
  background:rgba(9,12,84,.30);
}
.drawer-links a:hover{box-shadow:var(--glow)}
.drawer-ctas{display:flex; flex-direction:column; gap:10px; margin-top:10px}

/* Hero */
.hero{
  padding:78px 0 58px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:28px;
  align-items:center;
}
.kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(37,135,249,.18);
  background: rgba(5,5,34,.45);
  color: var(--muted);
  font-size:.92rem;
}
.kicker .dot{
  width:8px; height:8px; border-radius:99px;
  background: var(--p-1);
  box-shadow: var(--glow);
}
h1{
  font-size: clamp(2.0rem, 3.0vw, 3.1rem);
  line-height:1.12;
  margin:14px 0 12px;
  letter-spacing:.2px;
}
.lead{
  color:var(--muted);
  font-size:1.05rem;
  margin:0 0 18px;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px}
.microcopy{color:var(--muted2); font-size:.92rem; margin-top:10px}

/* Cards */
.card{
  background: rgba(5,5,34,.65);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}
.card.glass{
  background: rgba(5,5,34,.52);
  backdrop-filter: blur(12px);
}
.card h3{margin:0 0 8px; font-size:1.06rem}
.card p{margin:0; color:var(--muted)}
.cards-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:18px;
}
.cards-grid.two{grid-template-columns: repeat(2, 1fr)}
.cards-grid.one{grid-template-columns: 1fr; gap:18px; margin-top:24px}
.cards-grid.three{grid-template-columns: repeat(3, 1fr)}
.cards-grid.four{grid-template-columns: repeat(4, 1fr)}

/* Mini stats (hero) */
.cards-grid.mini{gap:12px}
.mini-card{
  border:1px solid rgba(37,135,249,.14);
  background: rgba(9,12,84,.16);
  border-radius: 14px;
  padding: 12px;
}
.mini-k{font-size:.78rem; color:var(--muted2); font-weight:600; letter-spacing:.25px}
.mini-v{font-size:.95rem; font-weight:700; margin-top:2px}

/* Quote block */
.quote{
  margin:14px 0;
  padding:14px 14px;
  border-radius: 14px;
  border:1px solid rgba(212,54,132,.22);
  background: rgba(5,5,34,.35);
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

/* Highlight CTA panel */
.highlight{
  border-radius: 18px;
  border:1px solid rgba(37,135,249,.18);
  background: linear-gradient(135deg, rgba(9,12,84,.22) 0%, rgba(5,5,34,.55) 100%);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}
.highlight:before{
  content:"";
  position:absolute;
  inset:-1px;
  background: var(--grad-neon);
  opacity:.18;
  filter: blur(14px);
}
.highlight-inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
}

/* Steps compact */
.steps.compact{gap:12px}
.steps.compact .step{padding:14px}
.icon-badge{
  width:40px; height:40px;
  border-radius:14px;
  display:grid; place-items:center;
  background: rgba(37,135,249,.12);
  border:1px solid rgba(37,135,249,.18);
  margin-bottom:10px;
}
.icon-badge svg{width:20px; height:20px; opacity:.95}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius: 12px;
  border:1px solid rgba(37,135,249,.18);
  background: rgba(5,5,34,.35);
  color:var(--text);
  font-weight:600;
  cursor:pointer;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
  user-select:none;
}
.btn:hover{transform: translateY(-1px); box-shadow: var(--glow)}
.btn--primary{
  background: linear-gradient(135deg, #2C1A47 0%, #1E3A8A 100%);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 0 16px rgba(30,58,138,.45);
}
.btn--primary:hover{
  box-shadow: 0 0 22px rgba(30,58,138,.65);
}

/* CTA de agendamento (formulário) */
.btn-agendar{
  padding: 13px 18px;
  border-radius: 14px;
  position: relative;
  overflow: hidden;
}
.btn-agendar::after{
  content: "→";
  font-weight: 800;
  opacity: .9;
  transform: translateX(0);
  transition: transform .25s ease, opacity .25s ease;
}
.btn-agendar:hover::after{
  transform: translateX(4px);
  opacity: 1;
}
.btn-agendar:focus-visible{
  outline: 2px solid rgba(212,54,132,.55);
  outline-offset: 3px;
}
.btn.ghost{
  background: rgba(5,5,34,.25);
}
.btn.neon{
  background: rgba(9,12,84,.20);
  border: 1px solid rgba(212,54,132,.22);
  position:relative;
}
.btn.neon:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:12px;
  padding:1px;
  background: var(--grad-neon);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity:.85;
}
.btn.neon:hover{box-shadow: var(--glow-soft)}

/* Sections */
.h2{
  font-size: clamp(1.45rem, 1.9vw, 2.0rem);
  margin:0;
  line-height:1.2;
}
.p{
  color:var(--muted);
  margin:12px 0 0;
}
.list{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--muted);
}
.list li{margin:8px 0}

/* Steps */
.steps{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:12px;
  margin-top:18px;
}
.step{
  padding:14px;
  border-radius: var(--radius);
  border:1px solid rgba(37,135,249,.14);
  background: rgba(5,5,34,.42);
}
.step .n{
  width:34px; height:34px;
  border-radius:12px;
  display:grid; place-items:center;
  background: rgba(37,135,249,.12);
  border:1px solid rgba(37,135,249,.18);
  box-shadow: 0 0 14px rgba(37,135,249,.25);
  margin-bottom:10px;
  font-weight:700;
}
.step p{margin:0; color:var(--muted); font-size:.95rem}

/* FAQ */
.faq-groups{display:grid; gap:28px; margin-top:18px}
.faq-title{font-size:1.05rem; font-weight:600; letter-spacing:.01em; color:var(--text); margin:0 0 10px}
.faq{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
  margin-top:18px;
}
.faq details{
  border:1px solid rgba(37,135,249,.14);
  border-radius: var(--radius);
  background: rgba(5,5,34,.42);
  padding:14px 14px;
}
.faq summary{
  cursor:pointer;
  list-style:none;
  font-weight:600;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary{display:flex; align-items:center; justify-content:space-between; gap:12px}
.faq details[open] summary{color: rgba(240,245,255,.92)}
.faq summary::after{content:'+'; font-weight:600; opacity:.55}
.faq details[open] summary::after{content:'–'; opacity:.55}
.faq details p{margin:10px 0 0; color:var(--muted)}
.faq details ul{margin:10px 0 0; color:var(--muted)}

/* Form */
.form{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.field{display:flex; flex-direction:column; gap:6px}
label{font-weight:600; color:var(--text); font-size:.95rem}
input, select, textarea{
  border-radius: 12px;
  border:1px solid rgba(37,135,249,.18);
  background: rgba(4,4,25,.55);
  color: var(--text);
  padding:12px 12px;
  outline:none;
}
input:focus, select:focus, textarea:focus{
  box-shadow: var(--glow);
  border-color: rgba(37,135,249,.38);
}
textarea{min-height:120px; resize:vertical}
.form .full{grid-column: 1 / -1}

.notice{
  margin-top:12px;
  padding:12px 14px;
  border-radius: var(--radius);
  border:1px solid rgba(212,54,132,.18);
  background: rgba(95,38,201,.12);
  color: var(--muted);
}

/* Footer */
.footer{
  border-top:1px solid rgba(37,135,249,.14);
  padding:26px 0;
  color:var(--muted2);
  font-size:.92rem;
}
.footer-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}

/* Reveal */
.reveal{
  opacity:0;
  transform: translateY(10px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}

/* WhatsApp floating */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:70;
}
.whatsapp-float a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  background: rgba(5,5,34,.65);
  border:1px solid rgba(37,135,249,.18);
  box-shadow: var(--shadow);
}
.whatsapp-float a:hover{box-shadow: var(--glow)}

/* Responsive */
@media (max-width: 980px){
  .brand img{height:40px}
  .brand svg{width:38px; height:38px}
  .hero-grid{grid-template-columns: 1fr}
  .cards-grid{grid-template-columns: 1fr}
  .cards-grid.two{grid-template-columns: 1fr}
  .cards-grid.three{grid-template-columns: 1fr}
  .cards-grid.four{grid-template-columns: 1fr 1fr}
  .highlight-inner{flex-direction: column; align-items:flex-start}
  .steps{grid-template-columns: 1fr; }
  .navlinks, .nav-cta{display:none}
  .hamburger{display:inline-flex}
  .form{grid-template-columns: 1fr}
}
@media (max-width: 520px){
  .cards-grid.four{grid-template-columns: 1fr}
}

/* =========================================================
   OVERRIDES MINUCIOSOS – SEM QUEBRAR O RESTO
   (1) Boxes premium (Resultados)
   (2) Botão primário e secundário FINAL (SEM DEGRADÊ)
========================================================= */

/* (1) RESULTADOS PREMIUM (cards voltam a existir) */
.metrics-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
  margin-top:24px;
}

.metric-card{
  background: rgba(5,5,34,.55);
  border: 1px solid rgba(37,135,249,.18);
  border-radius: 18px;
  padding: 26px 24px;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  transition: transform .25s ease, box-shadow .25s ease;
}

.metric-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(0,0,0,.38);
}

.metric-big{
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .3px;
  color: var(--text);
}

.metric-title{
  margin-top: 6px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
}

.metric-sub{
  margin-top: 12px;
  font-size: .95rem;
  color: var(--muted);
  line-height: 1.4;
}

.p-short{max-width:60ch;}
.list.compact li{margin:6px 0;}

.notice-premium{
  background: rgba(5,5,34,.35);
  border: 1px solid rgba(212,54,132,.18);
  color: var(--text);
}

/* Responsivo dos resultados */
@media (max-width: 980px){
  .metrics-grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 520px){
  .metrics-grid{grid-template-columns: 1fr;}
}

/* (2) CTA PRIMÁRIO PREMIUM — LARANJA SÓLIDO */
.btn--primary{
  background: #F97316;
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-weight: 600;
  padding: 14px 22px;
  transition: 200ms ease-out;
  box-shadow: none;
}

.btn--primary:hover{
  background: #EA580C;
  box-shadow: 0 0 0 4px rgba(249,115,22,0.25);
  transform: translateY(-1px);
}

.btn--primary:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(249,115,22,0.25);
}

/* Secundário: Falar com um especialista */
.btn.ghost{
  background: transparent;
  border: 1px solid #2C1A47;
  color: #FFFFFF;
  border-radius: 12px;
  font-weight: 600;
  padding: 14px 22px;
  transition: 200ms ease-out;
}

.btn.ghost:hover{
  background: rgba(44,26,71,0.25);
  box-shadow: none;
  transform: translateY(-1px);
}

.btn.ghost:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(44,26,71,0.25);
}

/* =========================================================
   FUNDO ÚNICO (DEGRADÊ FIXO) + RODAPÉ PRETO
   - mantém UM degradê contínuo no site inteiro (sem “faixas” ao rolar)
   - rodapé preto sólido
   (adicionado no FINAL)
========================================================= */

html, body{
  background: var(--grad-bg) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  min-height: 100vh;
}

/* garante que nenhuma seção pinte outro fundo por cima */
main,
.hero,
.section,
.section-sm{
  background: transparent !important;
}

/* rodapé preto sólido */
.footer{
  background: #000000 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}


/* Drawer close button */
.drawer-close{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text);font-size:20px;cursor:pointer;padding:10px;border-radius:12px;}
.drawer-close:hover{background:rgba(255,255,255,.06);}


/* =========================================================
   AJUSTES – MENU + LOGO + HERO FOTO (Caio)
========================================================= */

/* Header: deixa apenas 1 CTA e melhora leitura do brand */
.brand img{
  /* Mantém proporção da logo (evita "espremida") */
  height:44px;
  width:auto;
  max-height:44px;
  display:block;
}
.brand img{ object-fit: contain; }

@media (max-width: 980px){
  .brand img{height:40px; max-height:40px;}
}
.brand .name span{
  opacity:.72;
}
@media (max-width: 980px){
  .brand .name span{display:none;} /* subtítulo some no mobile para não poluir */
}

/* Hero: foto do Caio proporcional e sem distorção */
.hero-photo{
  width:100%;
  max-width:520px;
  margin-left:auto;
  border-radius:24px;
  overflow:hidden;
  aspect-ratio: 4 / 5;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.hero-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}
@media (max-width: 980px){
  .hero-photo{max-width:420px; margin-right:auto;}
}


/* Button variant: Primary (single source of truth) */
.btn--primary{
  background: var(--btn-primary-bg);
  border: 0;
  color: #111;
}
.btn--primary:hover{ background: var(--btn-primary-bg-hover); }
.btn--primary:focus-visible{ box-shadow: 0 0 0 4px var(--btn-primary-ring); }


/* Compatibility: legacy markup (.btn.primary) maps to new variant */
.btn.primary{ background: var(--btn-primary-bg, #F97316); border: 0; color: #111; }
.btn.primary:hover{ background: var(--btn-primary-bg-hover, #EA580C); }
.btn.primary:focus-visible{ box-shadow: 0 0 0 4px var(--btn-primary-ring, rgba(249,115,22,.25)); }
/* ONYX CTA refinements */
.btn--large{
  padding: 1rem 1.15rem;
  font-size: 1rem;
}

.btn-especialista{ /* semantic hook */ }

.cta-box{
  text-align: left;
}

@media (min-width: 768px){
  .cta-box{
    padding: 2.25rem;
  }
}


/* ONYX: editorial process list (replaces boxed steps) */
.process-list{
  counter-reset: step;
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
}

.process-list > li{
  counter-increment: step;
  position: relative;
  padding-left: 3rem;
  margin: 0 0 1.75rem;
}

.process-list > li:last-child{ margin-bottom: 0; }

.process-list > li::before{
  content: counter(step);
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  color: rgba(255,255,255,.16);
}

.process-list h4{
  margin: 0 0 .35rem;
  font-size: 1rem;
  letter-spacing: .01em;
}

.process-list p{
  margin: 0;
  color: rgba(255,255,255,.75);
}

/* =========================================
   SERVIÇOS — TIMELINE FINAL (APROVADA)
   v9 — sem quebra no desktop, sem scrollbar
========================================= */

.cards-grid.one{
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;                 /* respiro entre blocos */
  margin-top: 3rem;
}

.svc-card{
  max-width: 100%;
  overflow: hidden;          /* impede estouro lateral */
}

/* Timeline: uma linha no desktop */
.svc-timeline{
  display: flex;
  flex-wrap: nowrap;              /* NÃO quebra */
  justify-content: space-between;
  gap: 1.5rem;
}

/* Texto mais leve (sem negrito) */
.svc-timeline .step{
  font-size: 0.8rem;
  font-weight: 400;
  white-space: nowrap;
  opacity: 0.9;
}

/* Número mantém hierarquia */
.svc-timeline .step strong{
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* Mobile: quebra controlada em 2 por linha */
@media (max-width: 768px){
  .svc-timeline{
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .svc-timeline .step{
    flex: 0 0 calc(50% - 1rem);
    white-space: normal;
  }
}



/* =========================================
   SERVIÇOS — TIMELINE (markup svc-tl-*)
   v9 safety: caso exista fora do inline
========================================= */
.svc-timeline{ display:flex; flex-wrap:nowrap; justify-content:space-between; gap:12px 18px; }
.svc-tl-item{ flex:1 1 0; min-width:0; }
.svc-tl-top-title{ font-size:.86rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width: 768px){
  .svc-timeline{ flex-wrap:wrap; justify-content:flex-start; }
  .svc-tl-item{ flex:0 0 calc(50% - 12px); }
  .svc-tl-panel{ display:none; }
}
/* =========================================
   CTA LARANJA — PADRÃO PREMIUM GLOBAL
========================================= */

:root{
  --cta-bg: #F97316;                /* laranja */
  --cta-bg-hover: #FDBA74;          /* laranja claro / off-white */
  --cta-text: #0B0F1A;              /* off-black */
  --cta-ring: rgba(249,115,22,.35); /* foco acessível */
}

/* Base: cobre classes novas e legadas */
.btn--primary,
.btn.primary,
.btn-especialista,
.btn.btn--primary,
a.btn--primary,
a.btn.primary,
a.btn-especialista,
button.btn--primary,
button.btn.primary,
button.btn-especialista {
  background: var(--cta-bg) !important;
  color: var(--cta-text) !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  transition: background-color .18s ease, transform .14s ease, box-shadow .18s ease;
}

/* Hover: SEM azul */
.btn--primary:hover,
.btn.primary:hover,
.btn-especialista:hover,
.btn.btn--primary:hover,
a.btn--primary:hover,
a.btn.primary:hover,
a.btn-especialista:hover,
button.btn--primary:hover,
button.btn.primary:hover,
button.btn-especialista:hover {
  background: var(--cta-bg-hover) !important;
  color: var(--cta-text) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
}

/* Active: pressão sutil */
.btn--primary:active,
.btn.primary:active,
.btn-especialista:active,
button.btn--primary:active,
button.btn.primary:active,
button.btn-especialista:active {
  transform: translateY(0);
}

/* Focus acessível e premium */
.btn--primary:focus-visible,
.btn.primary:focus-visible,
.btn-especialista:focus-visible,
button.btn--primary:focus-visible,
button.btn.primary:focus-visible,
button.btn-especialista:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--cta-ring), 0 14px 30px rgba(0,0,0,.22);
}


/* =========================================
   CONTATO — LAYOUT PREMIUM (ONYX)
========================================= */

.page-hero .cta-row{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}

.btn--ghost{
  background: transparent;
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.9);
}

.btn--ghost:hover{
  border-color: rgba(255,255,255,.25);
}

.cta-hint{
  margin-top:.75rem;
  color: rgba(255,255,255,.65);
  font-size:.9rem;
}

.contact-form .grid{
  display:grid;
  gap:1rem;
  grid-template-columns: repeat(2, minmax(0,1fr));
  margin: 1.25rem 0 1rem;
}

@media (max-width: 768px){
  .contact-form .grid{ grid-template-columns: 1fr; }
}

.hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
}

.form-hint{
  color: rgba(255,255,255,.6);
  font-size:.85rem;
  margin-top:.75rem;
}

.form-status{
  margin-top: 1rem;
  padding: .85rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

.form-status.success{
  border-color: rgba(34,197,94,.25);
}

.form-status.error{
  border-color: rgba(239,68,68,.25);
}

/* =========================================
   CONTATO — FORMULÁRIO COM FOCO
========================================= */

.contact-form{
  margin-top: 5rem;
}

.form-card{
  max-width: 720px;
  margin: 0 auto;
  padding: 2.5rem;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
}

.form-lead{
  color: rgba(255,255,255,0.75);
  margin-bottom: 2rem;
}

.form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.form-grid label span,
.form label span{
  display: block;
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
  color: rgba(255,255,255,0.85);
}

.form input,
.form textarea{
  width: 100%;
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.92);
}

.form input:focus,
.form textarea:focus{
  outline: none;
  border-color: #F97316;
  box-shadow: 0 0 0 3px rgba(249,115,22,0.25);
}

.form textarea{ resize: vertical; }

.form label.full{
  display: block;
  margin-bottom: 1.5rem;
}

.form button{ margin-top: 1rem; }

.hp{
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
}

.form-hint{
  color: rgba(255,255,255,0.6);
  font-size: 0.85rem;
  margin-top: 0.75rem;
}

@media (max-width: 768px){
  .form-grid{ grid-template-columns: 1fr; }
  .form-card{ padding: 1.75rem; }
}


/* =========================================
   CONTATO — FOCO NO FORMULÁRIO (REFINO)
========================================= */
.section.contact-form{ margin-top: 2.5rem; }
.section.contact-proof{ margin-top: 3.5rem; max-width: 64ch; margin-left:auto; margin-right:auto; }
.section.contact-proof .process-list{ margin-top: 2rem; }
.form-card{ max-width: 900px; }
