/* ══════════════════════════════════════════════════════
   IBSEC — Design System Unificado
   Cor oficial: #FED500
   Evolução do site atual: mesma identidade, melhor UX
   ══════════════════════════════════════════════════════ */

:root {
  /* Fundos */
  --bg:        #0D0D1A;
  --bg-alt:    #121225;
  --surface:   #151530;
  --surface2:  #1A1A3A;
  --light:     #F0F0F0;
  --white:     #FFFFFF;

  /* Accent — Dourado IBSEC (cor oficial) */
  --gold:      #FED500;
  --gold-dark: #D4B200;
  --gold-bg:   rgba(254,213,0,0.12);
  --gold-bg2:  rgba(254,213,0,0.06);

  /* Texto */
  --text:      #FFFFFF;
  --text-dark: #1A1A2E;
  --text-body: #333333;
  --text-muted:#666666;
  --muted:     #8A8AAA;
  --muted2:    #A0A0BC;

  /* Bordas */
  --border:    rgba(254,213,0,0.15);
  --border-l:  rgba(0,0,0,0.06);
}

/* ── Reset ─────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth }
body {
  font-family:'Montserrat',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}

h1,h2,h3,h4 {
  font-family:'Montserrat',sans-serif;
  line-height:1.12;
  letter-spacing:-0.01em;
}
h1 { font-size:clamp(2.2rem,4.6vw,4.4rem); font-weight:800 }
h2 { font-size:clamp(1.8rem,3.6vw,2.8rem); font-weight:700 }
h3 { font-size:clamp(1.05rem,1.8vw,1.35rem); font-weight:600 }
p  { color:var(--muted2); font-size:1.03rem; line-height:1.75 }

a { text-decoration:none; color:inherit }
.mono { font-family:'IBM Plex Mono',monospace }

/* ── Utilities ─────────────────────────────────────── */
.container { max-width:1160px; margin:0 auto; padding:0 28px; position:relative; z-index:1 }
.section { padding:88px 0 }
.hl { color:var(--gold) }

.label {
  font-family:'IBM Plex Mono',monospace;
  font-size:0.84rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.label::before { content:'// ' }

/* ── Buttons — outline/ghost per design system ─────── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Montserrat',sans-serif; font-weight:600;
  font-size:1.06rem; letter-spacing:.04em;
  text-transform:uppercase;
  padding:13px 28px; border-radius:25px; cursor:pointer;
  border:none; transition:all .25s ease;
}
.btn-primary {
  background:transparent;
  border:2px solid var(--gold);
  color:var(--gold);
}
.btn-primary:hover {
  background:var(--gold);
  color:var(--bg);
  box-shadow:0 0 24px rgba(254,213,0,.3);
  transform:translateY(-2px);
}
.btn-outline {
  background:transparent;
  border:2px solid rgba(255,255,255,.4);
  color:#fff;
}
.btn-outline:hover {
  border-color:#fff;
  background:rgba(255,255,255,.08);
  transform:translateY(-2px);
}
.btn-gold {
  background:var(--gold);
  border:2px solid var(--gold);
  color:var(--bg);
  font-weight:700;
}
.btn-gold:hover {
  background:#fff;
  border-color:#fff;
  color:var(--bg);
  box-shadow:0 0 24px rgba(254,213,0,.3);
  transform:translateY(-2px);
}

/* ── Nav ───────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(13,13,26,.94);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--gold-bg);
}
.nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:110px; padding:10px 0; gap:24px;
}
.nav-logo {
  display:flex; align-items:center; gap:10px;
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:1.56rem; letter-spacing:.06em; text-transform:uppercase;
}
.nav-links { display:flex; align-items:center; gap:2px; list-style:none }
.nav-links a {
  font-family:'IBM Plex Mono',monospace; font-size:0.78rem;
  letter-spacing:.06em; color:var(--muted);
  padding:8px 14px; border-radius:6px;
  transition:color .2s,background .2s; white-space:nowrap;
}
.nav-links a:hover { color:var(--gold); background:var(--gold-bg2) }
.nav-actions { display:flex; align-items:center; gap:10px }
.nav-login {
  font-family:'IBM Plex Mono',monospace; font-size:0.78rem;
  color:var(--muted); padding:8px 14px; transition:color .2s; white-space:nowrap;
}
.nav-login:hover { color:var(--text) }

/* ── Hero ──────────────────────────────────────────── */
.hero {
  min-height:100vh; padding:150px 0 55px;
  display:flex; align-items:center;
  position:relative; overflow:hidden;
  background:linear-gradient(160deg, var(--bg) 0%, var(--bg-alt) 100%);
}
.hero-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:48px; align-items:start }
.hero h1 { margin-bottom:22px }
.hero-sub {
  font-size:1.08rem; color:var(--muted2);
  line-height:1.75; margin-bottom:36px; max-width:520px;
}
.hero-ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:56px }
.hero-stats {
  display:flex; gap:32px; flex-wrap:wrap;
  border-top:1px solid var(--gold-bg); padding-top:28px;
}
.hero-stats > div { line-height:1 }
.hero-stat-num {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:1.92rem; color:var(--gold); display:block;
}
.hero-stat-lbl {
  font-family:'IBM Plex Mono',monospace; font-size:0.82rem;
  letter-spacing:.06em; color:var(--muted);
}

