/* ═══════════════════════════════════════════════════
   SACI ERP — style.css
   Paleta: Preto profundo · Laranja #F7941D · Cinza metálico
   Tipografia: Plus Jakarta Sans + Lora
   ═══════════════════════════════════════════════════ */

:root {
  /* Cores principais — DNA da logo SACI */
  --orange:       #F7941D;
  --orange-dark:  #d97c0a;
  --orange-soft:  rgba(247,148,29,0.13);
  --orange-glow:  rgba(247,148,29,0.28);

  --black:        #0a0a0a;
  --dark:         #111111;
  --dark2:        #181818;
  --dark3:        #1f1f1f;
  --card-bg:      #222222;
  --card-border:  rgba(255,255,255,0.07);

  --gray:         #7a7a7a;
  --gray-light:   #9b9b9b;
  --gray-metal:   #5a5a5a;

  --white:        #ffffff;
  --text-on-dark: rgba(255,255,255,0.85);
  --text-muted:   rgba(255,255,255,0.45);

  --green:        #22c55e;
  --red:          #ef4444;
  --yellow:       #eab308;

  --radius:       14px;
  --radius-sm:    8px;
  --shadow:       0 4px 24px rgba(0,0,0,0.4);
  --shadow-lg:    0 16px 48px rgba(0,0,0,0.5);
  --shadow-orange:0 8px 32px rgba(247,148,29,0.3);

  --font:         'Plus Jakarta Sans', sans-serif;
  --font-serif:   'Lora', serif;
  --nav-h:        70px;
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font); color:var(--text-on-dark); background:var(--black); line-height:1.6; -webkit-font-smoothing:antialiased; }
img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; border:none; }

/* ── LAYOUT ── */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section   { padding:96px 0; }

.bg-black  { background:var(--black); }
.bg-dark   { background:var(--dark); }
.bg-dark2  { background:var(--dark2); }

/* ── SECTION HEADERS ── */
.section-header { text-align:center; max-width:680px; margin:0 auto 60px; }

.section-header h2 {
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--white);
  margin: 10px 0 16px;
}

.section-header h2 span { color:var(--orange); }

.section-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: var(--orange);
}

.section-desc {
  font-size: 16.5px;
  color: var(--text-muted);
  line-height: 1.75;
}

/* ── BUTTONS ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.22s ease;
  border: 2px solid transparent;
  white-space: nowrap;
}

.btn-primary {
  background: var(--orange);
  color: var(--black);
  border-color: var(--orange);
}
.btn-primary:hover {
  background: var(--orange-dark);
  border-color: var(--orange-dark);
  transform: translateY(-2px);
  box-shadow: var(--shadow-orange);
}

.btn-outline {
  background: transparent;
  color: var(--orange);
  border-color: var(--orange);
}
.btn-outline:hover {
  background: var(--orange-soft);
  transform: translateY(-2px);
}

.btn-ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255,255,255,0.2);
}
.btn-ghost:hover { background:rgba(255,255,255,0.07); transform:translateY(-2px); }

.btn-lg  { padding:17px 32px; font-size:16px; border-radius:12px; }
.btn-full{ width:100%; justify-content:center; }

/* ── NAVBAR ── */
.navbar {
  position: fixed;
  top:0; left:0; right:0;
  height: var(--nav-h);
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(247,148,29,0.15);
  z-index: 1000;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.navbar.scrolled {
  box-shadow: 0 4px 32px rgba(0,0,0,0.6);
  border-bottom-color: rgba(247,148,29,0.3);
}

.nav-inner { display:flex; align-items:center; justify-content:space-between; height:100%; }

/* Logo */
.logo { display:flex; align-items:center; }
.logo-img { height:44px; width:auto; object-fit:contain; }

.nav-links { display:flex; align-items:center; gap:4px; }

.nav-links a {
  color: var(--text-muted);
  font-size: 13.5px;
  font-weight: 500;
  padding: 8px 13px;
  border-radius: 8px;
  transition: all 0.18s;
}
.nav-links a:hover { color:var(--white); background:rgba(255,255,255,0.05); }

/* Botão "Área do Cliente" — outline laranja */
.nav-btn-outline {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: var(--orange) !important;
  border: 1.5px solid rgba(247,148,29,0.45) !important;
  padding: 7px 13px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  background: transparent !important;
}
.nav-btn-outline:hover {
  background: var(--orange-soft) !important;
  border-color: var(--orange) !important;
  color: var(--orange) !important;
}

/* Botão "Trabalhe Conosco" — ghost */
.nav-btn-ghost {
  color: var(--gray-light) !important;
  font-size: 13px !important;
}
.nav-btn-ghost:hover { color:var(--white) !important; }

/* CTA final da nav */
.nav-cta {
  background: var(--orange) !important;
  color: var(--black) !important;
  font-weight: 700 !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
}
.nav-cta:hover { background: var(--orange-dark) !important; color:var(--black) !important; }

/* Hamburger */
.hamburger {
  display:none; flex-direction:column; justify-content:center;
  gap:5px; width:40px; height:40px;
  background:rgba(255,255,255,0.05);
  border-radius:8px; padding:8px;
  border: 1px solid rgba(255,255,255,0.08);
}
.hamburger span { display:block; height:2px; background:var(--white); border-radius:2px; transition:all 0.25s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

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

/* Grade de fundo sutil */
.hero-bg-grid {
  position: absolute; inset:0;
  background-image:
    linear-gradient(rgba(247,148,29,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247,148,29,0.04) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 20%, transparent 100%);
}

/* Brilho laranja sutil no fundo */
.hero::before {
  content:'';
  position:absolute;
  top:-200px; right:-200px;
  width:600px; height:600px;
  background: radial-gradient(circle, rgba(247,148,29,0.08) 0%, transparent 65%);
  pointer-events:none;
}

.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 100px;
  position: relative;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(247,148,29,0.1);
  border: 1px solid rgba(247,148,29,0.3);
  color: var(--orange);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 24px;
}

.badge-dot {
  width:7px; height:7px;
  background:var(--orange);
  border-radius:50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.4; transform:scale(1.4); }
}

