/* ─── FORGENEXT THEME — main.css ─── */
:root {
  --blue: #2563EB;
  --blue-light: #3B82F6;
  --blue-dark: #1D4ED8;
  --blue-glow: rgba(37,99,235,0.35);
  --black: #060608;
  --black-2: #0C0C10;
  --black-3: #111116;
  --black-4: #18181F;
  --black-5: #1E1E28;
  --white: #F5F6FA;
  --white-dim: rgba(245,246,250,0.88);
  --gray: #555566;
  --gray-light: #9999AA;
  --border: rgba(255,255,255,0.08);
  --border-blue: rgba(37,99,235,0.25);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background: var(--black);
  color: var(--white);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}

::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--black); }
::-webkit-scrollbar-thumb { background:var(--blue); border-radius:2px; }

/* ─── TOP BAR ─── */
#topbar {
  background: var(--blue-dark);
  padding:8px 60px;
  display:flex; align-items:center; justify-content:space-between;
  font-family:'DM Mono', monospace; font-size:11px; letter-spacing:1.5px;
  text-transform:uppercase; color:rgba(255,255,255,0.85);
}
#topbar .topbar-left { display:flex; align-items:center; gap:24px; }
#topbar .topbar-sep { opacity:0.4; }
#topbar .topbar-right { display:flex; align-items:center; gap:20px; }
#topbar a { color:rgba(255,255,255,0.85); text-decoration:none; transition:color 0.2s; }
#topbar a:hover { color:#fff; }

/* ─── NAV ─── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:200;
  transition: top 0.4s ease;
}
#navbar.has-topbar { top:36px; }
.nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 60px;
  transition: background 0.4s, padding 0.4s, border-color 0.4s;
  border-bottom:1px solid transparent;
}
#navbar.scrolled .nav-inner {
  background: rgba(6,6,8,0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding:14px 60px;
  border-bottom:1px solid var(--border-blue);
}
.nav-logo {
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
  font-family:'Space Grotesk', sans-serif; font-size:20px; font-weight:700;
  letter-spacing:0.5px;
}
.nav-logo .logo-mark {
  width:32px; height:32px; position:relative; flex-shrink:0;
}
.nav-logo .logo-mark svg { width:100%; height:100%; }
.nav-logo .logo-word1 { color:var(--white); }
.nav-logo .logo-word2 { color:var(--blue-light); }

.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a {
  font-family:'DM Sans', sans-serif; font-size:13px; font-weight:500;
  letter-spacing:1.5px; text-transform:uppercase;
  color:var(--gray-light); text-decoration:none; transition:color 0.3s;
}
.nav-links a:hover { color:var(--white); }
.nav-cta {
  font-family:'DM Sans', sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  color:#fff; background:var(--blue);
  padding:10px 24px; text-decoration:none; border-radius:4px;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
  box-shadow: 0 0 0 rgba(37,99,235,0);
}
.nav-cta:hover {
  background:var(--blue-light);
  transform:translateY(-1px);
  box-shadow: 0 4px 20px rgba(37,99,235,0.4);
}

/* ─── HERO ─── */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; overflow:hidden;
  padding-top:120px;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(135deg, rgba(37,99,235,0.08) 0%, transparent 50%),
    linear-gradient(to bottom, rgba(6,6,8,0) 0%, rgba(6,6,8,0.5) 60%, var(--black) 100%),
    var(--black-2);
}
.hero-grid-lines {
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(37,99,235,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,0.06) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black 20%, transparent 70%);
}
.hero-glow {
  position:absolute; top:-10%; left:50%; transform:translateX(-50%);
  width:800px; height:600px; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(37,99,235,0.12) 0%, transparent 70%);
}
.hero-noise {
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:0.35; pointer-events:none;
}
.hero-content {
  position:relative; z-index:2; padding:0 60px 80px;
  max-width:800px;
  opacity:0; transform:translateY(30px); animation:riseUp 1s 0.3s forwards;
}
.hero-tag {
  font-family:'DM Mono', monospace; font-size:11px;
  letter-spacing:4px; text-transform:uppercase; color:var(--blue-light);
  margin-bottom:24px; display:flex; align-items:center; gap:14px;
}
.hero-tag::before { content:''; display:block; width:32px; height:1px; background:var(--blue-light); }
.hero-title {
  font-family:'Space Grotesk', sans-serif; font-weight:800;
  font-size:clamp(56px,8vw,112px); line-height:0.92;
  letter-spacing:-2px; margin-bottom:32px;
}
.hero-title .blue { color:var(--blue-light); }
.hero-desc {
  font-size:18px; line-height:1.7; font-weight:300;
  color:var(--white-dim); max-width:560px; margin-bottom:40px;
}
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }

/* ─── BOTÕES ─── */
.btn-primary {
  font-family:'DM Sans', sans-serif; font-size:13px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  color:#fff; background:var(--blue);
  padding:14px 32px; text-decoration:none; border-radius:4px; display:inline-block;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
}
.btn-primary:hover {
  background:var(--blue-light);
  transform:translateY(-2px);
  box-shadow: 0 8px 30px rgba(37,99,235,0.4);
}
.btn-ghost {
  font-family:'DM Sans', sans-serif; font-size:13px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  color:var(--white); background:transparent;
  border:1px solid rgba(255,255,255,0.25);
  padding:14px 32px; text-decoration:none; border-radius:4px; display:inline-block;
  transition: border-color 0.3s, color 0.3s, transform 0.2s;
}
.btn-ghost:hover {
  border-color:var(--blue-light);
  color:var(--blue-light);
  transform:translateY(-2px);
}

/* ─── HERO MÉTRICAS ─── */
.hero-metrics {
  position:absolute; bottom:60px; right:60px; z-index:2;
  display:flex; gap:2px; flex-direction:column;
  opacity:0; animation:fadeIn 1s 1s forwards;
}
.metric-card {
  background:rgba(12,12,16,0.8); backdrop-filter:blur(8px);
  border:1px solid var(--border); border-left:3px solid var(--blue);
  padding:14px 24px; min-width:180px;
}
.metric-card .value { font-family:'Space Grotesk',sans-serif; font-size:28px; font-weight:700; color:var(--white); line-height:1; }
.metric-card .label { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gray-light); margin-top:4px; }

/* ─── MARQUEE ─── */
.marquee-wrap {
  overflow:hidden; border-top:1px solid var(--border-blue); border-bottom:1px solid var(--border-blue);
  background:var(--black-3); padding:14px 0;
}
.marquee-track {
  display:flex; align-items:center; gap:0;
  width:max-content; animation:marquee 35s linear infinite;
}
.marquee-item {
  font-family:'DM Mono', monospace; font-size:11px; font-weight:500;
  letter-spacing:3px; text-transform:uppercase; color:var(--gray-light);
  padding:0 32px; white-space:nowrap;
  transition: color 0.3s;
}
.marquee-item:hover { color:var(--blue-light); }
.marquee-dot {
  display:inline-block; width:4px; height:4px;
  background:var(--blue); border-radius:50%; flex-shrink:0;
}
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ─── SECTION BASE ─── */
section { padding:100px 60px; }
.section-tag {
  font-family:'DM Mono', monospace; font-size:11px;
  letter-spacing:3px; text-transform:uppercase; color:var(--blue-light);
  margin-bottom:16px; display:flex; align-items:center; gap:12px;
}
.section-tag::before { content:'//'; opacity:0.5; }
.section-title {
  font-family:'Space Grotesk', sans-serif; font-weight:800;
  font-size:clamp(36px,5vw,64px); line-height:1; letter-spacing:-1.5px;
  margin-bottom:32px;
}

/* ─── SOBRE ─── */
#sobre { background:var(--black); padding:100px 60px; }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  max-width:1200px; margin:0 auto; align-items:center;
}
.about-visual { position:relative; }
.about-img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; display:block; }
.about-img-placeholder {
  width:100%; aspect-ratio:4/3; border-radius:8px;
  background:var(--black-4); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.about-img-placeholder::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(37,99,235,0.05) 0%, transparent 60%);
}
.about-badge {
  position:absolute; bottom:-20px; right:-20px;
  background:var(--blue); padding:16px 20px; border-radius:4px;
  font-family:'Space Grotesk', sans-serif; font-weight:800;
  line-height:1; text-align:center;
}
.about-badge .big { display:block; font-size:22px; letter-spacing:1px; }
.about-badge .small { display:block; font-size:10px; letter-spacing:2px; margin-top:4px; opacity:0.8; }
.about-text p {
  font-size:17px; line-height:1.75; color:var(--white-dim);
  margin-bottom:20px;
}
.about-divider { width:40px; height:2px; background:var(--blue); margin:32px 0; }
.about-facts { display:flex; gap:32px; flex-wrap:wrap; }
.about-fact .val {
  font-family:'Space Grotesk', sans-serif; font-size:32px; font-weight:800;
  color:var(--white); line-height:1;
}
.about-fact .key { font-size:12px; letter-spacing:1px; color:var(--gray-light); margin-top:4px; text-transform:uppercase; }

