/* ============================================================
   AUVORA TECH — folha de estilos
   Extraído fielmente do Figma (arquivo "Site Auvora")
   ============================================================ */

:root{
  --ink-900:#041b15;
  --ink-700:#1b3b32;
  --ink-500:#45564f;
  --ink-400:#5d6e68;
  --ink-300:#98a5a0;
  --ink-100:#e4e9e7;
  --border-default:#c7cfcc;
  --border-subtle:#e4e9e7;
  --mint-050:#f6faf5;
  --mint-300:#e5f4e3;
  --mint-500:#c9e6c5;
  --white:#ffffff;
  --accent:#ef7b45;
  --accent-dark:#d9682f;
  --action-blue:#003f91;
  --success:#1f7a5c;
  --error:#b0501f;

  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'Poppins','Inter',sans-serif;

  --container:1248px;
  --side:96px;
  --radius-s:4px;
  --radius-m:6px;
  --radius-pill:34px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:80px;
}

@media (max-width:1100px){ :root{ --side:48px; } }
@media (max-width:640px){ :root{ --side:24px; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink-900);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}

img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select{ font-family:inherit; font-size:inherit; }

.icon{ width:1em; height:1em; display:inline-block; }

.wrap{
  max-width:calc(var(--container) + var(--side)*2);
  margin:0 auto;
  padding-left:var(--side);
  padding-right:var(--side);
}

section{ position:relative; }

/* ---------- Typography helpers ---------- */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:12px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--ink-500);
  margin:0 0 20px;
}
.eyebrow::before{
  content:"";
  width:28px;
  height:1.5px;
  background:var(--accent);
  display:inline-block;
  flex:none;
}
.eyebrow.on-dark{ color:rgba(255,255,255,.6); }
.eyebrow.on-dark::before{ background:var(--accent); }

h1,h2,h3,h4{ margin:0; font-weight:500; letter-spacing:-.02em; color:var(--ink-900); }

.section-title{
  font-size:clamp(28px,3.6vw,40px);
  line-height:1.2;
  max-width:760px;
  font-weight:500;
  margin:0 0 20px;
}
.section-lede{
  font-size:17px;
  color:var(--ink-500);
  max-width:640px;
  line-height:1.6;
  margin:0;
}

.section-head{ margin-bottom:64px; }
.section-pad{ padding:120px 0; }
@media (max-width:900px){ .section-pad{ padding:80px 0; } }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  border-radius:var(--radius-pill);
  padding:17px 28px;
  font-size:15px;
  font-weight:500;
  border:1px solid transparent;
  white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn svg{ width:16px; height:16px; transition:transform .25s var(--ease); }
.btn:hover svg{ transform:translateX(3px); }

