:root{
  --orange:#ff6000;
  --orange-2:#f45500;
  --orange-soft:#fff2e9;
  --gray-950:#191b1d;
  --gray-900:#24272a;
  --gray-800:#34383c;
  --gray-700:#50565b;
  --gray-600:#656b70;
  --gray-500:#7a8085;
  --gray-300:#d9dde0;
  --gray-200:#e9ecef;
  --gray-100:#f5f6f7;
  --white:#fff;
  --radius:22px;
  --shadow:0 24px 70px rgba(22,26,29,.10);
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--gray-900);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:96px 0;position:relative}
.section-soft{background:var(--gray-100)}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:18px;top:18px;background:#fff;padding:10px 14px;z-index:9999;border-radius:8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,25,30,.06)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand img{width:220px;height:auto}.nav-menu{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600;color:var(--gray-700)}.nav-menu>a:not(.btn):hover{color:var(--orange)}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:8px}.menu-toggle span{display:block;height:2px;background:var(--gray-900);margin:6px 0;border-radius:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;background:var(--orange);color:#fff;font-weight:800;border:1px solid var(--orange);cursor:pointer;transition:.2s ease;box-shadow:0 8px 24px rgba(255,96,0,.18)}.btn:hover{transform:translateY(-2px);background:var(--orange-2)}.btn-sm{min-height:40px;padding:0 16px;font-size:13px}.btn-ghost{background:#fff;color:var(--gray-900);border-color:var(--gray-300);box-shadow:none}.btn-ghost:hover{background:var(--gray-100)}
.eyebrow{display:inline-block;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--orange);margin-bottom:18px}
h1,h2,h3{margin:0 0 18px;line-height:1.08;letter-spacing:-.035em;color:var(--gray-950)}h1{font-size:clamp(42px,5vw,72px);font-weight:850}h1 span{color:var(--orange)}h2{font-size:clamp(34px,4vw,52px)}h3{font-size:21px}.section-copy p,.section-head p{font-size:18px;color:var(--gray-600);max-width:680px}.section-head{max-width:760px;margin-bottom:52px}.section-head.light h2,.section-head.light p{color:#fff}.section-head.light .eyebrow{color:#ffb17f}
.hero{padding-top:84px;overflow:hidden;background:radial-gradient(circle at 85% 10%,#fff2e8 0,rgba(255,242,232,0) 36%),linear-gradient(#fff,#fff)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:58px}.hero-copy>p{font-size:19px;color:var(--gray-600);max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:32px;color:var(--gray-600);font-size:13px;font-weight:700}.hero-proof i{width:4px;height:4px;border-radius:50%;background:var(--orange)}
.hero-visual{position:relative}.dashboard-card{background:#fff;border:1px solid var(--gray-200);border-radius:26px;box-shadow:var(--shadow);padding:22px;transform:perspective(1100px) rotateY(-3deg) rotateX(1deg)}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dash-top div{display:flex;flex-direction:column}.dash-top strong{font-size:15px}.dash-top small{color:var(--gray-500)}.status-dot{font-size:12px;font-weight:800;color:#237b4b;background:#eaf7ef;padding:6px 10px;border-radius:999px}.map-area{position:relative;border-radius:18px;overflow:hidden;background:#fafbfc;border:1px solid var(--gray-200)}.map-area svg{display:block;width:100%}.floating-chip{position:absolute;background:#fff;border:1px solid var(--gray-200);box-shadow:0 10px 28px rgba(30,35,40,.12);border-radius:12px;padding:9px 12px;display:flex;flex-direction:column}.floating-chip b{font-size:16px}.floating-chip span{font-size:10px;color:var(--gray-500)}.chip-1{left:18px;top:18px}.chip-2{right:18px;bottom:18px}.dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.dash-metrics div{background:var(--gray-100);border-radius:13px;padding:12px}.dash-metrics small{display:block;color:var(--gray-500);font-size:10px}.dash-metrics strong{font-size:11px;line-height:1.3;display:block;margin-top:3px}
.trust-strip{border-block:1px solid var(--gray-200);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.trust-grid>div{display:flex;gap:12px;align-items:center;padding:24px 18px;border-right:1px solid var(--gray-200)}.trust-grid>div:last-child{border-right:0}.trust-grid .icon{width:34px;height:34px;border-radius:10px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;font-weight:900}.trust-grid p{margin:0;display:flex;flex-direction:column}.trust-grid strong{font-size:13px}.trust-grid small{font-size:11px;color:var(--gray-500)}
.two-col{display:grid;grid-template-columns:1fr .82fr;gap:72px;align-items:center}.value-card{background:var(--gray-950);color:#fff;border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}.value-card h3{color:#fff;font-size:28px}.value-card p{color:#c9ced1}.value-icon{width:58px;height:58px;border-radius:16px;background:var(--orange);color:#fff;font-weight:900;display:grid;place-items:center;margin-bottom:28px;letter-spacing:-.05em}.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}.check-list li{position:relative;padding-left:28px;color:inherit}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:900}.value-card .check-list li{color:#eef0f2}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{background:#fff;border:1px solid var(--gray-200);border-radius:18px;padding:28px;min-height:240px;transition:.2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(25,30,35,.08)}.feature-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--orange-soft);font-size:22px;margin-bottom:22px}.feature-card p{color:var(--gray-600);margin:0}
.integration-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.integration-visual{background:linear-gradient(145deg,#f8f9fa,#fff);border:1px solid var(--gray-200);border-radius:26px;padding:30px}.flow-card{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gray-200);border-radius:18px;padding:18px}.flow-node{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:92px}.flow-node>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gray-100);font-weight:900;color:var(--gray-700);margin-bottom:7px}.flow-node.active>span{background:var(--orange);color:#fff}.flow-node b{font-size:12px}.flow-node small{font-size:9px;color:var(--gray-500)}.flow-line{height:2px;flex:1;background:linear-gradient(90deg,var(--gray-300),var(--orange))}.fuel-card{margin-top:16px;background:var(--gray-950);color:#fff;border-radius:18px;padding:22px}.fuel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.fuel-head span{font-size:13px;color:#cfd4d7}.fuel-head b{color:#ffb080;font-size:12px}.fuel-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.fuel-card dl div{background:#2a2e31;border-radius:12px;padding:12px}.fuel-card dt{font-size:9px;color:#8f979d}.fuel-card dd{margin:2px 0 0;font-size:12px;font-weight:800}
.section-dark{background:var(--gray-950);color:#fff}.segments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.segment-card{background:#23272a;border:1px solid #33383c;border-radius:20px;padding:30px}.segment-card span{font-size:28px}.segment-card h3{color:#fff;margin-top:20px}.segment-card p{color:#b8bec2;margin:0}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.steps li{display:flex;gap:18px;padding:28px;border:1px solid var(--gray-200);border-radius:18px;background:#fff}.steps>li>span{font-weight:900;color:var(--orange);font-size:13px}.steps h3{margin-bottom:8px}.steps p{margin:0;color:var(--gray-600)}
.cta-section{padding-top:40px}.cta-card{background:linear-gradient(135deg,var(--orange),#ff7d2e);border-radius:28px;padding:52px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;color:#fff;box-shadow:0 30px 80px rgba(255,96,0,.22)}.cta-card h2,.cta-card p{color:#fff}.cta-card .eyebrow{color:#fff1e8}.cta-card p{font-size:17px;max-width:700px}.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.cta-actions .btn{background:#fff;color:var(--gray-950);border-color:#fff;box-shadow:none}.cta-actions small{font-size:11px;opacity:.85}.cta-actions code{background:rgba(0,0,0,.12);padding:2px 5px;border-radius:5px}
.site-footer{padding:64px 0 26px;background:#f7f8f9;border-top:1px solid var(--gray-200)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{width:220px;margin-bottom:18px}.footer-grid p{color:var(--gray-600);font-size:13px;max-width:420px}.footer-grid h4{margin:0 0 14px}.footer-grid a{display:block;color:var(--gray-600);font-size:13px;margin:8px 0}.footer-grid a:hover{color:var(--orange)}.footer-bottom{margin-top:44px;padding-top:20px;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--gray-500)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.feature-card{transition:none}}
@media (max-width:980px){.nav-menu{position:fixed;inset:78px 0 auto 0;background:#fff;border-bottom:1px solid var(--gray-200);padding:22px;display:none;flex-direction:column;align-items:stretch;gap:6px}.nav-menu.open{display:flex}.nav-menu a{padding:10px 4px}.menu-toggle{display:block}.hero-grid,.two-col,.integration-grid,.cta-card{grid-template-columns:1fr}.hero-visual{max-width:760px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div:nth-child(-n+2){border-bottom:1px solid var(--gray-200)}.features-grid,.segments-grid{grid-template-columns:1fr 1fr}.cta-actions{align-items:flex-start}}
@media (max-width:640px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:72px 0}.brand img{width:185px}.hero{padding-top:56px}.hero-actions .btn{width:100%}.hero-proof{flex-wrap:wrap}.dashboard-card{padding:12px;border-radius:18px}.dash-metrics{grid-template-columns:1fr}.trust-grid,.features-grid,.segments-grid,.steps,.footer-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0!important;border-bottom:1px solid var(--gray-200)}.trust-grid>div:last-child{border-bottom:0}.section-head{margin-bottom:34px}.integration-visual{padding:16px}.flow-card{padding:12px;gap:5px}.flow-node{min-width:70px}.flow-node small{display:none}.fuel-card dl{grid-template-columns:1fr}.cta-card{padding:32px 24px}.footer-bottom{flex-direction:column}.footer-grid{gap:26px}}

/* ===== Comercial / Login / WhatsApp ===== */
.btn-login{background:#fff!important;color:var(--gray-900)!important;border-color:var(--gray-300)!important;box-shadow:none!important}
.btn-login:hover{border-color:var(--orange)!important;color:var(--orange)!important}
.text-link{font-weight:850;color:var(--gray-900);border-bottom:1px solid var(--gray-300);padding-bottom:3px}.text-link:hover{color:var(--orange);border-color:var(--orange)}
.cta-secondary{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.6)!important}.cta-secondary:hover{background:rgba(255,255,255,.12)!important}
.footer-whatsapp{display:inline!important;color:var(--orange)!important;font-weight:800}
.whatsapp-float{position:fixed;z-index:80;right:22px;bottom:22px;height:56px;padding:0 18px 0 15px;border-radius:999px;background:#25d366;color:#fff;display:flex;align-items:center;gap:9px;font-weight:850;box-shadow:0 12px 34px rgba(0,0,0,.2);transition:.2s ease}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(0,0,0,.25)}.whatsapp-float svg{width:28px;height:28px;fill:#fff}.whatsapp-float span{font-size:13px}

/* ===== Telemetria / comunicação ===== */
.telemetry-section{overflow:hidden;background:radial-gradient(circle at 82% 48%,rgba(255,96,0,.11),transparent 34%),linear-gradient(180deg,#fff,#f7f8f9)}
.telemetry-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.telemetry-points{display:grid;gap:12px;margin:28px 0 0}.telemetry-points>div{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid var(--gray-200)}.telemetry-points>div>span{flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:var(--orange-soft);color:var(--orange);font-weight:900;font-size:11px;display:grid;place-items:center}.telemetry-points p{margin:0!important;display:flex;flex-direction:column;gap:2px}.telemetry-points b{font-size:14px;color:var(--gray-900)}.telemetry-points small{color:var(--gray-500);font-size:12px;line-height:1.5}.telemetry-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}
.satellite-stage{position:relative;min-height:540px;border:1px solid var(--gray-200);border-radius:30px;background:linear-gradient(145deg,#111417,#24292d);box-shadow:0 30px 80px rgba(25,30,35,.18);overflow:hidden;isolation:isolate}
.satellite-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.55) 1px,transparent 1.2px);background-size:54px 54px;opacity:.18;z-index:-1}
.satellite-stage:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-120px;bottom:-170px;background:radial-gradient(circle at 35% 30%,#f6f7f8,#bfc6ca 60%,#7f898f 100%);box-shadow:0 0 70px rgba(255,255,255,.12);z-index:-1}
.orbit{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;transform:rotate(-18deg)}.orbit-one{width:620px;height:210px;left:-80px;top:100px}.orbit-two{width:690px;height:270px;left:-100px;top:72px;opacity:.5}
.satellite{position:absolute;left:82px;top:82px;width:130px;height:70px;animation:satFloat 5s ease-in-out infinite;transform-origin:center}.sat-body{position:absolute;left:49px;top:22px;width:34px;height:28px;border-radius:7px;background:#e7ecef;border:3px solid #aeb7bd}.sat-panel{position:absolute;top:15px;width:45px;height:42px;border-radius:4px;background:repeating-linear-gradient(90deg,#586169 0 9px,#6f7981 9px 11px);border:2px solid #89939a}.panel-left{left:0;transform:skewY(-6deg)}.panel-right{right:0;transform:skewY(6deg)}.sat-dish{position:absolute;left:55px;top:-4px;width:23px;height:23px;border:3px solid #ff7a2d;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-40deg)}
.signal{position:absolute;border:2px solid rgba(255,122,45,.76);border-left-color:transparent;border-top-color:transparent;border-radius:50%;transform:rotate(35deg);animation:signalPulse 2.1s ease-out infinite}.signal-a{left:181px;top:143px;width:46px;height:46px}.signal-b{left:183px;top:145px;width:78px;height:78px;animation-delay:.35s}.signal-c{left:185px;top:147px;width:112px;height:112px;animation-delay:.7s}
.earth-arc{position:absolute;left:-75px;right:-60px;bottom:-195px;height:390px;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#343b40,#202529);border-top:2px solid rgba(255,255,255,.1);z-index:-1}
.vehicle-node{position:absolute;left:90px;bottom:90px;color:#fff;text-align:center}.vehicle-node strong,.vehicle-node small,.platform-node strong,.platform-node small{display:block}.vehicle-node strong{font-size:13px;margin-top:7px}.vehicle-node small{font-size:10px;color:#9da6ac}.car-icon{position:relative;width:96px;height:42px}.car-body{position:absolute;left:5px;top:12px;width:84px;height:24px;border-radius:14px 19px 8px 8px;background:var(--orange);box-shadow:inset 0 -5px 0 rgba(0,0,0,.08)}.car-body:before{content:"";position:absolute;left:23px;top:-12px;width:42px;height:16px;border-radius:16px 16px 3px 3px;background:#f3f6f7;clip-path:polygon(16% 100%,30% 0,78% 0,100% 100%)}.wheel{position:absolute;bottom:0;width:17px;height:17px;border-radius:50%;background:#16191b;border:4px solid #737d84}.w1{left:17px}.w2{right:12px}
.platform-node{position:absolute;right:60px;bottom:78px;width:190px;padding:18px;background:rgba(255,255,255,.96);border-radius:18px;color:var(--gray-900);box-shadow:0 16px 40px rgba(0,0,0,.26)}.platform-mark{width:36px;height:36px;border-radius:10px;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:10px}.platform-node strong{font-size:14px}.platform-node small{font-size:10px;color:var(--gray-500);margin-top:2px}.live-badge{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:9px;font-weight:850;color:#277b50}.live-badge i{width:7px;height:7px;border-radius:50%;background:#33b875;box-shadow:0 0 0 5px rgba(51,184,117,.12);animation:livePulse 1.8s infinite}
.data-stream{position:absolute;left:190px;right:246px;bottom:118px;height:6px;display:flex;justify-content:space-around;align-items:center}.data-stream:before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,96,0,.15),rgba(255,96,0,.9),rgba(255,96,0,.15))}.data-stream i{position:relative;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px rgba(255,96,0,.8);animation:dataMove 2.6s linear infinite}.data-stream i:nth-child(2){animation-delay:.45s}.data-stream i:nth-child(3){animation-delay:.9s}.data-stream i:nth-child(4){animation-delay:1.35s}.data-stream i:nth-child(5){animation-delay:1.8s}
.telemetry-chip{position:absolute;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.7);border-radius:12px;padding:9px 11px;box-shadow:0 12px 30px rgba(0,0,0,.2);display:flex;flex-direction:column}.telemetry-chip small{font-size:8px;color:#727b81;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.telemetry-chip b{font-size:11px;color:#252a2e;margin-top:2px}.chip-speed{left:35px;top:300px;animation:chipFloat 4.2s ease-in-out infinite}.chip-gps{right:32px;top:58px;animation:chipFloat 4.8s ease-in-out infinite .4s}.chip-ignition{right:40px;top:174px;animation:chipFloat 4.4s ease-in-out infinite .8s}
@keyframes satFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes signalPulse{0%{opacity:0;transform:rotate(35deg) scale(.72)}45%{opacity:1}100%{opacity:0;transform:rotate(35deg) scale(1.08)}}@keyframes livePulse{0%,100%{box-shadow:0 0 0 4px rgba(51,184,117,.12)}50%{box-shadow:0 0 0 8px rgba(51,184,117,.03)}}@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dataMove{0%{opacity:0;transform:translateX(-26px)}25%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateX(26px)}}
@media (prefers-reduced-motion:reduce){.satellite,.signal,.telemetry-chip,.live-badge i,.data-stream i{animation:none}}
@media (max-width:1100px){.telemetry-grid{grid-template-columns:1fr}.satellite-stage{min-height:520px}.nav-menu{gap:16px}.nav-menu a{font-size:12px}}
@media (max-width:980px){.btn-login{width:100%}.whatsapp-float{right:14px;bottom:14px}.telemetry-grid{gap:38px}}
@media (max-width:640px){.satellite-stage{min-height:470px;border-radius:22px}.satellite{left:38px;top:62px;transform:scale(.8)}.signal-a{left:132px;top:126px}.signal-b{left:134px;top:128px}.signal-c{left:136px;top:130px}.vehicle-node{left:32px;bottom:78px}.platform-node{right:20px;bottom:64px;width:164px;padding:14px}.data-stream{left:126px;right:180px;bottom:107px}.chip-speed{display:none}.chip-gps{right:15px;top:40px}.chip-ignition{right:20px;top:154px}.whatsapp-float span{display:none}.whatsapp-float{width:54px;padding:0;justify-content:center}.telemetry-actions .btn{width:100%}}

/* ===== Experiência fluida / transições de seção ===== */
.flow-section{isolation:isolate}
.flow-section>.container{position:relative;z-index:2}
.section-transition{display:none}

/* ===== Escalabilidade / retorno do investimento ===== */
.scale-section{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)}
.scale-section:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-260px;top:70px;background:radial-gradient(circle,rgba(255,96,0,.10),rgba(255,96,0,0) 68%);pointer-events:none}
.scale-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}
.scale-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}.scale-actions span{font-size:12px;font-weight:750;color:var(--gray-500)}
.roi-panel{background:var(--gray-950);color:#fff;border-radius:28px;padding:34px;box-shadow:0 34px 80px rgba(20,24,28,.18);position:relative;overflow:hidden}
.roi-panel:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-120px;top:-120px;background:rgba(255,96,0,.16)}
.roi-heading{display:flex;flex-direction:column;gap:6px;margin-bottom:26px;position:relative}.roi-heading span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#aeb6bc;font-weight:800}.roi-heading strong{font-size:clamp(22px,2.4vw,34px);line-height:1.12;max-width:560px}
.roi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}.roi-grid>div{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.035)}.roi-grid b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,96,0,.15);color:#ff8c47;font-size:10px;margin-bottom:14px}.roi-grid h3{font-size:15px;margin:0 0 6px}.roi-grid p{font-size:12px;color:#aeb6bc;margin:0;line-height:1.55}
.future-simulator{display:flex;gap:13px;align-items:flex-start;margin-top:16px;padding:16px;border-radius:16px;background:rgba(255,96,0,.10);border:1px solid rgba(255,96,0,.22)}.future-simulator>span{color:#ff8b43;font-size:24px;line-height:1}.future-simulator p{display:flex;flex-direction:column;margin:0;gap:2px}.future-simulator strong{font-size:12px}.future-simulator small{font-size:10px;line-height:1.5;color:#c7cdd1}

/* Melhorias de movimento: elegantes e discretas */
.reveal{will-change:transform,opacity}
@media (min-width:981px){
  .feature-card,.segment-card,.value-card,.roi-panel,.integration-visual,.satellite-stage{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
  .feature-card:hover,.segment-card:hover,.value-card:hover,.roi-panel:hover,.integration-visual:hover,.satellite-stage:hover{transform:translateY(-5px)}
}

/* Mobile: fluxo visual entre as seções, sem scroll-snap forçado */
@media (max-width:980px){
  .nav-menu a{font-size:14px}
  .scale-grid{grid-template-columns:1fr;gap:38px}
  .flow-section{overflow:hidden}
  .flow-section:before{content:"";position:absolute;top:0;left:50%;width:1px;height:42px;background:linear-gradient(180deg,rgba(255,96,0,0),rgba(255,96,0,.58));transform:translateX(-50%);z-index:1}
  .flow-section:after{content:"";position:absolute;top:34px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 7px rgba(255,96,0,.08);transform:translateX(-50%) scale(.72);opacity:.35;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
  .flow-section.section-active:after{opacity:1;transform:translateX(-50%) scale(1)}
  .flow-section>.container{transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .75s ease;transform:translateY(18px);opacity:.86}
  .flow-section.section-active>.container{transform:translateY(0);opacity:1}
  .section-soft{background:linear-gradient(180deg,#f5f6f7,#fbfbfc)}
  .section-dark.flow-section:before{background:linear-gradient(180deg,rgba(255,96,0,0),rgba(255,135,68,.75))}
  .section-dark.flow-section:after{box-shadow:0 0 0 7px rgba(255,96,0,.16)}
}

@media (max-width:640px){
  .section{padding:78px 0}
  .nav-wrap{height:70px}
  .roi-panel{padding:24px 18px;border-radius:22px}
  .roi-grid{grid-template-columns:1fr}
  .scale-actions .btn{width:100%}
  .scale-actions span{width:100%;text-align:center}
  .feature-card{min-height:auto}
  .flow-section:before{height:34px}.flow-section:after{top:27px}
  .hero h1{font-size:clamp(38px,12vw,58px);line-height:1.02}
  .hero-copy>p{font-size:16px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .flow-section>.container,.flow-section:after,.feature-card,.segment-card,.value-card,.roi-panel,.integration-visual,.satellite-stage{transition:none!important;transform:none!important}
}


/* ===== Jornada visual no scroll: satélite se aproxima do veículo ===== */
.scroll-journey{position:fixed;left:18px;top:88px;bottom:28px;width:74px;z-index:30;pointer-events:none;opacity:0;transform:translateX(10px);transition:opacity .45s ease,transform .45s ease;--journey-progress:0;--sat-y:0px;--beam-height:0%}
.scroll-journey.is-visible{opacity:.78;transform:translateX(0)}
.journey-track{position:relative;width:100%;height:100%;filter:drop-shadow(0 8px 18px rgba(17,20,23,.08))}
.journey-track:before{content:"";position:absolute;left:50%;top:34px;bottom:40px;width:1px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,96,0,.08),rgba(255,96,0,.26) 52%,rgba(91,91,91,.12));}
.journey-track:after{content:"";position:absolute;left:50%;bottom:27px;width:7px;height:7px;border-radius:50%;background:var(--orange);transform:translateX(-50%);box-shadow:0 0 0 5px rgba(255,96,0,.08),0 0 18px rgba(255,96,0,.24)}
.journey-line{position:absolute;left:50%;top:35px;width:2px;height:calc(100% - 74px);transform:translateX(-50%);overflow:hidden;border-radius:999px}
.journey-line span{display:block;width:100%;height:var(--beam-height);background:linear-gradient(180deg,rgba(255,96,0,.18),rgba(255,96,0,.72),rgba(255,96,0,.2));box-shadow:0 0 12px rgba(255,96,0,.35);transition:height .08s linear}
.journey-satellite{position:absolute;left:50%;top:0;width:52px;height:34px;transform:translate(-50%,var(--sat-y)) rotate(-4deg);will-change:transform;transition:filter .2s ease}
.journey-sat-body{position:absolute;left:20px;top:10px;width:12px;height:14px;border-radius:4px;background:#555d62;border:2px solid #e1e5e8}
.journey-sat-panel{position:absolute;top:8px;width:18px;height:18px;border-radius:3px;background:linear-gradient(135deg,#343b40,#69737a);border:1px solid rgba(255,255,255,.55)}
.journey-sat-panel.panel-left{left:0;transform:skewY(-7deg)}.journey-sat-panel.panel-right{right:0;transform:skewY(7deg)}
.journey-sat-dish{position:absolute;left:26px;top:0;width:10px;height:10px;border:2px solid var(--orange);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-40deg)}
.journey-signal{position:absolute;left:50%;bottom:44px;width:50px;height:50px;transform:translateX(-50%) scale(calc(.72 + var(--journey-progress) * .28));opacity:calc(.10 + var(--journey-progress) * .9)}
.journey-signal i{position:absolute;left:50%;bottom:0;border:1.5px solid rgba(255,96,0,.55);border-top-color:transparent;border-left-color:transparent;border-radius:50%;transform:translateX(-50%) rotate(45deg);animation:journeyPulse 2.2s ease-out infinite}.journey-signal i:nth-child(1){width:18px;height:18px}.journey-signal i:nth-child(2){width:32px;height:32px;animation-delay:.3s}.journey-signal i:nth-child(3){width:46px;height:46px;animation-delay:.6s}
.journey-vehicle{position:absolute;left:50%;bottom:1px;width:48px;height:24px;transform:translateX(-50%)}
.journey-car-body{position:absolute;left:4px;top:6px;width:40px;height:13px;border-radius:8px 10px 4px 4px;background:var(--orange)}
.journey-car-body:before{content:"";position:absolute;left:11px;top:-7px;width:21px;height:9px;border-radius:8px 8px 2px 2px;background:#f1f4f5;clip-path:polygon(15% 100%,30% 0,77% 0,100% 100%)}
.journey-wheel{position:absolute;bottom:0;width:9px;height:9px;border-radius:50%;background:#202426;border:2px solid #707980}.jw1{left:10px}.jw2{right:8px}
@keyframes journeyPulse{0%{opacity:0;transform:translateX(-50%) rotate(45deg) scale(.7)}45%{opacity:.8}100%{opacity:0;transform:translateX(-50%) rotate(45deg) scale(1.08)}}

/* Evita competição visual com o conteúdo em telas intermediárias */
@media (max-width:1180px){.scroll-journey{left:6px;opacity:0}.scroll-journey.is-visible{opacity:.46}}

/* No mobile o elemento vira uma assinatura sutil na lateral */
@media (max-width:720px){
  .scroll-journey{left:-7px;top:76px;bottom:18px;width:58px;z-index:8;filter:saturate(.92)}
  .scroll-journey.is-visible{opacity:.34}
  .journey-satellite{transform:translate(-50%,var(--sat-y)) rotate(-4deg) scale(.82)}
  .journey-vehicle{transform:translateX(-50%) scale(.82)}
  .journey-track:before,.journey-line{left:56%}
}

@media (prefers-reduced-motion:reduce){
  .scroll-journey{display:none!important}
  .journey-signal i{animation:none!important}
}


/* ===== Painel inicial com sensação de operação online ===== */
.dashboard-card{animation:dashboardBreathe 7s ease-in-out infinite;will-change:transform}
.status-dot{position:relative;padding-left:24px;box-shadow:0 0 0 0 rgba(35,123,75,.18);animation:onlineBadge 2.4s ease-in-out infinite}
.status-dot:before{content:"";position:absolute;left:10px;top:50%;width:7px;height:7px;border-radius:50%;background:#2cab69;transform:translateY(-50%);box-shadow:0 0 0 0 rgba(44,171,105,.45);animation:onlinePulse 1.8s ease-out infinite}
.hero-route-live{animation:routeFlow 1.35s linear infinite}
.destination-pulse{transform-box:fill-box;transform-origin:center;animation:destinationPulse 2s ease-out infinite}
.moving-vehicle{filter:drop-shadow(0 4px 7px rgba(255,96,0,.24))}
.floating-chip{animation:heroChipFloat 4.8s ease-in-out infinite}
.floating-chip.chip-2{animation-delay:.8s}
.map-area:after{content:"Atualização contínua";position:absolute;right:12px;top:12px;font-size:9px;font-weight:800;letter-spacing:.04em;color:#687077;background:rgba(255,255,255,.88);border:1px solid rgba(223,227,230,.9);padding:5px 8px;border-radius:999px;backdrop-filter:blur(5px)}
@keyframes routeFlow{to{stroke-dashoffset:-44}}
@keyframes destinationPulse{0%{opacity:.45;transform:scale(.68)}70%,100%{opacity:0;transform:scale(1.35)}}
@keyframes onlinePulse{0%{box-shadow:0 0 0 0 rgba(44,171,105,.45)}70%,100%{box-shadow:0 0 0 9px rgba(44,171,105,0)}}
@keyframes onlineBadge{0%,100%{box-shadow:0 0 0 0 rgba(35,123,75,.08)}50%{box-shadow:0 0 0 5px rgba(35,123,75,.04)}}
@keyframes heroChipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes dashboardBreathe{0%,100%{transform:perspective(1100px) rotateY(-3deg) rotateX(1deg) translateY(0)}50%{transform:perspective(1100px) rotateY(-2deg) rotateX(.5deg) translateY(-4px)}}
@media (max-width:640px){.map-area:after{font-size:8px;right:8px;top:8px}.moving-vehicle{filter:none}}
@media (prefers-reduced-motion:reduce){.dashboard-card,.status-dot,.status-dot:before,.hero-route-live,.destination-pulse,.floating-chip{animation:none!important}.moving-vehicle animateMotion{display:none}}


/* SEO content / FAQ */
.seo-faq{position:relative}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.faq-card{background:#fff;border:1px solid #eceff1;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(23,27,30,.04)}
.faq-card h3{font-size:1.05rem;line-height:1.35;margin:0 0 10px;color:#24292d}
.faq-card p{margin:0;color:#626a70;line-height:1.7}
@media(max-width:760px){.faq-grid{grid-template-columns:1fr}.faq-card{padding:20px}}


/* ===== Navegação contextual / seção ativa ===== */
.nav-menu .nav-section-link{position:relative;display:inline-flex;align-items:center;min-height:40px;white-space:nowrap;transition:color .22s ease,transform .22s ease}
.nav-menu .nav-section-link:after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;border-radius:999px;background:var(--orange);opacity:0;transform:translate(-50%,5px) scale(.5);transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease}
.nav-menu .nav-section-link.is-active{color:var(--orange)}
.nav-menu .nav-section-link.is-active:after{opacity:1;transform:translate(-50%,0) scale(1);box-shadow:0 0 0 5px rgba(255,96,0,.09)}
.nav-menu .nav-section-link[aria-current="location"]{color:var(--orange)}

@media (max-width:1180px) and (min-width:981px){
  .brand img{width:190px}
  .nav-wrap{gap:18px}
  .nav-menu{gap:10px}
  .nav-menu a{font-size:11.5px}
  .btn-sm{padding:0 12px}
}

@media (max-width:980px){
  .nav-menu .nav-section-link{min-height:42px;padding:10px 8px 10px 18px;border-radius:10px}
  .nav-menu .nav-section-link:after{left:5px;bottom:50%;transform:translateY(50%) scale(.5)}
  .nav-menu .nav-section-link.is-active{background:var(--orange-soft)}
  .nav-menu .nav-section-link.is-active:after{transform:translateY(50%) scale(1);box-shadow:0 0 0 4px rgba(255,96,0,.09)}
}


/* ===== Microinteração do menu: trajeto da frota ===== */
/* A rota conecta apenas as seções de conteúdo; Login e Demonstração permanecem CTAs independentes. */
@media (min-width:981px){
  .nav-menu{position:relative;padding-bottom:10px}
  .nav-menu .nav-section-link{z-index:2}
  .nav-menu-route{position:absolute;left:0;bottom:4px;height:8px;pointer-events:none;z-index:1;opacity:.78;transition:left .35s ease,width .35s ease}
  .nav-menu-route:before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:linear-gradient(90deg,rgba(255,96,0,.18),rgba(255,96,0,.38),rgba(80,86,91,.14));border-radius:999px}
  .nav-menu-route:after{content:"";position:absolute;left:0;top:2px;width:5px;height:5px;border-radius:50%;background:rgba(255,96,0,.45);box-shadow:var(--route-width,0px) 0 0 rgba(255,96,0,.20)}
  .nav-menu .nav-contract-link.is-active{font-weight:800}
}
@media (max-width:980px){.nav-menu-route{display:none!important}}

/* ===== Assinatura discreta da empresa desenvolvedora ===== */
.footer-signature{display:flex;justify-content:center;padding-top:18px;margin-top:6px;border-top:1px solid rgba(25,27,29,.045)}
.developer-link{display:inline-flex;align-items:center;gap:10px;color:var(--gray-500);font-size:10px;font-weight:650;letter-spacing:.02em;opacity:.68;transition:opacity .2s ease,transform .2s ease}
.developer-link img{width:86px;height:auto;max-height:36px;object-fit:contain;filter:saturate(.82)}
.developer-link:hover{opacity:1;transform:translateY(-1px)}
.developer-link:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:6px;opacity:1}
@media (max-width:640px){.footer-signature{padding-top:16px}.developer-link img{width:78px}.developer-link{font-size:9px}}


/* ===== Refinamento v11: rota do menu e navegação entre seções ===== */
@media (min-width:981px){
  .nav-menu .nav-section-link.is-active:after{transform:translate(-50%,0) scale(.92)}
}

.section-jump{display:flex;justify-content:center;margin-top:30px;position:relative;z-index:3}
.section-jump a{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 24px;border-radius:999px;border:1px solid rgba(255,96,0,.20);background:rgba(255,255,255,.92);color:#3c4247;font-weight:800;font-size:.86rem;letter-spacing:.01em;box-shadow:0 10px 28px rgba(27,31,34,.07);backdrop-filter:blur(8px);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease}
.section-jump a:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(27,31,34,.11);border-color:rgba(255,96,0,.42);color:var(--orange)}
.section-jump .jump-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--orange-soft);color:var(--orange);font-size:19px;line-height:1;transition:transform .22s ease,background .22s ease,color .22s ease}
.section-jump a:hover .jump-arrow{transform:translateY(3px);background:var(--orange);color:#fff}
.section-dark .section-jump a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff;box-shadow:none}
.section-dark .section-jump a:hover{border-color:rgba(255,255,255,.34);color:#fff;background:rgba(255,255,255,.12)}
.section-dark .section-jump .jump-arrow{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:640px){
  .section-jump{margin-top:24px}
  .section-jump a{min-height:50px;padding:0 20px;font-size:.82rem}
  .section-jump .jump-arrow{width:30px;height:30px}
}
@media (prefers-reduced-motion:reduce){.section-jump a,.section-jump .jump-arrow{transition:none!important}}

/* ===== Refinamento v12: marcador integrado à linha do menu ===== */
@media (min-width:981px){
  /* A linha permanece na mesma posição; o ponto ativo passa a repousar sobre ela. */
  .nav-menu .nav-section-link:after{
    bottom:-5px;
    width:6px;
    height:6px;
    z-index:3;
    background:var(--orange);
    border:1px solid #fff;
    box-shadow:none;
  }
  .nav-menu .nav-section-link.is-active:after{
    opacity:1;
    transform:translate(-50%,0) scale(1);
    box-shadow:0 0 0 3px rgba(255,96,0,.08);
  }
  .nav-menu-route{opacity:.72}
  .nav-menu-route:before{height:1px;top:4px;background:linear-gradient(90deg,rgba(255,96,0,.16),rgba(255,96,0,.34),rgba(80,86,91,.12))}
  .nav-menu-route:after{display:none}
}

/* ===== Refinamento v13: menu mobile em tela cheia ===== */
@media (max-width:980px){
  body.mobile-menu-open{overflow:hidden;touch-action:none}
  .site-header{z-index:1200}
  .menu-toggle{position:relative;z-index:1302;display:block;border-radius:12px;transition:background .2s ease}
  .menu-toggle:hover,.menu-toggle:focus-visible{background:var(--gray-100)}
  .menu-toggle span{transition:transform .26s ease,opacity .2s ease,background .2s ease;transform-origin:center}
  .menu-toggle[aria-expanded="true"]{position:fixed;right:18px;top:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(25,27,29,.08)}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.4)}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .nav-menu{
    position:fixed;
    inset:0;
    z-index:1300;
    min-height:100dvh;
    height:100dvh;
    padding:88px 24px 32px;
    background:
      radial-gradient(circle at 85% 12%,rgba(255,96,0,.10),transparent 28%),
      linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
    border:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:4px;
    overflow-y:auto;
    overscroll-behavior:contain;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .24s ease,transform .28s ease,visibility .24s ease;
  }
  .nav-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav-menu:before{
    content:"Navegação";
    display:block;
    margin:0 auto 14px;
    color:var(--gray-500);
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.14em;
  }
  .nav-menu .nav-section-link{
    width:min(100%,520px);
    margin-inline:auto;
    min-height:54px;
    padding:11px 20px;
    border-radius:15px;
    justify-content:center;
    text-align:center;
    font-size:clamp(18px,4.8vw,24px);
    font-weight:760;
    color:var(--gray-800);
  }
  .nav-menu .nav-section-link:after{display:none}
  .nav-menu .nav-section-link.is-active{
    color:var(--orange);
    background:var(--orange-soft);
  }
  .nav-menu .nav-section-link:hover{color:var(--orange);background:rgba(255,96,0,.055)}
  .nav-menu .btn{
    width:min(100%,420px);
    margin-inline:auto;
    min-height:52px;
    border-radius:14px;
    font-size:15px;
  }
  .nav-menu .btn-login{margin-top:18px;background:#fff;color:var(--gray-900);border-color:var(--gray-300);box-shadow:none}
  .nav-menu .btn-login:hover{background:var(--gray-100)}
  .nav-menu .btn:not(.btn-login){margin-top:4px}
  .nav-menu-route{display:none!important}
}

@media (max-width:420px){
  .nav-menu{padding:76px 18px 24px;gap:2px}
  .nav-menu:before{margin-bottom:8px}
  .nav-menu .nav-section-link{min-height:48px;font-size:18px;padding:8px 14px}
  .nav-menu .btn{min-height:48px}
}

@media (prefers-reduced-motion:reduce){
  .nav-menu,.menu-toggle span{transition:none!important}
}

/* ===== Refinamento v14: respiro lateral no mobile para a jornada do scroll ===== */
@media (max-width:720px){
  /* Afasta levemente o conteúdo das seções da assinatura animada na lateral esquerda,
     sem alterar a largura geral da página nem a altura do cabeçalho. */
  .flow-section > .container{padding-left:30px}
}
@media (max-width:420px){
  .flow-section > .container{padding-left:24px}
}
/* ===== Refinamento v15: maior respiro lateral no mobile ===== */
@media (max-width:720px){
  .flow-section > .container{padding-left:52px}
}
@media (max-width:420px){
  .flow-section > .container{padding-left:44px}
}

/* ===== Instalação assistida / rede de apoio técnico ===== */
.installation-support{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;margin:34px 0 36px;padding:30px;border:1px solid #e8ecef;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff8f4 100%);box-shadow:0 18px 46px rgba(23,27,30,.05)}
.installation-copy{display:flex;flex-direction:column;justify-content:center}
.installation-copy .mini-kicker{display:inline-flex;width:max-content;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(255,96,0,.1);color:var(--orange);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.installation-copy h3{margin:0 0 12px;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.22;color:#24292d}
.installation-copy p{margin:0;color:#5f686f;line-height:1.72}
.installation-copy>small{display:block;margin-top:12px;color:#7a8389;line-height:1.5}
.installation-points{display:grid;gap:12px}
.installation-points>div{position:relative;padding:16px 16px 16px 52px;background:rgba(255,255,255,.88);border:1px solid rgba(223,227,230,.9);border-radius:16px}
.installation-points strong{display:block;margin-bottom:4px;color:#2a2f33;font-size:.96rem}
.installation-points small{display:block;color:#6c747a;line-height:1.5}
.install-icon{position:absolute;left:15px;top:16px;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(255,96,0,.1);color:var(--orange);font-weight:900;font-size:.9rem}
@media(max-width:820px){.installation-support{grid-template-columns:1fr;padding:24px;gap:20px}.installation-points{grid-template-columns:1fr}}
@media(max-width:520px){.installation-support{padding:20px 18px;border-radius:20px}.installation-points>div{padding:15px 14px 15px 48px}.install-icon{left:13px;top:14px}}

/* v18 — segurança operacional */
.security-highlight{margin-top:34px;padding:30px;border:1px solid #ffd9c2;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#fff8f3 100%);box-shadow:0 16px 42px rgba(25,30,35,.06)}
.security-copy{max-width:820px}.security-copy h3{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.18;margin:8px 0 10px}.security-copy p{color:var(--gray-600);margin:0}
.security-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.security-cards article{display:flex;gap:14px;padding:20px;border:1px solid var(--gray-200);border-radius:18px;background:rgba(255,255,255,.9)}.security-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:var(--orange-soft);font-size:19px}.security-cards h4{margin:1px 0 6px;font-size:1.03rem}.security-cards p{margin:0;color:var(--gray-600);font-size:.95rem;line-height:1.55}.security-note{margin:16px 0 0;color:var(--gray-500);font-size:.82rem;line-height:1.5}
@media (max-width:760px){.security-highlight{padding:22px}.security-cards{grid-template-columns:1fr}.security-cards article{padding:17px}}


/* v19 — Diferenciais comerciais TransporteMap */
.tm-differentials-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 8%, rgba(255,96,0,.08), transparent 24%),
    radial-gradient(circle at 91% 76%, rgba(29,94,145,.07), transparent 25%),
    #f7f9fb;
}
.tm-diff-intro{max-width:900px}
.tm-diff-intro h2{max-width:780px}
.tm-diff-intro p{max-width:850px}

.tm-context-stage{
  position:relative;
  height:520px;
  margin-top:52px;
  border-radius:32px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,96,0,.08), transparent 28%),
    linear-gradient(135deg,#081019,#111b25);
  border:1px solid #192532;
  box-shadow:0 28px 70px rgba(10,26,40,.14);
}
.tm-context-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:46px 46px;
}
.tm-context-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.tm-context-lines path{
  fill:none;
  stroke:rgba(255,96,0,.30);
  stroke-width:1.6;
  stroke-dasharray:8 10;
  animation:tmContextDash 11s linear infinite;
}
.tm-context-core{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  z-index:4;width:176px;height:176px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#fff;
  background:radial-gradient(circle at 50% 38%,rgba(255,96,0,.22),rgba(255,96,0,.04));
  border:1px solid rgba(255,96,0,.38);
  box-shadow:0 0 0 18px rgba(255,96,0,.035),0 20px 60px rgba(0,0,0,.24);
}
.tm-context-core:after{
  content:"";position:absolute;inset:-15px;border-radius:50%;
  border:1px solid rgba(255,96,0,.10);animation:tmContextPulse 3s ease-in-out infinite;
}
.tm-context-core strong{font-size:1.04rem}
.tm-context-core small{color:#8fa0ae;margin-top:4px;font-size:.72rem}

.tm-context-car{position:relative;width:78px;height:47px;margin-bottom:12px}
.tm-context-car:before{
  content:"";position:absolute;left:8px;top:16px;width:62px;height:28px;
  border-radius:12px 15px 10px 10px;background:#ff6000;
}
.tm-context-cabin{
  position:absolute;left:24px;top:3px;width:31px;height:19px;background:#fff;
  clip-path:polygon(12% 100%,25% 16%,76% 16%,91% 100%);border-radius:3px;
}
.tm-context-wheel{position:absolute;top:35px;width:16px;height:16px;border-radius:50%;background:#151d25}
.tm-context-wheel.left{left:15px}.tm-context-wheel.right{right:15px}
.tm-context-wheel:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#87939c}

.tm-context-node{
  position:absolute;z-index:4;min-width:168px;padding:15px 16px;
  border-radius:17px;background:rgba(17,26,35,.88);
  border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(7px);
  box-shadow:0 14px 34px rgba(0,0,0,.18);color:#fff;
}
.tm-context-node span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:rgba(255,96,0,.11);border:1px solid rgba(255,96,0,.30);
  color:#ff873b;font-size:.55rem;font-weight:900;
}
.tm-context-node b,.tm-context-node small{display:block}
.tm-context-node b{font-size:.88rem;margin-top:8px}
.tm-context-node small{font-size:.66rem;color:#81919e;margin-top:3px}
.tm-context-node.node-driver{left:8%;top:11%}
.tm-context-node.node-trip{left:50%;top:7%;transform:translateX(-50%)}
.tm-context-node.node-fuel{right:8%;top:11%}
.tm-context-node.node-telemetry{right:7%;bottom:12%}
.tm-context-node.node-maintenance{left:50%;bottom:7%;transform:translateX(-50%)}
.tm-context-node.node-history{left:7%;bottom:12%}

.tm-diff-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;margin-top:28px;
}
.tm-diff-card{
  position:relative;overflow:hidden;min-height:235px;padding:30px;
  border-radius:24px;background:#fff;border:1px solid #e0e6eb;
  box-shadow:0 12px 36px rgba(10,32,49,.045);
}
.tm-diff-card:after{
  content:"";position:absolute;right:-45px;top:-45px;width:130px;height:130px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,96,0,.08),transparent 68%);
}
.tm-diff-card h3{font-size:1.35rem;line-height:1.12;margin:18px 0 12px;letter-spacing:-.02em}
.tm-diff-card p{margin:0;color:#667684}
.tm-diff-number{
  display:inline-block;color:#ff6000;font-size:.64rem;font-weight:900;letter-spacing:.14em;
}
.tm-diff-featured{
  grid-column:1/-1;min-height:315px;padding:42px 46px;
  color:#fff;background:linear-gradient(135deg,#0a1118,#182531);border-color:#1e2c38;
}
.tm-diff-featured:after{
  width:430px;height:430px;right:-125px;top:-170px;
  background:radial-gradient(circle,rgba(255,96,0,.16),transparent 68%);
}
.tm-diff-featured h3{
  max-width:840px;font-size:clamp(2.1rem,4.3vw,4.2rem);line-height:.97;letter-spacing:-.05em;
}
.tm-diff-featured h3 strong{color:#ff7a2a}
.tm-diff-featured p{max-width:790px;color:#adbbc6;font-size:1.02rem}
.tm-diff-tag{
  display:inline-block;color:#ff8a43;text-transform:uppercase;
  font-size:.66rem;font-weight:900;letter-spacing:.13em;
}

@keyframes tmContextDash{to{stroke-dashoffset:-170}}
@keyframes tmContextPulse{
  0%,100%{transform:scale(.96);opacity:.45}
  50%{transform:scale(1.04);opacity:1}
}

@media(max-width:900px){
  .tm-context-stage{height:590px}
  .tm-context-node.node-driver{left:4%}
  .tm-context-node.node-fuel{right:4%}
  .tm-context-node.node-history{left:4%}
  .tm-context-node.node-telemetry{right:4%}
  .tm-diff-grid{grid-template-columns:1fr}
  .tm-diff-featured{grid-column:auto}
}
@media(max-width:640px){
  .tm-context-stage{
    height:auto;padding:26px 18px 20px;
    display:grid;grid-template-columns:1fr 1fr;gap:12px;
  }
  .tm-context-lines{display:none}
  .tm-context-core{
    position:relative;left:auto;top:auto;transform:none;
    grid-column:1/-1;width:148px;height:148px;margin:0 auto 10px;
  }
  .tm-context-node{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;min-width:0;padding:13px;
  }
  .tm-diff-card{min-height:auto;padding:24px}
  .tm-diff-featured{padding:30px 24px}
  .tm-diff-featured h3{font-size:2.25rem}
}

@media(prefers-reduced-motion:reduce){
  .tm-context-lines path,.tm-context-core:after{animation:none!important}
}


/* v20 — refinamento visual do destaque de diferenciais */
.tm-diff-featured{
  min-height: 0;
  padding: 38px 42px;
}
.tm-diff-featured h3{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:900px;
  margin:14px 0 18px;
  font-size: unset;
  line-height: 1;
}
.tm-diff-featured h3 .tm-diff-lead{
  display:block;
  color:#d3dde6;
  font-size:clamp(1.35rem,2.2vw,2rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.05;
}
.tm-diff-featured h3 strong{
  display:block;
  color:#ff7a2a;
  font-size:clamp(2.1rem,4vw,4rem);
  line-height:.96;
  letter-spacing:-.05em;
  max-width:820px;
}
.tm-diff-featured p{
  max-width:760px;
  color:#b4c0ca;
  font-size:1rem;
  line-height:1.65;
}
.tm-diff-featured:before{
  content:"";
  position:absolute;
  left:42px;
  right:42px;
  bottom:32px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,122,42,.35), rgba(255,122,42,0));
  opacity:.75;
}

@media(max-width:640px){
  .tm-diff-featured{
    padding:28px 24px 34px;
  }
  .tm-diff-featured h3{
    gap:8px;
    margin:12px 0 16px;
  }
  .tm-diff-featured h3 .tm-diff-lead{
    font-size:1.15rem;
  }
  .tm-diff-featured h3 strong{
    font-size:2.05rem;
  }
  .tm-diff-featured p{
    font-size:.96rem;
    line-height:1.6;
  }
  .tm-diff-featured:before{
    left:24px;
    right:24px;
    bottom:22px;
  }
}

/* v23 — página de solicitação de demonstração / integração EspoCRM */
.demo-page{background:#0f1519;color:#eef3f6;min-height:100vh}
.demo-page .site-header{background:rgba(15,21,25,.94);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px)}
.demo-header-actions{display:flex;align-items:center;gap:18px}
.demo-back-link{color:#b8c2ca;font-weight:700;font-size:.93rem;text-decoration:none;transition:.2s ease}
.demo-back-link:hover{color:#fff}
.demo-hero{position:relative;overflow:hidden;padding:150px 0 90px;background:radial-gradient(circle at 12% 18%,rgba(255,96,0,.14),transparent 30%),radial-gradient(circle at 86% 40%,rgba(255,255,255,.05),transparent 28%),#0f1519}
.demo-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 84%);pointer-events:none}
.demo-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:72px;align-items:start}
.demo-copy{padding-top:38px;position:sticky;top:122px}
.demo-copy h1{font-size:clamp(2.7rem,5.2vw,5.2rem);letter-spacing:-.055em;line-height:.96;margin:18px 0 25px;max-width:730px}
.demo-copy h1 span{color:#ff6b12}
.demo-lead{max-width:680px;color:#b7c2ca;font-size:1.1rem;line-height:1.75;margin:0}
.demo-benefits{display:grid;gap:18px;margin:38px 0}
.demo-benefit{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:start;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.demo-benefit-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,107,18,.45);border-radius:12px;color:#ff7a2a;font-size:.75rem;font-weight:900;background:rgba(255,96,0,.08)}
.demo-benefit strong{display:block;color:#f7fafb;font-size:1rem;margin:1px 0 4px}
.demo-benefit small{display:block;color:#98a5ae;font-size:.9rem;line-height:1.5}
.demo-trust{display:flex;align-items:center;gap:18px;padding:20px 22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025);max-width:620px}
.demo-trust img{width:96px;height:auto;filter:brightness(1.1)}
.demo-trust p{margin:0;color:#9eabb3;font-size:.86rem;line-height:1.55}
.demo-trust strong{color:#dce5ea}
.demo-form-card{background:#fff;color:#23282c;border-radius:28px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.06);position:relative}
.demo-form-card:before{content:"";position:absolute;top:0;left:38px;right:38px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,transparent,#ff6000,transparent)}
.demo-form-head{margin-bottom:28px}
.demo-form-head>span,.demo-success>span{display:inline-flex;color:#ff6000;font-size:.77rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;margin-bottom:8px}
.demo-form-head h2,.demo-success h2{font-size:clamp(1.65rem,2.6vw,2.35rem);letter-spacing:-.035em;line-height:1.08;margin:0 0 9px;color:#1f2529}
.demo-form-head p{margin:0;color:#7d878d;font-size:.93rem}
.demo-profile-fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.demo-profile-fieldset legend{font-size:.86rem;color:#4d565c;font-weight:800;margin-bottom:10px}
.demo-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.demo-profile-option{position:relative;display:block;cursor:pointer}
.demo-profile-option input{position:absolute;opacity:0;pointer-events:none}
.demo-profile-option span{display:flex;flex-direction:column;gap:4px;min-height:88px;padding:15px 14px;border:1.5px solid #dce2e6;border-radius:14px;background:#fafbfc;transition:.18s ease}
.demo-profile-option strong{font-size:.9rem;color:#293137}
.demo-profile-option small{font-size:.72rem;color:#7f8a91;line-height:1.35}
.demo-profile-option input:checked+span{border-color:#ff6000;background:#fff7f2;box-shadow:0 0 0 3px rgba(255,96,0,.08)}
.demo-profile-option input:focus-visible+span{outline:3px solid rgba(255,96,0,.2);outline-offset:2px}
.demo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.demo-field,.demo-dynamic-account{display:flex;flex-direction:column;gap:7px}
.demo-field-full{grid-column:1/-1}
.demo-dynamic-account{margin-bottom:18px}
.demo-field label,.demo-dynamic-account label{font-size:.82rem;font-weight:800;color:#4a5359}
.demo-field input,.demo-field select,.demo-dynamic-account input{width:100%;height:50px;border:1.5px solid #d9e0e4;border-radius:12px;background:#fff;color:#222a2f;font:inherit;font-size:.94rem;padding:0 14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.demo-field select{appearance:auto}
.demo-field input::placeholder,.demo-dynamic-account input::placeholder{color:#a3adb3}
.demo-field input:focus,.demo-field select:focus,.demo-dynamic-account input:focus{border-color:#ff6b12;box-shadow:0 0 0 4px rgba(255,96,0,.09)}
.demo-consent{display:flex;align-items:flex-start;gap:10px;margin:23px 0 18px;color:#68747b;font-size:.78rem;line-height:1.45;cursor:pointer}
.demo-consent input{margin-top:2px;accent-color:#ff6000}
.demo-submit{width:100%;min-height:54px;border:0;justify-content:center;font-size:.98rem;cursor:pointer}
.demo-submit:disabled{opacity:.68;cursor:wait}
.demo-feedback{display:none;margin:0 0 15px;padding:12px 14px;border-radius:11px;font-size:.82rem;line-height:1.45}
.demo-feedback.is-error{display:block;background:#fff0f0;border:1px solid #ffd0d0;color:#a12f2f}
.demo-feedback.is-success{display:block;background:#eef9f1;border:1px solid #cfead6;color:#276b37}
.demo-privacy-note{text-align:center;color:#939da3;font-size:.72rem;margin:12px 0 0}
.demo-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.demo-success{text-align:center;padding:48px 12px 34px}
.demo-success-icon{width:74px;height:74px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#effaf2;color:#2f9c4d;font-size:2rem;font-weight:900;border:1px solid #d3edda}
.demo-success p{color:#707b82;max-width:520px;margin:12px auto 26px;line-height:1.7}
.demo-success-actions{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}
.demo-success .btn-ghost{border-color:#d7dee2;color:#4d565c;background:#fff}
.demo-footer{margin-top:0}
.demo-footer a{color:inherit}

@media(max-width:980px){
  .demo-hero{padding-top:125px}
  .demo-grid{grid-template-columns:1fr;gap:44px}
  .demo-copy{position:relative;top:auto;padding-top:8px}
  .demo-copy h1{max-width:760px}
  .demo-trust{max-width:none}
}
@media(max-width:720px){
  .demo-header-actions .btn-login{display:none}
  .demo-back-link{font-size:.85rem}
  .demo-hero{padding:108px 0 58px}
  .demo-grid{gap:34px}
  .demo-copy h1{font-size:2.55rem}
  .demo-lead{font-size:1rem}
  .demo-form-card{padding:25px 20px;border-radius:22px}
  .demo-profile-grid{grid-template-columns:1fr}
  .demo-profile-option span{min-height:0}
  .demo-form-grid{grid-template-columns:1fr;gap:15px}
  .demo-field-full{grid-column:auto}
  .demo-trust{align-items:flex-start}
  .demo-trust img{width:78px}
}


/* v23.1 — ajustes de contraste e acabamento da página de demonstração */
.demo-hero{
  background:
    radial-gradient(circle at 14% 18%,rgba(255,96,0,.18),transparent 31%),
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.045),transparent 30%),
    linear-gradient(180deg,#0b1218 0%,#0f171e 100%);
}
.demo-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,8,13,.36) 0%,rgba(3,8,13,.20) 44%,rgba(3,8,13,0) 66%);
  pointer-events:none;
}
.demo-hero:before{opacity:.52}
.demo-grid{z-index:2}
.demo-copy .eyebrow{color:#ff6b12}
.demo-copy h1{color:#fff!important;text-shadow:0 2px 24px rgba(0,0,0,.18)}
.demo-copy h1 span{color:#ff6b12!important}
.demo-copy .demo-lead{color:#d5dde3!important}
.demo-benefit{border-bottom-color:rgba(255,255,255,.11)}
.demo-benefit strong{color:#fff!important}
.demo-benefit small{color:#aeb9c1!important}
.demo-trust{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.11)}
.demo-trust p{color:#b7c2ca!important}
.demo-trust strong{color:#fff!important}

.demo-form-card{
  box-shadow:0 28px 80px rgba(0,0,0,.26),0 0 0 1px rgba(18,29,38,.06);
  border:1px solid rgba(15,23,42,.05);
}
.demo-form-head h2{color:#1b2228!important}
.demo-form-head p{color:#6f7a82!important}
.demo-profile-fieldset legend{color:#3f484f!important}
.demo-profile-option span{
  border-color:#d3dbe1;
  background:#fbfcfd;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.demo-profile-option:hover span{
  border-color:#bfc9d1;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.demo-profile-option input:checked+span{
  border-color:#ff6000;
  background:linear-gradient(180deg,#fff4ec 0%,#fffaf6 100%);
  box-shadow:0 0 0 4px rgba(255,96,0,.10),0 8px 20px rgba(255,96,0,.08);
}
.demo-profile-option input:checked+span strong{color:#ff6000!important}
.demo-profile-option strong{color:#20272d!important}
.demo-profile-option small{color:#68747c!important}
.demo-field label,.demo-dynamic-account label{color:#3f484f!important}
.demo-field input,.demo-field select,.demo-dynamic-account input{
  border-color:#cfd8de;
  background:#fff;
}
.demo-field input:hover,.demo-field select:hover,.demo-dynamic-account input:hover{border-color:#b8c3cb}
.demo-field input:focus,.demo-field select:focus,.demo-dynamic-account input:focus{
  border-color:#ff6000;
  box-shadow:0 0 0 4px rgba(255,96,0,.12);
}
.demo-submit{box-shadow:0 12px 28px rgba(255,96,0,.22)}
.demo-submit:hover{transform:translateY(-1px)}

@media(max-width:980px){
  .demo-hero:after{background:linear-gradient(180deg,rgba(3,8,13,.28),rgba(3,8,13,.08) 45%,rgba(3,8,13,0) 70%)}
}


/* =========================================================
   TransporteMap — perfis dinâmicos e microinterações v23.2
   ========================================================= */

/* Evita que regras display:flex sobrescrevam o atributo hidden. */
.demo-dynamic-account[hidden],
.demo-role-field[hidden],
.demo-conditional-field[hidden] {
  display: none !important;
}

.demo-profile-hint {
  margin: 11px 2px 0;
  color: #75818a;
  font-size: .74rem;
  line-height: 1.45;
  min-height: 1.1em;
  transition: color .2s ease, transform .2s ease;
}

.demo-profile-option span {
  position: relative;
  overflow: hidden;
  transform: translateY(0) scale(1);
  will-change: transform, box-shadow, border-color;
}

.demo-profile-option span::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 160%;
  top: -30%;
  left: -120px;
  transform: rotate(18deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.72),
    transparent
  );
  opacity: 0;
  pointer-events: none;
}

.demo-profile-option:hover span {
  transform: translateY(-3px);
}

.demo-profile-option.is-selected span,
.demo-profile-option input:checked + span {
  animation: tmProfileSelect .42s cubic-bezier(.2,.8,.2,1);
}

.demo-profile-option.is-selected span::after,
.demo-profile-option input:checked + span::after {
  animation: tmProfileShine .72s ease-out;
}

.demo-profile-option.is-selected strong,
.demo-profile-option input:checked + span strong {
  color: #ff6000 !important;
}

.demo-profile-option input:checked + span::before {
  content: "✓";
  position: absolute;
  top: 10px;
  right: 11px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ff6000;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  box-shadow: 0 5px 14px rgba(255,96,0,.24);
  animation: tmCheckPop .32s cubic-bezier(.2,.9,.3,1.3);
}

.demo-conditional-field.is-entering {
  display: flex !important;
  animation: tmFieldIn .40s cubic-bezier(.2,.75,.2,1) both;
}

.demo-conditional-field.is-leaving {
  animation: tmFieldOut .18s ease both;
}

@keyframes tmProfileSelect {
  0%   { transform: scale(.985); }
  55%  { transform: translateY(-2px) scale(1.018); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes tmProfileShine {
  0%   { left: -120px; opacity: 0; }
  18%  { opacity: .8; }
  100% { left: calc(100% + 40px); opacity: 0; }
}

@keyframes tmCheckPop {
  from { opacity: 0; transform: scale(.45) rotate(-12deg); }
  to   { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes tmFieldIn {
  from {
    opacity: 0;
    transform: translateY(-9px);
    max-height: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    max-height: 110px;
  }
}

@keyframes tmFieldOut {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}

/* Destaque sutil de atenção enquanto nenhum perfil foi escolhido. */
.demo-profile-grid:not(:has(input:checked)) .demo-profile-option:nth-child(1) span {
  animation: tmSoftAttention 2.8s ease-in-out 1.1s 2;
}

@keyframes tmSoftAttention {
  0%, 100% { box-shadow: 0 0 0 rgba(255,96,0,0); }
  50% {
    border-color: rgba(255,96,0,.62);
    box-shadow: 0 0 0 5px rgba(255,96,0,.07);
  }
}

@media (prefers-reduced-motion: reduce) {
  .demo-profile-option span,
  .demo-profile-option span::after,
  .demo-profile-option input:checked + span,
  .demo-profile-option input:checked + span::before,
  .demo-conditional-field.is-entering,
  .demo-conditional-field.is-leaving,
  .demo-profile-grid:not(:has(input:checked)) .demo-profile-option:nth-child(1) span {
    animation: none !important;
    transition: none !important;
  }
}


/* v23.3 - ajuste do logo no site principal */
.site-header .brand img{width:245px;max-width:min(245px,38vw);height:auto}
.demo-page .site-header .brand img{width:245px;max-width:min(245px,38vw);height:auto}
.footer-logo{width:235px;height:auto}
@media (max-width:1180px) and (min-width:981px){.site-header .brand img,.demo-page .site-header .brand img{width:225px;max-width:42vw}}
@media (max-width:640px){.site-header .brand img,.demo-page .site-header .brand img{width:210px;max-width:62vw}.footer-logo{width:200px}}


/* v23.4 — navegação principal mais compacta */
@media (min-width:981px){
  .nav-wrap{gap:18px}
  .nav-menu{gap:16px;font-size:13px}
  .nav-menu .nav-section-link{letter-spacing:-.01em}
  .nav-menu .btn-sm{padding-left:14px;padding-right:14px}
}
@media (min-width:1181px) and (max-width:1380px){
  .site-header .brand img{width:220px}
  .nav-menu{gap:12px;font-size:12.5px}
  .nav-menu .btn-sm{padding-left:12px;padding-right:12px}
}


/* v23.5 — campos de localidade IBGE */
.demo-field-help{
  display:block;
  margin-top:7px;
  color:#89939b;
  font-size:.72rem;
  line-height:1.35;
}
.demo-field select:disabled{
  opacity:.72;
  cursor:wait;
  background:#f5f7f8;
}
