:root{
  /* Cor por vertical: TELEMETRIA */
  --v-accent:#EE4F64;
  --v-accent-soft:#FDE3E6;
  --v-accent-deep:#832131;
  --v-accent-rgb:238,79,100;
}


  
              section{position:relative; overflow:hidden;}

  /* reveal on scroll */
  
  /* ---------- NAV (reutilizado da Home) ---------- */
  /* ---------- BUTTONS (reutilizado da Home) ---------- */
        
  /* ---------- GRAFISMOS (vocabulário visual reutilizável: ondas, arcos, rotas, sinais, nós) ---------- */
  /* Uso: no máximo 1 arco grande em degradê real por página (a "assinatura"); nas demais dobras,
     apoios menores (ondas, pins, sinais, nós) na cor predominante da vertical (var(--v-accent)). */
  .gfx{position:absolute; pointer-events:none;}
  .gfx-stroke{stroke:var(--v-accent-soft);}
  .gfx-stroke-strong{stroke:var(--v-accent);}
  .gfx-dot{fill:var(--v-accent);}
  .gfx-dot-soft{fill:var(--v-accent-soft);}
  .gfx-dot-coral{fill:var(--pink);}
  .gfx-dot-lavender{fill:var(--lavender);}
  .gfx-L{position:absolute; pointer-events:none; font-family:'Switzer',sans-serif; font-weight:900; line-height:1; color:#fff; opacity:.045; user-select:none;}
  .gfx-wave{position:absolute; pointer-events:none;}

  /* ---------- SP-HERO ---------- */
  .sp-hero{background:var(--chumbo); padding-top:150px; padding-bottom:80px;}
  .sp-hero-media{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .sp-hero-wash{position:absolute; inset:0; z-index:1;
    background:linear-gradient(100deg, rgba(20,20,28,.96) 0%, rgba(22,22,30,.88) 36%, rgba(28,24,26,.45) 68%, rgba(30,26,26,.16) 100%);
  }
  .sp-hero .gfx-arc{top:-220px; right:-220px; z-index:1; opacity:.75;}
  .sp-hero .gfx-route{bottom:26px; right:60px; z-index:1; opacity:.6;}
  .sp-breadcrumb{position:relative; z-index:2; max-width:1220px; margin:0 auto 40px auto; padding:0 80px; font-size:12.5px; color:rgba(255,255,255,.5);}
  .sp-breadcrumb a{color:rgba(255,255,255,.7);}
  .sp-breadcrumb a:hover{color:#fff;}
  .sp-hero-inner{position:relative; z-index:2; max-width:1220px; margin:0 auto; padding:0 80px;}
  .sp-label{display:inline-flex; align-items:center; gap:10px; background:rgba(var(--v-accent-rgb),.16); border-radius:999px; padding:8px 14px; color:#fff; font-size:13px; font-weight:500; margin-bottom:22px;}
  .sp-label .dot{width:8px; height:8px; border-radius:999px; background:var(--pink);}
  .sp-hero h1{font-weight:900; font-size:48px; line-height:1.1; letter-spacing:-1.2px; color:#fff; max-width:720px; margin-bottom:20px;}
  .sp-hero .sub{color:rgba(255,255,255,.85); font-size:17px; line-height:1.6; max-width:600px; margin-bottom:28px;}
  .sp-micro{margin-top:22px; font-size:13.5px; color:rgba(255,255,255,.58); max-width:560px; line-height:1.5;}

  /* ---------- SP-ANSWER (SEO/GEO answer-first) ---------- */
  .sp-answer{background:#fff; padding:70px 80px 20px 80px;}
  .sp-answer-box{position:relative; overflow:hidden; max-width:820px; margin:0 auto; border-left:4px solid var(--v-accent); background:linear-gradient(135deg,#fff 0%, var(--v-accent-soft) 220%); border-radius:0 22px 22px 0; padding:32px 38px;}
  .sp-answer-box .gfx-signal{top:-18px; right:-14px; opacity:.5;}
  .sp-answer-kicker{position:relative; z-index:1; font-size:13px; font-weight:700; letter-spacing:.8px; color:var(--v-accent); text-transform:uppercase; margin-bottom:12px;}
  .sp-answer-box h2{position:relative; z-index:1; font-weight:700; font-size:25px; letter-spacing:-.4px; line-height:1.3; margin-bottom:14px;}
  .sp-answer-box p{position:relative; z-index:1; font-size:15.5px; color:var(--ink); line-height:1.65; max-width:640px;}

  /* ---------- SP-PROBLEM ---------- */
  .sp-problem{background:#fff; padding:70px 80px 120px 80px;}
  .sp-problem-wrap{max-width:1220px; margin:0 auto; display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:stretch;}
  .sp-problem-media{border-radius:22px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(36,36,48,.35); min-height:420px;}
  .sp-problem-media img{display:block; width:100%; height:100%; object-fit:cover;}
  .sp-problem-content{display:flex; flex-direction:column; gap:34px;}
  .sp-problem-copy h2{font-weight:700; font-size:32px; letter-spacing:-.8px; line-height:1.2; margin-bottom:18px;}
  .sp-problem-copy p{font-size:15.5px; color:var(--ink); line-height:1.65; margin-bottom:14px;}
  .sp-pain-list{display:flex; flex-direction:column; gap:2px;}
  .sp-pain-item{display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-bottom:1px solid rgba(36,36,48,.1);}
  .sp-pain-item:first-child{padding-top:0;}
  .sp-pain-dot{flex-shrink:0; width:8px; height:8px; border-radius:999px; background:var(--orange); margin-top:8px;}
  .sp-pain-item span{font-size:14px; color:var(--ink); line-height:1.5;}
  .sp-impact{max-width:1220px; margin:56px auto 0 auto; border-top:1px solid rgba(36,36,48,.12); padding-top:36px;}
  .sp-impact p{font-family:'Switzer',sans-serif; font-weight:700; font-size:26px; letter-spacing:-.5px; line-height:1.35; max-width:760px; color:var(--chumbo);}

  /* ---------- SP-INDICATORS ---------- */
  .sp-indicators{background:var(--offwhite); padding:120px 80px;}
  .sp-sec-head{max-width:680px; margin:0 auto 46px auto;}
  .sp-sec-head h2{font-weight:700; font-size:36px; letter-spacing:-.8px; line-height:1.2; margin-bottom:14px;}
  .sp-sec-head p{font-size:16px; color:var(--ink); line-height:1.6;}
  .sp-ind-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1220px; margin:0 auto;}
  .sp-ind-card{position:relative; overflow:hidden; background:#fff; border-radius:24px; padding:26px; display:flex; flex-direction:column; gap:16px; border:1.5px solid transparent; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;}
  .sp-ind-card:hover{transform:translateY(-4px); border-color:var(--v-accent); box-shadow:0 14px 30px -18px rgba(var(--v-accent-rgb),.45);}
  .sp-ind-card::after{content:""; position:absolute; top:-34px; right:-34px; width:100px; height:100px; border-radius:50%; background:radial-gradient(circle, rgba(var(--v-accent-rgb),.12), transparent 72%); pointer-events:none;}
  .sp-ind-card:nth-child(3n+2)::after{background:radial-gradient(circle, rgba(159,140,233,.16), transparent 72%);}
  .sp-ind-chip{position:relative; z-index:1; width:46px; height:46px; border-radius:999px; background:var(--v-accent-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .sp-ind-chip::before{content:""; position:absolute; inset:-7px; border-radius:999px; border:1.5px dashed rgba(var(--v-accent-rgb),.45);}
  .sp-ind-card:nth-child(3n+2) .sp-ind-chip{background:rgba(159,140,233,.16);}
  .sp-ind-card:nth-child(3n+2) .sp-ind-chip::before{border-color:rgba(159,140,233,.45);}
  .sp-ind-card:nth-child(3n) .sp-ind-chip{background:rgba(var(--v-accent-rgb),.14);}
  .sp-ind-card h3{position:relative; z-index:1; font-weight:700; font-size:17px;}
  .sp-ind-card p{position:relative; z-index:1; font-size:13.5px; color:var(--ink); line-height:1.5;}

  /* ---------- SP-PROCESS ---------- */
  .sp-process{background:var(--chumbo); padding:120px 80px; color:#fff;}
  .sp-process-wrap{max-width:1220px; margin:0 auto;}
  .sp-process-head{max-width:700px; margin-bottom:60px;}
  .sp-process-head h2{font-weight:700; font-size:36px; letter-spacing:-.8px; margin-bottom:14px;}
  .sp-process-head p{font-size:16px; color:rgba(255,255,255,.78); line-height:1.6;}
  .sp-steps{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
  .sp-steps-track{position:relative;}
  .sp-steps-progress{position:absolute; top:0; left:0; height:1.5px; background:var(--v-accent); width:0; transition:width 1.5s cubic-bezier(.22,1,.36,1); z-index:1;}
  .sp-steps-track.in .sp-steps-progress{width:100%;}
  .sp-step{position:relative; display:flex; flex-direction:column; gap:12px; padding-top:18px; border-top:1.5px solid rgba(var(--v-accent-rgb),.3);}
  .sp-step::before{content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:999px; background:var(--v-accent); box-shadow:0 0 0 4px rgba(var(--v-accent-rgb),.22); transform:scale(1); transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;}
  .sp-step:last-child::after{content:""; position:absolute; top:-4px; right:0; width:7px; height:7px; border-radius:999px; background:var(--lavender); transform:scale(1); transition:transform .45s cubic-bezier(.22,1,.36,1) 1.5s, box-shadow .45s ease 1.5s;}
  .sp-step .num{font-family:'Switzer',sans-serif; font-weight:900; font-size:26px; color:var(--v-accent-soft); transition:color .4s ease;}
  .sp-step h3{font-size:16.5px; font-weight:800; line-height:1.3; letter-spacing:.5px; text-transform:uppercase; transition:color .4s ease;}
  .sp-step p{font-size:13px; color:rgba(255,255,255,.75); line-height:1.5;}
  .sp-steps-track.in .sp-step:nth-child(1)::before{transition-delay:.12s;}
  .sp-steps-track.in .sp-step:nth-child(2)::before{transition-delay:.42s;}
  .sp-steps-track.in .sp-step:nth-child(3)::before{transition-delay:.72s;}
  .sp-steps-track.in .sp-step:nth-child(4)::before{transition-delay:1.02s;}
  .sp-steps-track.in .sp-step:nth-child(5)::before{transition-delay:1.32s;}
  .sp-steps-track.in .sp-step::before{transform:scale(1.7); box-shadow:0 0 0 6px rgba(var(--v-accent-rgb),.32), 0 0 16px 2px rgba(var(--v-accent-rgb),.55);}
  .sp-steps-track.in .sp-step:last-child::after{transform:scale(1.7); box-shadow:0 0 0 6px rgba(159,140,233,.3), 0 0 16px 2px rgba(159,140,233,.55);}
  .sp-steps-track.in .sp-step:nth-child(1) .num,.sp-steps-track.in .sp-step:nth-child(1) h3{transition-delay:.12s;}
  .sp-steps-track.in .sp-step:nth-child(2) .num,.sp-steps-track.in .sp-step:nth-child(2) h3{transition-delay:.42s;}
  .sp-steps-track.in .sp-step:nth-child(3) .num,.sp-steps-track.in .sp-step:nth-child(3) h3{transition-delay:.72s;}
  .sp-steps-track.in .sp-step:nth-child(4) .num,.sp-steps-track.in .sp-step:nth-child(4) h3{transition-delay:1.02s;}
  .sp-steps-track.in .sp-step:nth-child(5) .num,.sp-steps-track.in .sp-step:nth-child(5) h3{transition-delay:1.32s;}
  .sp-steps-track.in .sp-step .num{color:var(--v-accent);}
  .sp-steps-track.in .sp-step h3{color:var(--v-accent-soft);}
  @media (prefers-reduced-motion:reduce){
    .sp-steps-progress{transition:none !important;}
    .sp-step::before,.sp-step:last-child::after,.sp-step .num,.sp-step h3{transition:none !important;}
  }
  .sp-process .gfx-L{bottom:-140px; left:-40px; font-size:520px; letter-spacing:-30px;}

  /* ---------- SP-HEAVY (telemetria além da estrada) ---------- */
  .sp-heavy{position:relative; min-height:92vh; display:flex; align-items:flex-end; background:var(--chumbo); overflow:hidden;}
  .sp-heavy-media{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transform:scale(1.02);}
  .sp-heavy-wash{position:absolute; inset:0; z-index:1;
    background:
      linear-gradient(0deg, rgba(10,8,6,.86) 0%, rgba(10,8,6,.32) 32%, rgba(10,8,6,.04) 55%),
      linear-gradient(100deg, rgba(10,8,6,.55) 0%, rgba(10,8,6,.1) 42%, rgba(10,8,6,0) 62%);
  }
  .sp-heavy-copy-card{position:relative; z-index:3; max-width:460px; margin:0 0 72px 80px; background:rgba(18,14,10,.5); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%); border:1px solid rgba(255,255,255,.14); border-radius:24px; padding:32px 36px; color:#fff;}
  .sp-heavy-kicker{color:var(--v-accent-soft); font-size:13px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; margin-bottom:12px;}
  .sp-heavy-copy-card h2{font-weight:700; font-size:27px; letter-spacing:-.5px; line-height:1.22; margin-bottom:12px; color:#fff;}
  .sp-heavy-copy-card p{font-size:14.5px; color:rgba(255,255,255,.82); line-height:1.6;}
  .sp-heavy-tag{position:absolute; z-index:2; display:inline-flex; align-items:center; gap:7px; background:rgba(18,14,10,.55); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:8px 14px; font-size:12.5px; font-weight:600; color:#fff; white-space:nowrap; transition:background .25s ease, border-color .25s ease, transform .25s ease;}
  .sp-heavy-tag .dot{width:6px; height:6px; border-radius:999px; background:var(--v-accent); flex-shrink:0;}
  .sp-heavy-tag:hover{background:rgba(var(--v-accent-rgb),.35); border-color:rgba(var(--v-accent-rgb),.6); transform:translateY(-2px);}
  @media (max-width:900px){
    .sp-heavy{min-height:78vw;}
    .sp-heavy-copy-card{margin:0 20px 28px 20px; max-width:none;}
    .sp-heavy-tag{display:none;}
  }

  /* ---------- SP-BENEFITS ---------- */
  .sp-benefits{background:var(--offwhite); padding:120px 80px;}
  .sp-benefits .gfx-wave{bottom:-10px; right:-20px; opacity:.5;}
  .sp-ben-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:1220px; margin:0 auto; position:relative; z-index:1;}
  .sp-ben-card{background:#fff; border-radius:22px; padding:24px; border-top:3px solid var(--v-accent);}
  .sp-ben-card:nth-child(2n){border-top-color:var(--v-accent-deep);}
  .sp-ben-card b{display:block; font-weight:900; font-size:20px; margin-bottom:8px; letter-spacing:-.3px;}
  .sp-ben-card span{font-size:13.5px; color:var(--ink); line-height:1.5;}

  /* ---------- SP-PILLARS (relacionados) ---------- */
  .sp-pillars{background:#fff; padding:120px 80px;}
  .sp-pil-grid{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1220px; margin:0 auto;}
  .sp-pil-grid::before{content:""; position:absolute; top:52px; left:7%; right:7%; height:1.5px; background:linear-gradient(90deg, transparent, rgba(var(--v-accent-rgb),.4) 12%, rgba(var(--v-accent-rgb),.4) 88%, transparent); z-index:0;}
  .sp-pil-card{position:relative; z-index:1; background:var(--offwhite); border-radius:24px; padding:24px; display:flex; flex-direction:column; gap:14px; border:1.5px solid transparent; transition:transform .25s ease, background .25s ease, border-color .25s ease;}
  .sp-pil-card:hover{transform:translateY(-4px); background:#fff; border-color:var(--v-accent);}
  .sp-pil-chip{position:relative; width:56px; height:56px; border-radius:999px; background:rgba(var(--v-accent-rgb),.12); display:flex; align-items:center; justify-content:center;}
  .sp-pil-chip::before{content:""; position:absolute; inset:-6px; border-radius:999px; border:1.5px solid rgba(var(--v-accent-rgb),.35);}
  .sp-pil-card:nth-child(3) .sp-pil-chip{background:rgba(159,140,233,.16);}
  .sp-pil-card:nth-child(3) .sp-pil-chip::before{border-color:rgba(159,140,233,.4);}
  .sp-pil-card svg{stroke:var(--v-accent-deep) !important;}
  .sp-pil-card h3{font-weight:700; font-size:17px;}
  .sp-pil-card p{font-size:13.5px; color:var(--ink); line-height:1.5;}

  /* ---------- SP-SEGMENTS ---------- */
  .sp-segments{background:var(--offwhite); padding:120px 80px;}
  .sp-seg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1220px; margin:0 auto 30px auto;}
  .sp-seg-card{background:#fff; border-radius:22px; padding:22px; display:flex; flex-direction:column; gap:12px; transition:transform .25s ease, box-shadow .25s ease;}
  .sp-seg-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px -20px rgba(var(--v-accent-rgb),.5);}
  .sp-seg-card h3{font-size:15.5px; font-weight:700;}
  .sp-seg-card p{font-size:13px; color:var(--ink); line-height:1.5;}
  .sp-seg-cta{max-width:1220px; margin:0 auto; text-align:center;}
  .sp-seg-cta a{display:inline-flex; font-size:14.5px; font-weight:700; color:var(--v-accent-deep); border-bottom:2px solid var(--v-accent); padding-bottom:2px;}

  /* ---------- SP-DIAGNOSTIC ---------- */
  .sp-diagnostic{background:var(--chumbo); padding:80px; text-align:center; color:#fff;}
  .sp-diagnostic::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(ellipse 900px 500px at 50% 0%, rgba(var(--v-accent-rgb),.16), transparent 65%);
  }
  .sp-diagnostic .gfx-route{top:24px; left:60px; opacity:.35; transform:scaleX(-1);}
  .sp-diagnostic-inner{position:relative; z-index:2; max-width:640px; margin:0 auto;}
  .sp-diagnostic h2{font-weight:700; font-size:28px; letter-spacing:-.5px; margin-bottom:14px;}
  .sp-diagnostic p{font-size:15.5px; color:rgba(255,255,255,.78); line-height:1.6; margin-bottom:26px;}

  /* ---------- SP-CONTENT (conteúdos relacionados) ---------- */
  .sp-content{background:#fff; padding:120px 80px;}
  .sp-cont-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1220px; margin:0 auto;}
  .sp-cont-card{background:var(--offwhite); border-radius:22px; padding:24px; display:flex; flex-direction:column; gap:10px; transition:transform .25s ease;}
  .sp-cont-card:hover{transform:translateY(-4px);}
  .sp-cont-tag{font-size:11.5px; font-weight:700; letter-spacing:.6px; color:var(--v-accent-deep); text-transform:uppercase;}
  .sp-cont-card h3{font-size:15.5px; font-weight:700; line-height:1.35;}
  .sp-cont-card p{font-size:13px; color:var(--ink); line-height:1.5;}

  /* ---------- SP-RELATED SOLUTIONS ---------- */
  .sp-relsol{background:var(--offwhite); padding:80px 80px;}
  .sp-relsol-head{max-width:1220px; margin:0 auto 24px auto; font-size:13px; font-weight:700; letter-spacing:.8px; color:var(--chumbo); opacity:.6; text-transform:uppercase;}
  .sp-relsol-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1220px; margin:0 auto;}
  .sp-relsol-card{background:#fff; border-radius:20px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; gap:20px; min-height:130px; border-top:3px solid var(--v-accent); border-left:1.5px solid transparent; border-right:1.5px solid transparent; border-bottom:1.5px solid transparent; transition:transform .25s ease, border-color .25s ease;}
  .sp-relsol-card:hover{transform:translateY(-4px); border-color:var(--v-accent);}
  .sp-relsol-card.geotab-card{border-top-color:var(--geotab-accent);}
  .sp-relsol-card.geotab-card:hover{border-color:var(--geotab-accent);}
  .sp-relsol-body h3{font-size:16px; font-weight:700; margin-bottom:8px;}
  .sp-relsol-body p{font-size:13px; color:var(--ink); line-height:1.5;}
  .sp-relsol-foot{display:flex; align-items:center; justify-content:flex-end;}
  .sp-relsol-arrow{flex-shrink:0; width:30px; height:30px; border-radius:999px; background:var(--chumbo); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px;}
  .sp-relsol-card.geotab-card .sp-relsol-arrow{background:var(--geotab-accent);}

  /* ---------- SP-CASE ---------- */
  .sp-case{background:var(--chumbo); padding:110px 80px; color:#fff;}
  .sp-case-wrap{max-width:820px; margin:0 auto;}
  .sp-case h2{font-weight:700; font-size:30px; letter-spacing:-.6px; line-height:1.3; margin-bottom:18px;}
  .sp-case p{font-size:16px; color:rgba(255,255,255,.8); line-height:1.65; margin-bottom:16px;}
  .sp-case .actions{margin-top:24px;}

  /* ---------- FAQ (reutilizado da Home) ---------- */
  .faq{background:#fff; padding:120px 80px;}
  .faq-head{max-width:720px; margin:0 auto 50px auto;}
  .faq-kicker{font-size:13px; font-weight:700; letter-spacing:.8px; color:var(--v-accent-deep); text-transform:uppercase; margin-bottom:14px;}
  .faq-head h2{font-weight:700; font-size:36px; letter-spacing:-.5px; line-height:1.25; margin-bottom:16px;}
  .faq-head p{font-size:16px; color:var(--ink); line-height:1.6; max-width:640px;}
  .faq-list{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
  .faq-item{background:var(--offwhite); border-radius:20px; padding:22px 26px; transition:background .25s ease;}
  .faq-item[open]{background:#F1EDE3;}
  .faq-item summary{display:flex; justify-content:space-between; align-items:center; gap:20px; font-weight:700; font-size:16px; list-style:none; cursor:pointer;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-icon{flex-shrink:0; width:26px; height:26px; border-radius:999px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:400; color:var(--chumbo); transition:transform .25s ease, background .25s ease, color .25s ease;}
  .faq-item[open] .faq-icon{transform:rotate(45deg); background:var(--v-accent); color:#fff;}
  .faq-item p{font-size:14.5px; color:var(--ink); line-height:1.6; margin-top:14px; padding-right:40px;}

  /* ---------- SP-CTAFINAL ---------- */
  .sp-ctafinal{background:var(--chumbo); padding:110px 80px; color:#fff; text-align:center;}
  .sp-ctafinal::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(ellipse 700px 420px at 12% 100%, rgba(var(--v-accent-rgb),.18), transparent 60%),
      radial-gradient(ellipse 500px 320px at 92% 0%, rgba(236,26,94,.10), transparent 60%);
  }
  .sp-ctafinal .gfx-route-lg{bottom:-10px; left:-10px; opacity:.55;}
  .sp-ctafinal-inner{position:relative; z-index:2; max-width:640px; margin:0 auto;}
  .sp-ctafinal h2{font-weight:700; font-size:32px; letter-spacing:-.6px; line-height:1.25; margin-bottom:16px;}
  .sp-ctafinal p{font-size:16px; color:rgba(255,255,255,.78); line-height:1.6; margin-bottom:28px;}
  .sp-ctafinal .actions{justify-content:center;}

  /* ---------- FOOTER (reutilizado da Home) ---------- */
  /* footer agora e componente compartilhado */

  @media (max-width:1100px){
    .navbar{padding-left:24px; padding-right:24px;}
    .sp-hero-inner,.sp-breadcrumb,.sp-answer,.sp-problem,.sp-indicators,.sp-process,.sp-benefits,.sp-pillars,.sp-segments,.sp-diagnostic,.sp-content,.sp-relsol,.sp-case,.faq,.sp-ctafinal,.footer{padding-left:24px; padding-right:24px;}
    .sp-problem-wrap{flex-direction:column; gap:34px;}
    .sp-pain-list{flex:1;}
    .sp-ind-grid,.sp-pil-grid,.sp-relsol-grid{grid-template-columns:1fr 1fr;}
    .sp-seg-grid,.sp-cont-grid,.sp-ben-grid{grid-template-columns:1fr 1fr;}
    .sp-steps{grid-template-columns:1fr 1fr;}
    .sp-hero h1{font-size:34px;}
    .faq-item p{padding-right:0;}
  }
  @media (max-width:640px){
    .sp-ind-grid,.sp-pil-grid,.sp-relsol-grid,.sp-seg-grid,.sp-cont-grid,.sp-ben-grid,.sp-steps,.sp-problem-wrap{grid-template-columns:1fr;}
  }

/* =====================================================================
   HERO · leitura de um veículo (15/10). Mesmo asset-mestre da Hub de
   Soluções, outra composição: crop fechado no caminhão, cidade fora de
   foco, e a sequência veículo → sinais → dados → leitura.
   ===================================================================== */
.sp-hero .sp-hero-media{inset:auto; max-width:none; object-fit:fill; filter:saturate(.9);}
.tel-read{position:absolute; inset:0; z-index:1; pointer-events:none; --ax:68%; --ay:62%;}
.tel-ring{position:absolute; left:var(--ax); top:var(--ay); width:120px; height:120px; margin:-60px 0 0 -60px; border-radius:999px;
  border:1.5px solid rgba(238,79,100,.9); box-shadow:0 0 30px rgba(238,79,100,.35), inset 0 0 20px rgba(238,79,100,.2); opacity:0; transform:scale(.6); transition:opacity .6s ease .5s, transform .9s cubic-bezier(.22,1,.36,1) .5s;}
.tel-ring i{position:absolute; inset:-1.5px; border-radius:inherit; border:1.5px solid rgba(238,79,100,.6); animation:telPing 2.4s ease-out infinite;}
@keyframes telPing{from{transform:scale(1); opacity:.8;} to{transform:scale(1.7); opacity:0;}}
.tel-links{position:absolute; inset:0; width:100%; height:100%; overflow:visible;}
.tel-links path{fill:none; stroke:rgba(255,255,255,.55); stroke-width:1.2; stroke-dasharray:var(--len,400); stroke-dashoffset:var(--len,400); transition:stroke-dashoffset 1s cubic-bezier(.33,.8,.3,1);}
.tel-sig{position:absolute; display:flex; flex-direction:column; gap:2px; padding:9px 13px; border-radius:12px; font-size:11.5px; color:rgba(255,255,255,.7); white-space:nowrap;
  background:rgba(9,14,19,.68); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .6s cubic-bezier(.22,1,.36,1);}
.tel-sig b{font-size:13px; color:#fff;}
.tel-sig.is-read{border-color:rgba(238,79,100,.6); background:rgba(40,12,18,.72);}
.tel-sig.is-read b{color:#FFB3BE;}
.sp-hero.tel-on .tel-ring{opacity:1; transform:none;}
.sp-hero.tel-on .tel-links path{stroke-dashoffset:0;}
.sp-hero.tel-on .tel-sig{opacity:1; transform:none;}
.sp-hero.tel-on .l1{transition-delay:1s;} .sp-hero.tel-on .s1{transition-delay:1.5s;}
.sp-hero.tel-on .l2{transition-delay:1.7s;} .sp-hero.tel-on .s2{transition-delay:2.2s;}
.sp-hero.tel-on .l3{transition-delay:2.4s;} .sp-hero.tel-on .s3{transition-delay:2.9s;}
.sp-hero.tel-on .l4{transition-delay:3.3s;} .sp-hero.tel-on .s4{transition-delay:3.8s;}
@media (max-width:900px){ .tel-sig{display:none;} .tel-links{display:none;} }
@media (prefers-reduced-motion:reduce){ .tel-ring,.tel-sig,.tel-links path{transition:none !important;} .tel-ring i{animation:none;} }

/* FLUXO 01→05 que se constrói (15/10): dispara quando metade do trilho está
   na tela; a linha avança e cada etapa entra e acende no momento em que a
   linha passa por ela (~1,8 s no total). */
.sp-steps-track .sp-steps-progress{width:0 !important; transition:width 1.6s cubic-bezier(.45,.05,.3,1) !important;}
.sp-steps-track.go .sp-steps-progress{width:100% !important;}
.sp-steps-track .sp-step.reveal{opacity:0 !important; transform:translateY(14px) !important; transition:opacity .45s ease, transform .55s cubic-bezier(.22,1,.36,1) !important;}
.sp-steps-track.go .sp-step.reveal{opacity:1 !important; transform:none !important;}
.sp-steps-track .sp-step::before{transform:scale(0) !important;}
.sp-steps-track.go .sp-step::before{transform:scale(1.7) !important;}
.sp-steps-track:not(.go) .sp-step .num{color:var(--v-accent-soft) !important;} .sp-steps-track:not(.go) .sp-step h3{color:#fff !important;}
.sp-steps-track.go .sp-step:nth-child(1), .sp-steps-track.go .sp-step:nth-child(1)::before, .sp-steps-track.go .sp-step:nth-child(1) .num, .sp-steps-track.go .sp-step:nth-child(1) h3{transition-delay:.05s !important;}
.sp-steps-track.go .sp-step:nth-child(2), .sp-steps-track.go .sp-step:nth-child(2)::before, .sp-steps-track.go .sp-step:nth-child(2) .num, .sp-steps-track.go .sp-step:nth-child(2) h3{transition-delay:.4s !important;}
.sp-steps-track.go .sp-step:nth-child(3), .sp-steps-track.go .sp-step:nth-child(3)::before, .sp-steps-track.go .sp-step:nth-child(3) .num, .sp-steps-track.go .sp-step:nth-child(3) h3{transition-delay:.75s !important;}
.sp-steps-track.go .sp-step:nth-child(4), .sp-steps-track.go .sp-step:nth-child(4)::before, .sp-steps-track.go .sp-step:nth-child(4) .num, .sp-steps-track.go .sp-step:nth-child(4) h3{transition-delay:1.1s !important;}
.sp-steps-track.go .sp-step:nth-child(5), .sp-steps-track.go .sp-step:nth-child(5)::before, .sp-steps-track.go .sp-step:nth-child(5) .num, .sp-steps-track.go .sp-step:nth-child(5) h3{transition-delay:1.45s !important;}
@media (max-width:900px){ .sp-steps-track .sp-steps-progress{display:none;} }
@media (prefers-reduced-motion:reduce){
  .sp-steps-track .sp-step.reveal{opacity:1 !important; transform:none !important; transition:none !important;}
  .sp-steps-track .sp-step::before{transform:scale(1.7) !important;} .sp-steps-track .sp-steps-progress{width:100% !important; transition:none !important;}
}
/* leitura de posição do cursor no hero: texto solto, sem caixa */
.tel-cursor{position:absolute; left:0; top:0; z-index:3; pointer-events:none; display:flex; flex-direction:column; gap:4px; padding-left:16px;
  font:600 10.5px/1.15 ui-monospace, 'SFMono-Regular', Menlo, monospace; letter-spacing:.8px; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.85);
  opacity:0; transition:opacity .35s ease, transform .18s linear;}
.tel-cursor.on{opacity:1;}
.tel-cursor .k{color:#FFB3BE; font-size:9.5px;}
.tel-cursor .xy{font-variant-numeric:tabular-nums; color:rgba(255,255,255,.9);}
.tel-cursor i{position:absolute; left:2px; top:3px; width:6px; height:6px; border-radius:999px; background:#EE4F64;}
.tel-cursor.ping i{animation:telCurPing .9s ease-out 1;}
@keyframes telCurPing{0%{box-shadow:0 0 0 0 rgba(238,79,100,.7);} 100%{box-shadow:0 0 0 10px rgba(238,79,100,0);}}
