@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box }

/* ── Emojis em preto e branco ── */
.emoji-bw { filter: grayscale(1) contrast(0.85); display: inline-block; }

/* ── Design Tokens ── */
:root {
  --bg:     #0a0a0b;
  --bg1:    #141416;
  --bg2:    #1c1c20;

  --txt:    #f4f4f5;
  --txt2:   #a1a1aa;
  --txt3:   #71717a;

  --green:  #00e599;
  --green2: #00ff9d;
  --blue:   #60a5fa;

  --border:   rgba(255,255,255,.08);
  --border-h: rgba(0,229,153,.3);
  --card:     rgba(255,255,255,.03);

  --nav-h: 64px;
  --pad:   clamp(24px,5vw,80px);
  --max:   1200px;
  --r:     12px;
  --expo:  cubic-bezier(.16,1,.3,1);
}

/* ── Reset & Base ── */
html { font-size:16px; scroll-behavior:smooth }
body {
  background:var(--bg);
  color:var(--txt);
  font-family:'Inter',-apple-system,sans-serif;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
p { line-height:1.8; color:var(--txt2) }
a { color:inherit; text-decoration:none }
img,svg { display:block }
button { font-family:inherit; cursor:pointer }

/* very subtle ambient — no canvas background */
body::before {
  content:'';
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 20% -10%, rgba(0,229,153,.05) 0%, transparent 55%),
    radial-gradient(ellipse 50% 60% at 80%  110%, rgba(96,165,250,.04) 0%, transparent 55%),
    repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(255,255,255,.012) 80px),
    repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,255,255,.012) 80px);
}
body>* { position:relative; z-index:1 }

/* ── Scroll bar ── */
::-webkit-scrollbar { width:4px }
::-webkit-scrollbar-track { background:var(--bg) }
::-webkit-scrollbar-thumb { background:var(--border-h); border-radius:4px }

/* ── Scroll progress ── */
.scroll-progress {
  position:fixed; top:0; left:0; height:1px; width:0%;
  background:linear-gradient(90deg,var(--green),var(--blue));
  z-index:9999; pointer-events:none; transition:width .1s linear;
}

/* ══════════════════════════════════════════
   NAV
══════════════════════════════════════════ */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  height:var(--nav-h);
  display:flex; align-items:center;
  transition:background .3s,border-color .3s;
  border-bottom:1px solid transparent;
}
.nav.scrolled {
  background:rgba(10,10,11,.88);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border-color:var(--border);
}
.nav-inner {
  width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.nav-logo {
  font-size:.78rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase;
  display:flex; align-items:center; gap:9px; color:var(--txt); flex-shrink:0;
}
.nav-logo-dot { width:6px; height:6px; border-radius:50%; background:var(--green) }
.nav-links { list-style:none; display:flex; align-items:center; gap:0 }
.nav-links a {
  font-size:.82rem; font-weight:500; color:var(--txt3);
  padding:6px 14px; border-radius:7px; transition:color .2s,background .2s;
}
.nav-links a:hover,.nav-links .nav-active { color:var(--txt); background:rgba(255,255,255,.06) }
.nav-right { display:flex; align-items:center; gap:10px; flex-shrink:0 }
.nav-cta {
  font-size:.78rem; font-weight:700; letter-spacing:.03em;
  padding:8px 18px; border-radius:8px;
  background:var(--green); color:#000;
  transition:background .2s,transform .15s;
}
.nav-cta:hover { background:var(--green2); transform:translateY(-1px) }
.hamburger { display:none; background:none; border:none; flex-direction:column; gap:5px; padding:4px }
.hamburger span { display:block; width:22px; height:1.5px; background:var(--txt); border-radius:2px; transition:transform .3s var(--expo) }
.hamburger.is-open span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px) }
.hamburger.is-open span:nth-child(2) { transform:rotate(-45deg) translate(4.5px,-4.5px) }
.mobile-menu {
  position:fixed; inset:0; background:rgba(10,10,11,.96); z-index:700;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .35s var(--expo);
  backdrop-filter:blur(16px);
}
.mobile-menu.is-open { opacity:1; pointer-events:all }
.mobile-menu ul { list-style:none; text-align:center }
.mobile-menu li { padding:6px 0 }
.mobile-menu a { font-size:clamp(2rem,8vw,3rem); font-weight:800; color:var(--txt); letter-spacing:-.04em; transition:color .2s }
.mobile-menu a:hover { color:var(--green) }