/* ── AI Chat Widget ────────────────────────────────── */
.hero-chat {
  background:rgba(13,13,26,.95);
  border:1px solid rgba(254,213,0,0.25);
  border-radius:12px;
  box-shadow:0 0 80px rgba(254,213,0,.07), 0 40px 80px rgba(0,0,0,.5);
  position:relative; padding-bottom:52px;
}
.hc-bar {
  display:flex; align-items:center; gap:6px;
  padding:12px 16px; border-bottom:1px solid var(--gold-bg);
}
.hc-dot { width:9px; height:9px; border-radius:50% }
.hc-title {
  font-family:'IBM Plex Mono',monospace; font-size:0.8rem;
  color:var(--muted); margin-left:6px; letter-spacing:.04em;
}
.hc-scenario { display:none; animation:hcFade .5s ease }
.hc-scenario.active { display:block }
@keyframes hcFade { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.hc-msg { margin-bottom:12px }
.hc-user { display:flex; justify-content:flex-end }
.hc-user > div {
  background:var(--gold-bg2); border:1px solid var(--gold-bg);
  border-radius:12px 12px 2px 12px; padding:10px 14px; max-width:80%;
}
.hc-ai { display:flex; gap:10px }
.hc-avatar {
  width:26px; height:26px; border-radius:50%; background:var(--gold);
  flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-family:'IBM Plex Mono',monospace; font-size:0.6rem;
  font-weight:600; color:var(--bg); margin-top:2px;
}
.hc-bubble {
  background:var(--surface); border:1px solid var(--gold-bg);
  border-radius:2px 12px 12px 12px; padding:12px 14px; max-width:90%;
}
.hc-text {
  font-family:'IBM Plex Mono',monospace; font-size:0.82rem;
  color:var(--text); line-height:1.6;
}
.hc-trail-label {
  font-family:'IBM Plex Mono',monospace; font-size:0.76rem;
  color:var(--gold); margin:10px 0 8px; font-weight:600;
}
.hc-trail-item { display:flex; align-items:center; gap:6px; margin-bottom:5px }
.hc-trail-name {
  font-family:'IBM Plex Mono',monospace; font-size:0.76rem;
  color:var(--text); min-width:110px; flex-shrink:0;
}
.hc-trail-name.hc-gold { color:var(--gold) }
.hc-bar-wrap { flex:1; height:5px; background:var(--surface2); border-radius:3px; overflow:hidden }
.hc-bar-fill { height:100%; background:var(--gold); border-radius:3px }
.hc-bar-fill.hc-bar-opt { background:rgba(254,213,0,.35) }
.hc-bar-fill.hc-bar-gold { background:var(--gold) }
.hc-trail-tag {
  font-family:'IBM Plex Mono',monospace; font-size:0.64rem;
  min-width:68px; text-align:right; flex-shrink:0;
}
.hc-tag-rec { color:var(--gold) }
.hc-tag-comp { color:var(--muted2) }
.hc-tag-opt { color:var(--muted) }
.hc-tag-gold { color:var(--gold) }
.hc-tag-free { color:var(--gold); font-weight:600 }
.hc-tag-next { color:var(--muted) }
.hc-ctas { display:flex; gap:8px; margin:12px 0 0 0 }
.hc-btn-pri {
  display:inline-block; background:var(--gold); color:var(--bg);
  padding:7px 14px; border-radius:20px;
  font-family:'IBM Plex Mono',monospace; font-size:0.76rem;
  font-weight:600; text-decoration:none; transition:opacity .2s;
}
.hc-btn-pri:hover { opacity:.85 }
.hc-btn-sec {
  display:inline-block; border:1px solid var(--gold-bg);
  color:var(--gold); padding:7px 14px; border-radius:20px;
  font-family:'IBM Plex Mono',monospace; font-size:0.76rem;
  text-decoration:none; transition:border-color .2s;
}
.hc-btn-sec:hover { border-color:var(--gold) }
.hc-btn-gold {
  display:inline-block; border:1px solid rgba(254,213,0,.3);
  color:var(--gold); padding:7px 14px; border-radius:20px;
  font-family:'IBM Plex Mono',monospace; font-size:0.76rem;
  text-decoration:none; transition:border-color .2s;
}
.hc-btn-gold:hover { border-color:var(--gold) }
.hero-float {
  position:absolute; right:-16px; bottom:-16px;
  background:var(--surface2); border:1px solid var(--gold-bg);
  border-radius:12px; padding:13px 18px;
  display:flex; align-items:center; gap:12px; z-index:2;
}
.hero-float-dot {
  width:9px; height:9px; border-radius:50%; background:var(--gold);
  animation:pulse 2s ease-in-out infinite; flex-shrink:0;
}
@keyframes pulse {
  0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(254,213,0,.4) }
  50% { opacity:.7; box-shadow:0 0 0 6px rgba(254,213,0,0) }
}
.hero-float-text { font-family:'IBM Plex Mono',monospace; font-size:0.86rem }
.hero-float-text strong { color:var(--gold); display:block }

