/* ============================================================
   JOTA SOLUTIONS — style.css (Final)
   Preto profundo + Roxo/Azul + Gradientes premium
   Fonte: Plus Jakarta Sans
   ============================================================ */

/* ── VARIABLES ──────────────────────────────────────────────── */
:root {
  --bg:         #0A0A0F;
  --bg-soft:    #0D0D14;
  --surface:    #12121A;
  --surface-2:  #17172200;
  --border:     rgba(255,255,255,0.07);
  --border-h:   rgba(108,99,255,0.4);

  --purple:     #6C63FF;
  --purple-dim: rgba(108,99,255,0.12);
  --purple-glow:rgba(108,99,255,0.3);
  --blue:       #3B82C4;
  --blue-dim:   rgba(59,130,196,0.1);
  --teal:       #00D9C0;

  --grad-main:  linear-gradient(135deg, #6C63FF 0%, #3B82C4 100%);
  --grad-text:  linear-gradient(135deg, #A78BFF 0%, #60A5FA 100%);
  --grad-hero:  linear-gradient(160deg, #6C63FF22 0%, #3B82C410 50%, transparent 100%);

  --amber:      #F59E0B;
  --green:      #10B981;
  --red:        #EF4444;

  --text:       #F0F0FF;
  --text-dim:   #8B8BA7;
  --text-faint: #4A4A6A;

  --nav-h:      72px;
  --radius-sm:  6px;
  --radius-md:  12px;
  --radius-lg:  18px;
  --radius-xl:  26px;

  --shadow-sm:  0 4px 16px rgba(0,0,0,0.3);
  --shadow-md:  0 12px 40px rgba(0,0,0,0.5);
  --shadow-lg:  0 24px 64px rgba(0,0,0,0.6);
  --shadow-pur: 0 8px 32px rgba(108,99,255,0.25);

  --ease:       cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:   cubic-bezier(0, 0, 0.2, 1);
  --t:          0.25s;

  --font:       'Plus Jakarta Sans', sans-serif;
  --mono:       'JetBrains Mono', monospace;
}

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font:inherit; }
img { display:block; max-width:100%; }
:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; border-radius: 3px; }

::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--purple); border-radius:3px; opacity:.5; }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ── LAYOUT HELPERS ─────────────────────────────────────────── */
.section__wrap { max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,60px); }
.section { padding: clamp(80px,10vw,130px) 0; border-top: 1px solid var(--border); position:relative; }

.eyebrow {
  display: inline-flex; align-items:center; gap:10px;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--purple);
  margin-bottom: 18px;
}
.eyebrow::before { content:''; width:20px; height:2px; background: var(--grad-main); border-radius:2px; }