/* ══════════════════════════════════════════
   BOTÕES
══════════════════════════════════════════ */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.85rem; font-weight:700;
  padding:12px 24px; border-radius:9px; border:none;
  transition:transform .15s,opacity .2s,background .2s,box-shadow .2s;
  white-space:nowrap; cursor:pointer;
}
.btn:hover { transform:translateY(-2px) }
.btn:active { transform:translateY(0); opacity:.85 }

.btn-primary {
  background:var(--green); color:#000;
  box-shadow:0 2px 16px rgba(0,229,153,.2);
}
.btn-primary:hover { background:var(--green2); box-shadow:0 6px 24px rgba(0,229,153,.3) }

.btn-glass {
  background:rgba(255,255,255,.06); color:var(--txt);
  border:1px solid var(--border);
}
.btn-glass:hover { background:rgba(255,255,255,.1); border-color:rgba(0,229,153,.25) }

.btn-outline {
  background:transparent; color:var(--green);
  border:1px solid rgba(0,229,153,.3);
}
.btn-outline:hover { background:rgba(0,229,153,.08); border-color:var(--green) }

/* ══════════════════════════════════════════
   SECTIONS
══════════════════════════════════════════ */
.section { max-width:var(--max); margin:0 auto; padding:80px var(--pad) }
.section-sm { max-width:var(--max); margin:0 auto; padding:56px var(--pad) }

.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:var(--green); margin-bottom:16px;
}
.eyebrow::before { content:''; width:14px; height:1.5px; background:var(--green) }

.display {
  font-size:clamp(2.2rem,5vw,4rem); font-weight:800;
  letter-spacing:-.04em; line-height:1.1; color:var(--txt);
}
.display-lg {
  font-size:clamp(2.8rem,7vw,5.5rem); font-weight:900;
  letter-spacing:-.05em; line-height:1.05; color:var(--txt);
}
.heading {
  font-size:clamp(1.6rem,3vw,2.4rem); font-weight:800;
  letter-spacing:-.035em; line-height:1.15; color:var(--txt);
}
.body-lg { font-size:1rem; line-height:1.85; color:var(--txt2) }
.body-md { font-size:.9rem; line-height:1.8; color:var(--txt2) }
.body-sm { font-size:.82rem; line-height:1.75; color:var(--txt2) }

.grad-text {
  background:linear-gradient(90deg,#00e599,#60a5fa,#00e599);
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:gradShift 3s linear infinite;
}
@keyframes gradShift { to { background-position:200% center } }

/* ══════════════════════════════════════════
   CARDS
══════════════════════════════════════════ */
.card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r);
  transition:border-color .25s,background .25s,transform .25s var(--expo);
}
.card:hover { border-color:var(--border-h); background:rgba(255,255,255,.05); transform:translateY(-3px) }

/* ══════════════════════════════════════════
   MARQUEE
══════════════════════════════════════════ */
.marquee-wrap {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--bg1); padding:14px 0; overflow:hidden; position:relative;
}
.marquee-wrap::before,.marquee-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:1; pointer-events:none;
}
.marquee-wrap::before { left:0; background:linear-gradient(to right,var(--bg1),transparent) }
.marquee-wrap::after { right:0; background:linear-gradient(to left,var(--bg1),transparent) }
.marquee-track { display:inline-flex; white-space:nowrap; animation:marquee 36s linear infinite }
.marquee-track span { font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--txt3); padding:0 20px }
.marquee-dot { color:var(--green) !important }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ══════════════════════════════════════════
   HERO (index)
══════════════════════════════════════════ */
.hero {
  min-height:100vh;
  display:grid; grid-template-columns:1fr 460px; gap:48px;
  align-items:start;
  padding-top:calc(var(--nav-h) + 120px);
  padding-bottom:80px;
  padding-left:var(--pad);
  padding-right:var(--pad);
  max-width:var(--max); margin:0 auto;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(0,229,153,.08); border:1px solid rgba(0,229,153,.18);
  color:var(--green); border-radius:100px;
  font-size:.7rem; font-weight:600; padding:5px 13px; margin-bottom:28px;
  width:fit-content;
}
.badge-dot { width:5px; height:5px; border-radius:50%; background:var(--green); animation:blink 2s ease infinite }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