/* Dynamic chat animations */
.hc-status {
  margin-left:auto; font-family:'IBM Plex Mono',monospace;
  font-size:0.68rem; color:var(--gold); letter-spacing:.06em;
  position:relative; padding-left:12px;
}
.hc-status::before {
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:6px; height:6px; border-radius:50%; background:var(--gold);
  animation:pulse 2s ease-in-out infinite;
}
.hc-step {
  opacity:0; transform:translateY(8px);
  transition:opacity .4s ease,transform .4s ease; pointer-events:none;
}
.hc-step.hc-visible { opacity:1; transform:translateY(0); pointer-events:auto }
.hc-step-inner {
  opacity:0; transform:translateY(6px);
  transition:opacity .35s ease,transform .35s ease;
}
.hc-step-inner.hc-visible { opacity:1; transform:translateY(0) }
.hc-cursor::after {
  content:'▋'; color:var(--gold); animation:blink .6s step-end infinite;
  margin-left:1px; font-size:0.78em;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.hc-typing-indicator {
  display:flex; gap:5px; padding:8px 14px; margin:0 0 12px 0;
  background:var(--surface); border:1px solid var(--gold-bg);
  border-radius:2px 12px 12px 12px; width:fit-content;
  opacity:0; transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;
}
.hc-typing-indicator.hc-visible { opacity:1; transform:translateY(0) }
.hc-typing-indicator span {
  width:7px; height:7px; border-radius:50%; background:var(--muted2);
  animation:typingBounce 1.4s ease-in-out infinite;
}
.hc-typing-indicator span:nth-child(2) { animation-delay:.2s }
.hc-typing-indicator span:nth-child(3) { animation-delay:.4s }
@keyframes typingBounce {
  0%,60%,100% { transform:translateY(0); opacity:.4 }
  30% { transform:translateY(-6px); opacity:1 }
}
.hc-bar-animate { width:0%; transition:width .6s cubic-bezier(.25,.46,.45,.94) }
.hc-notification {
  opacity:0; transform:translateY(12px) translateX(4px);
  transition:opacity .5s ease,transform .5s ease;
}
.hc-notification.hc-notif-show { opacity:1; transform:translateY(0) translateX(0) }
.hc-body { padding:16px 18px 20px; min-height:340px; position:relative; overflow:hidden }

/* ── Proof Bar ─────────────────────────────────────── */
.proof-bar {
  background:var(--surface);
  border-top:1px solid var(--gold-bg);
  border-bottom:1px solid var(--gold-bg);
  padding:26px 0;
}
.proof-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap }
.proof-num {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:2.28rem; color:var(--gold); line-height:1; margin-bottom:0;
}
.proof-num-xl {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:3.6rem; color:var(--gold); line-height:1;
}
.proof-lbl {
  font-family:'IBM Plex Mono',monospace; font-size:0.84rem;
  color:var(--muted); line-height:1.3; display:block; margin-top:2px;
}
.proof-lbl-xl {
  font-family:'IBM Plex Mono',monospace; font-size:0.9rem;
  color:var(--muted2); line-height:1.3; display:block; margin-top:6px;
}
.proof-div { width:1px; height:36px; background:var(--gold-bg) }