.hero-headline {
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 800;
  line-height: 1.1;
  color: var(--white);
  letter-spacing: -1.5px;
  margin-bottom: 24px;
}
.hero-headline .highlight { color:var(--orange); display:inline; }
.hero-headline em {
  font-style:italic;
  font-family:var(--font-serif);
  font-weight:600;
  color:var(--gray-light);
  font-size:0.82em;
  letter-spacing:0;
}

.hero-sub {
  font-size: 17.5px;
  color: var(--text-muted);
  line-height: 1.75;
  max-width: 480px;
  margin-bottom: 36px;
}

.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }

.hero-trust { display:flex; align-items:center; gap:24px; }
.trust-item { display:flex; flex-direction:column; }
.trust-item strong { font-size:22px; font-weight:800; color:var(--white); line-height:1.1; }
.trust-item span   { font-size:12px; color:var(--text-muted); }
.trust-divider     { width:1px; height:36px; background:rgba(255,255,255,0.1); }

/* ── MOCKUP ── */
/* ── MOCKUP — DISPOSITIVOS ── */
.hero-mockup { position: relative; }

.devices-scene {
  position: relative;
  width: 100%;
  height: 110px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0;
}

/* ── DESKTOP ── */
.device-desktop {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: -30px;
  margin-bottom: 60px;
}

.device-desktop .device-screen {
  width: 220px;
  height: 148px;
  background: #000;
  border-radius: 6px 6px 0 0;
  border: 8px solid #2a2a2a;
  border-bottom: 14px solid #1a1a1a;
  overflow: hidden;
  box-shadow: 0 0 0 1px #111, 0 8px 32px rgba(0,0,0,0.6);
}