/* hero title lines */
.hero-line { overflow:hidden; display:block }
.hero-line-inner {
  display:block; transform:translateY(105%);
  animation:lineUp .9s cubic-bezier(.16,1,.3,1) both;
}
.hero-line:nth-child(1) .hero-line-inner { animation-delay:.05s }
.hero-line:nth-child(2) .hero-line-inner { animation-delay:.15s }
.hero-line:nth-child(3) .hero-line-inner { animation-delay:.25s }
.hero-line:nth-child(4) .hero-line-inner { animation-delay:.35s }
@keyframes lineUp { from{transform:translateY(105%)} to{transform:translateY(0)} }

.hero-sub { font-size:1.05rem; color:var(--txt2); line-height:1.85; max-width:480px; margin-bottom:36px }
.hero-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:56px }
.hero-stats {
  display:flex; gap:36px; flex-wrap:wrap;
  padding-top:32px; border-top:1px solid var(--border);
}
.hstat { display:flex; flex-direction:column; gap:4px }
.hstat-n { font-size:1.7rem; font-weight:900; letter-spacing:-.04em; color:var(--green); line-height:1 }
.hstat-l { font-size:.72rem; color:var(--txt3); font-weight:500 }

.hero-visual {
  display:flex; align-items:center; justify-content:center; position:relative;
}
.hero-visual::before {
  content:'';
  position:absolute; inset:-30px;
  background:radial-gradient(circle,rgba(0,229,153,.07) 0%,transparent 65%);
  animation:orbGlow 5s ease-in-out infinite;
}
@keyframes orbGlow { 0%,100%{opacity:.6;transform:scale(1)} 50%{opacity:1;transform:scale(1.06)} }

/* ══════════════════════════════════════════
   SERVICE CARDS
══════════════════════════════════════════ */
.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.svc-card {
  background:var(--card); border:1px solid var(--border); border-radius:var(--r);
  padding:40px 32px; position:relative; overflow:hidden;
  transition:border-color .25s,background .25s,transform .3s var(--expo);
}
.svc-card:hover { border-color:var(--border-h); background:rgba(255,255,255,.05); transform:translateY(-4px) }
.svc-icon {
  width:44px; height:44px; border-radius:10px; border:1px solid var(--border-h);
  background:rgba(0,229,153,.07); display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; margin-bottom:24px;
}
.svc-num { font-size:.62rem; font-weight:700; letter-spacing:.18em; color:var(--green); text-transform:uppercase; margin-bottom:10px }
.svc-title { font-size:1.3rem; font-weight:800; letter-spacing:-.03em; color:var(--txt); margin-bottom:14px; line-height:1.2 }
.svc-body { font-size:.88rem; color:var(--txt2); line-height:1.85 }
.svc-body p { margin-bottom:12px }
.svc-quote { font-size:.88rem; font-weight:600; color:var(--txt); border-left:2px solid var(--green); padding-left:14px; margin:20px 0; line-height:1.7 }
.svc-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px }
.svc-tag {
  font-size:.65rem; font-weight:600; color:var(--txt3);
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  padding:4px 11px; border-radius:6px; transition:color .2s,border-color .2s;
}
.svc-tag:hover { color:var(--green); border-color:var(--border-h) }
.svc-link { display:inline-flex; align-items:center; gap:7px; font-size:.8rem; font-weight:700; color:var(--green); margin-top:24px; transition:gap .2s }
.svc-link:hover { gap:13px }
.tech-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px }
.tech-chip {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  border-radius:7px; padding:7px 13px; font-size:.75rem; font-weight:600; color:var(--txt2);
  transition:color .2s,border-color .2s,background .2s;
}
.tech-chip:hover { color:var(--green); border-color:var(--border-h); background:rgba(0,229,153,.05) }