/* ── Market ────────────────────────────────────────── */
.market-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center }
.market-text h2 { margin-bottom:18px }
.market-text p { margin-bottom:16px }
.stat-row { display:flex; flex-direction:column; gap:24px }
.stat-row-minor { display:flex; flex-direction:column; gap:14px }
.stat-item {
  background:var(--surface); border:1px solid rgba(255,255,255,.05);
  border-left:3px solid var(--gold);
  border-radius:12px; padding:16px 20px;
  display:flex; align-items:center; gap:35px;
}
.stat-item.r { border-left-color:var(--gold-dark) }
.stat-item.g { border-left-color:var(--gold) }
.stat-item.stat-hero {
  border-left:4px solid var(--gold); padding:24px 28px;
  background:var(--surface);
  align-items:center; gap:35px;
}
.stat-hero-text { display:flex; flex-direction:column; gap:4px }
.stat-n {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:1.8rem; color:var(--gold); min-width:72px;
}
.stat-n-xl { font-size:3.6rem; min-width:auto; line-height:1 }
.stat-item.r .stat-n { color:var(--gold-dark) }
.stat-item.g .stat-n { color:var(--gold) }
.stat-d {
  font-family:'IBM Plex Mono',monospace; font-size:0.94rem; color:var(--muted2);
}
.stat-d-xl {
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:1.1rem; color:var(--gold); text-transform:uppercase; letter-spacing:.04em;
}

/* ── Trails ────────────────────────────────────────── */
.trails-header { text-align:center; margin-bottom:52px }
.trails-header h2 { margin-top:14px }
.trail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px }
.trail-card {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; padding:32px 26px;
  position:relative; overflow:hidden;
  transition:border-color .25s,transform .25s;
}
.trail-card:hover { border-color:rgba(254,213,0,.3); transform:translateY(-4px) }
.trail-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--tc,var(--gold));
}
.trail-card.feat {
  border-color:rgba(254,213,0,.35);
  background:var(--surface);
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,.3);
  padding-top:46px;
}
.trail-level {
  font-family:'IBM Plex Mono',monospace; font-size:0.84rem;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--tc,var(--gold)); margin-bottom:12px;
}
.trail-card h3 { margin-bottom:10px }
.trail-card p { margin-bottom:22px }
.trail-tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:26px }
.trail-tag {
  font-family:'IBM Plex Mono',monospace; font-size:0.8rem;
  background:rgba(255,255,255,.04); color:var(--muted);
  border:1px solid rgba(255,255,255,.08);
  padding:4px 9px; border-radius:6px;
}
.trail-cta {
  display:flex; align-items:center; gap:7px;
  font-family:'IBM Plex Mono',monospace; font-size:0.94rem;
  color:var(--tc,var(--gold)); cursor:pointer; transition:gap .2s;
}
.trail-cta:hover { gap:12px }
.feat-badge {
  position:absolute; top:10px; right:18px;
  background:var(--gold); color:var(--bg);
  font-family:'IBM Plex Mono',monospace; font-size:0.78rem;
  font-weight:600; padding:3px 9px; border-radius:6px; letter-spacing:.06em;
  z-index:1;
}

