/* ─── HERO ─── */
.hero-centered {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 140px 0 80px;
  overflow: hidden;
  background: var(--ink);
}

/* Vídeo cobre todo o fundo da seção */
.hero-video-wrap {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%; height: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero-video-wrap video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Camada escura + fade para baixo sobre o vídeo */
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(to bottom,
      rgba(5,8,7,0.55) 0%,
      rgba(5,8,7,0.40) 30%,
      rgba(5,8,7,0.65) 70%,
      rgba(5,8,7,1.00) 100%
    );
}

/* Conteúdo fica na frente de tudo */
.hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
.hero-content .eyebrow { justify-content:center; margin-bottom:28px; }
.hero-content h1 { font-size:clamp(40px,6.5vw,96px); line-height:1.06; letter-spacing:-.04em; font-weight:500; margin:0; }
.hero-content h1 em { font-family:var(--serif); font-style:italic; font-weight:400; color:var(--mint); letter-spacing:-.02em; }
.hero-content .lead { margin:28px auto 0; font-size:clamp(16px,1.3vw,19px); line-height:1.6; color:rgba(244,246,243,0.7); max-width:72ch; font-weight:400; }
.hero-content .row { justify-content:center; margin-top:40px; gap:16px; }
.hero-content .hero-meta { margin-top:72px; display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(244,246,243,0.38); font-weight:600; }
.hero-content .hero-meta .dot { width:3px; height:3px; border-radius:50%; background:var(--mint); opacity:0.5; flex-shrink:0; }
@media (max-width:900px) {
  .hero-centered { padding:120px 0 60px; }
  .hero-content .lead { max-width:90%; }
  .hero-content .hero-meta { gap:12px; font-size:10px; }
}

/* ─── BIG NUMBERS ─── */
.bignum-summary { padding:96px 0 80px; border-top:1px solid var(--line-2); background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%); position:relative; overflow:hidden; }
.bns-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:56px; gap:24px; flex-wrap:wrap; }
.bns-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line-2); }
.bns { padding:48px 28px 48px 0; border-right:1px solid var(--line-2); }
.bns:last-child { border-right:none; padding-right:0; }
.bns:not(:first-child) { padding-left:28px; }
.bns-n { font-family:var(--sans); font-weight:500; font-size:clamp(48px,5.5vw,88px); line-height:.95; letter-spacing:-.04em; color:var(--mint); }
.bns-l { margin-top:16px; font-size:13px; color:var(--muted); line-height:1.5; max-width:26ch; }
@media (max-width:900px) { .bns-grid { grid-template-columns:1fr 1fr; } .bns { border-right:none; padding:36px 0 !important; border-bottom:1px solid var(--line-2); } .bns:nth-child(2n) { padding-left:20px !important; border-left:1px solid var(--line-2); } }