/* ══════════════════════════════════════════
   HOW IT WORKS
══════════════════════════════════════════ */
.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px }
.how-card {
  background:var(--card); border:1px solid var(--border); border-radius:var(--r);
  padding:32px 24px; position:relative;
  transition:border-color .25s,transform .25s var(--expo);
}
.how-card:hover { border-color:var(--border-h); transform:translateY(-4px) }
.how-n { font-size:.62rem; font-weight:700; letter-spacing:.16em; color:var(--green); margin-bottom:14px; text-transform:uppercase }
.how-icon { font-size:1.8rem; margin-bottom:14px; display:block }
.how-title { font-size:1rem; font-weight:700; color:var(--txt); margin-bottom:8px; letter-spacing:-.02em }
.how-body { font-size:.84rem; color:var(--txt2); line-height:1.8 }

/* ══════════════════════════════════════════
   ABOUT / STATS
══════════════════════════════════════════ */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start }
.stats-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--border); border:1px solid var(--border); border-radius:var(--r); overflow:hidden;
}
.stat-box {
  background:var(--bg1); padding:28px 24px; display:flex; flex-direction:column; gap:8px;
  transition:background .2s;
}
.stat-box:hover { background:var(--bg2) }
.stat-n { font-size:2.2rem; font-weight:900; letter-spacing:-.04em; color:var(--green); line-height:1 }
.stat-l { font-size:.75rem; color:var(--txt3); line-height:1.5 }

/* feat list */
.feat-list { display:flex; flex-direction:column }
.feat-item {
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 0; border-bottom:1px solid var(--border);
  transition:padding-left .2s var(--expo);
}
.feat-item:first-child { border-top:1px solid var(--border) }
.feat-item:hover { padding-left:8px }
.feat-dot { width:5px; height:5px; border-radius:50%; background:var(--green); flex-shrink:0; margin-top:6px }
.feat-item-body strong { display:block; font-size:.9rem; font-weight:700; color:var(--txt); margin-bottom:6px; letter-spacing:-.015em }
.feat-item-body p { font-size:.85rem; color:var(--txt2); line-height:1.8 }

/* feature pills */
.feat-pills { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:28px }
.feat-pill {
  background:var(--card); border:1px solid var(--border); border-radius:10px;
  padding:18px 14px; text-align:center;
  transition:border-color .2s,transform .2s;
}
.feat-pill:hover { border-color:var(--border-h); transform:translateY(-3px) }
.feat-pill-icon { font-size:1.4rem; margin-bottom:8px; display:block }
.feat-pill-label { font-size:.7rem; font-weight:600; color:var(--txt2); letter-spacing:.04em }

/* ══════════════════════════════════════════
   CLIENTS
══════════════════════════════════════════ */
.clients-wrap { overflow:hidden; position:relative }
.clients-wrap::before,.clients-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:100px; z-index:1; pointer-events:none;
}
.clients-wrap::before { left:0; background:linear-gradient(to right,var(--bg1),transparent) }
.clients-wrap::after { right:0; background:linear-gradient(to left,var(--bg1),transparent) }
.clients-track { display:inline-flex; align-items:center; animation:marquee 22s linear infinite }
.client-chip { flex-shrink:0; padding:0 44px; font-size:clamp(1.1rem,2.5vw,1.7rem); font-weight:900; letter-spacing:-.03em; color:var(--txt3); white-space:nowrap; transition:color .3s }
.client-chip:hover { color:var(--txt2) }
.client-sep { width:4px; height:4px; border-radius:50%; background:var(--border); flex-shrink:0 }

/* ══════════════════════════════════════════
   VAGAS (home preview)
══════════════════════════════════════════ */
.vagas-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:32px }
.vagas-list { display:flex; flex-direction:column }
.vaga-row-p {
  display:flex; align-items:center; gap:18px;
  padding:18px 0; border-bottom:1px solid var(--border);
  transition:padding-left .2s var(--expo);
}
.vaga-row-p:first-child { border-top:1px solid var(--border) }
.vaga-row-p:hover { padding-left:10px }
.vaga-row-p:hover .vn { color:var(--green) }
.vi { font-size:.62rem; font-weight:700; letter-spacing:.1em; color:var(--txt3); width:24px; flex-shrink:0 }
.vn { font-size:.95rem; font-weight:700; flex:1; color:var(--txt); letter-spacing:-.02em; transition:color .2s }
.vc { font-size:.68rem; color:var(--txt3); font-weight:600; text-transform:uppercase; letter-spacing:.08em; flex-shrink:0 }
.varr { color:var(--txt3); transition:transform .2s,color .2s; flex-shrink:0 }
.vaga-row-p:hover .varr { transform:translate(4px,-4px); color:var(--green) }
.vagas-all { display:flex; align-items:center; justify-content:space-between; padding:14px 0; font-size:.82rem; font-weight:700; color:var(--green); transition:opacity .2s }
.vagas-all:hover { opacity:.7 }