.sec__head { max-width: 700px; margin-bottom: 56px; }
.sec__head h2 {
  font-size: clamp(1.9rem, 3.8vw, 3rem);
  font-weight: 800; line-height: 1.2; color: var(--text);
  letter-spacing: -0.02em; margin-bottom: 16px;
}
.sec__head h2 em {
  font-style: normal;
  background: var(--grad-text);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.sec__head p { font-size: 1.05rem; color: var(--text-dim); line-height: 1.8; }
.sec__head.centered { max-width: none; text-align: center; }
.sec__head.centered p { max-width: 600px; margin: 0 auto; }

/* ── REVEAL ─────────────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(22px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.reveal.visible { opacity:1; transform:none; }

/* ── BUTTONS ────────────────────────────────────────────────── */
.cta {
  display: inline-flex; align-items:center; gap:9px;
  font-family: var(--font); font-size: 0.95rem; font-weight: 700;
  padding: 14px 28px; border-radius: var(--radius-sm);
  transition: var(--t) var(--ease); position:relative; overflow:hidden;
  white-space: nowrap;
}
.cta--primary {
  background: var(--grad-main); color: #fff;
  box-shadow: var(--shadow-pur);
}
.cta--primary::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 60%);
  opacity:0; transition: opacity .3s;
}
.cta--primary:hover { transform:translateY(-3px); box-shadow: 0 16px 48px rgba(108,99,255,0.45); }
.cta--primary:hover::before { opacity:1; }
.cta--wa { background:#1E5E3E; color:#fff; }
.cta--wa:hover { background:#237049; transform:translateY(-2px); box-shadow: 0 8px 24px rgba(37,211,102,0.35); }
.cta--full { width:100%; justify-content:center; padding:16px; font-size:1rem; }
.cta--ghost { background:transparent; color:var(--text); border:1px solid var(--border-h); }
.cta--ghost:hover { background: var(--purple-dim); border-color: var(--purple); transform:translateY(-2px); }

/* ── NAV ────────────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height: var(--nav-h);
  transition: background var(--t), border-color var(--t), box-shadow var(--t);
  border-bottom: 1px solid transparent;
}
.nav.scrolled {
  background: rgba(10,10,15,0.92);
  backdrop-filter: blur(20px);
  border-bottom-color: var(--border);
  box-shadow: 0 1px 0 var(--border), var(--shadow-sm);
}

.nav__inner {
  max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,60px);
  display:flex; align-items:center; justify-content:space-between; height:100%;
}

.brand { display:flex; align-items:center; gap:11px; }
.brand__mark { width:32px; height:32px; flex-shrink:0; }
.brand__mark svg { width:100%; height:100%; }
.brand__name { font-size:1.2rem; font-weight:600; color:var(--text); letter-spacing:-0.01em; }
.brand__name strong { font-weight:800; background: var(--grad-text); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.nav__links { display:flex; align-items:center; gap:4px; }
.nav__links a:not(.nav__btn) { font-size:.9rem; color:var(--text-dim); padding:8px 14px; border-radius:var(--radius-sm); transition:var(--t); font-weight:500; }
.nav__links a:not(.nav__btn):hover { color:var(--text); background:rgba(255,255,255,0.05); }
.nav__btn {
  background: var(--grad-main); color:#fff; font-weight:700; font-size:.88rem;
  padding:9px 20px; border-radius:var(--radius-sm); margin-left:8px;
  box-shadow: var(--shadow-pur); transition:var(--t);
}
.nav__btn:hover { transform:translateY(-1px); box-shadow: 0 8px 24px rgba(108,99,255,0.5); }

.burger { display:none; flex-direction:column; gap:5px; padding:8px; }
.burger span { width:22px; height:2px; background:var(--text); border-radius:2px; transition:var(--t); }
.burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.nav__progress {
  position:absolute; bottom:0; left:0; height:2px;
  background: var(--grad-main); width:0%; transition:width .1s linear;
}

/* ── HERO ───────────────────────────────────────────────────── */
.hero {
  min-height: 100vh; display:flex; align-items:center;
  position:relative; overflow:hidden; padding-top:var(--nav-h);
}

.hero__bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
.hero__grid {
  position:absolute; inset:0;
  background-image: linear-gradient(rgba(108,99,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(108,99,255,0.06) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(ellipse at 40% 40%, black 10%, transparent 75%);
}
.hero__orb { position:absolute; border-radius:50%; filter:blur(80px); }
.orb1 { width:600px; height:600px; top:-200px; right:-150px; background:radial-gradient(circle, rgba(108,99,255,0.22) 0%, transparent 70%); animation:orb-pulse 10s ease-in-out infinite; }
.orb2 { width:450px; height:450px; bottom:-100px; left:-100px; background:radial-gradient(circle, rgba(59,130,196,0.15) 0%, transparent 70%); animation:orb-pulse 14s ease-in-out infinite reverse; }
.orb3 { width:300px; height:300px; top:50%; left:40%; background:radial-gradient(circle, rgba(108,99,255,0.08) 0%, transparent 70%); animation:orb-pulse 8s ease-in-out infinite; animation-delay:4s; }
@keyframes orb-pulse { 0%,100%{transform:scale(1);opacity:.7} 50%{transform:scale(1.1);opacity:1} }

/* Code bg */
.code-bg {
  position:absolute; inset:0; overflow:hidden;
}
.code-bg span {
  position:absolute; font-family:var(--mono); font-size:.75rem;
  color:rgba(108,99,255,0.14); white-space:nowrap;
  animation:code-fall linear infinite; top:-40px;
}
.code-bg span:nth-child(1)  { left:3%;  animation-duration:24s; animation-delay:0s; }
.code-bg span:nth-child(2)  { left:16%; animation-duration:30s; animation-delay:4s; }
.code-bg span:nth-child(3)  { left:29%; animation-duration:22s; animation-delay:8s; }
.code-bg span:nth-child(4)  { left:45%; animation-duration:28s; animation-delay:2s; }
.code-bg span:nth-child(5)  { left:60%; animation-duration:26s; animation-delay:10s; }
.code-bg span:nth-child(6)  { left:73%; animation-duration:32s; animation-delay:6s; }
.code-bg span:nth-child(7)  { left:85%; animation-duration:25s; animation-delay:14s; }
.code-bg span:nth-child(8)  { left:10%; animation-duration:20s; animation-delay:16s; }
.code-bg span:nth-child(9)  { left:52%; animation-duration:27s; animation-delay:3s; }
.code-bg span:nth-child(10) { left:93%; animation-duration:29s; animation-delay:12s; }
@keyframes code-fall {
  0%   { transform:translateY(-5%); opacity:0; }
  8%   { opacity:1; }
  88%  { opacity:1; }
  100% { transform:translateY(115vh); opacity:0; }
}

.hero__wrap {
  position:relative; z-index:2;
  max-width:1200px; margin:0 auto; padding:60px clamp(20px,5vw,60px) 80px;
  display:grid; grid-template-columns:1fr 0.85fr; gap:48px; align-items:center;
}

/* Hero text */
.hero__badge {
  display:inline-flex; align-items:center; gap:10px;
  font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--purple); background:var(--purple-dim); border:1px solid rgba(108,99,255,0.3);
  padding:7px 16px; border-radius:100px; margin-bottom:26px;
}
.badge__pulse {
  width:7px; height:7px; border-radius:50%; background:var(--purple);
  animation: pulse-ring 2s ease-in-out infinite;
}
@keyframes pulse-ring {
  0%,100%{box-shadow:0 0 0 0 rgba(108,99,255,.6); transform:scale(1);}
  50%{box-shadow:0 0 0 6px rgba(108,99,255,0); transform:scale(1.1);}
}

.hero__h1 {
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  font-weight: 800; line-height: 1.08; letter-spacing: -0.03em;
  color: var(--text); margin-bottom: 22px;
}
.hero__grad {
  background: var(--grad-text);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

.hero__desc {
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  color: var(--text-dim); max-width:560px; margin-bottom:36px; line-height:1.8;
}

.hero__ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }

.hero__trust { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.trust__item { display:inline-flex; align-items:center; gap:7px; font-size:.83rem; color:var(--text-dim); font-weight:500; }
.trust__item svg { width:14px; height:14px; flex-shrink:0; }
.trust__sep { width:1px; height:14px; background:var(--border); }

/* Orbit */
.orbit {
  position:relative; width:100%; aspect-ratio:1; max-width:420px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
}
.orbit__track {
  position:absolute; inset:0; border-radius:50%;
  animation:orbit-spin 30s linear infinite;
}
.orbit__track.paused { animation-play-state:paused; }
.orbit__track::before {
  content:''; position:absolute; inset:10px; border-radius:50%;
  border:1px solid rgba(108,99,255,0.2);
  box-shadow: inset 0 0 30px rgba(108,99,255,0.05), 0 0 30px rgba(108,99,255,0.05);
}
.orbit__track::after {
  content:''; position:absolute; inset:28px; border-radius:50%;
  border:1px dashed rgba(59,130,196,0.15);
}
@keyframes orbit-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

.orbit__core {
  width:76px; height:76px; background:var(--surface); border:1.5px solid var(--purple);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow: 0 0 0 10px rgba(108,99,255,0.06), 0 0 50px rgba(108,99,255,0.3);
  z-index:3; position:relative;
}
.orbit__core svg { width:36px; height:36px; }

.orbit-icon {
  position:absolute; width:52px; height:52px; border-radius:50%;
  background:var(--surface); border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center; padding:11px;
  cursor:pointer; z-index:4;
  animation:orbit-counter 30s linear infinite;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
@keyframes orbit-counter { from{transform:rotate(0deg)} to{transform:rotate(-360deg)} }
.orbit-icon svg { width:100%; height:100%; display:block; }
.orbit-icon:hover, .orbit-icon:focus-visible {
  transform:rotate(0deg) scale(1.38) !important;
  border-color:var(--purple); z-index:10;
  box-shadow:0 0 0 4px rgba(108,99,255,0.2), 0 16px 40px rgba(0,0,0,0.6);
}
.orbit .tip {
  position:absolute; bottom:calc(100% + 10px); left:50%;
  transform:translateX(-50%) translateY(6px);
  background:var(--bg); border:1px solid var(--purple); color:var(--text);
  font-family:var(--font); font-size:.7rem; font-weight:700; padding:4px 13px;
  border-radius:100px; white-space:nowrap; opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease; z-index:20;
  box-shadow:var(--shadow-sm);
  animation:orbit-counter 30s linear infinite;
}
.orbit .tip::after {
  content:''; position:absolute; top:100%; left:50%;
  transform:translateX(-50%); border:4px solid transparent; border-top-color:var(--purple);
}
.orbit-icon:hover .tip, .orbit-icon:focus-visible .tip { opacity:1; transform:translateX(-50%) translateY(0); }
.orbit:has(.orbit-icon:hover) .orbit__track,
.orbit:has(.orbit-icon:focus-visible) .orbit__track { animation-play-state:paused; }
.orbit:has(.orbit-icon:hover) .orbit-icon,
.orbit:has(.orbit-icon:focus-visible) .orbit-icon { animation-play-state:paused; }
.orbit:has(.orbit-icon:hover) .tip,
.orbit:has(.orbit-icon:focus-visible) .tip { animation-play-state:paused; }

.hero__scroll { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2; }
.hero__scroll span { display:block; width:1px; height:44px; background:linear-gradient(to bottom, var(--purple), transparent); animation:scroll-line 2.2s ease-in-out infinite; }
@keyframes scroll-line { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 50.01%{transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ── NÚMEROS ────────────────────────────────────────────────── */
.numeros {
  background: linear-gradient(135deg, rgba(108,99,255,0.08) 0%, rgba(59,130,196,0.05) 100%);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding: 48px 0;
}
.numeros__inner {
  max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,60px);
  display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap;
}
.num__item { display:flex; flex-direction:column; align-items:center; flex:1; min-width:140px; padding:16px; }
.num__val { font-size:3rem; font-weight:800; letter-spacing:-0.03em; line-height:1; }
.num__val, .num__suf {
  background: var(--grad-text);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:inline;
}
.num__suf { font-size:2rem; font-weight:800; }
.num__label { font-size:.8rem; color:var(--text-dim); text-align:center; margin-top:6px; max-width:120px; line-height:1.4; }
.num__div { width:1px; height:50px; background:var(--border); flex-shrink:0; }

/* ── SOLUÇÕES ───────────────────────────────────────────────── */
.solucoes { background:var(--bg-soft); }
.sol__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.sol__card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:32px 26px; position:relative; overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
  cursor:default;
}
.sol__card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--grad-main); opacity:0; transition:opacity .3s;
}
.sol__card:hover { transform:translateY(-6px); border-color:var(--border-h); box-shadow:var(--shadow-md), var(--shadow-pur); }
.sol__card:hover::before { opacity:1; }
.sol__card--destaque { border-color:rgba(108,99,255,0.35); box-shadow:0 0 0 1px rgba(108,99,255,0.1); }
.sol__card--destaque::before { opacity:.5; }
.sol__card--mais { background:linear-gradient(150deg, var(--surface) 0%, var(--purple-dim) 150%); border-style:dashed; border-color:var(--border-h); }
.sol__badge {
  position:absolute; top:-1px; right:24px;
  background:var(--grad-main); color:#fff; font-size:.68rem; font-weight:800;
  padding:4px 13px; border-radius:0 0 8px 8px; letter-spacing:.04em;
}
.sol__num {
  position:absolute; top:20px; right:22px;
  font-family:var(--mono); font-size:2.5rem; font-weight:700;
  color:rgba(108,99,255,0.07); line-height:1; transition:.3s;
}
.sol__card:hover .sol__num { color:rgba(108,99,255,0.14); }
.sol__ico {
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  background:var(--purple-dim); border:1px solid rgba(108,99,255,0.2);
  border-radius:var(--radius-md); color:var(--purple); margin-bottom:20px;
  transition:transform .3s, box-shadow .3s;
}
.sol__ico svg { width:26px; height:26px; }
.sol__ico--dots { background:rgba(255,255,255,0.04); }
.sol__card:hover .sol__ico { transform:scale(1.08); box-shadow:0 0 20px var(--purple-glow); }
.sol__card h3 { font-size:1.08rem; font-weight:700; color:var(--text); margin-bottom:12px; line-height:1.3; }
.sol__card p { font-size:.88rem; color:var(--text-dim); line-height:1.75; margin-bottom:18px; }
.sol__tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.sol__tags li { font-size:.7rem; font-weight:600; color:var(--purple); background:var(--purple-dim); border:1px solid rgba(108,99,255,0.2); padding:3px 10px; border-radius:100px; }
.sol__link { display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:700; color:var(--purple); border-top:1px solid var(--border); padding-top:16px; width:100%; transition:.2s; }
.sol__link:hover { gap:10px; }
.sol__link--alt { color:var(--text-dim); }
.sol__link--alt:hover { color:var(--purple); }

/* ── TECNOLOGIAS ────────────────────────────────────────────── */
.tec { background:var(--bg); }
.tec__grid {
  display:flex; flex-wrap:wrap; justify-content:center; gap:16px;
}
.tec__item {
  position:relative; width:70px; height:70px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:12px 8px 8px; cursor:pointer;
  transition:transform .3s var(--ease), border-color .3s, box-shadow .3s;
}
.tec__item svg { width:34px; height:34px; }
.tec__item:hover, .tec__item:focus-visible {
  transform:translateY(-6px) scale(1.08);
  border-color:var(--purple);
  box-shadow:0 0 0 3px rgba(108,99,255,0.15), var(--shadow-md);
}
.tec__name {
  position:absolute; bottom:calc(100% + 8px); left:50%;
  transform:translateX(-50%) translateY(4px);
  background:var(--surface); border:1px solid var(--purple);
  color:var(--text); font-size:.68rem; font-weight:700; padding:4px 10px;
  border-radius:100px; white-space:nowrap; opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease; z-index:10;
  box-shadow:var(--shadow-sm);
}
.tec__name::after {
  content:''; position:absolute; top:100%; left:50%;
  transform:translateX(-50%); border:4px solid transparent; border-top-color:var(--purple);
}
.tec__item:hover .tec__name, .tec__item:focus-visible .tec__name { opacity:1; transform:translateX(-50%) translateY(0); }

/* ── PORTFÓLIO ──────────────────────────────────────────────── */
.portfolio { background:var(--bg-soft); }
.port__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.port__card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  overflow:hidden; transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;
  cursor:default;
}
.port__card:hover { transform:translateY(-6px); border-color:var(--border-h); box-shadow:var(--shadow-lg), var(--shadow-pur); }
.port__card--lg { grid-column: span 2; }
.port__img {
  height:180px; background:var(--surface); position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--border);
}
.port__card--lg .port__img { height:220px; }
.port__ph { display:flex; flex-direction:column; align-items:center; gap:10px; transition:.3s; }
.port__ph svg { width:140px; }
.port__ph span { font-size:.7rem; color:var(--text-faint); letter-spacing:.05em; text-transform:uppercase; }
.port__overlay {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(10,10,15,0.7); backdrop-filter:blur(4px);
  opacity:0; transition:.3s; gap:12px;
}
.port__card:hover .port__overlay { opacity:1; }
.port__card:hover .port__ph { transform:scale(.92); opacity:.3; }
.port__btn {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--grad-main); color:#fff; font-size:.85rem; font-weight:700;
  padding:10px 20px; border-radius:var(--radius-sm);
  box-shadow:var(--shadow-pur); transition:.2s;
}
.port__btn:hover { transform:scale(1.04); }
.port__body { padding:22px 24px 26px; }
.port__tag {
  display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--purple); background:var(--purple-dim);
  border:1px solid rgba(108,99,255,0.2); padding:3px 10px; border-radius:100px; margin-bottom:12px;
}
.port__card h3 { font-size:1.02rem; font-weight:700; color:var(--text); margin-bottom:10px; line-height:1.3; }
.port__card p { font-size:.85rem; color:var(--text-dim); line-height:1.75; margin-bottom:14px; }
.port__stack { display:flex; flex-wrap:wrap; gap:6px; }
.port__stack span {
  font-size:.7rem; color:var(--text-dim); background:var(--bg);
  border:1px solid var(--border); padding:2px 9px; border-radius:100px;
}