.device-desktop .device-screen img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.device-stand {
  width: 28px; height: 22px;
  background: linear-gradient(180deg, #1e1e1e, #141414);
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
}

.device-base {
  width: 80px; height: 6px;
  background: #1e1e1e;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

/* ── LAPTOP ── */
.device-laptop {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.device-lid {
  width: 300px;
  background: #1a1a1a;
  border-radius: 10px 10px 0 0;
  padding: 10px 10px 6px;
  border: 1px solid #2e2e2e;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.5);
}

.device-laptop .device-screen {
  width: 100%;
  height: 185px;
  background: #000;
  border-radius: 4px;
  overflow: hidden;
  border: 2px solid #111;
}

.device-laptop .device-screen img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.device-keyboard {
  width: 320px; height: 18px;
  background: linear-gradient(180deg, #1e1e1e, #141414);
  border-radius: 0 0 8px 8px;
  border: 1px solid #2a2a2a;
  border-top: none;
  box-shadow: 0 6px 24px rgba(0,0,0,0.5);
  position: relative;
}
.device-keyboard::after {
  content: '';
  position: absolute;
  bottom: 3px; left: 50%; transform: translateX(-50%);
  width: 60px; height: 4px;
  background: #2a2a2a;
  border-radius: 2px;
}

/* ── CELULAR ── */
.device-phone {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-left: -20px;
  margin-bottom: 30px;
  background: #1a1a1a;
  border-radius: 22px;
  padding: 10px 7px;
  border: 1px solid #2e2e2e;
  width: 110px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6), 0 0 0 1px #111;
}

.device-notch {
  width: 32px; height: 6px;
  background: #111;
  border-radius: 3px;
  margin-bottom: 6px;
}

.device-phone .device-screen {
  width: 100%;
  height: 210px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.device-phone .device-screen img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.device-home {
  width: 30px; height: 5px;
  background: #2a2a2a;
  border-radius: 3px;
  margin-top: 8px;
}

/* Brilho laranja sob os devices */
.mockup-glow {
  position: absolute;
  bottom: -20px; left: 50%; transform: translateX(-50%);
  width: 80%; height: 60px;
  background: radial-gradient(ellipse, rgba(247,148,29,0.2), transparent 70%);
  pointer-events: none;
}

/* Mobile: empilha só o laptop */
@media (max-width: 768px) {
  .devices-scene { height: auto; flex-direction: column; align-items: center; gap: 20px; }
  .device-desktop, .device-phone { display: none; }
  .device-laptop { margin: 0; }
  .device-lid { width: 100%; max-width: 320px; }
  .device-keyboard { width: calc(100% + 20px); max-width: 340px; }
}

.hero-wave { position:absolute; bottom:0; left:0; right:0; }
.hero-wave svg { display:block; }

/* ── BENEFÍCIOS ── */
.benefits-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px,1fr)); gap:20px; }

.benefit-card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  padding: 30px;
  transition: all 0.25s ease;
}
.benefit-card:hover {
  transform:translateY(-4px);
  border-color:rgba(247,148,29,0.35);
  box-shadow: 0 12px 40px rgba(0,0,0,0.4), 0 0 0 1px rgba(247,148,29,0.15);
}

.benefit-icon {
  width:50px; height:50px;
  background:var(--orange-soft);
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
  color:var(--orange);
}

.benefit-card h3 { font-size:16px; font-weight:700; margin-bottom:10px; color:var(--white); }
.benefit-card p  { font-size:14px; color:var(--text-muted); line-height:1.7; }

/* ── SETORES ── */
.sectors-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(210px,1fr)); gap:18px; }

.sector-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius);
  padding: 26px 22px;
  transition: all 0.25s ease;
}
.sector-card:hover {
  background: rgba(247,148,29,0.05);
  border-color: rgba(247,148,29,0.35);
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.35);
}

.sector-emoji { font-size:30px; margin-bottom:14px; line-height:1; }
.sector-card h3 { font-size:15px; font-weight:700; color:var(--white); margin-bottom:12px; }

.pain-list { list-style:none; margin-bottom:14px; }
.pain-list li {
  font-size:13px; color:var(--text-muted);
  padding:4px 0 4px 16px; position:relative;
}
.pain-list li::before { content:'×'; position:absolute; left:0; color:var(--red); font-weight:700; }

.sector-solution {
  font-size:13px; color:rgba(255,255,255,0.55); line-height:1.6;
  padding-top:14px; border-top:1px solid rgba(255,255,255,0.07);
  margin-bottom:14px;
}
.sector-link { font-size:13px; font-weight:700; color:var(--orange); display:inline-block; transition:letter-spacing 0.2s; }
.sector-link:hover { letter-spacing:0.3px; }

/* ── COMO FUNCIONA ── */
.steps-wrap { position:relative; display:flex; flex-direction:column; max-width:800px; margin:0 auto; }

.steps-line {
  position:absolute; left:36px; top:48px; bottom:48px; width:2px;
  background:linear-gradient(180deg, var(--orange) 0%, rgba(247,148,29,0.05) 100%);
}