/* ══════════════════════════════════════════
   VAGAS PAGE — accordion
══════════════════════════════════════════ */
.vaga-filter-bar {
  display:flex; gap:6px; flex-wrap:wrap; margin-bottom:28px;
  padding:0; border-bottom:none;
}
.vaga-filter {
  background:transparent; border:1px solid var(--border);
  border-radius:999px; padding:7px 16px;
  font-size:.72rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--txt3); white-space:nowrap; font-family:inherit; transition:all .2s; cursor:pointer;
}
.vaga-filter:hover { border-color:var(--green); color:var(--green) }
.vaga-filter.active { background:var(--green); border-color:var(--green); color:#000 }

.vaga-list { display:flex; flex-direction:column }
.vaga-item { border-bottom:1px solid var(--border); transition:background .2s }
.vaga-item:first-child { border-top:1px solid var(--border) }
.vaga-item:hover { background:rgba(255,255,255,.02) }
.vaga-item.open { background:var(--bg1) }
.vaga-row {
  display:flex; align-items:center; gap:18px; padding:20px 0;
  background:none; border:none; width:100%; text-align:left;
  font-family:inherit; color:inherit; cursor:pointer;
}
.vaga-n { font-size:.62rem; font-weight:700; letter-spacing:.1em; color:var(--txt3); width:24px; flex-shrink:0 }
.vaga-name { font-size:.95rem; font-weight:700; flex:1; color:var(--txt); letter-spacing:-.02em; transition:color .2s }
.vaga-item:hover .vaga-name { color:var(--green) }
.vaga-loc,.vaga-mode { font-size:.72rem; color:var(--txt3); flex-shrink:0 }
.vaga-cat { font-size:.65rem; font-weight:700; color:var(--green); background:rgba(0,229,153,.08); border:1px solid rgba(0,229,153,.18); border-radius:999px; padding:3px 10px; flex-shrink:0 }
.vaga-toggle { color:var(--txt3); font-size:1rem; flex-shrink:0; font-weight:300; transition:transform .35s var(--expo),color .2s }
.vaga-item.open .vaga-toggle { transform:rotate(45deg); color:var(--green) }
.vaga-detail { overflow:hidden; max-height:0; transition:max-height .55s var(--expo) }
.vaga-detail-inner { padding:4px 0 36px 42px; display:grid; grid-template-columns:1fr 1fr; gap:40px }
.vd-label { font-size:.6rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:block; margin-bottom:12px }
.vd-text p { font-size:.86rem; color:var(--txt2); line-height:1.85; margin-bottom:12px }
.vd-list { list-style:none; display:flex; flex-direction:column; gap:8px }
.vd-list li { font-size:.86rem; color:var(--txt2); display:flex; align-items:flex-start; gap:9px; line-height:1.7 }
.vd-list li::before { content:'–'; color:var(--green); flex-shrink:0; font-size:.68rem; margin-top:3px }
.vd-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px }
.vd-badge { font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green); border:1px solid rgba(0,229,153,.2); background:rgba(0,229,153,.06); padding:4px 10px; border-radius:6px }
.vd-mode { display:inline-flex; align-items:center; gap:6px; font-size:.72rem; color:var(--txt3); border:1px solid var(--border); padding:4px 11px; border-radius:6px; margin-bottom:14px }
.vaga-apply { display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#000; font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:11px 20px; border-radius:8px; margin-top:18px; transition:background .2s,transform .15s }
.vaga-apply:hover { background:var(--green2); transform:translateY(-1px) }

/* ══════════════════════════════════════════
   HEADHUNTERS CARD
══════════════════════════════════════════ */
.hh-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); overflow:hidden }
.hh-row { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-bottom:1px solid var(--border); gap:16px; transition:background .2s }
.hh-row:last-child { border-bottom:none }
.hh-row:hover { background:rgba(255,255,255,.03) }
.hh-label { font-size:.72rem; font-weight:600; color:var(--txt3); flex-shrink:0 }
.hh-val { font-size:.84rem; font-weight:600; color:var(--txt2); text-align:right }
.hh-val-green { color:var(--green) }