/* ── PROCESSO ───────────────────────────────────────────────── */
.processo { background:var(--bg); }
.steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:16px; align-items:flex-start; }
.step { text-align:left; }
.step__n {
  font-family:var(--mono); font-size:.82rem; font-weight:500;
  color:var(--purple); background:var(--purple-dim); border:1px solid rgba(108,99,255,0.25);
  width:42px; height:42px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; margin-bottom:18px;
}
.step h3 { font-size:1rem; font-weight:700; color:var(--text); margin-bottom:10px; }
.step p { font-size:.86rem; color:var(--text-dim); line-height:1.75; }
.step__line { width:1px; height:42px; background:linear-gradient(to bottom, var(--border), var(--purple-dim), var(--border)); margin-top:0; }

/* ── DEPOIMENTOS ────────────────────────────────────────────── */
.depos { background:var(--bg-soft); }
.dep__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dep__card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:28px 26px; transition:transform .3s var(--ease), border-color .3s, box-shadow .3s;
}
.dep__card:hover { transform:translateY(-4px); border-color:var(--border-h); box-shadow:var(--shadow-md); }
.dep__stars { font-size:1.1rem; color:#F59E0B; letter-spacing:2px; margin-bottom:14px; }
.dep__card p { font-size:.9rem; color:var(--text-dim); line-height:1.8; margin-bottom:20px; font-style:italic; }
.dep__autor { display:flex; align-items:center; gap:12px; }
.dep__avatar {
  width:42px; height:42px; border-radius:50%; background:var(--grad-main);
  display:flex; align-items:center; justify-content:center;
  font-size:.8rem; font-weight:800; color:#fff; flex-shrink:0;
}
.dep__autor strong { display:block; font-size:.9rem; color:var(--text); }
.dep__autor span { font-size:.78rem; color:var(--text-dim); }

/* ── CONTATO ────────────────────────────────────────────────── */
.contato { background:var(--bg); position:relative; overflow:hidden; }
.contato::before {
  content:''; position:absolute; top:-200px; right:-200px;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(108,99,255,0.1) 0%, transparent 70%);
  pointer-events:none;
}
.contato__grid { display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:start; position:relative; z-index:1; }