/* ─── MARQUEE ─── */
.logos-strip { padding:56px 0 20px; background:var(--ink-2); border-bottom:1px solid var(--line-2); overflow:hidden; }
.logos-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; gap:24px; flex-wrap:wrap; }
.logos-count { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--muted-2); font-weight:500; }
.marquee { position:relative; overflow:hidden; padding:28px 0; mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent); }
.marquee-track { display:inline-flex; gap:16px; animation:marqueeRun 50s linear infinite; white-space:nowrap; width:max-content; }
.marquee:hover .marquee-track { animation-play-state:paused; }
@keyframes marqueeRun { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.logo-pill { display:inline-flex; align-items:center; padding:12px 24px; border-radius:999px; border:1px solid var(--line-2); background:rgba(255,255,255,.02); font-family:var(--serif); font-style:italic; font-weight:500; font-size:20px; color:var(--text); letter-spacing:-.01em; white-space:nowrap; transition:all .25s ease; }
.logo-pill:hover { border-color:var(--mint); color:var(--mint); }

/* ─── TESTIMONIALS ─── */
.testi-head { margin-bottom:48px; }
.testi-head h2 em { font-family:var(--serif); font-style:italic; font-weight:400; color:var(--mint); }
.testi-viewport { overflow:hidden; }
.testi-track { display:flex; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.testi-card { flex:0 0 calc(50% - 12px); margin-right:24px; padding:44px 40px; background:rgba(255,255,255,.025); border:1px solid var(--line-2); --c:32px; clip-path:polygon(var(--c) 0%,100% 0%,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0% 100%,0% var(--c)); position:relative; }
.testi-q { font-family:var(--serif); font-style:italic; font-size:100px; line-height:.6; color:var(--mint); opacity:.22; margin-bottom:6px; }
.testi-card p { font-size:20px; line-height:1.5; color:var(--text); letter-spacing:-.01em; margin:0 0 36px; font-weight:400; }
.testi-by { display:flex; align-items:center; gap:14px; padding-top:24px; border-top:1px solid var(--line-2); }
.testi-av { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--mint-deep),var(--ink-3)); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-style:italic; color:var(--mint); font-size:17px; flex-shrink:0; }
.testi-by b { display:block; font-weight:500; font-size:15px; }
.testi-by span { display:block; font-size:13px; color:var(--muted); margin-top:2px; }
.testi-controls { margin-top:36px; display:flex; align-items:center; gap:20px; }
.testi-btn { width:52px; height:52px; border-radius:50%; border:1px solid var(--line-2); background:transparent; color:var(--text); cursor:pointer; transition:all .2s ease; display:flex; align-items:center; justify-content:center; }
.testi-btn:hover { border-color:var(--mint); color:var(--mint); }
.testi-btn svg { width:16px; height:16px; }
.testi-dots { display:flex; gap:8px; }
.testi-dot { width:28px; height:2px; background:var(--line-2); cursor:pointer; transition:background .2s ease; border:none; padding:0; }
.testi-dot.is-active { background:var(--mint); }
@media (max-width:900px) { .testi-card { flex:0 0 calc(100% - 12px); padding:32px 28px; } .testi-card p { font-size:17px; } }

/* ─── STATS STRIP ─── */
.stats { border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); padding:52px 0; background:var(--ink-2); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.stat .num { font-family:var(--sans); font-weight:500; font-size:clamp(36px,4vw,60px); line-height:1; letter-spacing:-.03em; color:var(--mint); }
.stat .lbl { margin-top:10px; font-size:14px; color:var(--muted); line-height:1.4; max-width:26ch; }
@media (max-width:900px) { .stats-grid { grid-template-columns:1fr 1fr; gap:36px; } }

/* ─── BIG NUMBERS POR FRENTE ─── */
.bignum-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bignum-card { background:rgba(255,255,255,.025); border:1px solid var(--line-2); padding:32px; transition:all .3s ease; }
.bignum-card:hover { background:rgba(169,233,186,.04); border-color:rgba(169,233,186,.3); transform:translateY(-3px); }
.bignum-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; gap:12px; flex-wrap:wrap; }
.bignum-rows { display:flex; flex-direction:column; }
.bignum-rows > div { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:18px 0; border-top:1px solid var(--line-2); align-items:baseline; }
.bignum-rows > div:last-child { border-bottom:1px solid var(--line-2); }
.bignum-rows b { font-family:var(--sans); font-weight:500; font-size:clamp(28px,2.5vw,42px); line-height:1; color:var(--mint); letter-spacing:-.03em; }
.bignum-rows span { font-size:13px; color:var(--muted); line-height:1.45; }
@media (max-width:900px) { .bignum-grid { grid-template-columns:1fr; } .bignum-rows > div { grid-template-columns:1fr; gap:4px; } }