/* ── Courses ───────────────────────────────────────── */
.courses-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px }
.courses-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.course-card {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; overflow:hidden;
  transition:border-color .25s,transform .25s;
}
.course-card:hover { border-color:rgba(254,213,0,.3); transform:translateY(-3px) }
.course-thumb {
  height:110px;
  background:var(--ct,var(--surface));
  display:flex; align-items:center; justify-content:center;
  font-size:2.64rem; position:relative;
}
.course-thumb::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(13,13,26,.85),transparent);
}
.course-body { padding:18px 20px }
.course-badge-off {
  display:inline-block; font-family:'IBM Plex Mono',monospace;
  font-size:.64rem; letter-spacing:.08em;
  color:var(--bg); background:var(--gold);
  padding:2px 7px; border-radius:6px; margin-bottom:6px; font-weight:600;
}
.course-lvl {
  font-family:'IBM Plex Mono',monospace; font-size:0.78rem;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); margin-bottom:7px;
}
.course-card h3 { font-size:1.14rem; margin-bottom:8px }
.course-card p { font-size:0.94rem; margin-bottom:14px }
.course-meta {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:12px; border-top:1px solid rgba(255,255,255,.05);
}
.course-tag { font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--muted) }
.course-link { font-family:'IBM Plex Mono',monospace; font-size:0.86rem; color:var(--gold) }
.course-link:hover { color:#fff }

/* ── Differentials ─────────────────────────────────── */
.diff-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px }
.diff-card {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; padding:26px 20px; text-align:center;
  transition:border-color .25s,transform .25s;
}
.diff-card:hover { border-color:rgba(254,213,0,.25); transform:translateY(-3px) }
.diff-card-hero {
  border-color:rgba(254,213,0,.25);
  background:var(--surface);
  border-top:3px solid var(--gold);
}
.diff-icon { font-size:2.16rem; margin-bottom:14px; display:flex; align-items:center; justify-content:center }
.diff-card h3 { font-size:1.14rem; margin-bottom:8px }

/* ── Partners ──────────────────────────────────────── */
.partners-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-bottom:28px }
@media(min-width:960px) { .partners-grid { grid-template-columns:repeat(8,1fr) } }
.partner-item {
  background:var(--surface); border:1px solid rgba(255,255,255,.05);
  border-radius:12px; padding:18px 14px;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .25s,background .25s; min-height:64px;
}
.partner-item:hover { border-color:rgba(254,213,0,.3); background:rgba(255,255,255,.04) }
.partner-item img {
  max-height:38px; max-width:100px; object-fit:contain;
  opacity:0.55; transition:opacity .25s;
}
.partner-item:hover img { opacity:1 }
.partner-item span {
  font-family:'Montserrat',sans-serif; font-size:0.88rem;
  font-weight:600; letter-spacing:.06em; color:var(--muted);
  text-transform:uppercase; transition:color .25s;
}
.partner-item:hover span { color:var(--text) }
.partners-note {
  font-family:'IBM Plex Mono',monospace; font-size:0.86rem;
  color:var(--muted); text-align:center;
}

/* ── Instructors ───────────────────────────────────── */
.instructors-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px }
.instructor-card {
  border-radius:12px; overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  transition:border-color .25s,transform .25s;
}
.instructor-card:hover { border-color:rgba(254,213,0,.3); transform:translateY(-4px) }
.instructor-photo {
  height:200px; background:var(--surface);
  position:relative;
}
.instructor-photo img { filter:grayscale(100%); object-position:top; }
.instructor-photo::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(254,213,0,.25) 0%,transparent 60%);
}
.instructor-info { background:var(--surface); padding:16px 18px }
.instructor-info strong {
  font-family:'Montserrat',sans-serif; font-size:1.06rem;
  font-weight:700; text-transform:uppercase; letter-spacing:.02em;
  color:var(--text); display:block; margin-bottom:4px;
}
.instructor-info span {
  font-family:'IBM Plex Mono',monospace; font-size:0.82rem; color:var(--gold);
}

/* ── Certifications ────────────────────────────────── */
.cert-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center }
.cert-levels { display:grid; grid-template-columns:1fr 1fr; gap:14px }
.cert-card {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; padding:18px 20px;
  position:relative; overflow:hidden; transition:border-color .25s;
}
.cert-card:hover { border-color:rgba(254,213,0,.25) }
.cert-card::before {
  content:''; position:absolute; top:0; left:0; width:3px; height:100%;
  background:var(--cc,var(--gold));
}
.cert-badge { font-size:1.68rem; margin-bottom:7px }
.cert-card h4 { font-size:1.06rem; margin-bottom:4px }