/* ─── PILARES ─── */
.pilares { background:var(--black-2); }
.pilares-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  max-width:1200px; margin:40px auto 0;
}
.pilar-card {
  background:var(--black-4); padding:40px 36px;
  border:1px solid var(--border); border-top:3px solid transparent;
  transition: border-color 0.3s, background 0.3s, transform 0.3s;
  position:relative; overflow:hidden;
}
.pilar-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--blue); transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s ease;
}
.pilar-card:hover::before { transform:scaleX(1); }
.pilar-card:hover { background:var(--black-5); transform:translateY(-4px); }
.pilar-icon {
  width:48px; height:48px; margin-bottom:24px;
  color:var(--blue-light); opacity:0.9;
}
.pilar-card h3 {
  font-family:'Space Grotesk', sans-serif; font-weight:700;
  font-size:20px; letter-spacing:-0.5px; margin-bottom:14px;
}
.pilar-card p { font-size:15px; line-height:1.7; color:rgba(245,246,250,0.75); }

/* ─── COMO CONTRIBUI ─── */
.contribui { background:var(--black-3); }
.contribui-inner { max-width:1200px; margin:0 auto; }
.contribui-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.contribui-text p { font-size:17px; line-height:1.75; color:var(--white-dim); margin-bottom:20px; }
.contribui-visual {
  position:relative; padding:40px;
  background:var(--black-5); border:1px solid var(--border-blue); border-radius:8px;
}
.contribui-quote {
  font-family:'Space Grotesk', sans-serif; font-size:22px; font-weight:600;
  line-height:1.5; color:var(--white); margin-bottom:20px;
  border-left:3px solid var(--blue); padding-left:24px;
}
.contribui-cite {
  font-family:'DM Mono', monospace; font-size:11px; letter-spacing:2px;
  color:var(--blue-light); text-transform:uppercase;
}
.contribui-steps { list-style:none; margin-top:40px; }
.contribui-steps li {
  display:flex; gap:16px; align-items:flex-start;
  padding:16px 0; border-bottom:1px solid var(--border);
  font-size:15px; color:var(--white-dim); line-height:1.5;
}
.contribui-steps li:last-child { border-bottom:none; }
.step-num {
  font-family:'DM Mono', monospace; font-size:11px; letter-spacing:1px;
  color:var(--blue-light); background:rgba(37,99,235,0.1);
  border:1px solid var(--border-blue); border-radius:3px;
  padding:3px 8px; flex-shrink:0; margin-top:1px;
}