/* ══════════════════════════════════════════
   PLATFORM
══════════════════════════════════════════ */
.platform-section {
  border-top:1px solid var(--border);
  background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(0,229,153,.04),transparent 60%);
}
.platform-inner { max-width:560px; margin:0 auto; padding:100px var(--pad); text-align:center }
.platform-tag { display:inline-flex; align-items:center; gap:7px; background:rgba(0,229,153,.07); border:1px solid rgba(0,229,153,.16); color:var(--green); border-radius:100px; padding:4px 14px; margin-bottom:24px; font-size:.7rem; font-weight:600 }
.platform-form { display:flex; margin-top:36px; border-radius:10px; border:1px solid var(--border); overflow:hidden; transition:border-color .2s }
.platform-form:focus-within { border-color:rgba(0,229,153,.35) }
.platform-form input { flex:1; background:var(--bg1); border:none; outline:none; padding:14px 18px; font-family:inherit; font-size:.88rem; color:var(--txt); min-width:0 }
.platform-form input::placeholder { color:var(--txt3) }
.platform-form button { background:var(--green); color:#000; border:none; padding:14px 22px; font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-family:inherit; flex-shrink:0; transition:background .2s }
.platform-form button:hover { background:var(--green2) }

/* ══════════════════════════════════════════
   PAGE HERO (subpages)
══════════════════════════════════════════ */
.page-hero-wrap {
  border-bottom:1px solid var(--border);
  min-height:100vh;
  background:
    radial-gradient(ellipse 80% 60% at 15% -10%, rgba(0,229,153,.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 70% at 85% 110%, rgba(96,165,250,.06) 0%, transparent 60%),
    var(--bg);
}
.page-hero-inner {
  max-width:var(--max); margin:0 auto;
  padding-top:calc(var(--nav-h) + 120px);
  padding-bottom:80px;
  padding-left:var(--pad);
  padding-right:var(--pad);
  display:grid; grid-template-columns:1fr 420px; gap:48px;
  align-items:start;
}
.page-hero-canvas {
  position:relative; display:flex; align-items:center; justify-content:center;
}
.page-hero-canvas::before {
  content:''; position:absolute; inset:-30px;
  background:radial-gradient(circle,rgba(0,229,153,.07),transparent 65%);
  animation:orbGlow 5s ease-in-out infinite; border-radius:50%;
}

/* ══════════════════════════════════════════
   CONTACT
══════════════════════════════════════════ */
.contact-layout { display:grid; grid-template-columns:300px 1fr; gap:72px; align-items:start }
.contact-aside { display:flex; flex-direction:column }
.info-block { padding:18px 0; border-bottom:1px solid var(--border) }
.info-block:first-child { border-top:1px solid var(--border) }
.info-label { display:block; font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:7px }
.info-block p { font-size:.86rem; color:var(--txt2); line-height:1.8 }
.info-block a { display:block; font-size:.86rem; color:var(--txt2); line-height:1.9; transition:color .2s }
.info-block a:hover { color:var(--green) }

.contact-form { display:flex; flex-direction:column; gap:18px }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.form-field { display:flex; flex-direction:column; gap:7px }
.form-field label { font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--txt3) }
.form-field input,.form-field select,.form-field textarea {
  background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:9px;
  outline:none; padding:12px 15px; font-family:inherit; font-size:.88rem; color:var(--txt);
  width:100%; transition:border-color .2s,box-shadow .2s; appearance:none; -webkit-appearance:none; line-height:1.6;
}
.form-field select option { background:var(--bg2); color:var(--txt) }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:rgba(0,229,153,.4); box-shadow:0 0 0 3px rgba(0,229,153,.06) }
.form-field input::placeholder,.form-field textarea::placeholder { color:var(--txt3) }
.form-field textarea { resize:none; line-height:1.8 }
.consent-note { font-size:.73rem; color:var(--txt3); line-height:1.75 }
.consent-note a { color:var(--txt2); text-decoration:underline; text-underline-offset:2px }
.consent-note a:hover { color:var(--green) }
.btn-submit {
  display:flex; align-items:center; justify-content:space-between;
  background:var(--green); color:#000; border:none; padding:14px 20px;
  font-size:.84rem; font-weight:800; letter-spacing:.04em; font-family:inherit;
  border-radius:9px; width:100%; transition:background .2s,transform .15s; cursor:pointer;
}
.btn-submit:hover { background:var(--green2); transform:translateY(-1px) }
.submit-arr { transition:transform .2s }
.btn-submit:hover .submit-arr { transform:translate(4px,-4px) }