.faq__wrap h2 { font-size:clamp(1.7rem,3vw,2.3rem); font-weight:800; color:var(--text); margin-bottom:30px; line-height:1.2; }
.faq__list { display:flex; flex-direction:column; gap:10px; }
.faq__item { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; transition:.25s; }
.faq__item.open { border-color:rgba(108,99,255,0.4); }
.faq__q {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:17px 20px; text-align:left; color:var(--text); font-size:.92rem; font-weight:600;
}
.faq__q svg { flex-shrink:0; width:16px; height:16px; color:var(--text-dim); transition:.25s; }
.faq__item.open .faq__q svg { transform:rotate(180deg); color:var(--purple); }
.faq__a { padding:0 20px; max-height:0; overflow:hidden; transition:max-height .35s var(--ease), padding .25s; }
.faq__a:not([hidden]) { max-height:200px; padding-bottom:18px; }
.faq__a p { font-size:.86rem; color:var(--text-dim); line-height:1.8; }

.form__box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-xl); padding:38px; }
.form__head h3 { font-size:1.4rem; font-weight:800; color:var(--text); margin-bottom:8px; }
.form__head p { font-size:.9rem; color:var(--text-dim); margin-bottom:16px; }
.form__guarantee {
  display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-weight:600;
  color:var(--amber); background:rgba(245,158,11,0.1); border:1px solid rgba(245,158,11,0.25);
  padding:6px 14px; border-radius:100px; margin-bottom:24px;
}
.form__guarantee svg { width:14px; height:14px; }

