:root{
  --bg:#0a0c10;
  --card:#12151b;
  --secondary:#1a1f27;
  --border:#232a34;
  --fg:#f3f5f7;
  --muted:#9aa5b1;
  --electric:#22b8ff;
  --electric-fg:#04121c;
  --gold:#f5c33b;
  --gold-fg:#1a1200;
  --shadow-electric:0 12px 40px -12px rgba(34,184,255,.45);
  --shadow-gold:0 12px 40px -12px rgba(245,195,59,.45);
  --radius:14px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.5;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;letter-spacing:-.02em}
p{margin:0}

.container{max-width:1152px;margin:0 auto;padding:0 20px}
.icon{width:20px;height:20px}
.icon-lg{width:40px;height:40px}
.text-electric{color:var(--electric)}
.text-gold{color:var(--gold)}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:10px;padding:10px 18px;font-weight:700;font-size:14px;
  border:1px solid transparent;cursor:pointer;transition:all .25s ease;white-space:nowrap;
}
.btn-xl{padding:16px 30px;font-size:17px;border-radius:12px}
.btn-electric{background:var(--electric);color:var(--electric-fg);box-shadow:var(--shadow-electric)}
.btn-electric:hover{filter:brightness(1.08);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--gold-fg);box-shadow:var(--shadow-gold)}
.btn-gold:hover{filter:brightness(1.08);transform:translateY(-2px)}
.btn-electric-outline{border-color:rgba(34,184,255,.6);color:var(--electric);background:transparent}
.btn-electric-outline:hover{background:rgba(34,184,255,.12);transform:translateY(-2px)}

/* ---------- Header ---------- */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:50;
  border-bottom:1px solid rgba(35,42,52,.6);
  background:rgba(10,12,16,.8);backdrop-filter:blur(16px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.logo img{height:56px;width:auto}
.logo-sm img{height:36px}
.nav-desktop{display:none;gap:32px}
.nav-desktop a{font-size:14px;color:var(--muted);transition:color .2s}
.nav-desktop a:hover{color:var(--electric)}
.nav-cta{display:none}
.nav-toggle{background:none;border:0;color:var(--fg);padding:6px;cursor:pointer}
.nav-toggle .icon{width:26px;height:26px}
.nav-toggle .icon-close{display:none}
.nav-toggle[aria-expanded="true"] .icon-menu{display:none}
.nav-toggle[aria-expanded="true"] .icon-close{display:block}
.nav-mobile[hidden]{display:none}
.nav-mobile{display:flex;flex-direction:column;gap:16px;padding:18px 20px;border-top:1px solid rgba(35,42,52,.6);background:var(--bg)}
.nav-mobile a{font-size:14px;color:var(--muted)}
.nav-mobile .btn{color:var(--electric-fg)}
@media(min-width:768px){
  .nav-desktop{display:flex}
  .nav-cta{display:inline-flex}
  .nav-toggle{display:none}
  .nav-mobile{display:none !important}
  .logo img{height:64px}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:144px 0 96px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,var(--bg) 15%,rgba(10,12,16,.55))}
.hero-inner{position:relative}
.hero-inner>*{max-width:680px}
.badge{
  display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(245,195,59,.4);
  border-radius:999px;padding:6px 14px;font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);
}
.badge .icon{width:14px;height:14px}
.hero h1{margin-top:24px;font-size:40px;font-weight:800;line-height:1.08}
.lead{margin-top:24px;color:var(--muted);font-size:16px;line-height:1.7}
.hero-actions{display:flex;flex-direction:column;gap:12px;margin-top:36px}
@media(min-width:640px){.hero-actions{flex-direction:row}}
@media(min-width:768px){
  .hero{padding:176px 0 128px}
  .hero h1{font-size:60px}
  .lead{font-size:18px}
}

/* ---------- Seções ---------- */
.section{border-top:1px solid rgba(35,42,52,.6);padding:96px 0}
@media(min-width:768px){.section{padding:128px 0}}
.section-head{max-width:640px}
.section-head.wide{max-width:768px}
.section-head h2{font-size:30px;font-weight:700}
@media(min-width:768px){.section-head h2{font-size:48px}}
.kicker{margin-top:12px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:18px}

/* ---------- Carrossel ---------- */
.carousel{position:relative;margin-top:56px}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;margin-left:-20px;padding:8px 0;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.carousel-slide{flex:0 0 100%;min-width:0;padding-left:20px}
@media(min-width:768px){.carousel-slide{flex-basis:50%}}
@media(min-width:1024px){.carousel-slide{flex-basis:33.3333%}}
.card{
  height:100%;display:flex;flex-direction:column;
  border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:24px;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.card:hover{transform:translateY(-4px);border-color:rgba(34,184,255,.7);box-shadow:var(--shadow-electric)}
.card-icon{
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:10px;background:var(--secondary);color:var(--electric);transition:color .3s;
}
.card:hover .card-icon{color:var(--gold)}
.card h3{margin-top:20px;font-size:18px;font-weight:600}
.card p{margin-top:8px;font-size:14px;color:var(--muted);line-height:1.7}
.carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:999px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(34,184,255,.5);background:rgba(10,12,16,.9);color:var(--electric);
  transition:all .25s ease;z-index:2;
}
.carousel-btn:hover{background:var(--electric);color:var(--electric-fg)}
.carousel-btn.prev{left:-12px}
.carousel-btn.next{right:-12px}
@media(min-width:768px){.carousel-btn.prev{left:-24px}.carousel-btn.next{right:-24px}}

/* ---------- Metodologia ---------- */
.pillars{display:grid;gap:32px;margin-top:64px}
@media(min-width:768px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillar h3{margin-top:20px;font-size:20px;font-weight:600}
.pillar p{margin-top:8px;font-size:14px;color:var(--muted);line-height:1.7}

/* ---------- Contato ---------- */
.contato .container{text-align:center}
.contato-title{font-size:40px;font-weight:800}
@media(min-width:768px){.contato-title{font-size:60px}}
.contato-sub{margin:20px auto 0;max-width:580px;color:var(--muted)}
.phones{display:grid;gap:16px;max-width:768px;margin:48px auto 0}
@media(min-width:640px){.phones{grid-template-columns:1fr 1fr}}
.phone{
  display:flex;align-items:center;justify-content:center;gap:12px;
  border:1px solid var(--border);background:var(--card);border-radius:var(--radius);
  padding:28px 24px;font-size:20px;font-weight:700;transition:all .3s ease;
}
.phone:hover{transform:translateY(-4px);border-color:rgba(245,195,59,.7);box-shadow:var(--shadow-gold)}
.phone .icon{width:24px;height:24px}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid rgba(35,42,52,.6);padding:40px 0}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.copy{font-size:12px;color:var(--muted)}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;text-align:left}}

/* ---------- Animações ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .carousel-track{transition:none}
  html{scroll-behavior:auto}
}

/* Barra de administração do WordPress */
body.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}