/* ─── SIM CTA ─── */
.sim-cta { margin-top:48px; padding:36px 44px; background:linear-gradient(135deg,#0a1a12 0%,#122019 100%); border:1px solid rgba(169,233,186,.18); display:grid; grid-template-columns:1fr auto; align-items:center; gap:32px; }
@media (max-width:700px) { .sim-cta { grid-template-columns:1fr; padding:28px 24px; } }

/* ─── MANIFESTO ─── */
.manifesto-quote { font-family:var(--sans); font-weight:400; font-size:clamp(28px,3.5vw,48px); line-height:1.18; letter-spacing:-.02em; max-width:22ch; }
.manifesto-quote em { font-family:var(--serif); font-style:italic; font-weight:400; color:var(--mint); }
.manifesto-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start; }
.manifesto-grid p { color:var(--muted); margin:0 0 16px; max-width:56ch; font-size:17px; line-height:1.7; }
@media (max-width:900px) { .manifesto-grid { grid-template-columns:1fr; gap:28px; } }

/* ─── SERVICES ─── */
.services-head { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-bottom:56px; align-items:end; }
.services-head h2 em { font-family:var(--serif); font-style:italic; font-weight:400; color:var(--mint); }
.svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.svc-card { position:relative; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.005)); padding:40px 36px 32px; min-height:340px; display:flex; flex-direction:column; --c:32px; clip-path:polygon(var(--c) 0%,100% 0%,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0% 100%,0% var(--c)); transition:background .25s; cursor:pointer; }
.svc-card:hover { background:linear-gradient(180deg,rgba(169,233,186,.07),rgba(169,233,186,.01)); }
.svc-card .kicker { margin-bottom:24px; }
.svc-card h3 { font-size:clamp(22px,2.2vw,30px); line-height:1.12; margin-bottom:14px; font-weight:500; }
.svc-card p { color:var(--muted); margin:0 0 24px; font-size:15px; line-height:1.55; }
.svc-list { list-style:none; margin:auto 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; }
.svc-list li { font-size:13px; color:var(--text); display:flex; align-items:center; gap:8px; padding:5px 0; }
.svc-list li::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--mint); flex-shrink:0; }
@media (max-width:900px) { .services-head,.svc-grid { grid-template-columns:1fr; gap:20px; } }

/* ─── DIFFERENTIALS ─── */
.diff-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.diff-cell { padding:48px 32px 48px 0; border-top:1px solid var(--line-2); border-right:1px solid var(--line-2); }
.diff-cell:nth-child(3n) { border-right:none; padding-right:0; }
.diff-cell:nth-last-child(-n+3) { border-bottom:1px solid var(--line-2); }
.diff-cell .num { font-size:13px; font-weight:600; color:var(--mint); letter-spacing:3px; margin-bottom:20px; }
.diff-cell h4 { font-size:22px; font-weight:500; letter-spacing:-.01em; margin-bottom:12px; }
.diff-cell p { color:var(--muted); margin:0; font-size:14px; line-height:1.55; max-width:34ch; }
@media (max-width:900px) { .diff-grid { grid-template-columns:1fr; } .diff-cell { padding:36px 0; border-right:none !important; } }

/* ─── BLOG TEASE ─── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.post-card { background:var(--ink-2); border:1px solid var(--line-2); display:flex; flex-direction:column; min-height:440px; transition:border-color .2s,transform .2s; }
.post-card:hover { border-color:rgba(169,233,186,.4); transform:translateY(-4px); }
.post-thumb { height:200px; background:linear-gradient(135deg,var(--mint-deep),var(--mint-ink) 60%,var(--ink-3)); position:relative; overflow:hidden; }
.post-thumb img { width:100%; height:100%; object-fit:cover; }
.post-thumb::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 40%,rgba(169,233,186,.3),transparent 50%); }
.post-thumb-2 { background:linear-gradient(135deg,#173627,#0a1a12); }
.post-thumb-3 { background:linear-gradient(135deg,#1f5a3a,#0c130f); }
.post-body { padding:24px 24px 28px; flex:1; display:flex; flex-direction:column; }
.post-body .chip { margin-bottom:14px; align-self:flex-start; }
.post-body h3 { font-size:20px; font-weight:500; line-height:1.25; letter-spacing:-.01em; margin:0 0 12px; }
.post-body p { color:var(--muted); margin:0 0 20px; font-size:13px; line-height:1.55; }
.post-meta { margin-top:auto; font-size:12px; color:var(--muted-2); display:flex; gap:12px; }
@media (max-width:900px) { .blog-grid { grid-template-columns:1fr; } }

/* ─── CTA STRIP ─── */
.cta-strip { background:linear-gradient(135deg,#0a1a12 0%,#122019 100%); position:relative; overflow:hidden; padding:88px 0; margin-top:80px; }
.cta-strip .atmo-c { top:-200px; right:-150px; width:600px; height:600px; background:var(--mint); opacity:.15; }
.cta-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:56px; align-items:end; position:relative; z-index:2; }
.cta-grid h2 { font-size:clamp(36px,4.5vw,76px); line-height:.98; letter-spacing:-.03em; }
.cta-grid h2 em { font-family:var(--serif); font-style:italic; font-weight:400; color:var(--mint); }
.cta-grid .col-right { display:flex; flex-direction:column; gap:20px; align-items:flex-start; padding-bottom:8px; }
@media (max-width:900px) { .cta-grid { grid-template-columns:1fr; gap:28px; } }