/* ══════════════════════════════════════════
   CTA BANNER
══════════════════════════════════════════ */
.cta-card {
  background:var(--card); border:1px solid var(--border); border-radius:16px;
  padding:56px 40px; text-align:center; position:relative; overflow:hidden;
}
.cta-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(0,229,153,.06),transparent); pointer-events:none }
.cta-card h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:900; letter-spacing:-.04em; color:var(--txt); margin-bottom:14px; line-height:1.1 }
.cta-card p { font-size:.93rem; color:var(--txt2); margin-bottom:32px; max-width:460px; margin-left:auto; margin-right:auto; line-height:1.8 }

/* ══════════════════════════════════════════
   STEPS
══════════════════════════════════════════ */
.steps-list { display:flex; flex-direction:column }
.step-item {
  display:flex; gap:20px; padding:24px 0; border-bottom:1px solid var(--border);
  transition:padding-left .2s var(--expo);
}
.step-item:first-child { border-top:1px solid var(--border) }
.step-item:hover { padding-left:8px }
.step-num {
  width:36px; height:36px; border-radius:8px; border:1px solid rgba(0,229,153,.25);
  background:rgba(0,229,153,.07); display:flex; align-items:center; justify-content:center;
  font-size:.68rem; font-weight:800; color:var(--green); flex-shrink:0; margin-top:2px;
}
.step-body strong { display:block; font-size:.92rem; font-weight:700; color:var(--txt); margin-bottom:6px; letter-spacing:-.015em }
.step-body p { font-size:.85rem; color:var(--txt2); line-height:1.8 }