.btn-primary{ background:var(--ink-900); color:var(--white); }
.btn-primary:hover{ background:#0a2b21; box-shadow:0 12px 24px -10px rgba(4,27,21,.4); }

.btn-accent{ background:var(--accent); color:var(--white); }
.btn-accent:hover{ background:var(--accent-dark); box-shadow:0 12px 24px -10px rgba(239,123,69,.5); }

.btn-outline{ border-color:rgba(255,255,255,.9); color:var(--white); background:transparent; }
.btn-outline:hover{ background:rgba(255,255,255,.1); }

.btn-ghost-dark{ border-color:var(--border-default); color:var(--ink-900); background:transparent; }
.btn-ghost-dark:hover{ border-color:var(--ink-900); }

.btn-sm{ padding:13px 20px; font-size:14px; }

/* ---------- Header ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--white);
  height:var(--header-h);
  display:flex;
  align-items:center;
  transition:height .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  height:72px;
  box-shadow:0 6px 24px -12px rgba(4,27,21,.12);
  border-bottom-color:var(--border-subtle);
}
.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:24px;
}
.brand{ display:flex; align-items:center; gap:12px; flex:none; }
.brand svg{ width:22px; height:40px; color:var(--ink-900); }
.brand .wordmark{
  font-family:var(--font-sans);
  font-weight:600;
  font-size:20px;
  letter-spacing:3px;
  color:var(--ink-900);
}
.brand img.logo-img{ height:32px; width:auto; display:block; transition:height .3s var(--ease); }
.site-header.is-scrolled .brand img.logo-img{ height:28px; }

.main-nav{ display:flex; align-items:center; gap:36px; }
.main-nav a{
  font-size:15px;
  font-weight:500;
  color:var(--ink-900);
  position:relative;
  padding-bottom:6px;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1.5px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s var(--ease);
}
.main-nav a:hover::after,
.main-nav a.is-active::after{ transform:scaleX(1); }

.header-cta{ flex:none; }
.header-cta .btn{ padding:13px 20px; }

.nav-toggle{
  display:none;
  background:none;
  border:none;
  padding:8px;
  color:var(--ink-900);
}
.nav-toggle svg{ width:24px; height:24px; }

@media (max-width:900px){
  .main-nav{
    position:fixed;
    inset:72px 0 0 0;
    background:var(--white);
    flex-direction:column;
    align-items:flex-start;
    padding:32px var(--side);
    gap:8px;
    transform:translateY(-12px);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease);
  }
  .main-nav a{ width:100%; padding:14px 0; font-size:17px; border-bottom:1px solid var(--border-subtle); }
  body.nav-open .main-nav{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-toggle{ display:inline-flex; }
  .header-cta{ display:none; }
}

/* ---------- Reveal animations ---------- */
.reveal{
  opacity:0;
  transform:translateY(22px) scale(.985);
  transition:opacity .65s var(--ease), transform .65s var(--ease);
}
.reveal.is-visible{ opacity:1; transform:none; }
.reveal-stagger > *{
  opacity:0;
  transform:translateY(18px) scale(.97);
  transition:opacity .55s var(--ease), transform .55s var(--ease);
}
.reveal-stagger.is-visible > *{ opacity:1; transform:none; }
.reveal-stagger.is-visible > *:nth-child(1){ transition-delay:.02s; }
.reveal-stagger.is-visible > *:nth-child(2){ transition-delay:.07s; }
.reveal-stagger.is-visible > *:nth-child(3){ transition-delay:.12s; }
.reveal-stagger.is-visible > *:nth-child(4){ transition-delay:.17s; }
.reveal-stagger.is-visible > *:nth-child(5){ transition-delay:.22s; }
.reveal-stagger.is-visible > *:nth-child(6){ transition-delay:.27s; }
.reveal-stagger.is-visible > *:nth-child(7){ transition-delay:.32s; }
.reveal-stagger.is-visible > *:nth-child(8){ transition-delay:.37s; }
.reveal-stagger.is-visible > *:nth-child(9){ transition-delay:.42s; }
.reveal-stagger.is-visible > *:nth-child(10){ transition-delay:.47s; }
.reveal-stagger.is-visible > *:nth-child(11){ transition-delay:.52s; }
.reveal-stagger.is-visible > *:nth-child(12){ transition-delay:.57s; }

/* Draw-in for decorative line graphics (mercados hub, CRM chart) */
.hub path{
  stroke-dasharray:2200;
  stroke-dashoffset:2200;
  transition:stroke-dashoffset 1.8s var(--ease);
}
.hub.is-visible path{ stroke-dashoffset:0; }
.hub circle{
  opacity:0;
  transform-origin:center;
  transform:scale(.3);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  transition-delay:.9s;
}
.hub.is-visible circle{ opacity:1; transform:none; }
.crm-chart polyline:first-child{
  stroke-dasharray:420;
  stroke-dashoffset:420;
  transition:stroke-dashoffset 1.3s var(--ease) .2s;
}
.reveal.is-visible .crm-chart polyline:first-child{ stroke-dashoffset:0; }

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(153deg,#041b15 14%,#1b3b32 54%,#041b15 86%);
  color:var(--white);
  padding:72px 0 96px;
  overflow:clip;
}
.hero .wrap{
  display:grid;
  grid-template-columns:minmax(0,596px) minmax(0,560px);
  gap:40px;
  align-items:center;
}
.hero-kicker{ color:rgba(255,255,255,.6); }
.hero h1{
  color:var(--white);
  font-weight:300;
  font-size:clamp(32px,4.2vw,48px);
  line-height:1.18;
  letter-spacing:-.02em;
  margin:24px 0;
}
.hero p.lede{
  font-size:20px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
  max-width:520px;
  margin:0 0 32px;
}
.hero p.lede b{ font-weight:700; color:#fff; }
.hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:40px; }
.hero-caps{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:24px;
  font-size:12px;
  font-weight:500;
  letter-spacing:1px;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.hero-caps .dot{ width:3px; height:3px; border-radius:50%; background:currentColor; }

/* ---------- Device showcase (recriado em HTML/CSS) ---------- */
.device{ position:relative; }
.laptop{
  background:#1e293b;
  border:2px solid #334155;
  border-radius:16px 16px 4px 4px;
  padding:14px 14px 10px;
  animation:float 7s ease-in-out infinite;
}
@keyframes float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
.laptop .camera{ width:6px; height:6px; border-radius:50%; background:#475569; margin:0 auto 8px; }
.screen{ background:#f5f8fc; border-radius:6px; overflow:hidden; }
.screen-header{
  background:#1b4d7e;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  gap:12px;
  color:#fff;
  font-size:11px;
}
.screen-search{
  background:#f5f8fc;
  color:#8a97a6;
  border-radius:20px;
  padding:7px 12px;
  font-size:10px;
  flex:1;
  max-width:280px;
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.screen-search svg{ width:12px; height:12px; }
.screen-user{ display:flex; align-items:center; gap:8px; font-size:10px; white-space:nowrap; }
.screen-user .avatar{ width:26px; height:26px; border-radius:50%; background:#cbd5e1; color:#3f4d5a; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:9px; }
.screen-body{ display:flex; min-height:280px; }
.screen-nav{ width:38%; background:#fff; border-right:1px solid #e5ecf3; padding:10px 8px; display:flex; flex-direction:column; gap:5px; }
.screen-nav .item{ display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:16px; font-size:10.5px; color:#475563; }
.screen-nav .item.active{ background:#16467a; color:#fff; font-weight:600; }
.screen-nav .item svg{ width:13px; height:13px; flex:none; }
.screen-main{ flex:1; background:#f5f8fc; padding:14px 16px; min-width:0; }
.screen-main h4{ color:#1b4d7e; font-family:var(--font-display); font-size:15px; margin:0 0 4px; font-weight:600; }
.screen-main p{ color:#8a97a6; font-size:9.5px; margin:0 0 12px; }
.screen-cards{ display:flex; gap:10px; margin-bottom:12px; }
.screen-card{ background:#fff; border:1px solid #e5ecf3; border-radius:10px; padding:10px; flex:1; min-width:0; }
.screen-card .lbl{ color:#1b4d7e; font-size:9.5px; font-weight:600; font-family:var(--font-display); margin-bottom:8px; }
.bars{ display:flex; align-items:flex-end; gap:2px; height:30px; }
.bars span{ flex:1; background:#9cc0e6; border-radius:2px; }
.bars span:last-child{ background:#16467a; }
.kpis{ display:flex; gap:8px; }
.kpi{ background:#fff; border:1px solid #e5ecf3; border-radius:8px; padding:8px; flex:1; min-width:0; }
.kpi .k-label{ color:#8a97a6; font-size:7px; font-weight:700; letter-spacing:.3px; }
.kpi .k-value{ color:#16467a; font-family:var(--font-display); font-weight:600; font-size:15px; margin:3px 0; }
.kpi .k-trend{ color:#2e9e6b; font-size:8px; font-weight:600; }

.floating-card{
  position:absolute;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 45px rgba(10,37,64,.18);
  animation:float 8s ease-in-out infinite;
}
.login-card{
  width:46%;
  min-width:210px;
  padding:20px;
  right:1%;
  top:24%;
  animation-delay:.3s;
}
.login-card h5{ font-size:15px; font-weight:700; margin:0 0 6px; color:#0a2540; }
.login-card p{ font-size:9.5px; color:#5b6b7b; margin:0 0 10px; line-height:1.6; }
.login-card .lc-divider{ height:1px; background:#e6eaf0; margin:0 0 12px; }
.login-card .lc-field{ margin-bottom:9px; }
.login-card label{ display:block; font-size:9px; font-weight:700; color:#0a2540; margin-bottom:4px; }
.login-card .lc-input{ background:#f7f8fa; border:1px solid #e6eaf0; border-radius:20px; padding:7px 10px; font-size:9px; color:#8a97a6; display:flex; align-items:center; justify-content:space-between; gap:6px; }
.login-card .lc-input svg{ width:11px; height:11px; color:#8a97a6; flex:none; }
.login-card .lc-forgot{ display:block; font-size:8.5px; color:#1b4d7e; text-decoration:underline; font-weight:600; text-align:right; margin-bottom:10px; }
.login-card .lc-remember{ display:flex; align-items:center; gap:7px; font-size:9px; color:#3f4d5a; margin-bottom:10px; }
.login-card .lc-check{ width:12px; height:12px; border-radius:3px; background:#1b4d7e; flex:none; }
.login-card .lc-btn{ background:#1b4d7e; color:#fff; border-radius:20px; padding:9px; text-align:center; font-size:11px; font-weight:700; margin-bottom:10px; }
.login-card .lc-footer{ display:flex; align-items:center; justify-content:center; gap:5px; font-size:8px; color:#9aa5b1; }
.login-card .lc-footer svg{ width:9px; height:9px; flex:none; }
.notif-badge{
  left:-4%;
  bottom:14%;
  background:rgba(15,30,53,.94);
  border:1px solid #1e3a5f;
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  display:flex;
  gap:10px;
  align-items:center;
  font-size:10px;
  animation-delay:.6s;
}
.notif-badge .ping{ width:8px; height:8px; border-radius:50%; background:#22c55e; flex:none; }
.notif-badge small{ display:block; color:#64748b; font-size:9px; }
.stat-badge{
  right:-2%;
  top:2%;
  background:rgba(15,30,53,.94);
  border:1px solid #1e3a5f;
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  animation-delay:.9s;
}
.stat-badge .big{ color:var(--accent); font-weight:700; font-size:18px; }
.stat-badge small{ display:block; color:#64748b; font-size:9px; }

@media (max-width:1100px){
  .hero .wrap{ grid-template-columns:1fr; }
  .device{ max-width:560px; margin:0 auto; }
}
@media (max-width:640px){
  .screen-body{ flex-direction:column; }
  .screen-nav{ display:none; }
  .kpis{ flex-wrap:wrap; }
  .kpi{ min-width:45%; }
  .login-card{ display:none; }
}

/* ---------- Quem somos ---------- */
.about-cols{ display:grid; grid-template-columns:minmax(0,552px) minmax(0,1fr); gap:96px; margin-bottom:96px; }
.about-cols p{ color:var(--ink-500); font-size:17px; line-height:1.7; margin:0 0 20px; }
.about-cols p:last-child{ margin-bottom:0; }
@media (max-width:900px){ .about-cols{ grid-template-columns:1fr; gap:32px; } }

.flow{ padding-top:48px; border-top:1px solid var(--border-subtle); }
.flow-steps{ display:flex; align-items:flex-start; flex-wrap:wrap; gap:24px 0; }
.flow-step{ flex:1; min-width:150px; }
.flow-step .marker{
  display:inline-block;
  width:18px; height:18px; border-radius:50%;
  border:2px solid var(--action-blue);
  background:var(--white);
  margin-bottom:20px;
  position:relative;
}
.flow-step .marker::after{
  content:""; position:absolute; top:50%; left:50%;
  width:6px; height:6px; border-radius:50%;
  background:var(--action-blue);
  transform:translate(-50%,-50%);
}
.flow-step.is-decision .marker{ border-color:var(--accent); }
.flow-step.is-decision .marker::after{ background:var(--accent); }
.flow-step h4{ font-size:20px; font-weight:500; margin-bottom:6px; }
.flow-step p{ color:var(--ink-500); font-size:14px; margin:0; }
.flow-connector{ flex:0 0 40px; height:12px; display:flex; align-items:center; margin:0 6px; }
.flow-connector span{ width:100%; height:1px; background:var(--border-default); display:block; }
.flow-connector:last-of-type span{ background:var(--accent); }
@media (max-width:900px){ .flow-connector{ display:none; } .flow-steps{ flex-direction:column; gap:28px; } }

/* ---------- Pilares (Nossa forma de pensar) ---------- */
.pilares{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.pilar{ border-top:1px solid var(--mint-500); padding-top:28px; }
.pilar .icon{ width:32px; height:32px; color:var(--ink-900); margin-bottom:28px; }
.pilar h4{ font-size:22px; margin-bottom:10px; }
.pilar p{ color:var(--ink-500); font-size:15px; margin:0; }
@media (max-width:900px){ .pilares{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .pilares{ grid-template-columns:1fr; } }

/* ---------- Soluções ---------- */
.solucoes-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.solucao-card{
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-s);
  padding:32px;
  background:var(--white);
  transition:box-shadow .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
  display:flex;
  flex-direction:column;
  min-height:336px;
}
.solucao-card:hover{ border-color:var(--ink-900); box-shadow:0 12px 28px -14px rgba(4,27,21,.18); transform:translateY(-4px); }
.solucao-card.is-featured{ border-color:var(--ink-900); box-shadow:0 12px 14px rgba(4,27,21,.1); }
.solucao-card .icon{ width:32px; height:32px; color:var(--ink-900); margin-bottom:28px; transition:color .3s var(--ease); }
.solucao-card:hover .icon{ color:var(--accent); }
.solucao-card.is-featured .icon{ color:var(--accent); }
.solucao-card h4{ font-size:22px; margin-bottom:12px; }
.solucao-card p{ color:var(--ink-500); font-size:15px; margin:0; flex:1; }

.solucao-card.dark{
  background:var(--ink-900);
  color:#fff;
  border:none;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.solucao-card.dark::before{
  content:"";
  position:absolute; inset:0;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 40px);
  pointer-events:none;
}
.solucao-card.dark h4{ color:#fff; font-size:22px; font-weight:500; line-height:1.35; margin-bottom:14px; }
.solucao-card.dark p{ color:var(--ink-300); }
.solucao-card.dark .cta{ display:flex; align-items:center; gap:12px; color:#fff; font-size:15px; font-weight:500; margin-top:24px; position:relative; }
.solucao-card.dark .cta svg{ width:16px; height:16px; transition:transform .25s var(--ease); }
.solucao-card.dark:hover .cta svg{ transform:translateX(4px); }

@media (max-width:980px){ .solucoes-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .solucoes-grid{ grid-template-columns:1fr; } }

/* ---------- Produto sections ---------- */
.produto{ padding:120px 0; overflow:clip; position:relative; }
.produto.dark{ background:var(--ink-900); color:#fff; }
.produto.light{ background:var(--mint-050); }
.produto-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.produto-grid.reverse{ direction:rtl; }
.produto-grid.reverse > *{ direction:ltr; }

.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:20px;
  font-size:11px;
  font-weight:600;
  letter-spacing:1.3px;
  text-transform:uppercase;
  margin-bottom:24px;
}
.kicker .dot{ width:6px; height:6px; border-radius:50%; background:currentColor; }
.kicker.on-dark{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:var(--accent); }
.kicker.mint{ background:var(--mint-300); color:var(--ink-900); border-radius:999px; }
.kicker.accent{ background:var(--accent); color:#fff; border-radius:2px; }

.produto h3{
  font-size:clamp(26px,3.4vw,38px);
  font-weight:500;
  line-height:1.25;
  margin-bottom:20px;
  max-width:560px;
}
.produto.dark h3{ color:#fff; }
.produto p.desc{ font-size:17px; line-height:1.6; margin-bottom:32px; max-width:540px; }
.produto.dark p.desc{ color:rgba(255,255,255,.72); }
.produto.light p.desc{ color:var(--ink-500); }

.feature-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-bottom:32px; }
.feature-item{ display:flex; align-items:center; gap:14px; padding:10px 0; }
.feature-item .icon-bg{ width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex:none; }
.feature-item .icon-bg svg{ width:14px; height:14px; }
.produto.dark .icon-bg{ background:rgba(239,123,69,.15); color:var(--accent); }
.produto.light .icon-bg{ background:var(--mint-300); color:var(--ink-900); }
.feature-item span{ font-size:15px; font-weight:500; }
@media (max-width:520px){ .feature-grid{ grid-template-columns:1fr; } }

.resultado-row{ display:flex; flex-wrap:wrap; gap:0; border-radius:var(--radius-s); overflow:hidden; margin-bottom:36px; }
.resultado-row .stat{ padding:16px 24px; border-right:1px solid rgba(255,255,255,.14); }
.resultado-row .stat:last-child{ border-right:none; }
.resultado-row .stat .num{ font-size:26px; font-weight:600; color:var(--accent); display:block; }
.resultado-row .stat .lbl{ font-size:13px; color:rgba(255,255,255,.6); }

.recursos-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin-bottom:32px; }
.recurso-item{ display:flex; align-items:flex-start; gap:12px; }
.recurso-item svg{ width:14px; height:14px; margin-top:4px; color:var(--success); flex:none; }
.recurso-item > span{ font-size:15px; font-weight:500; color:var(--ink-900); }
.produto.dark .recurso-item > span{ color:#fff; }
.recurso-item .icon-bg{ margin-top:0; width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex:none; }
.recurso-item .icon-bg svg{ margin-top:0; }
.recurso-item.pill{ background:#f4f7f5; border-radius:999px; padding:12px 20px; align-items:center; }
@media (max-width:520px){ .recursos-grid{ grid-template-columns:1fr; } }

.destaque-box{ display:flex; align-items:center; gap:32px; background:var(--mint-300); border-radius:var(--radius-s); padding:24px 32px; }
.destaque-box .num{ font-size:44px; font-weight:600; color:var(--ink-900); }
.destaque-box p{ color:var(--ink-500); font-size:15px; margin:0; max-width:360px; }

/* -- Workflow visual (Protocolos) -- */
.workflow-card{ background:#fff; border:1px solid var(--border-subtle); border-radius:16px; padding:32px; box-shadow:0 30px 60px -30px rgba(4,27,21,.25); }
.wf-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:10px; }
.wf-header h5{ font-size:17px; margin:0 0 2px; color:var(--ink-900); }
.wf-header .id{ font-size:13px; color:var(--ink-400); }
.status-chip{ display:flex; align-items:center; gap:8px; background:var(--mint-300); color:var(--ink-900); padding:6px 14px; border-radius:20px; font-size:13px; font-weight:600; }
.status-chip .dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); }
.wf-progress{ margin-bottom:24px; }
.wf-progress .meta{ display:flex; justify-content:space-between; font-size:13px; color:var(--ink-500); margin-bottom:8px; }
.wf-track{ height:8px; border-radius:8px; background:var(--border-subtle); overflow:hidden; }
.wf-fill{ height:100%; background:var(--accent); border-radius:8px; width:0; transition:width 1.4s var(--ease); }
.wf-steps{ display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }
.wf-step{ display:flex; align-items:center; gap:14px; padding:12px; border:1px solid var(--border-subtle); border-radius:12px; }
.wf-step .ic{ width:32px; height:32px; border-radius:8px; background:var(--mint-300); color:var(--ink-900); display:flex; align-items:center; justify-content:center; flex:none; }
.wf-step .ic svg{ width:16px; height:16px; }
.wf-step .content{ flex:1; min-width:0; }
.wf-step .row{ display:flex; justify-content:space-between; gap:10px; font-size:14px; font-weight:600; color:var(--ink-900); }
.wf-step .row time{ font-weight:400; color:var(--ink-400); font-size:12px; white-space:nowrap; }
.wf-step p{ margin:2px 0 0; font-size:13px; color:var(--ink-500); }
.wf-step .badge{ font-size:12px; font-weight:600; padding:5px 12px; border-radius:14px; white-space:nowrap; }
.wf-step.done .badge{ background:var(--mint-300); color:var(--success); }
.wf-step.active{ border-color:var(--accent); }
.wf-step.active .badge{ background:rgba(239,123,69,.15); color:var(--accent); }
.wf-step.pending .badge{ background:var(--border-subtle); color:var(--ink-400); }
.wf-step.pending .ic{ background:var(--border-subtle); color:var(--ink-400); }
.wf-banner{ display:flex; gap:16px; align-items:center; background:#fff7ed; border:1px solid var(--accent); border-radius:12px; padding:16px 18px; }
.wf-banner .ic{ width:28px; height:28px; border-radius:8px; background:#fff; color:var(--accent); display:flex; align-items:center; justify-content:center; flex:none; }
.wf-banner .ic svg{ width:18px; height:18px; }
.wf-banner strong{ display:block; font-size:14px; color:var(--ink-900); }
.wf-banner span{ font-size:13px; color:var(--ink-500); }

/* -- CRM dashboard visual -- */
.crm-dash{ display:flex; flex-direction:column; gap:16px; }
.crm-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.crm-kpi{ background:#fff; border:1px solid var(--border-subtle); border-radius:14px; padding:16px; box-shadow:0 20px 40px -28px rgba(4,27,21,.25); }
.crm-kpi .top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.crm-kpi .top span{ font-size:13px; color:var(--ink-500); font-weight:500; }
.crm-kpi .top .ic{ width:28px; height:28px; border-radius:8px; background:var(--mint-300); color:var(--ink-900); display:flex; align-items:center; justify-content:center; }
.crm-kpi .top .ic svg{ width:14px; height:14px; }
.crm-kpi .value{ font-size:28px; font-weight:600; color:var(--ink-900); }
.crm-kpi .trend{ font-size:13px; color:var(--success); font-weight:500; margin-top:4px; }
.crm-panels{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.crm-panel{ background:#fff; border:1px solid var(--border-subtle); border-radius:14px; padding:16px; box-shadow:0 20px 40px -28px rgba(4,27,21,.25); }
.crm-panel h6{ margin:0 0 4px; font-size:14px; color:var(--ink-900); }
.crm-panel .sub{ font-size:12px; color:var(--ink-400); margin-bottom:16px; }
.crm-chart{ height:110px; position:relative; }
.crm-chart svg{ width:100%; height:100%; }
.donut{ display:flex; align-items:center; justify-content:center; position:relative; height:110px; }
.donut svg{ width:110px; height:110px; }
.donut .center{ position:absolute; text-align:center; }
.donut .center b{ display:block; font-size:16px; color:var(--ink-900); }
.donut .center small{ font-size:10px; color:var(--ink-400); }
.legend{ display:flex; gap:16px; margin-top:12px; flex-wrap:wrap; font-size:12px; color:var(--ink-500); }
.legend span{ display:inline-flex; align-items:center; gap:6px; }
.legend i{ width:9px; height:9px; border-radius:2px; display:inline-block; }
@media (max-width:900px){ .produto-grid{ grid-template-columns:1fr; } .produto-grid.reverse{ direction:ltr; } .crm-row{ grid-template-columns:1fr 1fr; } .crm-panels{ grid-template-columns:1fr; } }
@media (max-width:520px){ .crm-row{ grid-template-columns:1fr; } }

/* ---------- Aurora lines background ---------- */
.aurora-bg{
  position:absolute; inset:0;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1.5px, transparent 1.5px 46px);
  pointer-events:none;
}
.glow{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.35; pointer-events:none; }

/* ---------- Desenvolvimento sob medida ---------- */
.sob-medida{ background:var(--ink-900); color:#fff; padding:120px 0; position:relative; overflow:clip; }
.sob-medida .glow{ width:500px; height:500px; background:var(--action-blue); top:-200px; left:-150px; }
.sm-cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:96px; align-items:start; position:relative; margin-bottom:96px; }
.sm-cols h3{ color:#fff; font-size:clamp(26px,3.4vw,36px); font-weight:500; max-width:560px; margin:0; }
.sm-cols p{ color:rgba(255,255,255,.72); font-size:17px; line-height:1.7; margin-bottom:40px; }
@media (max-width:900px){ .sm-cols{ grid-template-columns:1fr; gap:32px; } }

.processo{ position:relative; }
.processo-track{ display:flex; align-items:flex-start; flex-wrap:wrap; gap:36px 0; }
.etapa{ min-width:150px; flex:1; }
.etapa .marker{ width:12px; height:12px; border-radius:2px; background:var(--mint-500); margin:0 0 24px 4px; transform:rotate(45deg); display:block; }
.etapa.is-last .marker{ background:var(--accent); }
.etapa .num{ font-size:13px; color:rgba(255,255,255,.5); display:block; margin-bottom:8px; }
.etapa.is-last .num{ color:var(--accent); }
.etapa p{ color:#fff; font-size:15px; font-weight:500; margin:0; }
.etapa-connector{ flex:0 0 36px; height:12px; display:flex; align-items:center; margin:0 4px; }
.etapa-connector span{ width:100%; height:1px; background:rgba(255,255,255,.2); display:block; }
@media (max-width:900px){ .etapa-connector{ display:none; } .processo-track{ flex-direction:column; gap:24px; } }

/* ---------- Diferenciais ---------- */
.diferenciais-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:48px 24px; }
.diferencial{ border-top:1px solid var(--border-default); padding-top:24px; }
.diferencial .icon{ width:32px; height:32px; color:var(--ink-900); margin-bottom:20px; }
.diferencial h4{ font-size:17px; font-weight:600; letter-spacing:-.02em; margin-bottom:8px; }
.diferencial p{ font-size:15px; color:var(--ink-500); margin:0; }
@media (max-width:900px){ .diferenciais-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .diferenciais-grid{ grid-template-columns:1fr; } }

/* ---------- Mercados ---------- */
.mercados{ background:var(--ink-900); color:#fff; padding:120px 0; position:relative; overflow:clip; }
.mercados .bg-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:14.28% 160px;
  pointer-events:none;
  mask-image:radial-gradient(ellipse at center, black 40%, transparent 85%);
}
.mercados h2, .mercados .section-lede{ color:#fff; }
.mercados .section-lede{ color:rgba(255,255,255,.65); }
.hub{ position:relative; height:112px; margin:64px 0 20px; }
.hub svg{ width:100%; height:100%; }
.segmentos-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:16px; position:relative; }
.segmento{
  background:var(--ink-900);
  border:1px solid #45564f;
  border-radius:12px;
  padding:28px;
  min-height:172px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.4);
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.segmento:hover{ transform:translateY(-4px); border-color:var(--accent); }
.segmento.is-featured{ border-color:var(--accent); box-shadow:0 18px 44px -14px rgba(239,123,69,.4); }
.segmento .icon{ width:32px; height:32px; color:var(--accent); }
.segmento span{ font-size:16px; font-weight:600; letter-spacing:-.02em; }
@media (max-width:1100px){ .segmentos-grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:700px){ .segmentos-grid{ grid-template-columns:repeat(2,1fr); } .hub{ display:none; } }

/* ---------- Trabalhe Conosco / Contato layout ---------- */
.split-section{ padding:120px 0; }
.split-grid{ display:grid; grid-template-columns:minmax(0,464px) minmax(0,1fr); gap:96px; align-items:start; }
@media (max-width:980px){ .split-grid{ grid-template-columns:1fr; gap:48px; } }
.split-grid .section-lede{ max-width:464px; }
.split-copy p{ color:var(--ink-500); font-size:16px; line-height:1.7; margin:0 0 16px; }

.areas-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.areas-tags span{ border:1px solid var(--border-default); border-radius:20px; padding:8px 14px; font-size:14px; color:var(--ink-900); }
.areas-title{ font-size:13px; font-weight:600; color:var(--ink-500); text-transform:none; margin:40px 0 0; }

.canais{ margin-top:48px; }
.canais-title{ font-size:14px; font-weight:600; color:var(--ink-500); margin-bottom:18px; }
.canal{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid var(--border-subtle); }
.canal .label{ font-size:16px; font-weight:500; display:flex; align-items:center; gap:10px; }
.canal .label svg{ width:16px; height:16px; color:var(--ink-500); }
.canal a{ font-size:14px; color:var(--action-blue); font-weight:500; text-align:right; }

/* ---------- Forms ---------- */
.form-card{
  background:var(--white);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-m);
  padding:40px;
}
.form-card.commercial{ border-color:var(--mint-500); box-shadow:0 16px 36px -10px rgba(4,27,21,.06); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.form-row .field{ margin-bottom:0; }
.field label{ font-size:13px; font-weight:500; color:var(--ink-500); }
.field input,
.field select,
.field textarea{
  background:var(--white);
  border:1px solid var(--border-default);
  border-radius:var(--radius-pill);
  padding:15px 16px;
  font-size:16px;
  color:var(--ink-900);
  width:100%;
  transition:border-color .2s, box-shadow .2s;
}
.field textarea{ border-radius:20px; min-height:130px; resize:vertical; font-family:inherit; }
.field input::placeholder, .field textarea::placeholder{ color:var(--ink-400); }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none;
  border-color:var(--action-blue);
  border-width:1.5px;
  box-shadow:0 0 0 3px rgba(0,63,145,.18);
  padding:14.5px 15.5px;
}
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2345564f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 8.5 12 15l7-6.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; background-size:14px; padding-right:40px; }

.upload-field{
  border:1.3px dashed var(--border-subtle);
  border-radius:34px;
  padding:16px;
  display:flex;
  align-items:center;
  gap:14px;
  cursor:pointer;
  transition:border-color .2s;
  position:relative;
}
.upload-field:hover{ border-color:var(--action-blue); }
.upload-field input[type=file]{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.upload-field svg{ width:20px; height:20px; color:var(--ink-500); flex:none; }
.upload-field .up-text strong{ display:block; font-size:15px; color:var(--ink-900); font-weight:500; }
.upload-field .up-text span{ display:block; font-size:13px; color:var(--ink-400); }

.consent{ display:flex; align-items:flex-start; gap:12px; margin-bottom:24px; }
.consent input{ margin-top:3px; width:18px; height:18px; accent-color:var(--action-blue); flex:none; }
.consent label{ font-size:14px; color:var(--ink-500); line-height:1.5; }

.form-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.form-note{ font-size:13px; color:var(--ink-400); margin-top:16px; }
.form-status{ font-size:14px; margin-top:16px; display:none; padding:12px 16px; border-radius:10px; }
.form-status.show{ display:block; }
.form-status.ok{ background:var(--mint-300); color:var(--success); }
.form-status.err{ background:#fbe7db; color:var(--error); }

/* ---------- Manifesto ---------- */
.manifesto{ background:var(--ink-900); color:#fff; padding:140px 0; text-align:center; position:relative; overflow:clip; }
.manifesto .watermark{
  position:absolute; right:0; top:-40px; width:220px; opacity:.06; color:#fff;
}
.manifesto-inner{ max-width:760px; margin:0 auto; position:relative; }
.manifesto .eyebrow{ justify-content:center; }
.manifesto .eyebrow::before, .manifesto .eyebrow::after{ content:""; width:28px; height:1.5px; background:var(--accent); display:inline-block; }
.manifesto h2{ color:#fff; font-size:clamp(30px,4.4vw,44px); font-weight:500; line-height:1.25; margin:48px 0; }
.manifesto p.body{ color:rgba(255,255,255,.72); font-size:19px; line-height:1.7; margin:0 auto 64px; max-width:640px; }
.manifesto .divider{ width:64px; height:1px; background:rgba(255,255,255,.2); margin:0 auto 48px; }
.manifesto .assinatura{ display:flex; flex-direction:column; align-items:center; gap:16px; }
.manifesto .assinatura svg{ width:26px; height:26px; color:#fff; }
.manifesto .assinatura strong{ font-family:var(--font-sans); font-weight:600; letter-spacing:3px; font-size:18px; }
.manifesto .assinatura img.logo-img{ height:30px; }
.manifesto .assinatura p{ margin:0; color:rgba(255,255,255,.85); font-size:17px; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--ink-900); color:#fff; padding:96px 0 40px; }
.footer-top{ display:flex; gap:80px; flex-wrap:wrap; margin-bottom:80px; }
.footer-brand{ max-width:400px; display:flex; flex-direction:column; gap:24px; }
.footer-brand .brand svg{ color:#fff; }
.footer-brand .brand .wordmark{ color:#fff; }
.footer-brand .brand img.logo-img{ height:32px; }
.footer-brand p{ font-size:24px; font-weight:300; letter-spacing:-.02em; margin:0; }
.footer-links{ display:flex; flex:1; gap:48px; flex-wrap:wrap; justify-content:flex-end; }
.footer-col{ min-width:180px; }
.footer-col h6{ font-size:11px; font-weight:500; letter-spacing:1.3px; text-transform:uppercase; color:var(--ink-300); margin:0 0 20px; }
.footer-col a, .footer-col span{ display:block; font-size:15px; color:#fff; margin-bottom:16px; }
.footer-col a:hover{ color:var(--accent); }
.footer-divider{ height:1px; background:#1b3b32; margin-bottom:28px; }
.footer-bottom{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:var(--ink-300); }
@media (max-width:900px){ .footer-links{ justify-content:flex-start; } }

/* ---------- Back to top ---------- */
.to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--ink-900);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px -6px rgba(4,27,21,.4);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
  z-index:90;
}
.to-top.show{ opacity:1; transform:none; pointer-events:auto; }
.to-top svg{ width:18px; height:18px; transform:rotate(-90deg); }