/* ─── SERVIÇOS (Planos) ─── */
.servicos { background:var(--black-2); }
.servicos-intro { max-width:640px; margin-bottom:60px; }
.servicos-intro p { font-size:17px; line-height:1.7; color:var(--white-dim); }
.planos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; max-width:1200px; margin:0 auto; }
.plano-card {
  background:var(--black-4); border:1px solid var(--border);
  padding:40px 32px; position:relative; overflow:hidden;
  transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.plano-card:hover {
  transform:translateY(-6px);
  border-color:var(--border-blue);
  box-shadow: 0 20px 60px rgba(37,99,235,0.15);
}
.plano-card.featured {
  background:var(--blue-dark); border-color:var(--blue-light);
  box-shadow: 0 0 60px rgba(37,99,235,0.2);
}
.plano-badge {
  font-family:'DM Mono', monospace; font-size:10px; letter-spacing:3px;
  text-transform:uppercase; color:var(--blue-light); margin-bottom:12px;
}
.plano-card.featured .plano-badge { color:#93C5FD; }
.plano-title {
  font-family:'Space Grotesk', sans-serif; font-size:28px; font-weight:800;
  letter-spacing:-0.5px; margin-bottom:8px;
}
.plano-sub { font-size:13px; color:var(--gray-light); line-height:1.5; margin-bottom:28px; }
.plano-card.featured .plano-sub { color:rgba(255,255,255,0.7); }
.plano-divider { height:1px; background:var(--border); margin-bottom:28px; }
.plano-card.featured .plano-divider { background:rgba(255,255,255,0.15); }
.plano-benefits { list-style:none; }
.plano-benefits li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:14px; color:var(--white-dim); line-height:1.5;
  padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.04);
}
.plano-card.featured .plano-benefits li { color:rgba(255,255,255,0.85); border-color:rgba(255,255,255,0.08); }
.plano-benefits li::before { content:'→'; color:var(--blue-light); font-size:12px; flex-shrink:0; margin-top:1px; }
.plano-card.featured .plano-benefits li::before { color:#93C5FD; }
.plano-cta {
  display:block; text-align:center;
  font-family:'DM Sans', sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  color:var(--blue-light); border:1px solid var(--border-blue);
  padding:12px 24px; text-decoration:none; border-radius:4px; margin-top:28px;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.plano-cta:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.plano-card.featured .plano-cta {
  background:#fff; color:var(--blue-dark); border-color:#fff;
}
.plano-card.featured .plano-cta:hover { background:#EFF6FF; }

/* ─── CONTATO ─── */
.contato { background:var(--black); }
.contato-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.contato-info p { font-size:17px; line-height:1.7; color:var(--white-dim); margin-bottom:32px; }
.contato-channels { display:flex; flex-direction:column; gap:12px; }
.channel-link {
  display:flex; align-items:center; gap:14px;
  font-family:'DM Sans', sans-serif; font-size:15px; font-weight:500;
  color:var(--white); text-decoration:none;
  padding:16px 20px; border:1px solid var(--border); border-radius:4px;
  background:var(--black-4); transition: border-color 0.3s, background 0.3s;
}
.channel-link:hover { border-color:var(--border-blue); background:var(--black-5); }
.channel-icon { color:var(--blue-light); flex-shrink:0; }
.channel-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gray-light); display:block; }
.channel-val { font-size:15px; font-weight:600; display:block; margin-top:2px; }

/* ─── FORM ─── */
.contato-form { display:flex; flex-direction:column; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gray-light); }
.form-group input,
.form-group select,
.form-group textarea {
  background:var(--black-4); border:1px solid var(--border);
  color:var(--white); font-family:'DM Sans', sans-serif; font-size:14px;
  padding:12px 16px; border-radius:4px; outline:none; width:100%;
  transition:border-color 0.3s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--blue); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-group select option { background:var(--black-4); }