/* ── Testimonials ──────────────────────────────────── */
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.test-card {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; padding:26px;
  display:flex; flex-direction:column; transition:border-color .25s;
}
.test-card:hover { border-color:rgba(254,213,0,.25) }
.test-stars { color:var(--gold); font-size:1.14rem; letter-spacing:3px; margin-bottom:14px }
.test-quote {
  font-size:0.96rem; color:rgba(232,240,247,.8);
  line-height:1.75; margin-bottom:18px; flex:1; font-style:italic;
}
.test-author { display:flex; align-items:center; gap:12px }
.test-av {
  width:42px; height:42px; border-radius:12px; flex-shrink:0;
  background:var(--gold); display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif; font-weight:700;
  color:var(--bg); font-size:1.14rem;
}
.test-name { font-weight:600; font-size:1.06rem }
.test-role { font-family:'IBM Plex Mono',monospace; font-size:0.84rem; color:var(--muted) }

/* ── B2B ───────────────────────────────────────────── */
.b2b-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center }
.b2b-card {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-top:3px solid var(--gold); border-radius:12px; padding:34px;
}
.b2b-feat { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px }
.b2b-fi { color:var(--gold); margin-top:2px; flex-shrink:0; font-size:1.14rem }
.b2b-list { list-style:none; margin-bottom:30px }
.b2b-list li {
  display:flex; align-items:center; gap:10px;
  font-family:'IBM Plex Mono',monospace; font-size:0.96rem;
  color:var(--muted2); margin-bottom:9px;
}
.b2b-list li::before { content:'→'; color:var(--gold); font-weight:700 }

/* ── FAQ ───────────────────────────────────────────── */
.faq-list { max-width:780px; margin:0 auto }
.faq-item {
  background:var(--surface); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; margin-bottom:10px; overflow:hidden;
}
.faq-q {
  width:100%; text-align:left;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:20px 24px;
  font-family:'Montserrat',sans-serif; font-weight:600;
  font-size:1.14rem; letter-spacing:.02em;
  color:var(--text); background:none; border:none; cursor:pointer;
}
.faq-arrow { color:var(--gold); font-size:1.32rem; transition:transform .25s; flex-shrink:0 }
.faq-item.open .faq-arrow { transform:rotate(45deg) }
.faq-a {
  max-height:0; overflow:hidden; transition:max-height .35s ease,padding .35s;
  font-size:0.98rem; color:var(--muted2); line-height:1.7; padding:0 24px;
}
.faq-item.open .faq-a { max-height:200px; padding:0 24px 20px }

/* ── CTA Final ─────────────────────────────────────── */
.cta-final {
  text-align:center; padding:60px 0 48px !important;
  border-top:1px solid var(--gold-bg);
  position:relative; overflow:hidden;
}
.cta-final h2 { margin-bottom:14px }
.cta-final > div > p { max-width:520px; margin:0 auto 34px }
.cta-actions { display:flex; justify-content:center; gap:14px; flex-wrap:wrap }
.cta-note {
  margin-top:18px; font-family:'IBM Plex Mono',monospace;
  font-size:0.84rem; color:var(--muted);
}
.cta-final .cta-note { margin-top:32px; }

/* Footer e WhatsApp → css/rodape.css (carregado via includes/rodape.php) */

/* ── Section helpers ───────────────────────────────── */
.section-alt { background:var(--surface) }
.section-head { text-align:center; margin-bottom:52px }
.section-head h2 { margin-top:14px }
.gold-line { border:none; border-top:1px solid var(--gold-bg); margin:0 }