.cform { display:flex; flex-direction:column; gap:16px; }
.cf__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cf__group { display:flex; flex-direction:column; gap:7px; }
.cf__group label { font-size:.78rem; font-weight:700; color:var(--text-dim); letter-spacing:.04em; text-transform:uppercase; }
.cf__group input, .cf__group select, .cf__group textarea {
  background:rgba(255,255,255,0.04); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:12px 15px; font-family:var(--font); font-size:.9rem; color:var(--text);
  outline:none; width:100%; resize:vertical; transition:.25s;
}
.cf__group select { cursor:pointer; appearance:none; }
.cf__group select option { background:var(--surface); color:var(--text); }
.cf__group input::placeholder, .cf__group textarea::placeholder { color:var(--text-faint); }
.cf__group input:focus, .cf__group select:focus, .cf__group textarea:focus {
  border-color:var(--purple); background:rgba(108,99,255,0.05);
  box-shadow:0 0 0 3px rgba(108,99,255,0.12);
}
.cf__group input.error, .cf__group select.error, .cf__group textarea.error { border-color:var(--red); }
.cf__err { font-size:.74rem; color:var(--red); min-height:14px; }
.cf__fb { padding:13px 16px; border-radius:var(--radius-sm); font-size:.86rem; text-align:center; display:none; }
.cf__fb.success { display:block; background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.3); color:var(--green); }
.cf__fb.err { display:block; background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.3); color:var(--red); }
.cf__note { font-size:.74rem; color:var(--text-faint); text-align:center; }
#submitBtn[disabled] { opacity:.6; cursor:not-allowed; transform:none !important; }

