:root{
  --laranja:#FF6B0B;
  --laranja-escuro:#B34A06;
  --laranja-claro:#FF9A59;
  --dourado:#F4AB34;
  --navy:#0B0E1E;             /* navy exato da logo */
  --navy-suave:#191E36;
  --indigo-claro:#8B8CF8;
  --creme:#F0F0EE;            /* pedra neutra */
  --pedra-2:#E4E4E1;
  --linha:#E4E7EE;
  --texto:#2E2A26;
  --texto-suave:#5A524A;
  --whatsapp:#25D366;
  --f-display:'Bricolage Grotesque',system-ui,sans-serif;
  --f-ui:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.3,1);
  --raio:20px;
  --fundo-escuro:var(--navy);
  /* escala: 14 · 16 · 18 · 22 · 32 · h2 · display */
  --t-small:.875rem;--t-ui:1rem;--t-lead:1.125rem;--t-h3:1.375rem;--t-stat:2rem;
  --t-h2:clamp(1.75rem,3.6vw,3rem);
  --t-display:clamp(2rem,6.2vw,5.6rem);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--texto);
  background:#FFFFFF;
  line-height:1.6;font-size:1.0625rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance}
p,li{text-wrap:pretty}
img,svg{display:block;max-width:100%}
img{height:auto}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--laranja-claro);outline-offset:3px;border-radius:6px}
.container{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Header ===== */
header{
  position:sticky;top:0;z-index:50;
  background:transparent;transition:background-color .3s;
}
header.is-scrolled,header.nav-open{background:var(--navy)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px;transition:padding .3s}
header.is-scrolled .nav{padding:10px 0}
.logo img{transition:height .3s}
header.is-scrolled .logo img{height:40px}
.nav > nav > ul{display:flex;gap:28px}
.nav ul a{font-weight:500;font-size:var(--t-ui);color:rgba(255,255,255,.78);transition:color .2s;display:inline-flex;align-items:center;gap:4px}
.nav ul a:hover{color:var(--laranja-claro)}
.nav .has-sub{position:relative}
.nav .has-sub > a .ic{width:15px;height:15px;transition:transform .2s}
.nav .sub{
  position:absolute;top:calc(100% + 14px);left:-18px;min-width:230px;
  background:var(--navy-suave);border-radius:14px;
  padding:8px;box-shadow:0 20px 40px rgba(0,0,0,.35); /* taste-skill-ignore: menu suspenso */
  display:none;
}
.nav .sub::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{display:block}
.nav .has-sub:hover > a .ic{transform:rotate(180deg)}
.nav .sub a{display:flex;padding:10px 12px;border-radius:9px;font-size:var(--t-ui)}
.nav .sub a:hover{background:rgba(255,255,255,.06)}
.nav .sub .dot{width:8px;height:8px;border-radius:50%;margin-right:8px}
.menu-btn{
  display:none;background:none;border:0;cursor:pointer;padding:8px;
  color:#fff;margin-left:auto;
}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-ui);font-weight:600;font-size:var(--t-ui);
  padding:14px 28px;border-radius:999px;transition:background-color .2s,color .2s,border-color .2s,transform .2s;cursor:pointer;border:0;
}
.btn .ic{width:18px;height:18px;transition:transform .25s}
.btn:hover .ic{transform:translateX(3px)}
.btn-primary{background:var(--laranja);color:var(--navy)}
.btn-primary:hover{background:var(--laranja-claro)}
.btn:active{transform:translateY(1px)}
.btn-ghost{border:2px solid rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{border-color:var(--laranja);color:var(--laranja-claro)}
.btn-outline{border:2px solid var(--navy);color:var(--navy)}
.btn-outline:hover{border-color:var(--laranja);color:var(--laranja-escuro)}
.link-seta{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-weight:600;font-size:var(--t-ui);color:var(--laranja-escuro)}
.link-seta .ic{width:17px;height:17px;transition:transform .2s}
.link-seta:hover .ic{transform:translateX(4px)}

/* ===== Logo ===== */
.logo{display:flex;align-items:center}
.logo img{height:48px;width:auto}
footer .logo img{height:44px}

/* ===== Hero ===== */
/* capa em tela cheia: a foto ocupa a primeira tela, o cabeçalho fica por cima */
.hero{
  position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;
  margin-top:-96px;padding:212px 0 72px;min-height:calc(100svh + 10px);display:flex;align-items:flex-end;
}
.hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.hero::after{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(to top,rgba(6,8,16,.94) 0%,rgba(6,8,16,.82) 34%,rgba(6,8,16,.2) 64%,rgba(6,8,16,0) 78%), /* taste-skill-ignore: scrim neutro sobre a foto */
    linear-gradient(to bottom,rgba(6,8,16,.62) 0,rgba(6,8,16,0) 20%); /* scrim neutro sobre a foto */ /* taste-skill-ignore: scrim neutro sobre a foto */
}
.hero-content{width:min(1140px,calc(100% - 40px))}
.hero h1{
  font-size:var(--t-display);font-weight:750;line-height:.98;
  letter-spacing:-.035em;margin-bottom:36px;max-width:24ch;
}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end}
.hero p.lead{font-size:var(--t-lead);color:#fff;max-width:34rem}
.hero-side{display:flex;flex-direction:column;gap:22px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-segs{font-size:var(--t-ui);color:rgba(255,255,255,.8);max-width:30rem}
.hero-segs a{color:#fff;text-decoration:underline;text-decoration-color:var(--laranja);text-underline-offset:4px;text-decoration-thickness:2px}
.hero-segs a:hover{color:var(--laranja-claro)}
@media(prefers-reduced-motion:no-preference){
  .hero-bg{animation:assentar 1.6s cubic-bezier(.2,.7,.3,1) both}
  @keyframes assentar{from{transform:scale(1.06)}to{transform:none}}
}

/* fluxo Demand → Financial → Supply (componente reutilizável) */
.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.flow .step{
  display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:12px;
  font-family:var(--f-ui);font-weight:600;font-size:var(--t-small);white-space:nowrap;
}
.flow .arrow{width:18px;height:18px;opacity:.55}
.dot-mod{width:9px;height:9px;border-radius:50%;flex:none}
.m-demand{--mod:var(--indigo-claro)}
.m-fin{--mod:var(--dourado)}
.m-supply{--mod:var(--laranja)}
.m-inv{--mod:#14B8A6}
.dot-mod{background:var(--mod)}

/* entrada do hero (só com movimento permitido) */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .hero h1,.hero .lead,.hero-actions,.hero-segs{animation:fadeUp .7s cubic-bezier(.2,.7,.3,1) both}
  .hero .lead{animation-delay:.08s}
  .hero-actions{animation-delay:.16s}
  .hero-segs{animation-delay:.24s}
}

/* ===== Seções ===== */
section{padding:136px 0}
.section-title{font-size:var(--t-h2);font-weight:750;letter-spacing:-.025em;color:var(--navy);line-height:1.04;max-width:22ch}
.section-sub{color:var(--texto);max-width:40rem;margin-top:20px;font-size:var(--t-lead)}
.center{text-align:center}
.center .section-title,.center .section-sub{margin-inline:auto}
.dark{background:var(--fundo-escuro);color:#fff}
.dark .section-title{color:#fff}
.dark .section-sub{color:rgba(255,255,255,.88)}
.bg-creme{background:var(--creme)}

/* revelação ao rolar (só com JS) */
@media(prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
  .js [data-reveal].is-in{opacity:1;transform:none}
}

/* ===== Problema (layout de referência) ===== */
/* taste-skill-ignore: rótulo em pílula, palavra em destaque, ícones e sombras seguem a referência pedida */
.desafio{background:#F7F8FA}
.pill{
  display:inline-block;padding:8px 20px;border-radius:999px;background:#FFE4D3;color:#B33A0A;
  font-family:var(--f-ui);font-weight:700;font-size:var(--t-small);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;
}
.desafio-title{max-width:none}
.desafio-title span{display:block;color:#E8590C}
.desafio .section-sub{color:#4B5563;max-width:48rem}
.prob-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;margin-top:56px;align-items:center}
.frag{position:relative;aspect-ratio:6/7;border-radius:24px;overflow:hidden;container-type:inline-size;background:#E9ECF1}
.frag-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.frag::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(247,248,250,.94) 0%,rgba(247,248,250,.82) 30%,rgba(247,248,250,0) 54%); /* taste-skill-ignore: véu claro sob os cartões */
}
.frag .tag{position:absolute;z-index:3;left:6%;top:5%;font-size:clamp(.875rem,3.1cqi,1.125rem);font-weight:600;color:var(--navy)}
.frag-setas{position:absolute;inset:0;z-index:2;width:100%;height:100%}
.frag-setas path{fill:none;stroke:#374151;stroke-width:1.6;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;opacity:.75}
.fontes{position:absolute;inset:0;z-index:3}
.fonte{
  position:absolute;display:flex;align-items:center;gap:2.2cqi;
  padding:2.2cqi 3cqi;border-radius:2cqi;background:#fff;
  box-shadow:0 6px 20px rgba(15,23,42,.10); /* taste-skill-ignore */
  font-family:var(--f-ui);font-weight:600;font-size:clamp(.8125rem,2.7cqi,1rem);line-height:1.2;color:var(--navy);
}
.fonte-ic .ic{width:clamp(18px,5cqi,30px);height:clamp(18px,5cqi,30px);stroke-width:2}
.f-erp{left:12%;top:13%}       .f-erp .ic{color:#2563EB}
.f-excel{left:41%;top:11%}     .f-excel .ic{color:#16A34A}
.f-estoque{left:68%;top:13%}   .f-estoque .ic{color:#7C3AED} /* taste-skill-ignore: roxo do ícone de estoque da referência */
.f-historico{left:6%;top:28%}  .f-historico .ic{color:#F59E0B}
.f-comercial{left:40%;top:25%} .f-comercial .ic{color:#2563EB}
.f-financeiro{left:66%;top:27%} .f-financeiro .ic{color:#16A34A}
.manual{
  position:absolute;z-index:3;left:50%;bottom:6%;transform:translateX(-50%);white-space:nowrap;
  background:rgba(58,34,22,.92);color:#fff;border-radius:2.6cqi;padding:3cqi 5cqi;
  display:flex;align-items:center;gap:2.4cqi;font-family:var(--f-ui);font-weight:600;font-size:clamp(.95rem,3.6cqi,1.3rem);
}
.manual .ic{color:#FB923C;width:clamp(20px,5.2cqi,30px);height:clamp(20px,5.2cqi,30px)}
.dores{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dor{
  background:#fff;border-radius:18px;padding:20px 18px;display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 30px rgba(15,23,42,.06); /* taste-skill-ignore */
}
.dor-ic{width:46px;height:46px;border-radius:50%;background:#FFEDE2;display:grid;place-items:center;color:var(--laranja)}
.dor-ic .ic{width:22px;height:22px}
.dor h3{font-family:var(--f-ui);font-size:var(--t-ui);font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:6px}
.dor p{font-size:var(--t-small);color:#4B5563;line-height:1.5}
.virada{margin-top:104px;text-align:center}
.virada p{font-family:var(--f-display);font-size:var(--t-stat);font-weight:750;color:var(--navy);letter-spacing:-.02em;margin-bottom:14px}

/* ===== Plataforma ===== */
.mods{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:52px}
.mod{
  border-radius:24px;background:var(--creme);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,background-color .25s;
}
.mod:hover{transform:translateY(-4px);background:var(--pedra-2)}
.mod-head{padding:28px 26px 0}
.mod-tag{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--f-ui);font-weight:700;
  font-size:var(--t-ui);color:var(--navy);
}
.mod-tag .novo{color:var(--laranja-escuro);font-weight:700}
.mod h3{font-size:var(--t-h3);font-weight:750;color:var(--navy);margin:10px 0 6px;letter-spacing:-.01em}
.mod-head p{font-size:var(--t-ui);color:var(--texto)}
.mod-shot{
  margin:22px 18px 0;border-radius:14px;overflow:hidden;background:#fff;
  aspect-ratio:16/10;
}
.mod-shot img{width:100%;height:100%;object-fit:cover;object-position:left top}
.chips{display:flex;flex-wrap:wrap;gap:7px;padding:20px 26px 28px}
.chips li{
  font-size:var(--t-small);font-weight:500;padding:5px 11px;border-radius:999px;
  background:color-mix(in srgb,var(--mod) 22%,#fff);color:var(--navy);
}
.mod-bar{height:5px;background:var(--mod)}
/* mock ilustrativo do Inventory Optimization */
.inv-mock{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:16px 18px;background:#fff;font-family:var(--f-ui)}
.inv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.inv-kpis div{border:1px solid var(--linha);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.inv-kpis b{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-suave);font-weight:700}
.inv-kpis strong{font-family:var(--f-display);font-size:1.05rem;color:var(--navy);line-height:1.1}
.inv-kpis small{font-size:.66rem;font-weight:600;color:#0F766E}
.inv-tab{width:100%;border-collapse:collapse;font-size:.7rem;color:var(--navy);font-variant-numeric:tabular-nums}
.inv-tab th{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave);font-weight:700;text-align:right;padding:0 6px 5px;border-bottom:1px solid var(--linha)}
.inv-tab th:first-child,.inv-tab td:first-child{text-align:left}
.inv-tab td{padding:6px;text-align:right;border-bottom:1px solid var(--linha);white-space:nowrap}
.inv-tab tr:last-child td{border-bottom:0}
.inv-st{display:inline-block;padding:2px 7px;border-radius:999px;font-size:.62rem;font-weight:700}
.st-ok{background:#E6F7F4;color:#0F766E}
.st-exc{background:#FFF1E6;color:#C2410C}
.st-rup{background:#FDECEC;color:#B42318}
@media(max-width:560px){
  .inv-mock{aspect-ratio:auto;padding:14px 12px}
  .inv-kpis{gap:6px}
  .inv-kpis div{padding:7px 8px}
  .inv-kpis strong{font-size:.95rem}
  .inv-tab th:nth-child(2),.inv-tab td:nth-child(2),.inv-tab th:nth-child(4),.inv-tab td:nth-child(4){display:none}
}
.logica{
  margin:52px auto 0;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;
  width:fit-content;max-width:100%;padding:6px;border-radius:999px;background:var(--navy);
}
.logica .step{color:#fff;padding:10px 20px;border-radius:999px;font-family:var(--f-ui);font-weight:600;font-size:var(--t-ui)}
.logica .step:last-of-type{background:var(--laranja);color:var(--navy)}
.logica .ic{color:var(--laranja-claro);width:18px;height:18px}
.cta-inline{margin-top:36px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* ===== Ciclo (Planejamento integrado) ===== */
.ciclo-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.ciclo{position:relative;width:min(100%,500px);aspect-ratio:1;margin-inline:auto}
.ciclo .anel{position:absolute;inset:10%;width:80%;height:80%;overflow:visible}
.ciclo .anel circle{fill:none}
.anel .trilha{stroke:rgba(255,255,255,.12);stroke-width:2}
.anel .fluxo{stroke:var(--laranja-claro);stroke-width:3;stroke-dasharray:6 14;stroke-linecap:round;animation:girar 30s linear infinite}
@keyframes girar{to{stroke-dashoffset:-400}}
.ciclo-centro{
  position:absolute;inset:32%;border-radius:50%;display:grid;place-items:center;text-align:center;
  background:rgba(255,255,255,.06);padding:10px;
}
.ciclo-centro .ic{width:30px;height:30px;color:var(--laranja-claro);margin:0 auto 6px}
.ciclo-centro strong{font-family:var(--f-display);font-size:var(--t-lead);display:block;line-height:1.2}
.ciclo-centro span{font-size:var(--t-small);color:rgba(255,255,255,.8)}
.ciclo ol{position:absolute;inset:0}
.ciclo li{
  position:absolute;width:118px;margin:-46px 0 0 -59px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.ciclo li .no{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:var(--navy-suave);border:2px solid var(--mod);color:var(--mod);
  outline:6px solid var(--navy);animation:pulso 9s ease-in-out infinite;
}
.ciclo li .no .ic{width:24px;height:24px}
.ciclo li .txt{display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--navy);padding:2px 8px;border-radius:8px}
.ciclo li b{font-family:var(--f-ui);font-size:var(--t-small);color:rgba(255,255,255,.75);font-weight:600}
.ciclo li span{font-family:var(--f-display);font-weight:700;font-size:var(--t-lead);line-height:1}
@keyframes pulso{0%,12%,100%{transform:scale(1);background:var(--navy-suave)}5%{transform:scale(1.12);background:color-mix(in srgb,var(--mod) 30%,var(--navy-suave))}}
.ciclo li:nth-child(1){top:10%;left:50%}
.ciclo li:nth-child(2){top:30%;left:84.6%;}
.ciclo li:nth-child(3){top:70%;left:84.6%}
.ciclo li:nth-child(4){top:90%;left:50%}
.ciclo li:nth-child(5){top:70%;left:15.4%}
.ciclo li:nth-child(6){top:30%;left:15.4%}
.ciclo li:nth-child(2) .no{animation-delay:1.5s}
.ciclo li:nth-child(3) .no{animation-delay:3s}
.ciclo li:nth-child(4) .no{animation-delay:4.5s}
.ciclo li:nth-child(5) .no{animation-delay:6s}
.ciclo li:nth-child(6) .no{animation-delay:7.5s}
.m-exec{--mod:#FFFFFF}
.m-real{--mod:#5EEAD4}
.m-learn{--mod:var(--laranja-claro)}
.ciclo-txt .destaque{
  margin-top:28px;border-left:3px solid var(--laranja);padding:4px 0 4px 18px;
  font-size:var(--t-lead);color:#fff;
}
.kpi-shot{margin-top:30px;border-radius:14px;overflow:hidden;background:#fff}
.kpi-shot + figcaption{font-size:var(--t-small);color:rgba(255,255,255,.7);margin-top:10px}

/* ===== Segmentos ===== */
.segmentos{background:#F7F8FA}
.segs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:64px}
.seg{
  --seg:#2563EB;--seg-bg:#EEF4FF;--seg-ic:#DCE7FD;
  display:grid;grid-template-columns:1fr 34%;gap:24px;min-width:0;
  background:var(--seg-bg);border-radius:24px;padding:28px;transition:transform .25s;
}
.seg:hover{transform:translateY(-4px)}
.s-var{--seg:#B45309;--seg-bg:#FCF1EA;--seg-ic:#F9DFCC}
.s-tex{--seg:#A23B72;--seg-bg:#FBF0F6;--seg-ic:#F6DCEA}
.s-bens{--seg:#15803D;--seg-bg:#EDF8F1;--seg-ic:#D3EFDD}
.seg-body{display:flex;flex-direction:column;gap:20px;min-width:0}
.seg-head{display:flex;gap:16px;align-items:flex-start}
.seg-ic{flex:none;width:56px;height:56px;border-radius:50%;background:var(--seg-ic);color:var(--seg);display:grid;place-items:center}
.seg-ic .ic{width:26px;height:26px}
.seg-head h3{font-size:var(--t-h3);font-weight:750;letter-spacing:-.02em;line-height:1.1;color:var(--navy)}
.seg-head p{font-size:var(--t-ui);line-height:1.45;color:var(--texto);margin-top:6px}
.seg-flow{display:flex;flex-wrap:wrap;gap:8px 6px;align-items:center}
.seg-flow li{display:flex;align-items:center;gap:6px}
.seg-flow li span{background:#fff;color:var(--navy);font-family:var(--f-ui);font-weight:600;font-size:var(--t-small);padding:6px 12px;border-radius:999px}
.seg-flow li:not(:last-child)::after{content:'→';color:var(--seg);font-size:var(--t-small)}
.seg-flow li:last-child span{background:var(--seg);color:#fff}
.check-list{display:grid;grid-template-columns:1fr;gap:8px}
.check-list li{display:flex;gap:8px;align-items:flex-start;font-size:var(--t-ui);color:var(--texto);line-height:1.4}
.check-list .ic{width:17px;height:17px;color:var(--seg);stroke-width:2.6;margin-top:3px}
.seg .link-seta{margin-top:auto;display:block}
.seg .link-seta .ic{display:inline-block;vertical-align:-3px;margin-left:4px}
.seg-foto{display:block;min-height:100%}
.seg-foto img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:18px}

/* ===== Da demanda à decisão ===== */
.jornada{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:56px;position:relative}
.jornada::before{
  content:'';position:absolute;left:7%;right:7%;top:27px;height:4px;border-radius:2px;
  background:var(--pedra-2);
}
.etapa{text-align:center;position:relative}
.etapa .num{
  width:58px;height:58px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;
  background:#fff;border:2px solid var(--laranja);color:var(--laranja-escuro);position:relative;z-index:1;
}
.etapa.m-demand .num,.etapa.m-fin .num,.etapa.m-inv .num,.etapa.m-supply .num{border-color:var(--mod);background:var(--navy);color:var(--mod)}
.etapa:last-child .num{background:var(--laranja);border-color:transparent;color:var(--navy)}
.etapa h3{font-size:var(--t-ui);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:4px}
.etapa p{font-size:var(--t-small);color:var(--texto);line-height:1.4}
.impacto{margin-top:64px;background:var(--navy);border-radius:28px;padding:36px;color:#fff}
.impacto-head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end;margin-bottom:26px}
.impacto h3{font-size:var(--t-stat);font-weight:750;max-width:24ch;line-height:1.1;letter-spacing:-.02em}
.impacto-head small{font-size:var(--t-small);color:rgba(255,255,255,.75);max-width:26rem}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{background:rgba(255,255,255,.07);border-radius:18px;padding:20px}
.kpi b{font-size:var(--t-small);color:rgba(255,255,255,.8);font-family:var(--f-ui);font-weight:600}
.kpi strong{display:block;font-family:var(--f-display);font-size:var(--t-stat);font-weight:750;line-height:1.1;margin:6px 0 4px}
.kpi span{font-size:var(--t-small);color:rgba(255,255,255,.85)}
.kpi:first-child strong{color:var(--indigo-claro)}
.kpi:nth-child(2) strong{color:var(--dourado)}
.kpi:nth-child(3) strong{color:var(--laranja-claro)}

/* ===== Diferenciais ===== */
.dif-grid{display:grid;grid-template-columns:4fr 7fr;gap:64px;align-items:start}
.dif-head .link-seta{margin-top:24px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:48px 40px}
.card h3{font-size:var(--t-stat);font-weight:750;color:var(--navy);margin-bottom:10px;letter-spacing:-.02em;line-height:1.05}
.card p{font-size:var(--t-ui);color:var(--texto)}

/* ===== Sobre ===== */
.sobre-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}
.sobre-txt p{color:var(--texto);margin-top:16px}
.sobre-txt p strong{color:var(--navy)}
.sobre-card{
  background:var(--navy);color:#fff;border-radius:28px;padding:34px 32px;
}
.sobre-card .tag{font-size:var(--t-small);color:rgba(255,255,255,.8);font-weight:600}
.sobre-card .marca{font-family:var(--f-display);font-weight:750;font-size:var(--t-stat);letter-spacing:-.02em;margin:0 0 6px;line-height:1.1}
.sobre-card .tag{margin-bottom:22px}
.sobre-mods{display:grid;gap:10px}
.sobre-mods li{
  display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;
  background:rgba(255,255,255,.07);font-weight:600;font-size:var(--t-ui);
}
.sobre-mods li small{margin-left:auto;font-weight:500;font-size:var(--t-small);color:rgba(255,255,255,.8)}
.sobre-locais{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;font-size:var(--t-small);color:rgba(255,255,255,.85)}
.sobre-locais span{display:inline-flex;align-items:center;gap:7px}
.sobre-locais .ic{width:16px;height:16px;color:var(--laranja-claro)}

/* CTA band */
.cta-band{background:var(--navy);color:#fff;border-radius:32px;padding:88px 8%;position:relative;overflow:hidden}
.cta-wrap{padding:0 0 136px}
.cta-band h2{font-size:var(--t-display);font-weight:750;letter-spacing:-.035em;line-height:.98}
.cta-band h2 span{display:block}
.cta-band p{color:#fff;margin:32px 0;max-width:36rem;font-size:var(--t-lead)}
.cta-band .acoes{display:flex;gap:14px;flex-wrap:wrap}
.cta-band .diag{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:var(--t-ui);color:#fff}
.cta-band .diag .ic{color:var(--laranja-claro);width:20px;height:20px}
.cta-band .dots-deco{position:absolute;right:-60px;top:50%;transform:translateY(-50%);opacity:.22;pointer-events:none}
@media(max-width:700px){.cta-band .dots-deco{display:none}}

/* WhatsApp flutuante */
.whats-float{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:58px;height:58px;border-radius:50%;
  background:var(--whatsapp);display:grid;place-items:center;
  box-shadow:0 10px 28px rgba(37,211,102,.45); /* taste-skill-ignore: botão fixo flutuante */
  transition:transform .2s;
}
.whats-float:hover{transform:scale(1.08)}

/* Footer */
footer{background:var(--navy);color:rgba(255,255,255,.82);padding:72px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
footer h4{color:#fff;font-family:var(--f-ui);font-size:var(--t-ui);margin-bottom:16px}
footer li{list-style:none;margin-bottom:10px;font-size:var(--t-ui)}
footer li a{transition:color .2s}
footer li a:hover{color:var(--laranja-claro)}
footer li .local{display:block;font-size:var(--t-small);color:rgba(255,255,255,.7);margin-top:1px}
footer li a:has(.local){font-variant-numeric:tabular-nums;color:rgba(255,255,255,.88)}
footer .desc{font-size:var(--t-ui);margin-top:16px;max-width:26rem}
.foot-base{padding-top:8px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:var(--t-small)}

/* ===== Responsivo ===== */
.nav ul a,.cta-header{white-space:nowrap}
.nav .logo{flex:none}
@media(max-width:1180px) and (min-width:961px){
  .nav > nav > ul{gap:20px}
  .nav > nav > ul > li:first-child{display:none}
  .cta-header{padding:11px 20px;font-size:.9rem}
}
@media(max-width:1080px){
  .jornada{grid-template-columns:1fr;gap:26px;max-width:520px;margin-inline:auto}
  .jornada::before{display:none}
  .etapa{display:flex;gap:18px;text-align:left;align-items:flex-start}
  .etapa .num{margin:0;flex:0 0 52px;width:52px;height:52px}
  .etapa:not(:last-child)::before{
    content:'';position:absolute;left:24px;top:60px;bottom:-22px;width:4px;
    border-radius:2px;background:var(--pedra-2);
  }
  .etapa h3{margin-top:4px}
  .mods{grid-template-columns:1fr}
}
@media(max-width:960px){
  section{padding:104px 0}
  .hero{padding:160px 0 56px}
  .hero-grid,.prob-grid,.ciclo-grid,.dif-grid{grid-template-columns:1fr}
  .hero-grid{gap:28px}
  .ciclo-txt{order:-1}
  .dif-grid{gap:88px}
  .sobre-grid{grid-template-columns:1fr;gap:40px}
  .sobre-card{max-width:520px}
  .segs{grid-template-columns:1fr;max-width:760px;margin-inline:auto}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .menu-btn{display:block}
  .nav .cta-header{display:none}
  .nav > nav{position:absolute;top:100%;left:0;right:0;background:var(--navy);display:none;max-height:calc(100vh - 80px);overflow-y:auto}
  header.nav-open .nav > nav{display:block}
  .nav > nav > ul{flex-direction:column;gap:0;padding:8px 4% 16px}
  .nav ul a{display:flex;padding:13px 0;font-size:1.05rem}
  .nav .has-sub > a .ic{display:none}
  .nav .sub{position:static;display:block;background:none;box-shadow:none;padding:0 0 6px 14px;min-width:0}
  .nav .sub::before{display:none}
  .nav .sub a{padding:8px 0;font-size:var(--t-ui);color:rgba(255,255,255,.75)}
  .nav .sub a:hover{background:none}
}
@media(max-width:720px){
  /* ciclo vira lista vertical */
  .ciclo{aspect-ratio:auto;width:100%}
  .ciclo .anel,.ciclo-centro{display:none}
  .ciclo ol{position:static;display:flex;flex-direction:column;gap:0}
  .ciclo li{position:relative;inset:auto;width:auto;margin:0;flex-direction:row;text-align:left;gap:14px;padding-bottom:22px;top:auto!important;left:auto!important}
  .ciclo li:not(:last-child)::after{content:'';position:absolute;left:27px;top:62px;bottom:4px;width:4px;border-radius:2px;background:rgba(255,255,255,.18)}
  .ciclo li .txt{align-items:flex-start;background:none;padding:0}
  .ciclo li:last-child{padding-bottom:0}
  .ciclo-volta{display:flex!important}
}
@media(max-width:560px){
  section{padding:88px 0}
  .hero{padding:140px 0 40px}
  .hero-bg{object-position:40% 12%}
  .hero::after{background:
    linear-gradient(to top,rgba(6,8,16,.96) 0%,rgba(6,8,16,.88) 46%,rgba(6,8,16,.25) 70%,rgba(6,8,16,0) 82%), /* taste-skill-ignore: scrim neutro sobre a foto */
    linear-gradient(to bottom,rgba(6,8,16,.62) 0,rgba(6,8,16,0) 16%)} /* taste-skill-ignore: scrim neutro sobre a foto */
  .cards{grid-template-columns:1fr;gap:32px}
  .sobre-card{padding:28px 22px}
  .sobre-mods li small{display:none}
  .dores{grid-template-columns:1fr}
  .desafio-title{font-size:1.375rem}
  .frag{aspect-ratio:3/4}
  .frag::before{background:linear-gradient(to bottom,rgba(247,248,250,.95) 0%,rgba(247,248,250,.86) 40%,rgba(247,248,250,0) 60%)} /* taste-skill-ignore: véu claro sob os cartões */
  .frag-foto{object-position:50% 85%}
  .frag-setas{display:none}
  .f-erp{left:6%;top:12%}  .f-excel{left:52%;top:12%}
  .f-estoque{left:6%;top:23%} .f-historico{left:52%;top:22%}
  .f-comercial{left:6%;top:35%} .f-financeiro{left:52%;top:35%}
  .desafio-title span{display:inline}
  .seg{grid-template-columns:1fr;padding:22px}
  .seg-foto{order:-1}
  .seg-foto img{aspect-ratio:16/9;min-height:0;height:auto}
  .impacto{padding:28px 22px}
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi{padding:16px}
  .kpi strong{font-size:var(--t-h3)}
  .impacto h3{font-size:var(--t-h3)}
  .hero-actions .btn,.cta-band .acoes .btn{width:100%;justify-content:center}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .foot-grid > div:first-child,.foot-grid > div:last-child{grid-column:1/-1}
  .cta-band{padding:56px 22px}
  .cta-wrap{padding-bottom:88px}
  .logica{flex-direction:column;border-radius:24px;width:100%}
  .logica .step{width:100%;text-align:center}
  .logica .ic{transform:rotate(90deg)}
}
.ciclo-volta{display:none;align-items:center;gap:8px;margin-top:18px;font-size:var(--t-ui);color:var(--laranja-claro);font-weight:600}
.ciclo-volta .ic{width:18px;height:18px}

/* movimento reduzido */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none}
}

/* páginas internas: cabeçalho sólido desde o topo */
header.is-solid{background:var(--navy)}
.page-title{font-size:var(--t-display);letter-spacing:-.035em;line-height:.98;max-width:20ch}