.step { display:flex; gap:32px; align-items:flex-start; padding:32px 0; }

.step-num {
  flex-shrink:0; width:72px; height:72px;
  background:var(--orange); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; font-weight:800; color:var(--black);
  position:relative; z-index:1;
  box-shadow:0 0 0 6px var(--dark2), 0 0 0 8px rgba(247,148,29,0.2);
}

.step-content { padding-top:16px; }
.step-content h3 { font-size:20px; font-weight:700; margin-bottom:10px; color:var(--white); }
.step-content p  { font-size:15px; color:var(--text-muted); line-height:1.75; }

/* ── DEPOIMENTOS ── */
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:22px; }

.testimonial-card {
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:30px;
  transition:all 0.25s;
  position:relative;
}
.testimonial-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }

.testimonial-card.featured {
  border-color:var(--orange);
  box-shadow:0 0 0 1px var(--orange), var(--shadow-lg);
}
.testimonial-card.featured::before {
  content:'⭐ Em destaque';
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--orange); color:var(--black);
  font-size:11px; font-weight:700;
  padding:3px 12px; border-radius:20px; white-space:nowrap;
}

.stars { color:var(--orange); font-size:16px; letter-spacing:2px; margin-bottom:16px; }

blockquote {
  font-size:14.5px; color:var(--text-muted); line-height:1.8;
  font-style:italic; margin-bottom:22px; border:none;
}
blockquote::before { content:'"'; font-size:38px; color:var(--orange); line-height:0.5; display:block; margin-bottom:8px; font-style:normal; }

.testimonial-author { display:flex; align-items:center; gap:12px; }
.author-avatar { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:white; flex-shrink:0; }
.testimonial-author strong { display:block; font-size:14px; color:var(--white); }
.testimonial-author span   { font-size:12px; color:var(--text-muted); }

/* ── DEMO FORM ── */
.demo-inner { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }

.demo-text h2 { font-size:clamp(26px,3vw,38px); font-weight:800; line-height:1.2; margin:10px 0 18px; color:var(--white); }
.demo-text h2 span { color:var(--orange); }
.demo-text > p { font-size:16px; color:var(--text-muted); line-height:1.75; margin-bottom:28px; }

.demo-checklist { list-style:none; display:flex; flex-direction:column; gap:12px; }
.demo-checklist li { display:flex; align-items:center; gap:10px; font-size:15px; color:var(--text-muted); }
.check { width:22px; height:22px; background:rgba(247,148,29,0.15); color:var(--orange); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; }

.demo-form {
  background: var(--dark3);
  border: 1px solid rgba(247,148,29,0.2);
  border-radius: 20px;
  padding: 38px;
  box-shadow: var(--shadow-lg);
}
.demo-form h3 { font-size:20px; font-weight:700; margin-bottom:26px; color:var(--white); }

/* ── FORM BASE ── */
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.form-group:last-of-type { margin-bottom:0; }

.form-group label { font-size:12.5px; font-weight:600; color:rgba(255,255,255,0.7); }
.optional { color:var(--gray); font-weight:400; }

.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:11px 13px;
  border:1.5px solid rgba(255,255,255,0.1);
  border-radius:8px;
  font-size:14px; font-family:inherit;
  color:var(--white);
  background:#2a2a2a;
  outline:none;
  transition:border-color 0.2s, box-shadow 0.2s;
  resize:vertical;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(255,255,255,0.25); }
.form-group select option { background:#2a2a2a; color:var(--white); }

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(247,148,29,0.15);
}
.form-group input.error,
.form-group select.error,
.form-group textarea.error { border-color:var(--red); }

.form-error { font-size:12px; color:var(--red); min-height:16px; font-weight:500; }

.form-success {
  display:none;
  background:rgba(34,197,94,0.1);
  border:1px solid rgba(34,197,94,0.3);
  color:#22c55e;
  padding:14px 16px; border-radius:8px;
  font-size:14px; font-weight:500;
  margin-top:14px; text-align:center;
}
.form-success.visible { display:block; }

.form-privacy { font-size:12px; color:var(--text-muted); text-align:center; margin-top:12px; }
.demo-form .btn { margin-top:18px; }