/* ── FOOTER ─────────────────────────────────────────────────── */
.footer { background:var(--bg-soft); border-top:1px solid var(--border); padding-top:64px; }
.footer__wrap {
  max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,60px);
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:56px;
}
.footer__brand p { font-size:.85rem; color:var(--text-dim); margin:14px 0 22px; max-width:230px; line-height:1.7; }
.footer__social { display:flex; gap:10px; flex-wrap:wrap; }
.footer__social a {
  width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-dim); transition:.25s;
}
.soc--ig:hover { border-color:#E1306C; color:#E1306C; background:rgba(225,48,108,0.1); }
.soc--tt:hover { border-color:#FF0050; color:#FF0050; background:rgba(255,0,80,0.1); }
.soc--fb:hover { border-color:#1877F2; color:#1877F2; background:rgba(24,119,242,0.1); }
.soc--wa:hover { border-color:#25D366; color:#25D366; background:rgba(37,211,102,0.1); }
.soc--li:hover { border-color:#0A66C2; color:#0A66C2; background:rgba(10,102,194,0.1); }
.footer__col h4 { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--text); margin-bottom:16px; }
.footer__col ul { display:flex; flex-direction:column; gap:10px; }
.footer__col ul li { display:flex; align-items:center; gap:9px; font-size:.84rem; color:var(--text-dim); }
.footer__col ul li svg { width:14px; height:14px; flex-shrink:0; color:var(--purple); }
.footer__col ul a { font-size:.84rem; color:var(--text-dim); transition:.2s; }
.footer__col ul a:hover { color:var(--purple); }
.footer__bottom {
  border-top:1px solid var(--border); padding:22px clamp(20px,5vw,60px);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  max-width:1200px; margin:0 auto;
}
.footer__bottom p { font-size:.8rem; color:var(--text-faint); }
.footer__legal { display:flex; gap:20px; }
.footer__legal a { font-size:.8rem; color:var(--text-faint); transition:.2s; }
.footer__legal a:hover { color:var(--purple); }

/* ── WHATSAPP FLOAT ─────────────────────────────────────────── */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:1000;
  display:flex; align-items:center; gap:10px; overflow:hidden;
  background:#25D366; color:#fff; border-radius:50px;
  padding:14px 16px; max-width:58px;
  box-shadow:0 6px 24px rgba(37,211,102,0.5);
  transition:max-width .4s var(--ease), box-shadow .3s, transform .3s;
}
.wa-float:hover {
  max-width:220px; transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(37,211,102,0.6);
}
.wa-float__label {
  font-family:var(--font); font-size:.85rem; font-weight:700;
  white-space:nowrap; opacity:0; transition:opacity .2s ease .15s;
}
.wa-float:hover .wa-float__label { opacity:1; }

/* ── BACK TO TOP ────────────────────────────────────────────── */
.btt {
  position:fixed; bottom:98px; right:28px; z-index:999;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  background:var(--surface); border:1px solid var(--border); border-radius:50%;
  color:var(--text-dim); opacity:0; transform:translateY(8px); pointer-events:none;
  transition:.3s var(--ease);
}
.btt.show { opacity:1; transform:none; pointer-events:auto; }
.btt:hover { color:var(--purple); border-color:rgba(108,99,255,0.4); }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1100px) {
  .hero__wrap { grid-template-columns:1fr; }
  .orbit { max-width:340px; margin-top:32px; }
  .sol__grid { grid-template-columns:repeat(2,1fr); }
  .contato__grid { grid-template-columns:1fr; gap:52px; }
  .steps { grid-template-columns:1fr 1fr; }
  .step__line { display:none; }
  .footer__wrap { grid-template-columns:1fr 1fr; gap:40px; }
}

@media (max-width:768px) {
  .burger { display:flex; }
  .nav__links {
    display:none; flex-direction:column; position:fixed;
    top:var(--nav-h); left:0; right:0;
    background:rgba(10,10,15,0.98); backdrop-filter:blur(20px);
    padding:20px 24px 36px; gap:4px; border-bottom:1px solid var(--border); z-index:999;
  }
  .nav__links.open { display:flex; }
  .nav__links a:not(.nav__btn) { width:100%; padding:13px 16px; font-size:1rem; }
  .nav__btn { text-align:center; margin:8px 0 0; }
  .hero__ctas { flex-direction:column; }
  .cta { justify-content:center; }
  .hero__trust { flex-direction:column; align-items:flex-start; gap:10px; }
  .trust__sep { display:none; }
  .sol__grid, .port__grid, .dep__grid { grid-template-columns:1fr; }
  .port__card--lg { grid-column:span 1; }
  .cf__row { grid-template-columns:1fr; }
  .footer__wrap { grid-template-columns:1fr; gap:32px; }
  .footer__bottom { flex-direction:column; align-items:flex-start; }
  .steps { grid-template-columns:1fr; gap:28px; }
  .numeros__inner { gap:0; }
  .num__div { width:80%; height:1px; }
  .num__item { padding:20px 16px; }
}

@media (max-width:480px) {
  .hero__h1 { font-size:2.4rem; }
  .orbit { max-width:260px; }
  .orbit-icon { width:42px; height:42px; padding:9px; }
  .orbit__core { width:62px; height:62px; }
  .orbit__core svg { width:28px; height:28px; }
  .tec__item { width:60px; height:60px; padding:10px 6px 6px; }
  .tec__item svg { width:28px; height:28px; }
}
