:root{
  /* Identidade vertical: Enterprise · Logos + Geotab */
  --v-accent:#EC1A5E;
  --v-accent-soft:#FBE3EC;
  --v-accent-deep:#8C0F3E;
  --v-accent-rgb:236,26,94;
}


/* ---------- CONTEXTOS (tema que atravessa operações) e PONTES curtas ---------- */
.seg-ctx{background:var(--offwhite,#F8F5EF); padding:80px 80px 72px;}
.seg-ctx-wrap{max-width:1060px; margin:0 auto;}
.seg-ctx h2{font-size:30px; font-weight:800; letter-spacing:-.6px; margin-bottom:28px;}
.seg-ctx-grid{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.seg-ctx-grid li{background:#fff; border-radius:18px; padding:24px 24px 22px; border-top:3px solid var(--v-accent);}
.seg-ctx-grid b{display:block; font-size:17px; letter-spacing:-.2px; margin-bottom:8px;}
.seg-ctx-grid p{font-size:14.5px; line-height:1.6; color:var(--ink);}
.seg-xlinks{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:22px;}
.seg-xlinks span{font-size:12px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; color:rgba(36,36,48,.5); margin-right:4px;}
.seg-xlinks a{font-size:14.5px; font-weight:700; color:var(--chumbo,#242430); text-decoration:none; padding:10px 16px; border-radius:999px; background:#fff; border:1px solid rgba(36,36,48,.14); transition:border-color .2s ease, transform .2s ease;}
.seg-xlinks a:hover{border-color:var(--v-accent); transform:translateY(-1px);}
.seg-bridge{background:#fff; padding:56px 80px 8px;}
.seg-bridge-card{max-width:1060px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:16px 36px; align-items:center; padding:26px 30px; border-radius:20px;
  background:var(--v-accent-soft,#F4F5F7); border:1px solid rgba(36,36,48,.06);}
.seg-bridge-card b{display:block; font-size:19px; letter-spacing:-.3px; margin-bottom:6px;}
.seg-bridge-card p{font-size:15px; line-height:1.6; color:var(--ink); max-width:620px;}
.seg-bridge-card .seg-xlinks{margin-top:0;}
@media (max-width:860px){ .seg-ctx{padding:60px 20px 56px;} .seg-ctx h2{font-size:24px;} .seg-ctx-grid{grid-template-columns:1fr; gap:10px;}
  .seg-bridge{padding:40px 20px 0;} .seg-bridge-card{grid-template-columns:1fr; padding:22px;} }

/* ---------- PONTE SEGMENTO → ENTERPRISE + GEOTAB ---------- */
.seg-ent{background:#fff; padding:20px 80px 70px;}
.seg-ent-card{max-width:1060px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:10px 40px; align-items:center; padding:30px 36px; border-radius:22px; color:#fff; text-decoration:none;
  background:radial-gradient(90% 160% at 100% 0%, rgba(14,165,233,.30), transparent 60%), linear-gradient(135deg,#1B2A4E 0%,#0D1526 100%);
  transition:transform .3s ease, box-shadow .3s ease;}
.seg-ent-card:hover{transform:translateY(-3px); box-shadow:0 26px 50px -34px rgba(14,30,50,.85);}
.seg-ent-k{grid-column:1/-1; font-size:12px; font-weight:700; letter-spacing:.9px; text-transform:uppercase; color:#38BDF8;}
.seg-ent-body{display:flex; flex-direction:column; gap:8px;}
.seg-ent-body b{font-size:22px; font-weight:800; letter-spacing:-.4px; line-height:1.2;}
.seg-ent-body span{font-size:15px; line-height:1.6; color:rgba(255,255,255,.74); max-width:640px;}
.seg-ent-cta{white-space:nowrap; font-size:14.5px; font-weight:700; color:#BFE8FB; padding:12px 18px; border-radius:999px; border:1px solid rgba(56,189,248,.45); background:rgba(14,165,233,.12);}
@media (max-width:760px){ .seg-ent{padding:10px 20px 50px;} .seg-ent-card{grid-template-columns:1fr; padding:26px 22px;} .seg-ent-cta{justify-self:start;} .seg-ent-body b{font-size:19px;} }

/* ---------- TEMPLATE B — segmento (equipamento pesado) ---------- */
.seg-problem{background:#fff; padding:90px 80px;}
.seg-problem-wrap{max-width:900px; margin:0 auto;}
.seg-problem-wrap h2{font-size:30px; font-weight:700; letter-spacing:-.5px; margin-bottom:36px;}
.seg-pain-list{display:flex; flex-direction:column; gap:2px;}
.seg-pain-item{display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(36,36,48,.1);}
.seg-pain-item:first-child{padding-top:0;}
.seg-pain-dot{flex-shrink:0; width:8px; height:8px; border-radius:999px; background:var(--orange); margin-top:8px;}
.seg-pain-item span{font-size:17px; color:var(--ink); line-height:1.55;}
.seg-pain-dot{margin-top:9px;}
.seg-capabilities{background:var(--offwhite); padding:90px 80px;}
.seg-capabilities h2{max-width:900px; margin:0 auto 36px auto; font-size:30px; font-weight:700; letter-spacing:-.5px;}
.seg-cap-grid{max-width:1220px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.seg-cap-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){ .seg-cap-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr);} }
.seg-cap-card{background:#fff; border-radius:18px; padding:28px; box-shadow:0 20px 40px -30px rgba(36,36,48,.25); border-top:3px solid var(--v-accent, var(--pink));}
.seg-cap-card .ic-glyph{width:34px; height:34px; color:var(--logos-blue); margin-bottom:14px;}
.seg-cap-card h3{font-size:16px; font-weight:800; margin-bottom:10px;}
.seg-cap-card p{font-size:14px; color:var(--ink); line-height:1.6;}
.seg-related{background:#fff; padding:70px 80px;}
.seg-related h2{max-width:1220px; margin:0 auto 24px auto; font-size:22px; font-weight:700;}
.seg-related-grid{max-width:1220px; margin:0 auto; display:flex; gap:16px; flex-wrap:wrap;}
.seg-related-card{padding:14px 22px; border-radius:999px; border:1px solid rgba(36,36,48,.15); text-decoration:none; color:var(--chumbo); font-weight:600; font-size:14px; transition:border-color .2s ease, transform .2s ease;}
.seg-related-card:hover{border-color:var(--pink); transform:translateY(-2px);}
.seg-reveal{background:var(--chumbo); padding:100px 80px; position:relative; overflow:hidden;}
.seg-reveal::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 80% at 85% 50%, rgba(var(--reveal-rgb),.16) 0%, rgba(var(--reveal-rgb),0) 70%);
}
.seg-reveal-wrap{max-width:720px; margin:0 auto; position:relative; z-index:1; text-align:center;}
.seg-reveal-kicker{color:rgb(var(--reveal-rgb)); font-size:13px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; margin-bottom:16px;}
.seg-reveal-wrap h2{color:#fff; font-size:32px; font-weight:700; letter-spacing:-.5px; line-height:1.25; margin-bottom:18px;}
.seg-reveal-wrap p{color:rgba(255,255,255,.75); font-size:16px; line-height:1.65;}
.seg-ctafinal{background:var(--chumbo); padding:90px 80px; text-align:center;}
.seg-ctafinal h2{color:#fff; font-size:28px; font-weight:700; margin-bottom:24px; max-width:640px; margin-left:auto; margin-right:auto;}
@media (max-width:900px){
  .seg-problem, .seg-capabilities, .seg-related, .seg-ctafinal{padding-left:24px; padding-right:24px;}
  .seg-cap-grid,.seg-cap-grid:has(> :nth-child(4):last-child){grid-template-columns:1fr;}
}

/* ============================================================
   ENTERPRISE · LOGOS + GEOTAB — vertical co-branded
   Evolução de cor ao longo da página:
   navy Logos (hero) → claro (complexidade) → azul Geotab (escala,
   inteligência, punch) → grafite (segurança) → claro (ativos) →
   azul profundo (integração) → claro (eficiência) → branco
   institucional (parceria) → navy (requisitos) → fechamento Logos.
   Azul/ciano Geotab só nas dobras de escala, dados e ecossistema.
   ============================================================ */
:root{
  --gt-cyan:#38BDF8;
  --gt-blue:#0EA5E9;
  --gt-deep:#0B63C4;
  --gt-night:#06172E;
  --lg-navy:#12131C;
  --lg-coral:#EE4F64;
}
.eg-wrap{max-width:1220px; margin:0 auto; padding:0 40px; position:relative;}
.eg-kicker{display:block; font-size:12.5px; font-weight:700; letter-spacing:.95px; text-transform:uppercase; color:var(--lg-coral); margin-bottom:18px;}
.eg-kicker-gt{color:var(--gt-cyan);}
.eg-note{font-size:13px; line-height:1.55; color:rgba(255,255,255,.5); margin-top:18px;}
.eg-plus{font-size:28px; font-weight:300; color:rgba(255,255,255,.45); line-height:1;}

/* Espaço reservado para o logo oficial Geotab (não redesenhar a marca) */
.eg-logo-slot{display:inline-flex; align-items:center; justify-content:center; width:148px; height:40px; border-radius:8px;
  border:1.5px dashed rgba(56,189,248,.6); background:rgba(56,189,248,.06);}
.eg-logo-slot span{font-size:10.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:rgba(56,189,248,.9);}
.eg-logo-slot img{max-width:100%; max-height:100%;}

/* ---------- 1 · HERO ---------- */
.eg-hero{position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; overflow:hidden; color:#fff;
  background:#0D0C16; padding:150px 0 90px;}
.eg-hero-bg{position:absolute; inset:0;}
/* sem transform: não cria camada própria, o escurecimento (::after) continua entre o mapa e o hub/rótulos */
.eg-map{position:absolute; right:-6%; top:50%; margin-top:-21.9375%; width:78%; aspect-ratio:16/9;}
.eg-map img{position:absolute; inset:0; width:100%; height:100%; max-width:none; opacity:.85;}
.eg-hero-bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,#0D0C16 0%,rgba(13,12,22,.92) 30%,rgba(13,12,22,.35) 62%,rgba(13,12,22,.15) 100%),
             linear-gradient(0deg,#0D0C16 0%,rgba(13,12,22,0) 30%),
             radial-gradient(40% 50% at 65% 52%, rgba(14,165,233,.16), rgba(14,165,233,0) 70%);}
.eg-mesh{position:absolute; inset:0; width:100%; height:100%; z-index:1; overflow:visible;}
.eg-mesh-lines path{fill:none; stroke:rgba(56,189,248,.28); stroke-width:1; stroke-dasharray:3 6;}
.eg-mesh-pulses circle{fill:var(--gt-cyan); filter:drop-shadow(0 0 6px rgba(56,189,248,.9));}
.eg-mesh-core{fill:var(--gt-cyan);}
.eg-mesh-core-halo{fill:rgba(56,189,248,.1); stroke:rgba(56,189,248,.45); stroke-width:1.4;}
.eg-hero-tags{list-style:none; position:absolute; inset:0; z-index:2; margin:0; padding:0;}
.eg-hero-tags li{position:absolute; font-size:11.5px; font-weight:600; letter-spacing:.3px; color:rgba(255,255,255,.75); white-space:nowrap;
  padding:6px 11px 6px 22px; border-radius:999px; background:rgba(13,12,22,.6); border:1px solid rgba(56,189,248,.25); backdrop-filter:blur(6px); transform:translate(-13px,-50%);}
/* rótulo perto da borda direita abre para a esquerda (ponto à direita, sobre a região) */
.eg-hero-tags li.to-left{transform:translate(calc(-100% + 13px),-50%); padding:6px 22px 6px 11px;}
.eg-hero-tags li.to-left::before{left:auto; right:10px;}
.eg-hero-tags li::before{content:""; position:absolute; left:10px; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:var(--gt-cyan); box-shadow:0 0 0 3px rgba(56,189,248,.18);}
.eg-hero-inner{z-index:3; width:100%;}
.eg-crumb{font-size:13px; color:rgba(255,255,255,.5); margin-bottom:34px;}
.eg-crumb a{color:rgba(255,255,255,.5);} .eg-crumb a:hover{color:#fff;}
.eg-eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:12.5px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; color:var(--gt-cyan); margin-bottom:26px;}
.eg-eyebrow::before{content:""; width:28px; height:1.5px; background:linear-gradient(90deg,var(--lg-coral),var(--gt-cyan));}
.eg-hero h1{font-family:'Switzer',sans-serif; font-size:clamp(40px,5.6vw,80px); font-weight:800; letter-spacing:-2.2px; line-height:1.0; max-width:900px; margin-bottom:28px;}
.eg-hero-sub{font-size:clamp(20px,2vw,26px); font-weight:600; letter-spacing:-.3px; color:#fff; margin-bottom:16px;}
.eg-hero-text{font-size:17.5px; line-height:1.65; color:rgba(255,255,255,.74); max-width:600px; margin-bottom:38px;}
.eg-hero .primary{background:var(--lg-coral);}
.eg-hero-brands{display:flex; align-items:center; gap:18px; margin-top:64px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1); width:fit-content;}
.eg-logo-logos{height:34px; width:auto;}

/* ---------- 2 · COMPLEXIDADE ---------- */
.eg-complex{background:var(--offwhite); color:var(--chumbo); padding:130px 0 110px;}
.eg-complex-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center;}
.eg-complex h2,.eg-assets h2,.eg-eff h2{font-family:'Switzer',sans-serif; font-size:clamp(32px,3.6vw,48px); font-weight:800; letter-spacing:-1.3px; line-height:1.06; margin-bottom:26px;}
.eg-lead{font-size:20px !important; font-weight:600; color:var(--chumbo) !important; letter-spacing:-.2px;}
.eg-complex-copy p{font-size:16.5px; line-height:1.7; color:var(--ink); margin-bottom:16px;}
.eg-complex-copy strong{color:var(--chumbo);}
.eg-exc{background:#fff; border-radius:28px; padding:34px; box-shadow:0 30px 60px -40px rgba(36,36,48,.35);}
.eg-exc-grid{display:grid; grid-template-columns:repeat(18,1fr); gap:9px;}
.eg-exc-grid i{aspect-ratio:1; border-radius:50%; background:rgba(36,36,48,.14); transition:background .6s ease, box-shadow .6s ease, transform .6s ease;}
.eg-exc.in .eg-exc-grid i.is-hot{background:var(--lg-coral); box-shadow:0 0 0 5px rgba(238,79,100,.18); transform:scale(1.15); transition-delay:.9s;}
.eg-exc figcaption{margin-top:26px; font-size:14.5px; line-height:1.6; color:var(--ink);}
.eg-exc figcaption b{color:var(--chumbo);}
.eg-complex-points{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:80px; padding:0;}
.eg-complex-points li{border-top:2px solid var(--chumbo); padding-top:22px;}
.eg-complex-points span{display:block; font-size:12px; font-weight:700; letter-spacing:.8px; color:var(--lg-coral); margin-bottom:12px;}
.eg-complex-points b{display:block; font-size:18px; letter-spacing:-.3px; margin-bottom:8px;}
.eg-complex-points p{font-size:14.5px; line-height:1.55; color:var(--ink);}

/* ---------- 3 · ESCALA GEOTAB ---------- */
.eg-scale{position:relative; overflow:hidden; color:#fff; padding:130px 0 90px;
  background:radial-gradient(60% 70% at 80% 0%, rgba(14,165,233,.28), rgba(14,165,233,0) 60%), linear-gradient(180deg,#0A1A33 0%,var(--gt-night) 100%);}
.eg-scale-grid{position:absolute; inset:0; opacity:.5;
  background-image:linear-gradient(rgba(56,189,248,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.07) 1px,transparent 1px);
  background-size:56px 56px; mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);}
.eg-scale-head{max-width:820px; margin-bottom:70px;}
.eg-scale h2,.eg-intel h2,.eg-safety h2,.eg-integr h2,.eg-req h2{font-family:'Switzer',sans-serif; font-size:clamp(32px,3.8vw,52px); font-weight:800; letter-spacing:-1.4px; line-height:1.05;}
.eg-figs{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(56,189,248,.3);}
.eg-fig{padding:34px 26px 30px 0; border-right:1px solid rgba(56,189,248,.15);}
.eg-fig + .eg-fig{padding-left:26px;}
.eg-fig:last-child{border-right:none;}
.eg-fig dt{display:flex; align-items:baseline; gap:8px; margin-bottom:12px;}
.eg-fig dt b{font-family:'Switzer',sans-serif; font-size:clamp(52px,6vw,84px); font-weight:800; letter-spacing:-3px; line-height:.9;
  background:linear-gradient(180deg,#fff 30%,var(--gt-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.eg-fig dt small{font-size:18px; font-weight:600; color:var(--gt-cyan);}
.eg-fig dd{font-size:15px; line-height:1.5; color:rgba(255,255,255,.72); margin:0;}
.eg-abi{display:flex; align-items:center; gap:24px; margin-top:44px; padding:24px 28px; border-radius:20px; background:rgba(56,189,248,.08); border:1px solid rgba(56,189,248,.28); max-width:900px;}
.eg-abi-badge{flex:none; display:grid; place-items:center; width:72px; height:72px; border-radius:50%; font-family:'Switzer',sans-serif; font-size:22px; font-weight:800; color:var(--gt-night); background:var(--gt-cyan);}
.eg-abi p{font-size:16px; line-height:1.6; color:rgba(255,255,255,.82);}
.eg-abi p b{color:#fff;} .eg-abi p span{color:rgba(255,255,255,.55); font-size:14px;}
.eg-source{margin-top:26px; font-size:12.5px; color:rgba(255,255,255,.42);}

/* ---------- 4 · INTELIGÊNCIA ---------- */
.eg-intel{color:#fff; padding:120px 0; scroll-margin-top:70px; background:linear-gradient(180deg,var(--gt-night) 0%,#081C3A 100%);}
.eg-intel-head{display:grid; grid-template-columns:1.2fr .8fr; gap:30px 70px; margin-bottom:64px;}
.eg-intel-head .eg-kicker{grid-column:1 / -1; margin-bottom:0;}
.eg-intel h2 span{color:var(--gt-cyan);}
.eg-intel-lead p{font-size:16.5px; line-height:1.7; color:rgba(255,255,255,.74); margin-bottom:14px;}
.eg-intel-grid{display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:20px; align-items:stretch;}
.eg-cap{border-radius:24px; padding:32px 30px; background:rgba(255,255,255,.04); border:1px solid rgba(56,189,248,.2); display:flex; flex-direction:column; gap:12px;}
.eg-cap-k{font-size:11.5px; font-weight:700; letter-spacing:.9px; text-transform:uppercase; color:var(--gt-cyan);}
.eg-cap h3{font-family:'Switzer',sans-serif; font-size:26px; font-weight:800; letter-spacing:-.6px;}
.eg-cap p{font-size:15px; line-height:1.65; color:rgba(255,255,255,.74);}
.eg-cap-list{list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin-top:4px;}
.eg-cap-list li{font-size:13px; font-weight:600; padding:7px 12px; border-radius:999px; background:rgba(56,189,248,.1); color:#D6F0FF;}
.eg-cap-ace{grid-row:span 1; background:linear-gradient(160deg,rgba(14,165,233,.22),rgba(14,165,233,.04) 65%); border-color:rgba(56,189,248,.45);}
.eg-chat{margin-top:10px; display:flex; flex-direction:column; gap:12px;}
.eg-chat-q{align-self:flex-end; max-width:86%; font-size:14px; line-height:1.5; padding:12px 16px; border-radius:16px 16px 4px 16px; background:#fff; color:var(--gt-night); font-weight:500;}
.eg-chat-a{max-width:92%; padding:14px 16px; border-radius:16px 16px 16px 4px; background:rgba(6,23,46,.75); border:1px solid rgba(56,189,248,.3);}
.eg-chat-who{display:inline-block; font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:var(--gt-cyan); margin-bottom:6px;}
.eg-chat-a p{font-size:13.5px; color:rgba(255,255,255,.85);}
.eg-chat-bars{list-style:none; padding:0; margin-top:10px; display:flex; flex-direction:column; gap:7px;}
.eg-chat-bars li{display:grid; grid-template-columns:78px 1fr; align-items:center; gap:10px; font-size:12px; color:rgba(255,255,255,.65);}
.eg-chat-bars em{font-style:normal;}
.eg-chat-bars i{height:7px; border-radius:6px; background:linear-gradient(90deg,var(--gt-deep),var(--gt-cyan)); width:0; transition:width 1.2s cubic-bezier(.22,1,.36,1) .8s;}
.eg-cap-ace.in .eg-chat-bars i{width:var(--w);}
.eg-chat small{font-size:11.5px; color:rgba(255,255,255,.4);}

/* ---------- 5 · PUNCH ---------- */
.eg-punch{color:#fff; padding:120px 0 120px; background:#081C3A; border-top:1px solid rgba(56,189,248,.12);}
.eg-punch-title{font-family:'Switzer',sans-serif; font-size:clamp(34px,4.6vw,64px); font-weight:800; letter-spacing:-1.8px; line-height:1.06; max-width:1000px;}
.eg-punch-title span{display:block; opacity:.25; transition:opacity .8s ease;}
.eg-punch-title.in span{opacity:1;}
.eg-punch-title.in span:nth-child(1){transition-delay:.1s; color:rgba(255,255,255,.55);}
.eg-punch-title.in span:nth-child(2){transition-delay:.7s; color:rgba(255,255,255,.78);}
.eg-punch-title.in span:nth-child(3){transition-delay:1.3s; color:var(--gt-cyan);}
.eg-flow{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding:0; margin:72px 0 0; position:relative;}
.eg-flow::before{content:""; position:absolute; left:0; right:0; top:62px; height:1px; background:linear-gradient(90deg,rgba(56,189,248,.1),rgba(56,189,248,.6));}
.eg-step{position:relative; padding-right:26px; opacity:.2; transform:translateY(10px); transition:opacity .7s ease, transform .7s ease;}
.eg-flow.in .eg-step{opacity:1; transform:none;}
.eg-flow.in .eg-step-2{transition-delay:.5s;} .eg-flow.in .eg-step-3{transition-delay:1s;} .eg-flow.in .eg-step-4{transition-delay:1.5s;}
.eg-step svg{width:100%; max-width:180px; height:auto; display:block; margin-bottom:22px; background:#081C3A; position:relative;}
.eg-step b{display:block; font-size:20px; letter-spacing:-.3px; margin-bottom:6px;}
.eg-step span{font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.65); display:block; max-width:240px;}
.eg-raw circle{fill:rgba(255,255,255,.7);}
.eg-ctx path{fill:none; stroke:rgba(56,189,248,.65); stroke-width:1.2;}
.eg-axis{stroke:rgba(255,255,255,.2); stroke-width:1;}
.eg-trend{fill:none; stroke:#fff; stroke-width:2;}
.eg-fore{fill:none; stroke:var(--gt-cyan); stroke-width:2; stroke-dasharray:5 5;}
.eg-pt{fill:var(--gt-cyan);}
.eg-dec-card{fill:rgba(56,189,248,.14); stroke:var(--gt-cyan); stroke-width:1.5;}
.eg-dec-check{fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round;}
.eg-dec-line{stroke:rgba(255,255,255,.55); stroke-width:3; stroke-linecap:round;}
.eg-punch-close{margin-top:72px; font-size:19px; line-height:1.6; color:rgba(255,255,255,.72); max-width:820px;}
.eg-punch-close b{color:#fff;}

/* ---------- 6 · SEGURANÇA ---------- */
.eg-safety{color:#fff; padding:130px 0; background:linear-gradient(180deg,#14151F 0%,#101019 100%);}
.eg-safety-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start;}
.eg-safety-copy{position:sticky; top:120px;}
.eg-safety-copy h2{margin-bottom:24px;}
.eg-safety-copy > p{font-size:16.5px; line-height:1.7; color:rgba(255,255,255,.74);}
.eg-safety-list{list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.eg-safety-list li{padding:24px 24px 22px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); transition:border-color .25s ease, background .25s ease;}
.eg-safety-list li:hover{border-color:rgba(56,189,248,.45); background:rgba(56,189,248,.06);}
.eg-safety-list li:last-child{grid-column:1 / -1;}
.eg-safety-list b{display:block; font-size:16.5px; margin-bottom:8px;}
.eg-safety-list b::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--gt-cyan); margin-right:10px; vertical-align:2px;}
.eg-safety-list span{font-size:14px; line-height:1.55; color:rgba(255,255,255,.65);}

/* ---------- 7 · CONNECTED ASSETS ---------- */
.eg-assets{background:#fff; color:var(--chumbo); padding:130px 0 110px;}
.eg-assets-head{max-width:780px; margin-bottom:64px;}
.eg-assets-head p{font-size:16.5px; line-height:1.7; color:var(--ink); margin-bottom:14px;}
.eg-assets-stage{position:relative;}
.eg-asset-row{list-style:none; padding:0; display:grid; grid-template-columns:repeat(6,1fr); gap:16px; position:relative; z-index:1;}
.eg-asset-row li{display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; padding:28px 12px 24px; border-radius:20px; background:#F4F7FB; border:1px solid rgba(11,99,196,.1);}
.eg-asset-ico{display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:#fff; box-shadow:0 10px 24px -14px rgba(11,99,196,.5);}
.eg-asset-ico svg{width:40px; height:40px; fill:none; stroke:var(--gt-deep); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.eg-asset-row b{font-size:14.5px; letter-spacing:-.1px;}
.eg-asset-bus{position:relative; margin:0 8%; height:56px; border:1.5px solid rgba(11,99,196,.35); border-top:none; border-radius:0 0 24px 24px;}
.eg-asset-bus span{position:absolute; left:50%; bottom:-16px; transform:translateX(-50%); white-space:nowrap; font-size:12.5px; font-weight:700; letter-spacing:.7px; text-transform:uppercase;
  color:#fff; background:var(--gt-deep); padding:8px 16px; border-radius:999px;}
.eg-assets-note{color:rgba(36,36,48,.55); margin-top:56px; max-width:760px;}

/* Enterprise → segmentos */
.eg-segs{margin-top:56px; padding-top:40px; border-top:1px solid rgba(36,36,48,.1);}
.eg-segs h3{font-family:'Switzer',sans-serif; font-size:22px; font-weight:800; letter-spacing:-.4px; margin-bottom:20px;}
.eg-segs-row{display:flex; flex-wrap:wrap; gap:10px;}
.eg-segs-row a{display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px; border:1px solid rgba(11,99,196,.25); background:#F4F7FB; color:var(--chumbo); font-size:14.5px; font-weight:600; text-decoration:none; transition:background .2s ease, border-color .2s ease;}
.eg-segs-row a span{color:var(--gt-deep);}
.eg-segs-row a:hover{background:#E6F0FB; border-color:rgba(11,99,196,.5);}

/* ---------- 8 · INTEGRAÇÃO ---------- */
.eg-integr{color:#fff; padding:130px 0 120px; background:radial-gradient(50% 60% at 75% 45%, rgba(14,165,233,.18), rgba(14,165,233,0) 70%), linear-gradient(180deg,#071A33 0%,var(--gt-night) 100%);}
.eg-integr-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center;}
.eg-integr-copy h2{margin-bottom:24px;}
.eg-integr-copy > p{font-size:16.5px; line-height:1.7; color:rgba(255,255,255,.74); margin-bottom:14px;}
.eg-chips{list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin-top:24px;}
.eg-chips li{font-size:13px; font-weight:700; padding:8px 14px; border-radius:999px; border:1px solid rgba(56,189,248,.45); color:#D6F0FF;}
.eg-eco{position:relative; width:100%; max-width:540px; aspect-ratio:1; justify-self:center;}
.eg-eco svg{width:100%; height:100%; overflow:visible;}
.eg-eco-orbit{fill:none; stroke:rgba(255,255,255,.12);}
.eg-eco-dash{stroke:rgba(56,189,248,.4); stroke-dasharray:2 7;}
.eg-eco-spokes line{stroke:rgba(56,189,248,.25); stroke-width:1; stroke-dasharray:240; stroke-dashoffset:240; transition:stroke-dashoffset 1.4s ease .3s;}
.eg-eco.in .eg-eco-spokes line{stroke-dashoffset:0;}
.eg-eco-halo{fill:rgba(56,189,248,.1); stroke:rgba(56,189,248,.45);}
.eg-eco-core{fill:var(--gt-deep);}
.eg-eco-center{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; font-size:11.5px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; line-height:1.25;}
.eg-eco-node{position:absolute; transform:translate(-50%,-50%); white-space:nowrap; font-size:12.5px; font-weight:600; padding:7px 12px; border-radius:999px;
  background:rgba(6,23,46,.92); border:1px solid rgba(56,189,248,.4); color:#E6F6FF;}
.eg-ai{display:grid; grid-template-columns:220px 1fr; gap:40px; margin-top:90px; padding:36px 40px; border-radius:24px;
  background:linear-gradient(120deg,rgba(56,189,248,.12),rgba(56,189,248,.02)); border:1px solid rgba(56,189,248,.28);}
.eg-ai-k{font-size:12px; font-weight:700; letter-spacing:.9px; text-transform:uppercase; color:var(--gt-cyan); padding-top:6px;}
.eg-ai h3{font-family:'Switzer',sans-serif; font-size:24px; font-weight:800; letter-spacing:-.5px; margin-bottom:12px;}
.eg-ai p{font-size:15.5px; line-height:1.7; color:rgba(255,255,255,.74);}

/* ---------- 9 · EFICIÊNCIA ---------- */
.eg-eff{background:var(--offwhite); color:var(--chumbo); padding:130px 0 120px;}
.eg-eff-head{max-width:820px; margin-bottom:60px;}
.eg-eff-head p{font-size:16.5px; line-height:1.7; color:var(--ink);}
.eg-eff-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; align-items:stretch;}
.eg-co2{position:relative; overflow:hidden; border-radius:28px; padding:44px 40px; color:#fff;
  background:radial-gradient(70% 70% at 90% 10%, rgba(52,211,153,.35), rgba(52,211,153,0) 60%), linear-gradient(160deg,#0B3B4A 0%,#06172E 100%);}
.eg-co2-mark{display:block; font-family:'Switzer',sans-serif; font-size:clamp(80px,9vw,128px); font-weight:800; letter-spacing:-4px; line-height:.9; margin-bottom:30px;
  background:linear-gradient(180deg,#fff,#6EE7B7); -webkit-background-clip:text; background-clip:text; color:transparent;}
.eg-co2-mark sub{font-size:.4em; letter-spacing:0; vertical-align:baseline;}
.eg-co2 h3{font-family:'Switzer',sans-serif; font-size:26px; font-weight:800; letter-spacing:-.5px; margin-bottom:14px;}
.eg-co2 p{font-size:15.5px; line-height:1.7; color:rgba(255,255,255,.78);}
.eg-eff-list{list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.eg-eff-list li{background:#fff; border-radius:20px; padding:24px 24px 22px; border:1px solid rgba(36,36,48,.06);}
.eg-eff-list b{display:block; font-size:17px; margin-bottom:8px;}
.eg-eff-list span{font-size:14px; line-height:1.55; color:var(--ink);}

/* ---------- 10 · PARCERIA LOGOS + GEOTAB ----------
   Faixa dividida em largura total: Geotab no azul da marca (#2A3966, o
   mesmo do fundo do logo oficial) e Logos no claro; "+" central une as duas. */
.eg-partner{background:#fff; color:var(--chumbo); padding:150px 0 0; border-top:1px solid rgba(36,36,48,.06);}
.eg-partner-intro{text-align:center; margin-bottom:80px;}
.eg-partner-k{display:inline-block; font-size:12.5px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; color:rgba(36,36,48,.55); margin-bottom:22px;}
.eg-partner-title{font-family:'Switzer',sans-serif; font-size:clamp(34px,4.2vw,58px); font-weight:800; letter-spacing:-1.6px; line-height:1.04; max-width:960px; margin:0 auto;}
.eg-partner-split{position:relative; display:grid; grid-template-columns:1fr 1fr;}
.eg-partner-half{display:flex; padding:110px 0 120px;}
.eg-partner-gt{background:#2A3966; color:#fff; justify-content:flex-end;}
.eg-partner-lg{background:var(--offwhite); justify-content:flex-start;}
.eg-partner-in{width:100%; max-width:610px; padding:0 80px;}
.eg-partner-gt .eg-partner-in{padding-left:40px;}
.eg-partner-lg .eg-partner-in{padding-right:40px;}
.eg-partner-logo-gt{display:block; height:92px; width:auto; margin:-24px 0 26px -30px;} /* margem azul do arquivo alinhada ao texto */
.eg-partner-logo-lg{display:block; height:62px; width:auto; margin-bottom:42px;}
.eg-partner-tags{font-size:12.5px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; line-height:1.8; margin-bottom:26px; padding-bottom:26px; border-bottom:1px solid;}
.eg-partner-gt .eg-partner-tags{color:rgba(255,255,255,.7); border-color:rgba(255,255,255,.18);}
.eg-partner-lg .eg-partner-tags{color:var(--logos-blue); border-color:rgba(36,36,48,.12);}
.eg-partner-text{font-size:19px; line-height:1.65;}
.eg-partner-gt .eg-partner-text{color:rgba(255,255,255,.88);}
.eg-partner-lg .eg-partner-text{color:rgba(36,36,48,.8);}
.eg-partner-plus{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2; display:grid; place-items:center; width:72px; height:72px; border-radius:50%;
  background:#fff; color:var(--chumbo); font-size:34px; font-weight:300; box-shadow:0 18px 40px -18px rgba(0,0,0,.45);}
.eg-partner-sign{text-align:center; padding-top:120px; padding-bottom:140px;}
.eg-partner-lockup{display:flex; align-items:center; justify-content:center; gap:36px; margin-bottom:44px;}
.eg-lock-lg{height:56px; width:auto;}
.eg-gt-blue{height:30px; width:auto;}
.eg-partner-lockup .eg-plus{color:rgba(36,36,48,.3); font-size:34px;}
.eg-partner-sign p{font-family:'Switzer',sans-serif; font-size:clamp(28px,3.4vw,46px); font-weight:800; letter-spacing:-1.2px; line-height:1.12; max-width:960px; margin:0 auto;
  background:linear-gradient(90deg,var(--lg-coral),#9F8CE9 45%,#2A3966); -webkit-background-clip:text; background-clip:text; color:transparent;}

/* ---------- 3b · PROVA SOCIAL GEOTAB ---------- */
.eg-proof{background:var(--gt-night); color:#fff; padding:0 0 110px;}
.eg-proof-title{font-family:'Switzer',sans-serif; font-size:clamp(20px,1.9vw,26px); font-weight:700; letter-spacing:-.4px; line-height:1.3; max-width:760px;
  padding-top:56px; border-top:1px solid rgba(56,189,248,.15); margin-bottom:30px;}
.eg-proof-row{list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.eg-proof-item{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; height:112px; border-radius:16px; text-decoration:none;
  background:rgba(255,255,255,.04); border:1px solid rgba(56,189,248,.22); transition:background .25s ease, border-color .25s ease, transform .25s ease;}
.eg-proof-item:hover,.eg-proof-item:focus-visible{background:rgba(56,189,248,.08); border-color:rgba(56,189,248,.55); transform:translateY(-2px);}
.eg-proof-name{font-size:18px; font-weight:700; letter-spacing:-.2px; color:#fff;}
.eg-proof-item img{max-width:62%; max-height:48px; filter:brightness(0) invert(1); opacity:.9;}
.eg-proof-item small{font-size:11.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:rgba(56,189,248,.8);}

/* hero: logo oficial Geotab branco sobre azul */
.eg-gt-tile{height:52px; width:auto; border-radius:6px; display:block;}

/* ---------- 11 · REQUISITOS ---------- */
.eg-req{color:#fff; padding:120px 0; background:#0E0F18;}
.eg-req-head{max-width:760px; margin-bottom:56px;}
.eg-req-grid{list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.1); border-left:1px solid rgba(255,255,255,.1);}
.eg-req-grid li{padding:30px 26px; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); transition:background .25s ease;}
.eg-req-grid li:hover{background:rgba(56,189,248,.05);}
.eg-req-grid b{display:block; font-size:16.5px; margin-bottom:10px;}
.eg-req-grid span{font-size:14px; line-height:1.55; color:rgba(255,255,255,.6);}

/* ---------- 12 · FECHAMENTO LOGOS ---------- */
.eg-close{position:relative; overflow:hidden; background:#15151d; color:#fff; padding:130px 0;}
.eg-close-arc{position:absolute; inset:0; width:100%; height:100%; opacity:.4;}
.eg-close-inner{text-align:center; max-width:880px;}
.eg-close h2{font-family:'Switzer',sans-serif; font-size:clamp(32px,4vw,54px); font-weight:800; letter-spacing:-1.5px; line-height:1.06; margin-bottom:22px;}
.eg-close p{font-size:18px; line-height:1.65; color:rgba(255,255,255,.75); max-width:640px; margin:0 auto 36px;}
.eg-close .primary{background:var(--lg-coral);}

/* ---------- MOVIMENTO ---------- */
@media (prefers-reduced-motion:reduce){
  .eg-mesh-pulses{display:none;}
  .eg-punch-title span,.eg-step{opacity:1 !important; transform:none !important;}
  .eg-chat-bars i{width:var(--w) !important;}
}

/* ---------- RESPONSIVO ---------- */
@media (max-width:1100px){
  .eg-complex-grid,.eg-integr-grid,.eg-safety-grid,.eg-eff-grid{grid-template-columns:1fr; gap:50px;}
  .eg-safety-copy{position:static;}
  .eg-intel-head{grid-template-columns:1fr;}
  .eg-intel-grid{grid-template-columns:1fr 1fr;}
  .eg-cap-ace{grid-column:1 / -1;}
  .eg-figs{grid-template-columns:1fr 1fr;}
  .eg-fig:nth-child(2){border-right:none;}
  .eg-fig:nth-child(3){padding-left:0;}
  .eg-fig:nth-child(n+3){border-top:1px solid rgba(56,189,248,.15);}
  .eg-asset-row{grid-template-columns:repeat(3,1fr);}
  .eg-req-grid{grid-template-columns:1fr 1fr;}
  .eg-complex-points{grid-template-columns:1fr 1fr; gap:30px 20px;}
  .eg-map{width:110%; right:-30%; margin-top:-30.9375%;} .eg-map img{opacity:.6;}
  .eg-partner-in{padding:0 48px !important;}
  .eg-proof-row{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .eg-wrap{padding:0 22px;}
  .eg-hero{padding:126px 0 64px; min-height:auto;}
  .eg-hero h1{letter-spacing:-1.4px; margin-bottom:22px;}
  .eg-hero-text{font-size:16px; margin-bottom:30px;}
  .eg-hero-tags{display:none;}
  .eg-mesh{opacity:.6;}
  .eg-hero-brands{margin-top:40px; gap:14px;}
  .eg-logo-logos{height:28px;} .eg-gt-tile{height:42px;}
  .eg-complex,.eg-scale,.eg-intel,.eg-punch,.eg-safety,.eg-assets,.eg-integr,.eg-eff,.eg-req,.eg-close{padding-top:76px; padding-bottom:76px;}
  .eg-complex-grid,.eg-integr-grid,.eg-safety-grid,.eg-eff-grid{gap:40px;}
  .eg-complex-copy p,.eg-assets-head p,.eg-eff-head p,.eg-integr-copy > p,.eg-safety-copy > p,.eg-intel-lead p{font-size:15.5px; line-height:1.65;}
  .eg-lead{font-size:18px !important;}
  .eg-exc{padding:20px; border-radius:22px;} .eg-exc-grid{gap:5px; grid-template-columns:repeat(14,1fr);} .eg-exc-grid i:nth-child(n+99){display:none;}
  .eg-complex-points{grid-template-columns:1fr 1fr; gap:26px 16px; margin-top:52px;}
  .eg-complex-points b{font-size:15.5px;} .eg-complex-points p{font-size:13.5px;}
  .eg-scale-head{margin-bottom:44px;}
  .eg-figs{grid-template-columns:1fr 1fr;}
  .eg-fig{padding:22px 12px 20px 0 !important;}
  .eg-fig:nth-child(even){padding-left:14px !important;}
  .eg-fig dd{font-size:13px;}
  .eg-fig dt{flex-direction:column; align-items:flex-start; gap:2px;}
  .eg-fig dt b{font-size:46px; letter-spacing:-2px;}
  .eg-fig dt small{font-size:14px;}
  .eg-abi{flex-direction:row; align-items:flex-start; gap:14px; padding:18px; margin-top:32px;}
  .eg-abi-badge{width:52px; height:52px; font-size:16px;} .eg-abi p{font-size:14px;}
  .eg-proof{padding-bottom:76px;}
  .eg-proof-title{padding-top:40px; margin-bottom:22px; font-size:19px;}
  .eg-proof-row{grid-template-columns:1fr 1fr; gap:10px;} .eg-proof-item{height:88px;} .eg-proof-name{font-size:15.5px;}
  .eg-intel-head{margin-bottom:40px; gap:20px;}
  .eg-intel-grid{grid-template-columns:1fr; gap:14px;}
  .eg-cap{padding:26px 22px; border-radius:20px;}
  .eg-punch-title{font-size:34px;}
  .eg-flow{grid-template-columns:1fr 1fr; gap:30px 16px; margin-top:48px;}
  .eg-flow::before{display:none;}
  .eg-step svg{margin-bottom:14px;} .eg-step b{font-size:17px;} .eg-step span{font-size:13.5px;}
  .eg-punch-close{margin-top:48px; font-size:16.5px;}
  /* listas longas viram linhas, sem caixas empilhadas */
  .eg-safety-list,.eg-eff-list{grid-template-columns:1fr; gap:0;}
  .eg-safety-list li,.eg-eff-list li{background:none; border:none; border-bottom:1px solid rgba(255,255,255,.1); border-radius:0; padding:16px 0;}
  .eg-eff-list li{border-bottom-color:rgba(36,36,48,.1);}
  .eg-safety-list li:last-child,.eg-eff-list li:last-child{border-bottom:none;}
  .eg-safety-list b,.eg-eff-list b{font-size:15.5px; margin-bottom:4px;}
  .eg-safety-list span,.eg-eff-list span{font-size:13.5px;}
  .eg-assets-head{margin-bottom:40px;}
  .eg-asset-row{grid-template-columns:repeat(3,1fr); gap:8px;}
  .eg-asset-row li{padding:16px 6px 14px; gap:10px; border-radius:14px;}
  .eg-asset-ico{width:48px; height:48px;} .eg-asset-ico svg{width:28px; height:28px;}
  .eg-asset-row b{font-size:12px; line-height:1.25;}
  .eg-asset-bus{margin:0 6%; height:40px;}
  .eg-assets-note{margin-top:44px;}
  .eg-eco{width:84%; margin:0 auto;}
  .eg-eco-node{font-size:10px; padding:4px 7px;}
  .eg-eco-center{font-size:9.5px;}
  .eg-ai{grid-template-columns:1fr; gap:10px; padding:24px 22px; margin-top:52px;}
  .eg-ai h3{font-size:20px;}
  .eg-co2{padding:32px 26px;}
  .eg-partner{padding-top:84px;}
  .eg-partner-intro{margin-bottom:48px;}
  .eg-partner-split{grid-template-columns:1fr;}
  .eg-partner-half{padding:60px 0 64px;}
  .eg-partner-in{padding:0 22px !important; max-width:none;}
  .eg-partner-logo-gt{height:70px; margin:-18px 0 18px -23px;}
  .eg-partner-logo-lg{height:48px; margin-bottom:30px;}
  .eg-partner-text{font-size:16.5px;}
  .eg-partner-plus{width:56px; height:56px; font-size:28px;}
  .eg-partner-sign{padding-top:72px; padding-bottom:84px;}
  .eg-partner-lockup{gap:20px; margin-bottom:30px;}
  .eg-lock-lg{height:40px;} .eg-gt-blue{height:21px;}
  .eg-req-grid{grid-template-columns:1fr 1fr;}
  .eg-req-grid li{padding:20px 16px;} .eg-req-grid b{font-size:14.5px;} .eg-req-grid span{font-size:12.5px;}
}