/* ── CTA SECTION ── */
.cta-section {
  background: linear-gradient(135deg, #0d0d0d 0%, #141414 100%);
  position:relative; overflow:hidden;
}
.cta-section::before {
  content:'';
  position:absolute; top:-120px; right:-120px;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(247,148,29,0.1), transparent 65%);
  pointer-events:none;
}
.cta-section::after {
  content:'';
  position:absolute; bottom:-120px; left:-120px;
  width:400px; height:400px;
  background:radial-gradient(circle, rgba(247,148,29,0.06), transparent 65%);
  pointer-events:none;
}

.cta-inner { text-align:center; max-width:660px; margin:0 auto; position:relative; z-index:1; }
.cta-badge {
  display:inline-block;
  background:var(--orange-soft);
  border:1px solid rgba(247,148,29,0.3);
  color:var(--orange);
  font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:2px;
  padding:6px 16px; border-radius:20px; margin-bottom:24px;
}
.cta-inner h2 { font-size:clamp(28px,4vw,46px); font-weight:800; color:var(--white); line-height:1.2; margin-bottom:18px; }
.cta-inner p  { font-size:17px; color:var(--text-muted); line-height:1.7; margin-bottom:40px; }
.cta-actions  { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ── FOOTER ── */
.footer { background:#060606; padding-top:64px; }

.footer-inner {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,0.06);
}

.footer-logo .logo-img { height:40px; margin-bottom:16px; }
.footer-brand p { font-size:14px; line-height:1.7; color:var(--text-muted); max-width:240px; margin-bottom:18px; }

.whatsapp-link {
  display:inline-flex; align-items:center; gap:8px;
  color:#25d366; font-size:14px; font-weight:600; transition:opacity 0.2s;
}
.whatsapp-link:hover { opacity:0.8; }

.footer-col h4 {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:1.5px; color:var(--orange); margin-bottom:20px;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { font-size:13.5px; color:var(--text-muted); transition:color 0.18s; }
.footer-col ul li a:hover { color:var(--white); }

.footer-cta-link { color:var(--orange) !important; font-weight:600; }
.footer-highlight { color:rgba(255,255,255,0.7) !important; }
.footer-highlight:hover { color:var(--white) !important; }

.footer-bottom { padding:20px 0; }
.footer-bottom .container {
  display:flex; justify-content:space-between;
  font-size:12px; color:rgba(255,255,255,0.2); flex-wrap:wrap; gap:8px;
}

/* ── WHATSAPP FLOAT ── */
.whatsapp-float {
  position:fixed; bottom:28px; right:28px;
  width:58px; height:58px; background:#25d366;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,0.35); z-index:900;
  transition:transform 0.2s, box-shadow 0.2s;
}
.whatsapp-float:hover { transform:scale(1.1); box-shadow:0 10px 32px rgba(37,211,102,0.5); }

/* ══════════════════════════════════════
   MODAIS
══════════════════════════════════════ */
.modal-overlay {
  display:none;
  position:fixed; inset:0;
  background:rgba(0,0,0,0.82);
  backdrop-filter:blur(6px);
  z-index:2000;
  align-items:center; justify-content:center;
  padding:20px;
  animation:fadeIn 0.2s ease;
}
.modal-overlay.open { display:flex; }

@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes slideUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

.modal-box {
  background: #161616;
  border: 1px solid rgba(247,148,29,0.25);
  border-radius: 20px;
  padding: 40px;
  width: 100%;
  max-width: 460px;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  animation: slideUp 0.25s ease;
  box-shadow: 0 32px 80px rgba(0,0,0,0.7);
}

.modal-box--lg { max-width: 620px; }

.modal-close {
  position:absolute; top:16px; right:16px;
  width:32px; height:32px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:50%; color:var(--gray-light);
  font-size:14px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.2s;
}
.modal-close:hover { background:rgba(247,148,29,0.15); color:var(--orange); border-color:var(--orange); }

.modal-logo { text-align:center; margin-bottom:20px; }
.modal-logo img { height:48px; width:auto; margin:0 auto; }

.modal-icon-header { text-align:center; margin-bottom:16px; }
.modal-icon-circle {
  width:60px; height:60px; background:var(--orange-soft);
  border:1px solid rgba(247,148,29,0.3);
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-size:26px;
}

.modal-box h2 {
  font-size:22px; font-weight:800; text-align:center;
  color:var(--white); margin-bottom:6px;
}
.modal-sub { font-size:14px; color:var(--text-muted); text-align:center; margin-bottom:28px; line-height:1.6; }

.modal-form { display:flex; flex-direction:column; }

/* Input de senha com botão */
.input-pass-wrap { position:relative; }
.input-pass-wrap input { padding-right:44px; }
.toggle-pass {
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  background:none; color:var(--gray); transition:color 0.2s;
}
.toggle-pass:hover { color:var(--orange); }

/* Checkbox */
.form-row-check {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px;
}
.checkbox-label { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-muted); cursor:pointer; }
.checkbox-label input[type=checkbox] { accent-color:var(--orange); width:15px; height:15px; }
.forgot-link { font-size:13px; color:var(--orange); transition:opacity 0.2s; }
.forgot-link:hover { opacity:0.75; }

.modal-note {
  font-size:12.5px; color:var(--text-muted);
  text-align:center; margin-top:16px; line-height:1.6;
}
.modal-note a { color:var(--orange); }

/* Upload de arquivo */
.file-upload-wrap { position:relative; }
.file-upload-wrap input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; z-index:1; }
.file-upload-ui {
  border:2px dashed rgba(247,148,29,0.3);
  border-radius:10px; padding:20px;
  text-align:center; cursor:pointer;
  transition:border-color 0.2s, background 0.2s;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:var(--text-muted);
}
.file-upload-ui:hover { border-color:var(--orange); background:var(--orange-soft); }
.file-upload-ui svg  { color:var(--orange); }
.file-upload-ui span { font-size:14px; color:rgba(255,255,255,0.6); }
.file-upload-ui small{ font-size:11px; color:var(--text-muted); }
.file-upload-ui.has-file { border-color:var(--green); background:rgba(34,197,94,0.06); }
.file-upload-ui.has-file span { color:#22c55e; }

/* ── ANIMATIONS ── */
[data-animate] {
  opacity:0; transform:translateY(28px);
  transition:opacity 0.65s ease, transform 0.65s ease;
}
[data-animate].in-view { opacity:1; transform:translateY(0); }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width:1100px) {
  .hero-inner { grid-template-columns:1fr; gap:48px; }
  .hero-mockup { max-width:560px; margin:0 auto; }
  .mkp-kpis { grid-template-columns:repeat(2,1fr); }
  .demo-inner { grid-template-columns:1fr; gap:48px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:36px; }
}