/* ══════════════════════════════════════════
   REVEAL
══════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .75s var(--expo),transform .75s var(--expo) }
.reveal.is-visible { opacity:1; transform:translateY(0) }
.r-d1 { transition-delay:.1s }
.r-d2 { transition-delay:.2s }
.r-d3 { transition-delay:.3s }

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.footer { border-top:1px solid var(--border); background:var(--bg1) }
.footer-inner { max-width:var(--max); margin:0 auto; padding:60px var(--pad) 36px }
.footer-top { display:flex; align-items:flex-start; justify-content:space-between; padding-bottom:44px; border-bottom:1px solid var(--border); margin-bottom:44px; gap:24px; flex-wrap:wrap }
.footer-logo { display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; color:var(--txt) }
.footer-logo-dot { width:6px; height:6px; border-radius:50%; background:var(--green) }
.footer-tagline { font-size:.75rem; color:var(--txt3); margin-top:7px; line-height:1.55 }
.footer-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:44px; padding-bottom:44px; border-bottom:1px solid var(--border) }
.footer-col { display:flex; flex-direction:column; gap:10px }
.fc-title { font-size:.6rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--txt3); margin-bottom:4px }
.footer-col a,.footer-col span { font-size:.8rem; color:rgba(255,255,255,.2); transition:color .2s; line-height:1.5 }
.footer-col a:hover { color:var(--green) }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px }
.footer-bottom span { font-size:.7rem; color:var(--txt3) }

/* ══════════════════════════════════════════
   MISC PAGES
══════════════════════════════════════════ */
.privacy-body { max-width:700px; margin:0 auto; padding:80px var(--pad) 120px }
.privacy-body h2 { font-size:1.15rem; font-weight:800; letter-spacing:-.03em; margin:44px 0 12px; color:var(--txt) }
.privacy-body p,.privacy-body li { font-size:.88rem; color:var(--txt2); line-height:1.9; margin-bottom:12px }
.privacy-body ul { list-style:disc; padding-left:20px }
.thanks { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px }
.thanks-lbl { font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--green); margin-bottom:18px }
.thanks h1 { font-size:clamp(3.5rem,10vw,8rem); font-weight:900; letter-spacing:-.06em; line-height:.92; margin-bottom:24px }
.thanks p { font-size:.93rem; color:var(--txt2); max-width:340px; line-height:1.85; margin-bottom:40px }

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media(max-width:1024px) {
  .hero { grid-template-columns:1fr }
  .hero-visual { display:none }
  .services-grid { grid-template-columns:1fr }
  .about-grid { grid-template-columns:1fr; gap:48px }
  .page-hero-inner { grid-template-columns:1fr }
  .page-hero-canvas { display:none }
  .how-grid { grid-template-columns:1fr 1fr }
  .contact-layout { grid-template-columns:1fr; gap:48px }
  .footer-grid { grid-template-columns:repeat(2,1fr) }
  .vaga-detail-inner { grid-template-columns:1fr }
}
@media(max-width:1024px) {
  .display-lg { font-size:clamp(2.2rem,5.5vw,4.5rem) }
}
@media(max-width:768px) {
  .nav-links { display:none }
  .hamburger { display:flex }
  .nav-cta { display:none }
  .hero { padding-top:calc(var(--nav-h)+80px); min-height:auto; padding-bottom:48px }
  .hero-sub { font-size:.92rem; margin-bottom:24px }
  .hero-actions { margin-bottom:36px; gap:10px }
  .hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding-top:20px }
  .hstat-n { font-size:1.3rem }
  .hstat-l { font-size:.62rem; line-height:1.4 }
  .how-grid { grid-template-columns:1fr }
  .stats-grid { grid-template-columns:1fr 1fr }
  .feat-pills { grid-template-columns:1fr 1fr }
  .form-row { grid-template-columns:1fr }
  .vaga-loc,.vaga-mode { display:none }
  .footer-grid { grid-template-columns:1fr 1fr }
  .vaga-detail-inner { padding-left:0 }
  .section,.section-sm { padding:48px var(--pad) }
  .page-hero-wrap { min-height:auto }
  .page-hero-inner { padding-top:calc(var(--nav-h)+48px); padding-bottom:48px; gap:32px }
  .display { font-size:clamp(1.7rem,4.5vw,2.5rem) }
  .display-lg { font-size:clamp(2rem,6vw,3.5rem) }
  .services-grid,.svc-grid-home { grid-template-columns:1fr }
  .svc-card { padding:28px 22px }
  .cta-card { padding:40px 22px }
  .cta-card h2 { font-size:clamp(1.4rem,5vw,2rem) }
  .footer-inner { padding:44px var(--pad) 28px }
  .footer-top { padding-bottom:28px; margin-bottom:28px }
  .contact-layout { gap:32px }
  .about-grid { gap:36px }
  .hero-line { line-height:1.1 }
}
@media(max-width:480px) {
  .display-lg { font-size:clamp(1.7rem,8.5vw,2.5rem) }
  .display { font-size:clamp(1.5rem,5.5vw,2rem) }
  .footer-grid { grid-template-columns:1fr }
  .vaga-cat { display:none }
  .stats-grid { grid-template-columns:1fr 1fr }
  .hero-stats { grid-template-columns:1fr 1fr; gap:10px }
  .hstat-n { font-size:1.1rem }
  .hero-actions { flex-direction:column; align-items:stretch; gap:8px }
  .hero-actions .btn { justify-content:center }
  .cta-card { padding:28px 16px }
  .cta-card p { margin-bottom:20px }
  .section,.section-sm { padding:36px var(--pad) }
  .feat-pills { grid-template-columns:1fr 1fr }
  .about-grid { gap:28px }
  .btn { font-size:.8rem; padding:11px 18px }
  .page-hero-inner { padding-top:calc(var(--nav-h)+36px); padding-bottom:40px }
  .hero { padding-top:calc(var(--nav-h)+80px) }
  .body-lg { font-size:.9rem }
  .body-md { font-size:.85rem }
  .hero-sub { font-size:.88rem }
}