/* ── Animations ────────────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.hero-content > * { animation:fadeUp .7s ease both }
.hero-label { animation-delay:.1s }
.hero h1 { animation-delay:.22s }
.hero-sub { animation-delay:.34s }
.hero-ctas { animation-delay:.46s }
.hero-stats { animation-delay:.58s }

/* ── Hamburger mobile ──────────────────────────────── */
.nav-toggle { display:none }
.nav-hamburger {
  display:none; flex-direction:column; justify-content:space-between;
  width:28px; height:20px; cursor:pointer; z-index:1100; flex-shrink:0;
}
.nav-hamburger span {
  display:block; height:2px; width:100%; background:var(--text);
  border-radius:2px; transition:all .3s ease;
}
.nav-mobile-menu {
  display:none; position:absolute; top:100%; left:0; right:0;
  background:rgba(13,13,26,.98); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--gold-bg);
  flex-direction:column; padding:12px 0; z-index:999;
}
.nav-mobile-menu a {
  font-family:'IBM Plex Mono',monospace; font-size:0.84rem;
  letter-spacing:.06em; color:var(--muted);
  padding:14px 24px; transition:color .2s,background .2s;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.nav-mobile-menu a:last-child { border-bottom:none }
.nav-mobile-menu a:hover,
.nav-mobile-menu a.active { color:var(--gold); background:var(--gold-bg2) }
.nav-mobile-menu .nav-mobile-login { color:var(--muted) }
.nav-mobile-menu .nav-mobile-cta {
  color:var(--gold); font-weight:600;
  border-top:1px solid rgba(254,213,0,.15); margin-top:4px;
}

/* ── Responsive ────────────────────────────────────── */
@media(max-width:1024px) {
  .nav-hamburger { display:flex }
  .nav-links { display:none }
  .nav-actions { display:none }
  .nav-toggle:checked ~ .nav-mobile-menu { display:flex }
  .nav-toggle:checked + .nav-hamburger span:nth-child(1) { transform:translateY(9px) rotate(45deg) }
  .nav-toggle:checked + .nav-hamburger span:nth-child(2) { opacity:0; transform:scaleX(0) }
  .nav-toggle:checked + .nav-hamburger span:nth-child(3) { transform:translateY(-9px) rotate(-45deg) }
}
@media(min-width:1025px) {
  .nav-links { display:flex }
  .nav-actions { display:flex }
  .nav-hamburger { display:none }
  .nav-mobile-menu { display:none !important }
}

@media(max-width:960px) {
  .hero-grid,.market-grid,.b2b-grid,.cert-grid { grid-template-columns:1fr; gap:40px }
  .hero { min-height:auto; align-items:flex-start; }
  .hero .container { width:100%; }
  .hero-chat { display:none }
  .hero-stats { display:none }
  .trail-grid,.courses-grid,.diff-grid,.test-grid { grid-template-columns:1fr 1fr }
  .proof-inner { justify-content:flex-start }
  .proof-div { display:none }
  .partners-grid { grid-template-columns:repeat(4,1fr) }
  .instructors-grid { grid-template-columns:1fr 1fr; gap:14px }
  .stat-row-minor { gap:8px }
}
@media(max-width:600px) {
  .trail-grid,.courses-grid,.diff-grid,.test-grid,.cert-levels { grid-template-columns:1fr }
  .courses-header { flex-direction:column; align-items:flex-start; gap:12px }
  .partners-grid { grid-template-columns:repeat(3,1fr); gap:10px }
  .partner-item { padding:12px 8px; min-height:52px }
  .partner-item img { max-height:24px; max-width:60px }
  .instructors-grid { grid-template-columns:1fr 1fr; gap:10px }
  .instructor-photo { height:140px }
  .instructor-info { padding:10px 12px }
  .instructor-info strong { font-size:0.86rem }
  .diff-grid { grid-template-columns:1fr }
  .stat-hero { padding:18px 20px }
  .stat-n-xl { font-size:2.4rem }
  .proof-num-xl { font-size:2.4rem }
  .proof-inner { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .proof-inner { flex-direction:column; align-items:flex-start; gap:16px }
  .proof-bar { padding:22px 0 32px }
  .hero-ctas { margin-bottom:28px }
  .hero-stats { padding-top:18px }
}
@media(max-width:480px) {
  .partners-grid { grid-template-columns:repeat(2,1fr) }
  .partner-item img { max-height:36px; max-width:100px }
  .cert-levels { grid-template-columns:1fr 1fr }
  .b2b-ctas { flex-direction:column }
  .b2b-ctas .btn { width:100%; text-align:center; justify-content:center }
  .cert-grid .btn { width:100%; text-align:center; justify-content:center }
  .cta-actions { flex-direction:column }
  .cta-actions .btn { width:100%; text-align:center; justify-content:center }
  .hero-ctas { flex-direction:column }
  .hero-ctas .btn { width:100%; text-align:center }
  .hero { padding-top:180px }
}