@media (max-width:768px) {
  .section { padding:68px 0; }

  .hamburger { display:flex; }
  .nav-links {
    display:none; position:fixed;
    top:var(--nav-h); left:0; right:0;
    background:#0d0d0d;
    flex-direction:column; padding:16px;
    gap:4px; border-bottom:1px solid rgba(247,148,29,0.15);
    box-shadow:0 8px 32px rgba(0,0,0,0.6);
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding:12px 16px; font-size:15px; border-radius:8px; }
  .nav-btn-outline { justify-content:center; }

  .hero-inner { padding-bottom:80px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { justify-content:center; }

  .benefits-grid    { grid-template-columns:1fr; }
  .sectors-grid     { grid-template-columns:1fr; }
  .testimonials-grid{ grid-template-columns:1fr; }

  .steps-line { display:none; }
  .step { flex-direction:column; gap:16px; align-items:center; text-align:center; }

  .form-row { grid-template-columns:1fr; }
  .demo-form { padding:26px 20px; }

  .cta-actions { flex-direction:column; align-items:center; }

  .footer-inner { grid-template-columns:1fr; gap:28px; }
  .footer-bottom .container { flex-direction:column; align-items:center; text-align:center; }

  .modal-box { padding:28px 22px; }
  .modal-box--lg { max-width:100%; }
}

@media (max-width:420px) {
  .hero-headline { letter-spacing:-1px; }
  .container { padding:0 16px; }
  .form-row-check { flex-direction:column; align-items:flex-start; gap:10px; }
}

.whatsapp-float {
  position: fixed;
  bottom: 28px;
  left: 28px;
  width: 58px;
  height: 58px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 24px rgba(37,211,102,0.35);
  z-index: 900;
  transition: transform 0.2s, box-shadow 0.2s;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 10px 32px rgba(37,211,102,0.5);
}