.form-submit {
  background:var(--blue); color:#fff; border:none; cursor:pointer;
  font-family:'DM Sans', sans-serif; font-size:13px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:14px 32px; border-radius:4px; margin-top:8px;
  transition:background 0.3s, transform 0.2s;
}
.form-submit:hover { background:var(--blue-light); transform:translateY(-1px); }
.form-msg { font-size:13px; padding:12px 16px; border-radius:4px; margin-top:8px; }
.form-msg.ok { background:rgba(34,197,94,0.1); border:1px solid rgba(34,197,94,0.3); color:#86EFAC; }
.form-msg.erro { background:rgba(239,68,68,0.1); border:1px solid rgba(239,68,68,0.3); color:#FCA5A5; }

/* ─── FOOTER ─── */
footer {
  background:var(--black-2); border-top:1px solid var(--border);
  padding:60px 60px 0;
}
.footer-inner {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:60px; max-width:1200px; margin:0 auto; padding-bottom:60px;
  border-bottom:1px solid var(--border);
}
.footer-brand .logo-text {
  font-family:'Space Grotesk', sans-serif; font-size:22px; font-weight:800;
  letter-spacing:0.5px; margin-bottom:16px; display:block;
}
.footer-brand .logo-text span { color:var(--blue-light); }
.footer-brand p { font-size:13px; line-height:1.7; color:var(--gray-light); max-width:280px; }
.footer-col h4 {
  font-family:'DM Mono', monospace; font-size:10px; letter-spacing:3px;
  text-transform:uppercase; color:var(--gray-light); margin-bottom:20px;
}
.footer-col ul { list-style:none; }
.footer-col ul li + li { margin-top:10px; }
.footer-col ul a { font-size:13px; color:rgba(245,246,250,0.7); text-decoration:none; transition:color 0.2s; }
.footer-col ul a:hover { color:var(--blue-light); }
.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 0; max-width:1200px; margin:0 auto;
}
.footer-bottom p { font-size:12px; color:var(--gray); }
.footer-bottom-right { display:flex; align-items:center; gap:20px; }
.footer-agency {
  font-size:12px; color:var(--gray-light); text-decoration:none;
  transition:color 0.2s;
}
.footer-agency:hover { color:var(--blue-light); }
.footer-agency strong { color:var(--white); }

/* ─── ANIMAÇÕES ─── */
@keyframes riseUp {
  to { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  to { opacity:1; }
}
.reveal {
  opacity:0; transform:translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }

/* ─── UTILITIES ─── */
.blue { color:var(--blue-light); }
.container { max-width:1200px; margin:0 auto; }

/* ─── MOBILE ─── */
@media (max-width:900px) {
  section { padding:70px 24px; }
  #topbar { display:none; }
  #navbar.has-topbar { top:0; }
  .nav-inner { padding:16px 24px; }
  .about-grid { grid-template-columns:1fr; gap:40px; }
  .pilares-grid { grid-template-columns:1fr; }
  .contribui-grid { grid-template-columns:1fr; gap:40px; }
  .planos-grid { grid-template-columns:1fr; }
  .contato-inner { grid-template-columns:1fr; gap:40px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:40px; }
  .hero-content { padding:0 24px 60px; }
  .hero-metrics { display:none; }
  .form-row { grid-template-columns:1fr; }
}

/* ─── 4-COLUMN SERVICE GRID (legado) ─── */
.planos-grid-4 { grid-template-columns: repeat(4,1fr); }
@media (max-width:1100px) { .planos-grid-4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width:600px)  { .planos-grid-4 { grid-template-columns: 1fr; } }

/* ─── COR HELPERS ─── */
.fn-color-blue   { color: var(--blue-light); }
.fn-color-teal   { color: #1D9E75; }
.fn-color-purple { color: #7F77DD; }
.fn-color-amber  { color: #BA7517; }
.fn-bg-blue      { background: var(--blue-light); }
.fn-bg-teal      { background: #1D9E75; }
.fn-bg-purple    { background: #7F77DD; }
.fn-bg-amber     { background: #BA7517; }

/* ─── FRENTES DE ATUAÇÃO ─── */
.frentes { background: var(--black-2); }
.frentes-intro { max-width: 640px; margin-bottom: 56px; }
.frentes-intro p { font-size: 17px; line-height: 1.7; color: var(--white-dim); }

.frentes-lista { display: flex; flex-direction: column; gap: 2px; max-width: 1200px; margin: 0 auto; }

.frente-row {
  background: var(--black-4);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.3s;
}
.frente-row.aberto { border-color: var(--border-blue); }

.frente-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 28px 36px;
  cursor: pointer;
  transition: background 0.2s;
  gap: 24px;
}
.frente-header:hover { background: var(--black-5); }

.frente-header-left { display: flex; align-items: flex-start; gap: 24px; flex: 1; }

.frente-num {
  font-family: 'DM Mono', monospace;
  font-size: 13px; font-weight: 500; letter-spacing: 2px;
  flex-shrink: 0; padding-top: 3px;
}

.frente-header-text { flex: 1; }

.frente-titulo {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 26px; font-weight: 800; letter-spacing: -0.5px;
  color: var(--white); margin-bottom: 6px; line-height: 1;
}

.frente-problema {
  font-size: 14px; color: var(--gray-light); line-height: 1.55;
  max-width: 680px;
}

.frente-toggle { flex-shrink: 0; color: var(--gray-light); transition: color 0.2s; }
.frente-header:hover .frente-toggle { color: var(--white); }

.frente-chevron {
  transition: transform 0.35s ease;
  display: block;
}
.frente-row.aberto .frente-chevron { transform: rotate(180deg); }

/* Body colapsável */
.frente-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s ease, padding 0.3s ease;
  padding: 0 36px;
}
.frente-row.aberto .frente-body {
  max-height: 800px;
  padding: 0 36px 32px;
}

.frente-subs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 24px;
}

.frente-sub {
  background: var(--black-3);
  padding: 18px 22px;
  transition: background 0.2s;
}
.frente-sub:hover { background: var(--black-5); }

.frente-sub-label {
  display: flex; align-items: center; gap: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 600;
  color: var(--white); margin-bottom: 6px;
  letter-spacing: 0.2px;
}

.frente-sub-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}

.frente-sub-desc {
  font-size: 13px; color: var(--gray-light); line-height: 1.6;
  padding-left: 16px;
}

.frente-cta { display: flex; justify-content: flex-end; }
.frente-btn { font-size: 12px; padding: 10px 22px; }

@media (max-width: 900px) {
  .frente-header { padding: 22px 20px; gap: 16px; }
  .frente-header-left { gap: 16px; }
  .frente-titulo { font-size: 22px; }
  .frente-body { padding: 0 20px; }
  .frente-row.aberto .frente-body { padding: 0 20px 24px; }
  .frente-subs { grid-template-columns: 1fr; }
}

/* ─── BAGAGEM / CREDENCIAIS ─── */
.bagagem { background:var(--black-3); }
.bagagem-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:start; margin-top:48px;
}
.bagagem-texto p {
  font-size:17px; line-height:1.75; color:var(--white-dim); margin-bottom:20px;
}
.bag-quote {
  margin:32px 0; padding:24px 28px;
  background:var(--black-5); border-left:3px solid var(--blue);
  border-radius:0 4px 4px 0;
}
.bag-quote blockquote {
  font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:600;
  line-height:1.5; color:var(--white); margin-bottom:10px;
}
.bag-quote cite {
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:2px;
  text-transform:uppercase; color:var(--blue-light);
}
.bag-segs { margin-top:28px; }
.bag-segs-label {
  font-family:'DM Mono',monospace; font-size:10px; letter-spacing:2px;
  text-transform:uppercase; color:var(--gray-light); display:block; margin-bottom:12px;
}
.bag-segs-list { display:flex; flex-wrap:wrap; gap:8px; }
.bag-seg {
  font-size:12px; font-weight:500; letter-spacing:0.5px;
  color:var(--blue-light); background:rgba(37,99,235,0.1);
  border:1px solid var(--border-blue); border-radius:3px;
  padding:5px 12px;
}

/* ─── TOOLS GRID ─── */
.bagagem-tools {
  background:var(--black-4); border:1px solid var(--border);
  border-radius:8px; padding:36px;
  position:sticky; top:120px;
}
.tools-label {
  font-family:'DM Mono',monospace; font-size:10px; letter-spacing:3px;
  text-transform:uppercase; color:var(--gray-light); margin-bottom:24px;
  padding-bottom:16px; border-bottom:1px solid var(--border);
}
.tools-grid { display:flex; flex-wrap:wrap; gap:8px; }
.tool-tag {
  font-size:12px; font-weight:500; padding:7px 14px;
  background:var(--black-3); border:1px solid var(--border); border-radius:3px;
  color:var(--white-dim); transition:border-color 0.25s, color 0.25s, background 0.25s;
  cursor:default;
}
.tool-tag:hover {
  border-color:var(--border-blue); color:var(--blue-light);
  background:rgba(37,99,235,0.08);
}

@media (max-width:900px) {
  .bagagem-grid { grid-template-columns:1fr; gap:40px; }
  .bagagem-tools { position:static; }
}

/* ─── ACADEMIA FORGENEXT ─── */
.academia {
  padding: 100px 0;
  background: var(--black-2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.academia-inner {
  background: linear-gradient(135deg, rgba(37,99,235,0.07) 0%, transparent 60%),
              var(--black-3);
  border: 1px solid var(--border-blue);
  border-radius: 12px;
  padding: 64px;
  position: relative;
  overflow: hidden;
}
.academia-inner::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(59,130,246,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.academia-label {
  margin-bottom: 32px;
}
.academia-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.academia-titulo {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  color: var(--white);
  margin-bottom: 24px;
  line-height: 1.1;
  letter-spacing: -0.5px;
}
.academia-p1 {
  font-size: 15px;
  color: var(--gray-light);
  margin-bottom: 16px;
  line-height: 1.7;
}
.academia-p2 {
  font-size: 15px;
  color: var(--white-dim);
  margin-bottom: 16px;
  line-height: 1.7;
}
.academia-p3 {
  font-size: 15px;
  color: var(--white-dim);
  margin-bottom: 24px;
  line-height: 1.7;
}
.academia-detalhe {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.5px;
  color: var(--blue-light);
  text-transform: uppercase;
  margin-bottom: 32px;
}
.academia-cta {
  display: inline-block;
}
.academia-pillars {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.academia-pillar {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  background: var(--black-4);
  border: 1px solid var(--border);
  border-radius: 8px;
  transition: border-color 0.25s, background 0.25s;
}
.academia-pillar:hover {
  border-color: var(--border-blue);
  background: rgba(37,99,235,0.06);
}
.academia-pillar-icon {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(59,130,246,0.12);
  border-radius: 6px;
  color: var(--blue-light);
  flex-shrink: 0;
}
.academia-pillar-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.academia-pillar-body strong {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
}
.academia-pillar-body span {
  font-size: 13px;
  color: var(--gray-light);
  line-height: 1.5;
}

@media (max-width: 900px) {
  .academia-inner { padding: 40px 24px; }
  .academia-content { grid-template-columns: 1fr; gap: 40px; }
}
