*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  color-scheme:dark;
  --c-black:#010101;--c-g1:#171717;--c-g2:#232323;--c-g3:#303030;--c-g4:#3a3a3a;--c-g5:#4a4a4a;
  --c-yellow:#fcdf00;--c-yellow-2:#e3c900;--c-yellow-3:#b8a300;--c-white:#ffffff;
  --c-green:#25D366;--c-green-2:#1eb358;--c-red:#ff4d4d;--c-orange:#ff9c1f;
  --c-check:#22c55e;--c-check-bg:rgba(34,197,94,.14);
  --y-07:rgba(252,223,0,.07);--y-10:rgba(252,223,0,.10);--y-14:rgba(252,223,0,.14);--y-18:rgba(252,223,0,.18);--y-22:rgba(252,223,0,.22);--y-32:rgba(252,223,0,.32);--y-40:rgba(252,223,0,.40);
  --g-10:rgba(37,211,102,.10);--g-22:rgba(37,211,102,.22);--g-35:rgba(37,211,102,.35);
  --k-55:rgba(0,0,0,.55);--k-65:rgba(0,0,0,.65);--k-85:rgba(0,0,0,.85);--k-88:rgba(0,0,0,.88);--k-95:rgba(1,1,1,.95);
  --w-04:rgba(255,255,255,.04);--w-06:rgba(255,255,255,.06);--w-08:rgba(255,255,255,.08);--w-10:rgba(255,255,255,.10);
  --txt:var(--c-white);--txt-2:#e6e6e6;--txt-3:#bdbdbd;--muted:#9a9a9a;--muted-2:#6f6f6f;
  --line:var(--c-g4);--line-2:var(--c-g5);
  --t-xs:0.75rem;--t-sm:0.8125rem;--t-base:0.9375rem;--t-md:1rem;--t-lg:1.25rem;--t-xl:1.5rem;--t-2xl:1.875rem;--t-3xl:2.375rem;--t-4xl:3rem;--t-5xl:3.75rem;--t-6xl:4.75rem;
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;
  --r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--r-full:999px;
  --sh-1:0 8px 22px rgba(0,0,0,.5);--sh-2:0 22px 60px rgba(0,0,0,.7);
  --neon-y:0 0 24px var(--y-40),0 0 56px var(--y-18);
  --neon-y-strong:0 0 32px rgba(252,223,0,.55),0 0 70px var(--y-32);
  --neon-g:0 0 24px var(--g-35);
  --glass-bg:rgba(35,35,35,.55);--glass-blur:saturate(1.4) blur(18px);
  --grad-base:linear-gradient(180deg,#232323 0%,#010101 100%);
  --grad-yellow:linear-gradient(135deg,#fcdf00 0%,#e3c900 50%,#b8a300 100%);
  --grad-card-feat:linear-gradient(180deg,var(--y-10) 0%,var(--y-07) 60%,transparent 100%);
  --max:1280px;--pad-x:clamp(16px,4vw,40px);
  --f-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --f-display:"Chakra Petch","Inter",sans-serif;
  --ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:.18s;--dur-base:.3s;
}
html{background:var(--c-black);color:var(--txt);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{min-height:100vh;overflow-x:hidden;background:var(--grad-base);background-attachment:fixed;position:relative}
img,svg,video{display:block;max-width:100%;height:auto}
img{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--c-yellow);text-align:center}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--c-yellow);color:var(--c-black)}
.hl{color:var(--c-yellow);font-weight:600}
.accent{color:var(--c-yellow);text-shadow:0 0 22px var(--y-32),0 0 44px var(--y-14)}
.glitch{position:relative;display:inline-block;color:var(--c-yellow);text-shadow:0 0 22px var(--y-40),0 0 44px var(--y-18)}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;opacity:0;pointer-events:none}
.glitch::before{color:#ff3a3a;transform:translate(-2px,0);mix-blend-mode:screen;animation:glA 5s infinite}
.glitch::after{color:#3affe1;transform:translate(2px,0);mix-blend-mode:screen;animation:glB 5s infinite}
@keyframes glA{0%,90%,100%{opacity:0;transform:translate(0,0)}91%{opacity:.5;transform:translate(-3px,1px)}93%{opacity:.5;transform:translate(2px,-1px)}95%{opacity:.5;transform:translate(-2px,0)}}
@keyframes glB{0%,90%,100%{opacity:0;transform:translate(0,0)}92%{opacity:.45;transform:translate(3px,-1px)}94%{opacity:.45;transform:translate(-2px,1px)}96%{opacity:.45;transform:translate(2px,0)}}
.shine{position:relative;display:inline-block;color:var(--c-yellow);background:linear-gradient(110deg,#fcdf00 35%,#fff 45%,#fff 50%,#fcdf00 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:300% 100%;background-position:100% 0;animation:shine 4s ease-in-out infinite}
@keyframes shine{0%,100%{background-position:100% 0}50%{background-position:0% 0}}
.pulse{color:var(--c-yellow);font-weight:600;animation:pulseGlow 2.2s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{text-shadow:0 0 8px rgba(252,223,0,.3),0 0 16px var(--y-14)}50%{text-shadow:0 0 16px rgba(252,223,0,.55),0 0 32px rgba(252,223,0,.30)}}
.skip-link{position:absolute;top:-100px;left:var(--s-2);background:var(--c-yellow);color:var(--c-black);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);font-weight:700;z-index:200;transition:top var(--dur-base)}
.skip-link:focus{top:var(--s-2)}
.container{max-width:var(--max);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}
.section{padding-block:clamp(48px,8vw,112px);position:relative}
/* v22 Fase 1c · Background layers multi-camada (GMTAG+MOTOBOYS aesthetic)
   Stack global (fixed, ordem z crescente):
   .bg-overlay  · vignette dark gradient (camada base)
   .bg-grid     · grid linear 48px yellow (mask radial)
   .bg-halftone · dots base global (mask elliptical)
   .bg-lights   · 4 ambient radial lights yellow+white
   .fx-noise    · grain texture branco
   Stack per-section (absolute dentro de section):
   .ht-fade .tl/.tr/.bl/.br · halftones cornered com radial mask
   .ht-tight/.ht-loose · halftones uniformes denso/raro
   .ht-lines-y/.ht-lines-w · linhas 45° yellow/white
   .scanline    · linha 2px varrendo vertical
   .hud-worldradar · radar tactical SVG (com .sm/.md/.lg)
   .hud-circuit-l/.hud-circuit-r · circuit paths SVG */
.bg-overlay,.bg-grid,.bg-halftone,.bg-lights,.fx-noise{position:fixed;inset:0;pointer-events:none}
.bg-overlay{z-index:0;background:radial-gradient(ellipse 65% 50% at 50% 45%,rgba(8,8,10,.55) 0%,rgba(8,8,10,0) 75%),linear-gradient(180deg,rgba(8,8,10,.30) 0%,rgba(8,8,10,.55) 50%,rgba(8,8,10,.35) 100%)}
.bg-grid{z-index:0;background-image:linear-gradient(rgba(252,223,0,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.08) 1px,transparent 1px);background-size:48px 48px,48px 48px;background-position:0 0,0 0;opacity:.30;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 50%,transparent 0%,transparent 35%,#000 95%);mask-image:radial-gradient(ellipse 75% 65% at 50% 50%,transparent 0%,transparent 35%,#000 95%)}
.bg-halftone{z-index:0;background-image:radial-gradient(rgba(252,223,0,.32) 1px,transparent 1.6px);background-size:22px 22px;opacity:.08;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 35%,transparent 0%,transparent 50%,#000 100%);mask-image:radial-gradient(ellipse 70% 55% at 50% 35%,transparent 0%,transparent 50%,#000 100%)}
.bg-lights{z-index:0;background:radial-gradient(ellipse 55% 35% at 8% 12%,rgba(252,223,0,.10) 0%,transparent 65%),radial-gradient(ellipse 38% 30% at 92% 45%,rgba(255,255,255,.04) 0%,transparent 70%),radial-gradient(ellipse 48% 36% at 92% 90%,rgba(252,223,0,.08) 0%,transparent 65%),radial-gradient(ellipse 32% 26% at 5% 75%,rgba(255,255,255,.04) 0%,transparent 70%);mix-blend-mode:screen;opacity:.70}
.fx-noise{z-index:1;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body > main, body > nav, body > footer{position:relative;z-index:2}
/* v22 Fase 1c · Per-section halftones (absolute dentro de section relative) */
.ht-dotgrad,.ht-lines,.ht-diamonds{position:absolute;pointer-events:none;mix-blend-mode:screen;z-index:0}
.ht-dotgrad.y-r{top:0;right:0;width:34%;max-width:340px;height:70%;background-image:radial-gradient(rgba(252,223,0,.55) 1.4px,transparent 2px);background-size:16px 16px;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 75%);opacity:.30}
.ht-dotgrad.y-l{bottom:0;left:0;width:30%;max-width:300px;height:60%;background-image:radial-gradient(rgba(252,223,0,.5) 1.4px,transparent 2px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);opacity:.22}
.ht-dotgrad.w-r{bottom:0;right:0;width:28%;max-width:260px;height:55%;background-image:radial-gradient(rgba(255,255,255,.32) 1.2px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at bottom right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom right,#000 0%,transparent 72%);opacity:.20}
.ht-dotgrad.w-l{top:0;left:0;width:32%;max-width:300px;height:55%;background-image:radial-gradient(rgba(255,255,255,.28) 1.2px,transparent 1.7px);background-size:15px 15px;-webkit-mask-image:radial-gradient(ellipse at top left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top left,#000 0%,transparent 72%);opacity:.18}
.ht-lines.y-r{top:0;right:0;width:32%;max-width:320px;height:65%;background-image:repeating-linear-gradient(135deg,rgba(252,223,0,.32) 0,rgba(252,223,0,.32) 1px,transparent 1px,transparent 9px);-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.28}
.ht-lines.y-l{bottom:0;left:0;width:30%;max-width:300px;height:60%;background-image:repeating-linear-gradient(45deg,rgba(252,223,0,.28) 0,rgba(252,223,0,.28) 1px,transparent 1px,transparent 9px);-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);opacity:.22}
.ht-lines.w-l{bottom:0;left:0;width:28%;max-width:260px;height:55%;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 1px,transparent 1px,transparent 10px);-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);opacity:.18}
.ht-lines.w-r{top:0;right:0;width:28%;max-width:260px;height:55%;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 1px,transparent 1px,transparent 10px);-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.18}
.ht-diamonds.y-tr{top:0;right:0;width:26%;max-width:260px;height:55%;background-image:linear-gradient(45deg,rgba(252,223,0,.32) 1px,transparent 1px),linear-gradient(-45deg,rgba(252,223,0,.32) 1px,transparent 1px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.32}
.ht-diamonds.y-bl{bottom:0;left:0;width:28%;max-width:280px;height:55%;background-image:linear-gradient(45deg,rgba(252,223,0,.28) 1px,transparent 1px),linear-gradient(-45deg,rgba(252,223,0,.28) 1px,transparent 1px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);opacity:.28}
.ht-diamonds.w-bl{bottom:0;left:0;width:30%;max-width:280px;height:60%;background-image:linear-gradient(45deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(-45deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:12px 12px;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);opacity:.20}
.ht-diamonds.w-tr{top:0;right:0;width:30%;max-width:280px;height:60%;background-image:linear-gradient(45deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(-45deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:12px 12px;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.18}
.sec-halftone{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;z-index:0}
.sec-halftone.dots{opacity:.10;background-image:radial-gradient(rgba(252,223,0,.4) 1px,transparent 1.6px);background-size:18px 18px}
.sec-halftone.dots-r{opacity:.08;background-image:radial-gradient(rgba(252,223,0,.35) 1px,transparent 1.4px);background-size:22px 22px}
.sec-halftone.dots-w{opacity:.07;background-image:radial-gradient(rgba(255,255,255,.30) 1px,transparent 1.5px);background-size:20px 20px}
/* v22 Fase 1k · sec-halftone.arcs (do /agenda/ GMTAG) · arcos concêntricos */
.sec-halftone.arcs-l{background-image:repeating-radial-gradient(circle at 0% 50%,rgba(252,223,0,.4) 0 1.2px,transparent 1.2px 14px)!important;-webkit-mask-image:radial-gradient(ellipse 55% 90% at 0% 50%,#000 0%,transparent 62%)!important;mask-image:radial-gradient(ellipse 55% 90% at 0% 50%,#000 0%,transparent 62%)!important;opacity:.20!important}
.sec-halftone.arcs-r{background-image:repeating-radial-gradient(circle at 100% 50%,rgba(252,223,0,.4) 0 1.2px,transparent 1.2px 14px)!important;-webkit-mask-image:radial-gradient(ellipse 55% 90% at 100% 50%,#000 0%,transparent 62%)!important;mask-image:radial-gradient(ellipse 55% 90% at 100% 50%,#000 0%,transparent 62%)!important;opacity:.20!important}
.sec-halftone.arcs-c{background-image:repeating-radial-gradient(circle at 50% 50%,rgba(252,223,0,.45) 0 1.4px,transparent 1.4px 22px)!important;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0%,#000 30%,transparent 75%)!important;mask-image:radial-gradient(circle at 50% 50%,#000 0%,#000 30%,transparent 75%)!important;opacity:.25!important}


/* v22 Fase 1c · HUDs per-section (scanline, worldradar, circuit) */
.scanline{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(252,223,0,.55),transparent);pointer-events:none;z-index:4;opacity:.7;animation:scanY 11s linear infinite}
@keyframes scanY{0%{top:0}100%{top:100%}}
.hud-worldradar{position:absolute;pointer-events:none;z-index:0;opacity:.20;mix-blend-mode:screen;transform:translateZ(0)}
.hud-worldradar.sm{width:120px;height:120px}
.hud-worldradar.md{width:170px;height:170px}
.hud-worldradar.lg{width:220px;height:220px}
.hud-worldradar.faint{opacity:.14}
.radar-sweep{transform-origin:50% 50%;animation:radarSpin 5s linear infinite}
.radar-sweep.slow{animation-duration:8s}
.radar-sweep.fast{animation-duration:3.4s}
@keyframes radarSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.hud-circuit-l,.hud-circuit-r{position:absolute;pointer-events:none;z-index:0;mix-blend-mode:screen;transform:translateZ(0)}
.hud-circuit-l{width:310px;height:200px;opacity:.20}
.hud-circuit-r{width:300px;height:110px;opacity:.18}
@media (max-width:1100px){.hud-worldradar,.hud-circuit-l,.hud-circuit-r,.scanline{display:none!important}}
/* v22 Fase 1d · Biblioteca HUDs específicos (MOTOBOYS aesthetic) */
.hud-panel,.hud-status-mon,.hud-speedo,.hud-bgcard,.hud-users,.hud-radial,.hud-tag,.hud-frame,.fhud{position:absolute;pointer-events:none;mix-blend-mode:normal;transform:translateZ(0)}
.hud-panel{z-index:3;opacity:.5;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55));contain:layout style paint}
.hud-panel.net{top:8%;right:18px;width:110px;height:180px;opacity:.30}
.hud-panel.diag{width:120px;height:170px;opacity:.30}
.hud-status-mon{z-index:3;width:160px;height:100px;opacity:.40}
.hud-speedo{z-index:3;width:110px;height:110px;top:4%;right:18px;opacity:.45;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6))}
.hud-bgcard{z-index:0;width:180px;height:auto;bottom:10%;right:3%;opacity:.38;mix-blend-mode:screen}
.hud-users{z-index:3;width:140px;height:60px;top:5%;left:18px;opacity:.38}
.hud-radial{z-index:3;width:110px;height:110px;top:6%;left:18px;opacity:.40}
.hud-tag{z-index:4;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}
.hud-tag.signal{top:2%;right:-4%;width:36%;max-width:185px;opacity:.95;animation:hudFloat 5s ease-in-out infinite}
.hud-tag.battery{bottom:4%;right:2%;width:26%;max-width:130px;opacity:.85;animation:hudFloat 6s ease-in-out infinite reverse}
.hud-tag.ping{top:8%;left:-4%;width:24%;max-width:120px;opacity:.7;animation:hudFloat 5.5s ease-in-out infinite}
@keyframes hudFloat{0%,100%{transform:translateY(0) translateZ(0)}50%{transform:translateY(-6px) translateZ(0)}}
.hud-frame{position:absolute;font-family:var(--f-mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(252,223,0,.4);pointer-events:none;line-height:1.7;z-index:4}
.hud-frame.tl{top:14px;left:18px}
.hud-frame.tr{top:14px;right:18px;text-align:right}
.fhud{z-index:3;opacity:.30;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55));contain:layout style paint}
.fhud svg{display:block;width:100%;height:100%}
.fhud.fhud-l1{top:4%;left:14px;width:200px;height:200px}
.fhud.fhud-l2{top:34%;left:14px;width:210px;height:150px}
.fhud.fhud-l3{bottom:5%;left:14px;width:200px;height:200px}
.fhud.fhud-r1{top:4%;right:14px;width:220px;height:120px}
.fhud.fhud-r2{top:34%;right:14px;width:210px;height:130px}
.fhud.fhud-r3{bottom:5%;right:14px;width:210px;height:170px}
.header-hud{display:inline-flex;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-items:center;gap:var(--s-3)}
.header-hud .dot{width:6px;height:6px;border-radius:50%;background:var(--c-green);box-shadow:0 0 8px var(--c-green);animation:pulseGmHud 1.6s ease-in-out infinite}
@keyframes pulseGmHud{0%,100%{opacity:1}50%{opacity:.4}}

/* v22 Fase 1e · ht-circles / ht-wave / ht-burst (GMTAG circular halftones) */
.ht-circles,.ht-wave,.ht-burst{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;z-index:0}
.ht-circles.tl{background-image:radial-gradient(circle at 8% 12%,rgba(252,223,0,.5) 0,rgba(252,223,0,.5) 14px,transparent 16px),radial-gradient(circle at 22% 28%,rgba(252,223,0,.4) 0,rgba(252,223,0,.4) 9px,transparent 11px),radial-gradient(circle at 38% 8%,rgba(252,223,0,.35) 0,rgba(252,223,0,.35) 6px,transparent 8px),radial-gradient(circle at 14% 42%,rgba(252,223,0,.4) 0,rgba(252,223,0,.4) 18px,transparent 20px),radial-gradient(circle at 30% 55%,rgba(252,223,0,.3) 0,rgba(252,223,0,.3) 11px,transparent 13px),radial-gradient(circle at 6% 70%,rgba(252,223,0,.4) 0,rgba(252,223,0,.4) 22px,transparent 24px),radial-gradient(circle at 25% 85%,rgba(252,223,0,.25) 0,rgba(252,223,0,.25) 7px,transparent 9px),radial-gradient(circle at 44% 38%,rgba(252,223,0,.2) 0,rgba(252,223,0,.2) 4px,transparent 6px);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 0% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 0% 30%,#000 0%,transparent 75%);opacity:.40}
.ht-circles.tr{background-image:radial-gradient(circle at 92% 18%,rgba(252,223,0,.45) 0,rgba(252,223,0,.45) 16px,transparent 18px),radial-gradient(circle at 78% 32%,rgba(252,223,0,.35) 0,rgba(252,223,0,.35) 10px,transparent 12px),radial-gradient(circle at 88% 50%,rgba(252,223,0,.4) 0,rgba(252,223,0,.4) 20px,transparent 22px),radial-gradient(circle at 70% 12%,rgba(252,223,0,.3) 0,rgba(252,223,0,.3) 7px,transparent 9px),radial-gradient(circle at 60% 28%,rgba(252,223,0,.25) 0,rgba(252,223,0,.25) 5px,transparent 7px),radial-gradient(circle at 82% 70%,rgba(252,223,0,.3) 0,rgba(252,223,0,.3) 12px,transparent 14px),radial-gradient(circle at 95% 85%,rgba(252,223,0,.4) 0,rgba(252,223,0,.4) 24px,transparent 26px);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 100% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 100% 30%,#000 0%,transparent 75%);opacity:.30}
.ht-circles.bl{background-image:radial-gradient(circle at 6% 88%,rgba(252,223,0,.5) 0,rgba(252,223,0,.5) 22px,transparent 24px),radial-gradient(circle at 22% 92%,rgba(252,223,0,.4) 0,rgba(252,223,0,.4) 14px,transparent 16px),radial-gradient(circle at 14% 70%,rgba(252,223,0,.35) 0,rgba(252,223,0,.35) 9px,transparent 11px),radial-gradient(circle at 32% 78%,rgba(252,223,0,.3) 0,rgba(252,223,0,.3) 6px,transparent 8px),radial-gradient(circle at 4% 58%,rgba(252,223,0,.25) 0,rgba(252,223,0,.25) 4px,transparent 6px);-webkit-mask-image:radial-gradient(ellipse 60% 80% at 0% 100%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse 60% 80% at 0% 100%,#000 0%,transparent 70%);opacity:.45}
.ht-circles.br{background-image:radial-gradient(circle at 92% 88%,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 18px,transparent 20px),radial-gradient(circle at 78% 78%,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 11px,transparent 13px),radial-gradient(circle at 88% 65%,rgba(255,255,255,.16) 0,rgba(255,255,255,.16) 7px,transparent 9px),radial-gradient(circle at 70% 92%,rgba(255,255,255,.13) 0,rgba(255,255,255,.13) 5px,transparent 7px);-webkit-mask-image:radial-gradient(ellipse 50% 70% at 100% 100%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse 50% 70% at 100% 100%,#000 0%,transparent 70%);opacity:.35}
.ht-wave{background-image:radial-gradient(rgba(252,223,0,.5) 1.6px,transparent 2.4px);background-size:18px 18px;-webkit-mask-image:linear-gradient(165deg,#000 0%,transparent 30%,#000 60%,transparent 100%);mask-image:linear-gradient(165deg,#000 0%,transparent 30%,#000 60%,transparent 100%);opacity:.20}
.ht-burst{background-image:radial-gradient(circle at 50% 50%,rgba(252,223,0,.55) 1px,transparent 1.6px);background-size:24px 24px;-webkit-mask-image:radial-gradient(circle at 0% 100%,#000 0%,#000 15%,transparent 60%);mask-image:radial-gradient(circle at 0% 100%,#000 0%,#000 15%,transparent 60%);opacity:.35}
.ht-burst.br{-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 0%,#000 15%,transparent 60%);mask-image:radial-gradient(circle at 100% 100%,#000 0%,#000 15%,transparent 60%)}
.ht-burst.tl{-webkit-mask-image:radial-gradient(circle at 0% 0%,#000 0%,#000 15%,transparent 60%);mask-image:radial-gradient(circle at 0% 0%,#000 0%,#000 15%,transparent 60%)}
.ht-burst.tr{-webkit-mask-image:radial-gradient(circle at 100% 0%,#000 0%,#000 15%,transparent 60%);mask-image:radial-gradient(circle at 100% 0%,#000 0%,#000 15%,transparent 60%)}
/* v22 Fase 1g · Variantes de tamanho de dots + grid ortogonal halftone */
.ht-dots-xs,.ht-dots-sm,.ht-dots-md,.ht-dots-lg,.ht-grid-ortho{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;z-index:0}
.ht-dots-xs.y-l{background-image:radial-gradient(rgba(252,223,0,.55) .6px,transparent 1.2px);background-size:8px 8px;opacity:.28;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 65%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 65%)}
.ht-dots-xs.w-r{background-image:radial-gradient(rgba(255,255,255,.40) .6px,transparent 1.2px);background-size:8px 8px;opacity:.20;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 65%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 65%)}
.ht-dots-sm.y-r{background-image:radial-gradient(rgba(252,223,0,.50) 1px,transparent 1.6px);background-size:14px 14px;opacity:.30;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 70%)}
.ht-dots-md.w-r{background-image:radial-gradient(rgba(255,255,255,.30) 1.4px,transparent 2px);background-size:22px 22px;opacity:.24;-webkit-mask-image:radial-gradient(ellipse at bottom right,#000 0%,transparent 65%);mask-image:radial-gradient(ellipse at bottom right,#000 0%,transparent 65%)}
.ht-dots-md.y-bl{background-image:radial-gradient(rgba(252,223,0,.40) 1.4px,transparent 2px);background-size:22px 22px;opacity:.28;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%)}
.ht-dots-lg.y-r{background-image:radial-gradient(rgba(252,223,0,.40) 2px,transparent 3px);background-size:32px 32px;opacity:.32;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 70%)}
.ht-dots-lg.w-bl{background-image:radial-gradient(rgba(255,255,255,.22) 2px,transparent 3px);background-size:32px 32px;opacity:.22;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%)}
.ht-grid-ortho.y-l{background-image:linear-gradient(rgba(252,223,0,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.18) 1px,transparent 1px);background-size:32px 32px,32px 32px;opacity:.32;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 75%)}
.ht-grid-ortho.w-r{background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:40px 40px,40px 40px;opacity:.22;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 75%)}

/* v22 Fase 1m · ht-grid-ortho.full · grid background completo com mask elíptica central */
.ht-grid-ortho.full{background-image:linear-gradient(rgba(252,223,0,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.16) 1px,transparent 1px)!important;background-size:36px 36px,36px 36px!important;opacity:.35!important;-webkit-mask-image:radial-gradient(ellipse 90% 85% at 50% 50%,#000 0%,#000 50%,transparent 95%)!important;mask-image:radial-gradient(ellipse 90% 85% at 50% 50%,#000 0%,#000 50%,transparent 95%)!important}

/* v22 Fase 1n · ht-grid-ortho.dense · grid 28px amarelo discreto pra section #planos */
.ht-grid-ortho.dense{background-image:linear-gradient(rgba(252,223,0,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.13) 1px,transparent 1px)!important;background-size:28px 28px,28px 28px!important;opacity:.40!important;-webkit-mask-image:radial-gradient(ellipse 95% 90% at 50% 50%,#000 0%,#000 55%,transparent 100%)!important;mask-image:radial-gradient(ellipse 95% 90% at 50% 50%,#000 0%,#000 55%,transparent 100%)!important}
.ht-grid-ortho.dense-soft{background-image:linear-gradient(rgba(252,223,0,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.13) 1px,transparent 1px)!important;background-size:32px 32px,32px 32px!important;opacity:.45!important;-webkit-mask-image:radial-gradient(ellipse 95% 90% at 50% 50%,#000 0%,#000 50%,transparent 100%)!important;mask-image:radial-gradient(ellipse 95% 90% at 50% 50%,#000 0%,#000 50%,transparent 100%)!important}

/* v22 Fase 1f · Section veil (overlay escuro radial center · abafa ruído) */
.section-veil{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(8,8,10,.55) 0%,rgba(8,8,10,.25) 55%,transparent 90%)}
.section-veil.soft{background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(8,8,10,.35) 0%,transparent 80%)}
.section-veil.strong{background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(8,8,10,.70) 0%,rgba(8,8,10,.40) 50%,transparent 95%)}
.section-veil.top{background:linear-gradient(180deg,rgba(8,8,10,.55) 0%,transparent 70%)}
.section-veil.bottom{background:linear-gradient(0deg,rgba(8,8,10,.55) 0%,transparent 70%)}


/* v22 Fase 1e · HUDs telemetry e cycles */
.hud-telemetry,.hud-cycles{position:absolute;pointer-events:none;mix-blend-mode:normal;transform:translateZ(0);z-index:3}
.hud-telemetry{width:220px;height:120px;opacity:.35;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6))}
.hud-cycles{width:200px;height:200px;opacity:.30;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6))}
@keyframes fhudNeedle{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(35deg)}}
@media (max-width:1100px){.hud-panel,.hud-status-mon,.hud-speedo,.hud-bgcard,.hud-users,.hud-radial,.hud-telemetry,.hud-cycles,.fhud,.hud-circuit-l,.hud-circuit-r,.hud-worldradar,.hud-tag,.hud-frame,.scanline{display:none!important}}

.h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2.125rem,6.2vw,4.5rem);line-height:1.02;letter-spacing:-.022em;color:var(--txt);text-wrap:balance;hyphens:none;-webkit-hyphens:none;word-wrap:normal;overflow-wrap:normal}
.h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.75rem,4.5vw,3rem);line-height:1.06;letter-spacing:-.018em;color:var(--txt);text-wrap:balance;hyphens:none;-webkit-hyphens:none}
.h3{font-family:var(--f-display);font-weight:700;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.18;letter-spacing:-.012em;color:var(--txt);hyphens:none}
.lead{font-family:var(--f-body);font-weight:400;color:var(--txt-2);font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.65;max-width:62ch;text-wrap:pretty}
p{font-family:var(--f-body);text-wrap:pretty;hyphens:none}
.muted{color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);padding:7px var(--s-4) 7px var(--s-3);border:1px solid var(--c-yellow);border-radius:var(--r-full);background:var(--y-07);font-family:var(--f-mono);font-weight:600;font-size:var(--t-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--c-yellow);align-self:flex-start;width:fit-content;box-shadow:0 0 18px var(--y-10),inset 0 0 0 1px var(--y-07)}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-yellow);box-shadow:0 0 8px var(--c-yellow),0 0 0 3px var(--y-18)}
.eyebrow.green{border-color:var(--c-green);color:#9af2c1;background:var(--g-10);box-shadow:0 0 18px var(--g-10),inset 0 0 0 1px var(--g-10)}
.eyebrow.green::before{background:var(--c-green);box-shadow:0 0 8px var(--c-green),0 0 0 3px var(--g-22)}
.eyebrow.orange{border-color:var(--c-orange);color:#ffc88a;background:rgba(255,156,31,.08);box-shadow:0 0 18px rgba(255,156,31,.10),inset 0 0 0 1px rgba(255,156,31,.08)}
.eyebrow.orange::before{background:var(--c-orange);box-shadow:0 0 8px var(--c-orange),0 0 0 3px rgba(255,156,31,.22)}
.eyebrow.red{border-color:var(--c-red);color:#ffb0b0;background:rgba(255,77,77,.08);box-shadow:0 0 18px rgba(255,77,77,.10),inset 0 0 0 1px rgba(255,77,77,.08)}
.eyebrow.red::before{background:var(--c-red);box-shadow:0 0 8px var(--c-red),0 0 0 3px rgba(255,77,77,.22)}
.tag{display:inline-flex;align-items:center;gap:var(--s-2);padding:6px var(--s-3);border:1px solid;border-radius:var(--r-full);font-family:var(--f-mono);font-weight:600;font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;line-height:1;white-space:nowrap;width:fit-content}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.tag-sm{font-size:.625rem;padding:5px 10px}
.tag-yellow{border-color:var(--c-yellow);color:var(--c-yellow);background:var(--y-07);box-shadow:0 0 14px var(--y-10)}
.tag-yellow::before{box-shadow:0 0 8px var(--c-yellow),0 0 0 3px var(--y-18)}
.tag-green{border-color:var(--c-green);color:#9af2c1;background:var(--g-10);box-shadow:0 0 14px var(--g-10)}
.tag-orange{border-color:var(--c-orange);color:#ffc88a;background:rgba(255,156,31,.10);box-shadow:0 0 14px rgba(255,156,31,.10)}
.tag-red{border-color:var(--c-red);color:#ffb0b0;background:rgba(255,77,77,.10);box-shadow:0 0 14px rgba(255,77,77,.10)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-4) 22px;border-radius:var(--r-full);font-family:var(--f-body);font-weight:700;font-size:var(--t-sm);letter-spacing:.02em;border:1px solid var(--line);background:var(--c-g2);color:var(--txt);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-base),border-color var(--dur-base),box-shadow .35s;cursor:pointer;text-align:center;overflow:hidden;min-height:48px;line-height:1.2}
.btn::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--w-10),transparent);transition:left .8s var(--ease-out)}
.btn:hover{transform:translateY(-1px);border-color:var(--line-2)}
.btn:hover::after{left:100%}
.btn-yellow{background:var(--grad-yellow);border-color:var(--c-yellow);color:var(--c-black);box-shadow:0 6px 22px var(--y-18)}
.btn-yellow:hover{box-shadow:var(--neon-y)}
.btn-green{background:var(--c-green);border-color:var(--c-green);color:var(--c-black)}
.btn-green:hover{background:var(--c-green-2);box-shadow:var(--neon-g)}
.btn-outline{background:transparent;border:1px solid var(--c-g5);color:var(--txt)}
.btn-outline:hover{border-color:var(--c-yellow);color:var(--c-yellow);box-shadow:0 0 0 1px var(--c-yellow) inset,0 0 16px var(--y-18)}
.btn-lg{padding:15px 28px;font-size:var(--t-base);min-height:52px}
.btn svg{width:16px;height:16px}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);background:rgba(1,1,1,.78);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);height:68px;position:relative}
@media(max-width:1099px){.nav-inner{justify-content:flex-end}.nav-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}}
.nav-logo{display:inline-flex;align-items:center;color:var(--txt);flex-shrink:0;transition:filter var(--dur-base)}
.nav-logo:hover{filter:drop-shadow(0 0 8px var(--y-32))}
.brand-logo{height:28px;width:auto;display:block;background:transparent !important}
.footer-brand .brand-logo{height:34px}
@media(max-width:374px){.brand-logo{height:22px}}
@media(min-width:1100px){.brand-logo{height:30px}}
.nav-links{display:none}
.nav-actions{display:flex;align-items:center;gap:var(--s-2)}
.nav-cta-area,.nav-cta-track{display:none}
.nav-toggle{width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--c-g1);display:inline-flex;align-items:center;justify-content:center}
.nav-toggle svg{width:18px;height:18px;color:var(--txt)}
@media(min-width:1100px){.nav-cta-track,.nav-cta-area{display:inline-flex}}
/* MOBILE CTA ROW · §6.3 do briefing · 2 botões abaixo do logo visíveis ≤1099px */
.nav-cta-row{display:none;gap:8px;padding-top:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.btn-nav-mobile{flex:1 1 0;min-height:42px;padding:8px 10px;font-size:.75rem;letter-spacing:.02em;border-radius:var(--r-sm);min-width:0;font-weight:700;white-space:nowrap}
.btn-nav-mobile svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:1099px){.nav-cta-row{display:flex}}
@media(min-width:1100px){.nav-cta-row{display:none !important}}
@media(max-width:374px){.btn-nav-mobile{font-size:.6875rem;padding:8px 6px}.btn-nav-mobile svg{display:none}}
@media(min-width:1100px){.nav-inner{height:78px}.nav-links{display:flex;align-items:center;gap:var(--s-1);flex:1;justify-content:center}.nav-links a{padding:10px 18px;border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--txt-2);font-weight:500;transition:color var(--dur-base),background var(--dur-base)}.nav-links a:hover{color:var(--txt);background:var(--c-g1)}.nav-links a.active{color:var(--c-yellow)}.nav-toggle{display:none}}
.mobile-drawer{position:fixed;inset:0;z-index:60;background:var(--k-95);backdrop-filter:blur(14px);display:none;flex-direction:column;padding:144px var(--s-5) var(--s-6);overflow-y:auto}
@media(max-width:639px){.mobile-drawer{padding-top:132px}}
.mobile-drawer.open{display:flex}
.mobile-drawer .md-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--c-g1);color:var(--txt);display:flex;align-items:center;justify-content:center}
.mobile-drawer .md-links a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-weight:700;font-size:1.375rem;color:var(--txt)}
.mobile-drawer .md-links a::after{content:"→";color:var(--c-yellow);opacity:.6}
.mobile-drawer .md-cta{margin-top:var(--s-6);display:flex;flex-direction:column;gap:var(--s-2)}
@media(min-width:1100px){.mobile-drawer{display:none !important}}

/* HERO */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(1400px 700px at 85% -5%,var(--y-18),transparent 50%),radial-gradient(1000px 600px at 15% 120%,rgba(252,223,0,.06),transparent 45%),linear-gradient(180deg,var(--c-g1) 0%,var(--c-black) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 75% at 50% 35%,#000 25%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 90% 75% at 50% 35%,#000 25%,transparent 80%);pointer-events:none}
.hero-inner{position:relative;padding:clamp(40px,8vw,96px) 0 clamp(36px,6vw,80px);display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:var(--s-4);text-align:center;align-items:center}
/* Hero-sub: TEXT-ALIGN LEFT (justificado à esquerda) + BLOCO CENTRALIZADO (margin auto) — calibração do CEO */
/* Hero-sub: mobile 2 linhas via .br-mob · desktop 1 linha (max-width amplo) */
.hero-sub{color:var(--txt-2);font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.6;max-width:42ch;text-wrap:pretty;text-align:left;margin-inline:auto;width:fit-content}
@media(min-width:820px){.hero-sub{margin-inline:0;max-width:none;width:auto}}
.br-mob{display:inline}
@media(min-width:820px){.br-mob{display:none}}

.hero-cta-row{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3);justify-content:center}
.hero-cta-row .btn{flex:1 1 auto;min-width:220px}
.hero-visual{position:relative;border-radius:var(--r-2xl);overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9;width:100%;box-shadow:var(--sh-2)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;display:block;object-fit:cover;cursor:pointer}
.video-play-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--c-yellow);color:var(--c-black);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);box-shadow:var(--neon-y),0 8px 24px rgba(0,0,0,.5)}
.video-play-center svg{width:36px;height:36px;margin-left:6px}
.video-play-center:hover{transform:translate(-50%,-50%) scale(1.08)}
.hero-visual.is-paused .video-play-center{opacity:1;pointer-events:auto;animation:pulseRing 2.5s ease-out infinite}
.hero-visual .live-badge{position:absolute;left:14px;top:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:6px var(--s-3) 6px 10px;border-radius:var(--r-full);border:1px solid var(--c-yellow);background:var(--k-85);backdrop-filter:blur(6px);font-family:var(--f-mono);font-weight:700;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-yellow);width:fit-content;box-shadow:0 0 18px var(--y-10),inset 0 0 0 1px var(--y-07)}
.hero-visual .live-badge svg{flex-shrink:0;filter:drop-shadow(0 0 4px var(--y-40))}

.hero-visual .caption{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;color:var(--txt);font-family:var(--f-display);font-weight:700;font-size:var(--t-sm);line-height:1.2;text-align:center;text-shadow:0 2px 12px var(--k-85)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}

.numbers{padding-block:clamp(40px,6vw,72px);background:var(--c-black);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.numbers::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center top,rgba(252,223,0,.08),transparent 60%);pointer-events:none}
.numbers::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(252,223,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 70% at 50% 50%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 50%,#000 30%,transparent 80%);pointer-events:none}
.numbers-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3);text-align:center;max-width:960px;margin:0 auto;z-index:1}
.num-cell{display:flex;flex-direction:column;gap:var(--s-3);align-items:center;justify-content:center;padding:var(--s-6) var(--s-4);min-height:180px;border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(35,35,35,.55),rgba(23,23,23,.55));backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border:1px solid var(--y-32);box-shadow:0 0 24px rgba(252,223,0,.08),inset 0 1px 0 var(--w-06);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base),box-shadow var(--dur-base),background var(--dur-base)}
.num-cell:hover{transform:translateY(-3px);border-color:var(--c-yellow);background:linear-gradient(180deg,rgba(48,48,48,.65),rgba(35,35,35,.65));box-shadow:0 0 32px var(--y-22),inset 0 1px 0 var(--w-08)}
.num-cell .v{font-family:var(--f-display);font-weight:700;font-size:clamp(2.25rem,8vw,3.5rem);color:var(--c-yellow);line-height:1;letter-spacing:-.03em}
.num-cell .ndiv{width:32px;height:2px;background:var(--c-yellow);opacity:.7;border-radius:2px;box-shadow:0 0 8px rgba(252,223,0,.5)}
.num-cell .l{font-family:var(--f-mono);font-weight:600;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-2);max-width:16ch;line-height:1.4;text-align:center}

.section-head{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:clamp(32px,5vw,56px);max-width:780px;align-items:flex-start;text-align:left}
.section-head.center{text-align:center;margin-inline:auto;align-items:center}
/* GLOBAL · eyebrow tag sempre centralizada quando section-head.center, em TODOS os dispositivos */
.section-head.center .eyebrow,
.section-head.center > .eyebrow{align-self:center !important;margin-inline:auto !important}
.section-head.center h1,
.section-head.center h2,
.section-head.center .h1,
.section-head.center .h2,
.section-head.center .lead{text-align:center !important;margin-inline:auto !important}
.r{opacity:1;transform:none;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.js-ready .r{opacity:0;transform:translateY(24px)}
.js-ready .r.in,.r.in{opacity:1;transform:translateY(0)}
.r-1{transition-delay:.05s}.r-2{transition-delay:.1s}.r-3{transition-delay:.15s}.r-4{transition-delay:.2s}.r-5{transition-delay:.25s}.r-6{transition-delay:.3s}

.features{display:grid;grid-template-columns:1fr;gap:var(--s-4);max-width:520px;margin:0 auto}
.feat{position:relative;padding:var(--s-5);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--c-g1);display:flex;flex-direction:column;gap:var(--s-3);transition:transform .35s var(--ease-out),border-color var(--dur-base),box-shadow .35s}
.feat:hover{transform:translateY(-4px);border-color:var(--c-g5);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.feat.highlight{border-color:var(--c-yellow);background:var(--grad-card-feat)}
.feat.highlight:hover{box-shadow:0 18px 40px rgba(0,0,0,.5),var(--neon-y)}
.feat h3{font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);line-height:1.18;color:var(--txt)}
.feat p{font-size:var(--t-base);color:var(--txt-3);line-height:1.55}
.feat .badge-fipe{margin-top:auto;display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:6px var(--s-3);border:1px solid var(--c-yellow);border-radius:var(--r-full);background:var(--y-10);color:var(--c-yellow);font-family:var(--f-mono);font-weight:700;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;animation:pulseGlow 3s ease-in-out infinite}

.personas-grid{display:grid;grid-template-columns:1fr;gap:var(--s-4);max-width:380px;margin:0 auto}
.persona{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--c-g1);display:flex;flex-direction:column;min-height:240px;transition:transform .35s var(--ease-out),border-color var(--dur-base),box-shadow .35s}
.persona:hover{transform:translateY(-4px);border-color:var(--c-g5);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.persona-visual{position:relative;height:120px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,var(--y-10),transparent 65%),linear-gradient(135deg,var(--c-g2),var(--c-black));overflow:hidden;border-bottom:1px solid var(--line)}
.persona-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(252,223,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.04) 1px,transparent 1px);background-size:20px 20px;opacity:.7}

.persona:hover .persona-icon{transform:scale(1.08) rotate(-3deg);box-shadow:0 0 36px var(--y-40)}

.persona-icon.green{border-color:var(--c-green);color:#9af2c1;background:linear-gradient(135deg,rgba(37,211,102,.18),rgba(37,211,102,.05));box-shadow:0 0 24px rgba(37,211,102,.25)}
.persona-icon.orange{border-color:var(--c-orange);color:#ffc88a;background:linear-gradient(135deg,rgba(255,156,31,.18),rgba(255,156,31,.05));box-shadow:0 0 24px rgba(255,156,31,.22)}
.persona-icon.red{border-color:var(--c-red);color:#ffb0b0;background:linear-gradient(135deg,rgba(255,77,77,.18),rgba(255,77,77,.05));box-shadow:0 0 24px rgba(255,77,77,.22)}
.persona-body{padding:var(--s-4);display:flex;flex-direction:column;gap:6px;flex:1}
.persona-body h3{font-family:var(--f-display);font-weight:700;font-size:var(--t-base);line-height:1.2;color:var(--txt);margin-top:var(--s-1)}
.persona-body p{font-size:var(--t-sm);color:var(--txt-3);line-height:1.5}

.plans-grid{display:grid;grid-template-columns:1fr;gap:var(--s-4);align-items:stretch;max-width:420px;margin:0 auto}
.plan{position:relative;padding:var(--s-6);border-radius:var(--r-xl);border:1px solid var(--line);background:var(--c-g1);display:flex;flex-direction:column;gap:var(--s-4);transition:transform .35s var(--ease-out),border-color var(--dur-base),box-shadow .35s;overflow:hidden}
.plan::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--c-yellow),transparent);opacity:.3}
.plan:hover{transform:translateY(-6px);border-color:var(--c-g5)}
.plan:hover::before{opacity:.7}
.plan.featured{border:1.5px solid var(--c-yellow);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--neon-y),inset 0 1px 0 var(--w-06)}
.plan.featured::before{opacity:1;height:4px;background:var(--c-yellow);box-shadow:0 0 12px var(--c-yellow)}
.plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:6px var(--s-3);border-radius:var(--r-full);background:var(--grad-yellow);color:var(--c-black);font-family:var(--f-mono);font-weight:700;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;box-shadow:0 4px 14px var(--y-32)}
.plan-shield{width:44px;height:44px;border-radius:var(--r-sm);background:var(--y-14);border:1px solid var(--y-40);display:inline-flex;align-items:center;justify-content:center;color:var(--c-yellow)}
.plan-shield svg{width:22px;height:22px}
.plan h3{font-family:var(--f-display);font-weight:700;font-size:1.3125rem;line-height:1.1;color:var(--txt)}
.plan .plan-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line-2);border-radius:var(--r-full);background:var(--w-04);font-family:var(--f-mono);font-weight:600;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-3);width:fit-content;line-height:1}
.plan .plan-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c-yellow);box-shadow:0 0 5px var(--c-yellow)}
.plan.featured .plan-tag::before{content:"★";width:auto;height:auto;border-radius:0;background:transparent;box-shadow:none;color:var(--c-yellow);font-size:.75rem;line-height:1;text-shadow:0 0 6px var(--c-yellow)}
.plan.featured .plan-tag{border-color:var(--c-yellow);color:var(--c-yellow);background:var(--y-07);box-shadow:0 0 14px var(--y-10)}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-1)}
.plan li{position:relative;padding-left:28px;color:var(--txt-2);font-size:var(--t-base);line-height:1.5}
/* §8 briefing · bullet SVG inline · círculo + checkmark amarelo */
.plan li::before{content:"";position:absolute;left:0;top:.4em;width:14px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' overflow='visible'><circle cx='7' cy='7' r='6' stroke='%23fcdf00' stroke-width='1.2' opacity='0.4' fill='none'/><path d='M4 7L6 9L10 5' stroke='%23fcdf00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;border:0;border-radius:0;box-shadow:none}
.plan li::after{content:none;display:none}
.plan-cta{margin-top:auto;padding-top:var(--s-1)}
.plan-cta .btn{width:100%}
.plans-note{margin-top:var(--s-6);text-align:center;font-family:var(--f-mono);font-size:var(--t-xs);color:var(--txt-3)}
.plans-note a{color:var(--c-yellow);text-decoration:underline;text-underline-offset:4px}

.carousel{position:relative;overflow:hidden;max-width:760px;margin:0 auto}
.carousel-track{display:flex;gap:var(--s-3);transition:transform .55s var(--ease-out);will-change:transform}
.carousel-slide{flex:0 0 100%;min-width:0}

@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(252,223,0,.45)}70%{box-shadow:0 0 0 18px rgba(252,223,0,0)}100%{box-shadow:0 0 0 0 rgba(252,223,0,0)}}

.carousel-nav{display:flex;align-items:center;justify-content:center;gap:var(--s-4);margin-top:var(--s-5)}
.carousel-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--c-g1);color:var(--txt);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--dur-base),color var(--dur-base),background var(--dur-base)}
.carousel-btn:hover{border-color:var(--c-yellow);color:var(--c-yellow);background:var(--y-07)}
.carousel-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line);color:var(--muted);background:var(--c-g1)}
.carousel-btn svg{width:18px;height:18px}
.carousel-dots{display:flex;align-items:center;gap:var(--s-2)}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--c-g4);border:0;cursor:pointer;transition:background var(--dur-base),width var(--dur-base)}
.carousel-dot.active{background:var(--c-yellow);width:24px;border-radius:var(--r-full);box-shadow:0 0 8px var(--c-yellow)}

.app-grid{display:grid;grid-template-columns:1fr;gap:var(--s-6);align-items:center}
.app-copy{display:flex;flex-direction:column;gap:var(--s-3);text-align:center;align-items:center}
.app-copy ul{list-style:none;display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-2)}
.app-copy li{position:relative;padding-left:28px;color:var(--txt-2);font-size:var(--t-base);text-align:left}
.app-copy li::before{content:"";position:absolute;left:0;top:.5em;width:18px;height:18px;border-radius:5px;background:var(--y-14);border:1px solid var(--c-yellow)}
.app-copy li::after{content:"";position:absolute;left:5px;top:.85em;width:8px;height:4px;border-left:2px solid var(--c-yellow);border-bottom:2px solid var(--c-yellow);transform:rotate(-45deg)}
.app-stores{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4);justify-content:center}
.store-btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--c-g1);transition:border-color var(--dur-base),background var(--dur-base);min-height:54px}
.store-btn:hover{border-color:var(--c-yellow);background:var(--y-07)}
.store-btn svg{width:22px;height:22px;color:var(--c-yellow)}
.store-btn .st{display:flex;flex-direction:column;line-height:1.1}
.store-btn .st .s1{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-3)}
.store-btn .st .s2{font-family:var(--f-display);font-weight:700;font-size:var(--t-sm);color:var(--txt)}
.app-mock{position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--c-g1) 0%,var(--c-black) 100%);min-height:380px;padding:var(--s-5);display:flex;align-items:center;justify-content:center;perspective:1000px}
.app-mock::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(252,223,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.05) 1px,transparent 1px);background-size:28px 28px}
.app-mock::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 30%,var(--k-55) 100%)}

.app-mock:hover .phone{transform:rotateY(-4deg) rotateX(2deg)}

.phone-stats .s{display:flex;flex-direction:column;align-items:center;gap:2px}
.phone-stats .s b{color:var(--c-yellow);font-size:.625rem;font-family:var(--f-display)}

.closer{position:relative;border-radius:var(--r-2xl);overflow:hidden;border:1px solid var(--c-yellow);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:clamp(36px,5vw,72px);text-align:center;box-shadow:var(--neon-y)}
.closer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--y-22),transparent 50%);pointer-events:none}
.closer-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-4);max-width:680px;margin:0 auto}
.closer h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.875rem,4.5vw,3.5rem);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.closer p{color:var(--txt-2);font-size:var(--t-md);max-width:54ch;text-wrap:pretty}
.closer-cta{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;width:100%}
.closer-cta .btn{flex:1 1 auto;min-width:200px;max-width:320px}

.footer{padding:0 0 var(--s-5);border-top:1px solid var(--line);background:var(--c-black);position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c-yellow),transparent);opacity:.4}

.fs-item .ico{width:36px;height:36px;border-radius:var(--r-sm);background:var(--y-10);border:1px solid var(--y-32);display:inline-flex;align-items:center;justify-content:center;color:var(--c-yellow)}
.fs-item .ico svg{width:18px;height:18px}
.fs-item .v{font-family:var(--f-display);font-weight:700;color:var(--c-yellow);font-size:var(--t-lg);line-height:1;letter-spacing:-.02em}
.fs-item .l{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3)}

.wa-float{position:fixed;right:14px;bottom:14px;z-index:90;width:56px;height:56px;border-radius:50%;background:var(--c-green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px var(--k-55),0 0 0 0 rgba(37,211,102,.4);transition:transform var(--dur-base) var(--ease-out);animation:pulseGreen 2.5s ease-out infinite}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px}
@keyframes pulseGreen{0%{box-shadow:0 12px 28px var(--k-55),0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 12px 28px var(--k-55),0 0 0 22px rgba(37,211,102,0)}100%{box-shadow:0 12px 28px var(--k-55),0 0 0 0 rgba(37,211,102,0)}}
.wa-tooltip{position:absolute;right:64px;bottom:50%;transform:translateY(50%);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--c-black);border:1px solid var(--c-yellow);color:var(--txt);font-size:var(--t-xs);font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-base)}
.wa-float:hover .wa-tooltip{opacity:1}

/* COOKIE MODAL · §16 LGPD · configurar por categoria */

.cookie-modal .cm-footer .btn{flex:1 1 0;min-width:140px;min-height:44px}

@media(max-width:374px){:root{--pad-x:14px}.h1{font-size:1.75rem;line-height:1.06}.hero-cta-row{flex-direction:column;width:100%}.hero-cta-row .btn{width:100%;min-width:0}.closer-cta .btn{width:100%}.numbers-grid{grid-template-columns:1fr;gap:var(--s-3)}.feat{padding:var(--s-4)}.plan{padding:22px}.persona-visual{height:100px}}
@media(max-width:479px){.container{padding-left:var(--s-4);padding-right:var(--s-4)}.section{padding-block:44px}.hero-inner{padding-top:var(--s-6);padding-bottom:var(--s-6);gap:var(--s-5)}.hero-visual{min-height:240px}.closer{padding:30px var(--s-4)}}
/* ===== PADRÃO MOBILE CONSISTENTE =====
   Regra: TUDO centralizado · parágrafos text-align:left dentro do bloco centralizado */
@media(max-width:819px){
  /* SECTION HEAD: tudo centralizado, eyebrow força center sobrescrevendo align-self */
  .section-head{align-items:center;text-align:center;margin-inline:auto;max-width:100%}
  .section-head .eyebrow{align-self:center}
  .section-head .h2{text-align:center;max-width:none}
  .section-head .lead{text-align:left;margin-inline:auto;max-width:none;width:100%}
  .section-head .h2{font-size:clamp(1.4rem,5.5vw,2rem);line-height:1.1}
  /* HERO COPY */
  .hero-sub{text-align:left;margin-inline:auto;max-width:38ch}
  /* FEAT CARDS · ícone+h3 center, p left */
  .feat{align-items:center;text-align:center}
  .feat h3{text-align:center}
  .feat p{text-align:left;width:100%}
  .feat .badge-fipe{align-self:center}
  /* PERSONA CARDS · tag+h3 center, p left */
  .persona-body{align-items:center;text-align:center}
  .persona-body .tag{align-self:center}
  .persona-body h3{text-align:center}
  .persona-body p{text-align:left;width:100%}
  /* CLOSER · centrado, p left within block */
  .closer-content{align-items:center}
  .closer .eyebrow{align-self:center}
  .closer h2{text-align:center}
  .closer p{text-align:left;margin-inline:auto;max-width:38ch}
  /* APP COPY · h2 center, list+lead left */
  .app-copy{align-items:center;text-align:center}
  .app-copy .eyebrow{align-self:center}
  .app-copy .lead{text-align:left;margin-inline:auto;max-width:38ch}
  .app-copy ul{align-self:stretch}
  .app-copy li{text-align:left}
  /* PLAN CARDS · all centered */
  .plan{align-items:center;text-align:center}
  .plan .plan-tag{align-self:center}
  .plan h3{text-align:center}
  .plan ul{align-self:stretch}
  .plan li{text-align:left}
  /* MEDIA BLOCK · centered */
  
  
  
  
  
  
}
@media(min-width:480px) and (max-width:639px){.container{padding-left:var(--s-4);padding-right:var(--s-4)}.section{padding-block:56px}.hero-visual{min-height:300px}.numbers-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:620px){.features{grid-template-columns:repeat(2,1fr);max-width:none;margin:0}}
@media(min-width:640px){.carousel-slide{flex:0 0 calc(50% - var(--s-2))}}
@media(min-width:640px) and (max-width:767px){.container{padding-left:var(--s-5);padding-right:var(--s-5)}.section{padding-block:64px}.personas-grid{grid-template-columns:repeat(2,1fr);max-width:780px;margin:0 auto}.personas-grid > .persona:nth-child(5){grid-column:1/-1;max-width:380px;justify-self:center}}
@media(min-width:768px) and (max-width:1023px){.container{padding-left:28px;padding-right:28px}.section{padding-block:72px}.personas-grid{grid-template-columns:repeat(3,1fr);max-width:none;margin:0}.carousel-slide{flex:0 0 calc(50% - var(--s-2))}}
@media(min-width:820px){.hero-copy{text-align:left;align-items:flex-start;justify-content:center}.hero-cta-row{justify-content:flex-start}.hero-cta-row .btn{flex:0 1 auto;min-width:0}.hero-inner{grid-template-columns:1.05fr .95fr;align-items:center}.hero-visual .live-badge{left:var(--s-5);top:var(--s-5);font-size:var(--t-xs);padding:7px 14px 7px 12px}.plans-grid{grid-template-columns:repeat(3,1fr);max-width:none;margin:0}.app-grid{grid-template-columns:1fr 1fr}.app-copy{text-align:left;align-items:flex-start}.app-stores{justify-content:flex-start}}
@media(min-width:1024px){.features{grid-template-columns:repeat(3,1fr);max-width:none;margin:0}.personas-grid{grid-template-columns:repeat(5,1fr);max-width:none;margin:0}.plans-grid{grid-template-columns:repeat(3,1fr);max-width:none;margin:0}.numbers-grid{grid-template-columns:repeat(4,1fr);max-width:none}.app-grid{grid-template-columns:1fr 1fr}.carousel-slide{flex:0 0 calc(50% - var(--s-2))}}
@media(min-width:1024px) and (max-width:1279px){:root{--pad-x:32px}.section{padding-block:88px}}

@media(min-width:1280px) and (max-width:1535px){:root{--pad-x:40px}.section{padding-block:104px}}
@media(min-width:1536px) and (max-width:1919px){:root{--max:1400px;--pad-x:48px}.section{padding-block:112px}}
@media(min-width:1920px){:root{--max:1480px;--pad-x:56px}html{font-size:17px}.section{padding-block:128px}.hero-inner{gap:72px}}
@media(hover:none) and (pointer:coarse){.btn,a.btn,button.btn,.store-btn,.footer-social a{min-height:48px;min-width:48px}.feat:hover,.persona:hover,.video-card:hover,.plan:hover{transform:none}}
@media(max-height:500px) and (orientation:landscape){.hero-inner{padding-top:var(--s-5);padding-bottom:var(--s-5)}.hero-visual{min-height:220px}.h1{font-size:1.625rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;animation-iteration-count:1 !important}.r{opacity:1;transform:none}.glitch::before,.glitch::after{display:none}}
@media print{.nav,.mobile-drawer,.wa-float,.cookie-banner,.fx-noise,.fx-vignette,.carousel-nav{display:none !important}body{background:white;color:black}*{color:black !important}.section{padding-block:24px}}

/* ============================================================
   AUDIT VISUAL v20.24 · 2026-05-27
   Ajustes: tamanhos de fonte, letter-spacing, espaçamentos,
   alinhamentos, distribuições, shapes — sem mexer em cores
   nem em efeitos de texto.
   ============================================================ */

/* TIPOGRAFIA · normalização de valores fracionados */

.phone-stats .s b{font-size:.6875rem}

/* EYEBROW + TAGS · letter-spacing e padding consistentes */
.eyebrow{font-size:.6875rem;letter-spacing:.2em;padding:8px 14px 8px 12px}
.tag{font-size:.6875rem;letter-spacing:.16em;padding:6px 12px}
.tag-sm{font-size:.625rem;padding:5px 10px;letter-spacing:.14em}
.plan-tag{font-size:.625rem;padding:6px 11px;letter-spacing:.16em}
.plan-badge{font-size:.625rem;padding:7px 14px;letter-spacing:.16em;top:-15px}

.feat .badge-fipe{font-size:.625rem;letter-spacing:.16em;padding:6px 12px}
.hero-visual .live-badge{font-size:.625rem;letter-spacing:.16em;padding:7px 12px 7px 10px}

.store-btn .st .s1{font-size:.625rem;letter-spacing:.1em}

/* SECTION · padding mais respirado e progressivo */
.section{padding-block:clamp(56px,8.5vw,120px)}
.numbers{padding-block:clamp(48px,6.5vw,88px)}

/* SECTION HEAD · margem inferior maior em desktop, gap interno equilibrado */
.section-head{margin-bottom:clamp(36px,5vw,64px);gap:var(--s-4)}
.section-head .h2{margin-top:2px}
.section-head .lead{margin-top:var(--s-1)}

/* HERO · respiração entre copy e CTAs */
.hero-copy{gap:var(--s-5)}
.hero-cta-row{gap:var(--s-3);margin-top:var(--s-3)}

/* NUMBERS · padding equilibrado, divider proporcional, layout vertical centralizado */
.num-cell{padding:var(--s-5) var(--s-4);min-height:160px;gap:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.num-cell .v{font-size:clamp(2rem,6vw,3rem);letter-spacing:-.025em;line-height:1}
.num-cell .ndiv{width:32px;height:2px;margin:2px auto;opacity:.65;background:var(--c-yellow)}
.num-cell .l{font-size:.6875rem;letter-spacing:.18em;max-width:18ch;color:var(--txt-3);text-transform:uppercase}
@media(min-width:1024px){
  .num-cell{min-height:180px;padding:var(--s-6) var(--s-4)}
  .num-cell .v{font-size:clamp(2.5rem,3.5vw,3.5rem)}
  .num-cell .l{font-size:.75rem}
}

/* FEATURES · padding e gap maior em desktop, spacing interno consistente */
.features{gap:var(--s-4)}
.feat{padding:var(--s-5);gap:var(--s-4);min-height:200px}
.feat h3{font-size:1.1875rem;line-height:1.22}
.feat p{font-size:.9375rem;line-height:1.55}

/* PERSONAS · grid mais consistente, visual maior, body com hierarquia */
.persona{min-height:260px}
.persona-visual{height:128px}

.persona-body{padding:var(--s-4) var(--s-4) var(--s-5);gap:8px}
.persona-body h3{font-size:.9375rem;line-height:1.22;margin-top:6px}
.persona-body p{font-size:.8125rem;line-height:1.5}

/* PLANS · espaçamento interno e badge não-colide */
.plans-grid{gap:var(--s-5)}
.plan{padding:var(--s-6) var(--s-5);gap:var(--s-4)}
.plan.featured{padding-top:calc(var(--s-6) + var(--s-2))}
.plan h3{font-size:1.25rem;line-height:1.15;margin-top:var(--s-1)}
.plan li{font-size:.9375rem;line-height:1.5;padding-left:24px}
.plan li::before{width:14px;height:14px;top:.45em}
.plan-shield{width:42px;height:42px;border-radius:10px}
.plan-shield svg{width:20px;height:20px}
.plans-note{margin-top:var(--s-7);font-size:.75rem;letter-spacing:.04em}

/* CAROUSEL + PROVA · alinhar carrossel ao media-block em desktop */
.carousel{max-width:none}

.carousel-nav{margin-top:var(--s-4);gap:var(--s-3)}
.carousel-btn{width:42px;height:42px}

/* MEDIA BLOCK · logos em grid mais denso em mobile, h3 maior */

/* APP · mock acomoda o phone, store-btn equalizado */
.app-mock{min-height:440px;padding:var(--s-6) var(--s-5)}
.app-copy{gap:var(--s-4)}
.app-copy ul{gap:10px}
.app-copy li{font-size:.9375rem;padding-left:26px}
.app-copy li::before{width:16px;height:16px;top:.45em}
.app-copy li::after{left:4px;top:.8em;width:7px;height:3px}
.app-stores{gap:10px;margin-top:var(--s-3)}
.store-btn{padding:10px 14px;min-height:52px;border-radius:10px}

/* CLOSER · CTA com gap maior, padding interno mais respirado */
.closer{padding:clamp(40px,6vw,80px) clamp(20px,4vw,56px)}
.closer-content{gap:var(--s-4)}
.closer-cta{gap:var(--s-3);margin-top:var(--s-3)}
.closer p{font-size:1rem}

/* FOOTER STRIP · gap maior, alinhamento horizontal mais respirado */

.fs-item .v{font-size:1.125rem}
.fs-item .l{font-size:.625rem;letter-spacing:.14em}

/* FOOTER MAIN · espaçamento entre colunas e gaps mais consistentes */

/* ============================================================
   MOBILE (≤639px) · ajustes finos de hierarquia e respiro
   ============================================================ */
@media(max-width:639px){
  .section{padding-block:56px}
  .hero-inner{gap:var(--s-5);padding-block:var(--s-7) var(--s-6)}
  .hero-copy{gap:var(--s-4)}
  .h1{font-size:clamp(1.875rem,7.5vw,2.5rem);line-height:1.05}
  .h2{font-size:clamp(1.5rem,5.8vw,2rem)}
  .hero-sub{font-size:1rem;line-height:1.6}
  .section-head{gap:var(--s-3);margin-bottom:var(--s-6)}
  .section-head .lead{font-size:.9375rem;line-height:1.6}
  .features,.personas-grid,.plans-grid{gap:var(--s-3)}
  .feat{padding:var(--s-4);min-height:0;gap:var(--s-3)}
  .feat h3{font-size:1.0625rem}
  .feat p{font-size:.875rem}
  .persona{min-height:0}
  .persona-visual{height:104px}
  
  
  .persona-body{padding:var(--s-3) var(--s-4) var(--s-4)}
  .persona-body h3{font-size:.9375rem}
  .persona-body p{font-size:.8125rem}
  .plan{padding:var(--s-5) var(--s-4);gap:var(--s-3)}
  .plan.featured{padding-top:calc(var(--s-5) + var(--s-2))}
  .plan h3{font-size:1.125rem}
  .plan li{font-size:.875rem}
  .num-cell{min-height:128px;padding:var(--s-4) var(--s-3);gap:8px}
  .num-cell .v{font-size:clamp(1.75rem,9vw,2.25rem)}
  .num-cell .l{font-size:.625rem;letter-spacing:.16em}
  .closer{padding:var(--s-7) var(--s-4)}
  .closer-content{gap:var(--s-3)}
  .closer h2{font-size:clamp(1.625rem,7vw,2.125rem);line-height:1.08}
  .closer p{font-size:.9375rem}
  .closer-cta{gap:var(--s-2);margin-top:var(--s-2)}
  .closer-cta .btn{flex:1 1 100%;min-width:0;max-width:none}
  
  
  
  
  
  .app-mock{min-height:380px;padding:var(--s-5)}
  
  
  .app-copy{gap:var(--s-3)}
  .app-copy ul{gap:8px}
  .app-stores{flex-direction:column;width:100%;gap:8px}
  .app-stores .store-btn{width:100%;justify-content:center}
  
  
  
  
  .nav-inner{height:60px}
  .hero-visual{border-radius:var(--r-xl)}
  .video-play-center{width:68px;height:68px}
  .video-play-center svg{width:28px;height:28px;margin-left:4px}
}

/* MOBILE pequeno (≤374px) */
@media(max-width:374px){
  .h1{font-size:1.625rem;line-height:1.06}
  .h2{font-size:1.375rem}
  .hero-sub{font-size:.9375rem}
  .nav-inner{height:56px}
  .numbers-grid{grid-template-columns:1fr;gap:var(--s-2)}
  .num-cell{min-height:108px}
  .num-cell .v{font-size:2rem}
  .plan-shield{width:42px;height:42px}
  .persona-visual{height:96px}
  
  
}

/* ============================================================
   TABLET (640-1023px) · 2-3 cols, gaps e tamanhos progressivos
   ============================================================ */
@media(min-width:640px) and (max-width:1023px){
  .section{padding-block:72px}
  .hero-inner{padding-block:var(--s-8) var(--s-7);gap:var(--s-6)}
  .features{gap:var(--s-4)}
  .personas-grid{gap:var(--s-3)}
  .plans-grid{gap:var(--s-4)}
  
}

/* Tablet 640-767 (2 colunas em vários grids) */
@media(min-width:640px) and (max-width:767px){
  .features{grid-template-columns:repeat(2,1fr);max-width:none;margin:0}
  .features > .feat:last-child{grid-column:1/-1;max-width:520px;justify-self:center}
  .personas-grid{grid-template-columns:repeat(2,1fr)}
  .personas-grid > .persona:nth-child(5){grid-column:1/-1;max-width:380px;justify-self:center}
  .plans-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}
}

/* Tablet 768-1023 (3 colunas em features, personas redistribuído) */
@media(min-width:768px) and (max-width:1023px){
  .features{grid-template-columns:repeat(3,1fr);max-width:none;margin:0;gap:var(--s-4)}
  .personas-grid{grid-template-columns:repeat(3,1fr);max-width:none;margin:0;gap:var(--s-3)}
  .personas-grid > .persona:nth-child(4),
  .personas-grid > .persona:nth-child(5){grid-column:span 1}
  .personas-grid > .persona:nth-child(4){grid-column:1/span 1;grid-row-start:2}
  .personas-grid > .persona:nth-child(5){grid-column:3/span 1;grid-row-start:2}
  .plans-grid{grid-template-columns:repeat(3,1fr);max-width:none;margin:0;gap:var(--s-4)}
  
  .app-grid{grid-template-columns:1fr 1fr;gap:var(--s-5)}
}

/* Tablet · personas redistribuição reset (manter 5 itens em sequência) */
@media(min-width:768px) and (max-width:1023px){
  .personas-grid > .persona:nth-child(4){grid-column:auto;grid-row-start:auto}
  .personas-grid > .persona:nth-child(5){grid-column:auto;grid-row-start:auto;justify-self:start}
  .personas-grid{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================
   DESKTOP (≥1024px) · grids finais, gaps generosos, alinhamentos
   ============================================================ */
@media(min-width:1024px){
  .section{padding-block:96px}
  .features{gap:var(--s-5)}
  .personas-grid{gap:var(--s-3)}
  .plans-grid{gap:var(--s-5);align-items:stretch}
  .numbers-grid{gap:var(--s-3)}
  
  .app-grid{grid-template-columns:1.1fr .9fr;gap:var(--s-7);align-items:center}
  .hero-inner{gap:var(--s-7)}
  .section-head{max-width:820px}
  .section-head.center{margin-inline:auto}
  .feat{padding:var(--s-6) var(--s-5);min-height:280px;display:flex;flex-direction:column}
  .persona{min-height:280px;display:flex;flex-direction:column}
  .plan{padding:var(--s-7) var(--s-5);min-height:560px;display:flex;flex-direction:column}
  .plan.featured{padding-top:calc(var(--s-7) + var(--s-2))}
  /* Plans alinhados pelo topo + altura uniforme + CTA grudado no fundo */
  .plans-grid{align-items:stretch}
  .plan-cta{margin-top:auto}
  .carousel{max-width:none}
  
  
  
  
  .closer{padding:clamp(56px,5vw,88px) clamp(28px,4vw,72px)}
  
}

/* Desktop 1024-1199 · personas em 3+2 centralizado (sem lacuna lateral) */
@media(min-width:1024px) and (max-width:1199px){
  .personas-grid{grid-template-columns:repeat(6,1fr);max-width:1100px;margin:0 auto;gap:var(--s-4)}
  .personas-grid > .persona:nth-child(1){grid-column:1/span 2}
  .personas-grid > .persona:nth-child(2){grid-column:3/span 2}
  .personas-grid > .persona:nth-child(3){grid-column:5/span 2}
  .personas-grid > .persona:nth-child(4){grid-column:2/span 2;grid-row-start:2}
  .personas-grid > .persona:nth-child(5){grid-column:4/span 2;grid-row-start:2}
  .features{grid-template-columns:repeat(3,1fr)}
}

/* Desktop ≥1200 · personas em 5 colunas (largura suficiente) */
@media(min-width:1200px){
  .personas-grid{grid-template-columns:repeat(5,1fr);gap:var(--s-3)}
  .persona{min-height:300px}
  .persona-visual{height:140px}
}

/* Desktop ≥1280 · folga adicional em containers */
@media(min-width:1280px){
  .section{padding-block:112px}
  .hero-inner{gap:var(--s-8)}
  .plans-grid{gap:var(--s-6)}
  .features{gap:var(--s-6)}
  .closer{padding:88px 80px}
}

/* Desktop ≥1536px · escala suave de tipografia e máx-width */
@media(min-width:1536px){
  .feat h3,.plan h3{font-size:1.3125rem}
  .num-cell .v{font-size:3.25rem}
  .closer h2{font-size:3.75rem}
}

/* ============================================================
   AJUSTES TRANSVERSAIS · qualidade visual
   ============================================================ */

/* Botões · altura consistente, ícones alinhados */
.btn{padding:14px 22px;min-height:48px}
.btn-lg{padding:16px 28px;min-height:54px;font-size:.9375rem}
.btn svg{width:18px;height:18px;flex-shrink:0}

/* Hero CTAs · em viewports muito estreitos, evitar 1 botão estourando */
@media(max-width:419px){
  .hero-cta-row{flex-direction:column;width:100%}
  .hero-cta-row .btn{width:100%;min-width:0}
}

/* WhatsApp float · posição não conflitar com cookie banner */
.wa-float{right:16px;bottom:16px}
@media(min-width:640px){.wa-float{right:24px;bottom:24px}}

/* Plan badge · não colide em mobile com border-radius do card */
.plan-badge{box-shadow:0 4px 14px var(--y-32),0 0 0 4px var(--c-g1)}
.plan.featured .plan-badge{box-shadow:0 4px 14px var(--y-32),0 0 0 4px var(--c-black)}

/* Section head em desktop · alinhamento à esquerda para sections sem .center */
@media(min-width:1024px){
  .section-head:not(.center){align-items:flex-start;text-align:left}
  .section-head:not(.center) .lead{max-width:62ch}
}

/* Carrossel dot · contraste e tamanho */
.carousel-dot{width:8px;height:8px}
.carousel-dot.active{width:28px}

/* App mock · sombra suave para integrar */
.app-mock{box-shadow:inset 0 0 0 1px var(--w-04)}

/* Plan featured · separação visual extra do badge — só mobile (desktop alinha por baseline) */
@media(max-width:1023px){.plan.featured{margin-top:14px}}
@media(min-width:1024px){.plan.featured{margin-top:0}}

/* Footer brand · alinhar logo e copy */

.footer-brand .nav-logo{align-self:flex-start}

/* Reduzir letter-spacing exagerado de eyebrow em mobile */
@media(max-width:479px){
  .eyebrow{letter-spacing:.16em;font-size:.625rem;padding:7px 12px 7px 10px}
  .tag,.plan-tag,.plan-badge,.media-block .mh,.review-summary .mh,.feat .badge-fipe{letter-spacing:.14em}
}

/* ============================================================
   AUDIT VISUAL v20.25 · 2026-05-27
   Fixes: plan-badge cortada, stroke animado, distâncias entre
   seções normalizadas, bloco centralizado com texto left,
   antiwidow em li, destaques amarelos
   ============================================================ */

/* PADDINGS DE SEÇÃO · normalizados e mais compactos */
.section{padding-block:clamp(44px,7vw,88px)}
.numbers{padding-block:clamp(36px,5vw,64px)}

@media(max-width:639px){
  .section{padding-block:44px}
  .numbers{padding-block:36px}
  .hero-inner{padding-block:36px 28px;gap:var(--s-4)}
}
@media(min-width:640px) and (max-width:1023px){
  .section{padding-block:64px}
  .numbers{padding-block:52px}
}
@media(min-width:1024px){
  .section{padding-block:80px}
}
@media(min-width:1280px){
  .section{padding-block:96px}
}
@media(min-width:1536px){
  .section{padding-block:104px}
}

/* SECTION HEAD · margem inferior também reduzida */
.section-head{margin-bottom:clamp(28px,4vw,48px)}

/* BLOCO CENTRALIZADO + TEXTO ALINHADO À ESQUERDA · mobile/tablet */
@media(max-width:819px){
  .section-head{align-items:center;text-align:center;margin-inline:auto;max-width:100%}
  .section-head .eyebrow{align-self:center}
  .section-head .h2{text-align:center}
  .section-head .lead{text-align:left;margin-inline:auto;max-width:44ch;width:auto}

  /* .hero-sub: max-width só em mobile (regra principal em L129); desktop ≥820 sem cap */

  .closer-content{align-items:center}
  .closer p{text-align:left;margin-inline:auto;max-width:42ch;width:auto}

  .app-copy{align-items:center;text-align:center}
  .app-copy .lead{text-align:left;margin-inline:auto;max-width:42ch;width:auto}
  .app-copy ul{align-self:center;max-width:42ch;margin-inline:auto;width:100%}
  .app-copy li{text-align:left}

  .feat{align-items:center;text-align:center}
  .feat p{text-align:left;margin-inline:auto;max-width:44ch;width:auto}

  .persona-body{align-items:center;text-align:center}
  .persona-body p{text-align:left;margin-inline:auto;max-width:40ch;width:auto}

  .plan{align-items:center;text-align:center}
  .plan ul{align-self:center;max-width:42ch;margin-inline:auto;width:100%}
  .plan li{text-align:left}

  
  
}

/* PLANS · remove overflow:hidden, badge não-cortada, stroke animado */
.plan{overflow:visible;isolation:isolate}
.plan::before{
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:60%;
  height:3px;
  border-radius:0 0 var(--r-sm) var(--r-sm);
  background:linear-gradient(90deg,transparent,var(--c-yellow),transparent);
  opacity:.5;
}
.plan.featured::before{opacity:1;height:4px}

/* Plan-badge · padding-top extra no featured para acomodar badge dentro do conjunto */
.plans-grid{padding-top:18px}
.plan-badge{top:-13px;padding:7px 16px;font-size:.625rem;letter-spacing:.16em;box-shadow:0 4px 14px var(--y-32),0 0 0 4px var(--c-black)}
@media(max-width:639px){
  .plan-badge{font-size:.5625rem;letter-spacing:.14em;padding:6px 14px;top:-11px}
  .plan.featured{margin-top:16px}
  .plan{padding-top:var(--s-5)}
  .plan.featured{padding-top:calc(var(--s-5) + var(--s-1))}
}

/* STROKE ANIMADO ao redor do plan featured · linha percorrendo o perímetro */
@property --plan-ang{
  syntax:'<angle>';
  initial-value:0deg;
  inherits:false;
}
.plan.featured{position:relative}
.plan.featured::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:calc(var(--r-xl) + 2px);
  background:conic-gradient(from var(--plan-ang),transparent 0deg,transparent 300deg,rgba(252,223,0,.45) 325deg,#fff5a0 345deg,#ffffff 355deg,#fcdf00 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  padding:2px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:planSnake 4.5s linear infinite;
  pointer-events:none;
  z-index:0;
  filter:drop-shadow(0 0 6px rgba(252,223,0,.55)) drop-shadow(0 0 16px rgba(252,223,0,.28));
}
.plan.featured > *{position:relative;z-index:1}
@keyframes planSnake{
  to{--plan-ang:360deg}
}
@media(prefers-reduced-motion:reduce){
  .plan.featured::after{animation:none}
}

/* PLAN LIST · espaçamento entre items maior para evitar texto colado */
.plan ul{gap:10px}
.plan li{line-height:1.5}

/* HERO · padding mais consistente em mobile */
@media(max-width:639px){
  .hero-copy{gap:var(--s-3)}
  .hero-cta-row{margin-top:var(--s-2);gap:8px}
}

/* APP STORES · em mobile centralizar dentro do bloco */
@media(max-width:639px){
  .app-stores{justify-content:center;flex-direction:row;flex-wrap:wrap;width:auto}
  .app-stores .store-btn{width:auto;min-width:160px;flex:1 1 160px}
}
@media(max-width:419px){
  .app-stores{flex-direction:column;width:100%}
  .app-stores .store-btn{width:100%;flex:1 1 100%}
}

/* PERSONA BODY · ajustar gap interno */
.persona-body{gap:6px}
.persona-body .tag{margin-bottom:2px}

/* FEAT · alinhamento e gap interno */
.feat{gap:var(--s-3)}

/* CLOSER · em mobile reduzir padding excessivo */
@media(max-width:639px){
  .closer{padding:var(--s-6) var(--s-4)}
  .closer-content{gap:var(--s-3)}
}

/* TAG-SM · acomodar texto de personas inteiro em uma linha */
.tag-sm{white-space:nowrap;letter-spacing:.12em}

/* FEAT highlight · badge não estourar */
.feat .badge-fipe{align-self:center;white-space:nowrap;font-size:.5625rem;letter-spacing:.14em}

/* LINKS de leitura · highlights amarelos visíveis */
.hl,.accent{font-weight:600}

/* PLANO LISTA · destacar items específicos com cor (sem mudar paleta) */
.plan li strong{color:var(--c-yellow);font-weight:700}

/* NUMBERS · em mobile pequeno reduzir vertical mais */
@media(max-width:479px){
  .num-cell{padding:var(--s-4) var(--s-3);min-height:112px}
  .num-cell .v{font-size:1.875rem}
  .numbers-grid{gap:var(--s-2)}
}

/* CARROSSEL · em mobile garantir margem visual entre slides */
@media(max-width:639px){
  .carousel-track{gap:10px}
  .carousel-nav{margin-top:var(--s-3)}
}

/* FOOTER · em mobile compactar */

/* ============================================================
   SECTION DIVIDER · SVG wing duplo amarelo (v20.48)
   ============================================================ */
/* MOBILE ≤767 · SVG wing duplo amarelo */
.section-divider{
  max-width:var(--max);
  margin:0 auto;
  padding:24px var(--pad-x) 18px;
  display:flex;align-items:center;justify-content:center;
}
.section-divider .sd-svg{
  width:100%;
  max-width:88%;
  height:auto;
  color:var(--c-yellow);
  filter:drop-shadow(0 0 6px var(--y-32)) drop-shadow(0 0 14px var(--y-18));
  animation:dividerPulse 3.2s ease-in-out infinite;
  display:block;
}
@keyframes dividerPulse{
  0%,100%{filter:drop-shadow(0 0 5px var(--y-22)) drop-shadow(0 0 10px var(--y-14));opacity:.85}
  50%{filter:drop-shadow(0 0 9px var(--y-40)) drop-shadow(0 0 20px var(--y-32));opacity:1}
}
/* DESKTOP ≥768 · esconde o SVG wing (mobile-only) e usa divisor sóbrio: linha gradient horizontal */
@media(min-width:768px){
  .section-divider{
    padding:32px var(--pad-x) 26px;
    position:relative;
    background:linear-gradient(90deg,transparent 8%,var(--y-22) 50%,transparent 92%);
    background-size:100% 1px;
    background-repeat:no-repeat;
    background-position:center;
    min-height:60px;
  }
  .section-divider .sd-svg{display:none}
}
@media(prefers-reduced-motion:reduce){
  .section-divider .sd-svg{animation:none}
}

/* ============================================================
   FEATURE ICONS · PNG flutuante direto (padrão MOTOBOYS)
   FIX CRÍTICO: sobrescreve background:linear-gradient herdado de img{} base
   (linha 58 do CSS) que criava o quadrado escuro nas áreas transparentes
   do <img> quadrado quando object-fit:contain redimensiona PNG de aspect
   diferente, deixando faixas vazias mostrando o gradient fallback.
   ============================================================ */
.feat-img{
  display:block;
  width:88px;height:88px;
  object-fit:contain;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  filter:drop-shadow(0 0 14px rgba(252,223,0,.45)) drop-shadow(0 0 32px var(--y-22));
  animation:featIconGlow 3.4s ease-in-out infinite,featIconSway 4.5s ease-in-out infinite;
  transition:transform .4s var(--ease-out);
  margin-bottom:var(--s-2);
  margin-inline:auto;
  transform-origin:50% 70%;
}
@keyframes featIconGlow{
  0%,100%{filter:drop-shadow(0 0 12px var(--y-40)) drop-shadow(0 0 28px var(--y-18))}
  50%{filter:drop-shadow(0 0 20px rgba(252,223,0,.6)) drop-shadow(0 0 44px var(--y-32))}
}
@keyframes featIconSway{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}
.feat:hover .feat-img{transform:translateY(-3px) scale(1.06)}

.feat.highlight .feat-img{width:100px;height:100px}

/* Card alinhamento · ícone+título center, descrição left dentro de bloco centered */
.feat{align-items:center;text-align:center}
.feat h3{text-align:center;width:100%}
.feat p{text-align:left;max-width:36ch;margin-inline:auto;width:auto;text-wrap:pretty}
.feat .badge-fipe{align-self:center}

@media(prefers-reduced-motion:reduce){
  .feat-img{animation:none}
}

@media(max-width:639px){
  .feat-img{width:80px;height:80px}
  .feat.highlight .feat-img{width:90px;height:90px}
  .feat p{max-width:40ch}
}
@media(min-width:1024px){
  .feat-img{width:96px;height:96px}
  .feat.highlight .feat-img{width:110px;height:110px}
  /* Desktop: textos respiram, sem cap rígido */
  .feat p{max-width:42ch}
}
@media(min-width:1280px){
  .feat p{max-width:48ch}
}

/* ============================================================
   PADRÃO UNIVERSAL DE CARDS · v20.35
   Aplicado em features, personas, plans, app-copy, media-block, closer
   · Ícone + título centralizados
   · Bloco de descrição centralizado, texto interno à esquerda
   · Espaçamento vertical equilibrado ícone → título → descrição
   · Glow/efeitos amarelos preservados; nenhum fundo escuro
   ============================================================ */

/* PERSONAS · em TODOS os breakpoints (sobrescreve regras anteriores) */
.persona{align-items:stretch}
.persona-body{align-items:center;text-align:center;gap:6px}
.persona-body .tag{align-self:center;margin-bottom:2px}
.persona-body h3{text-align:center;width:100%}
.persona-body p{text-align:left;max-width:36ch;margin-inline:auto;width:auto}

/* PLANOS · centralização universal */
.plan{align-items:center;text-align:center}
.plan .plan-tag{align-self:center}
.plan .plan-shield{margin-inline:auto}
.plan h3{text-align:center;width:100%}
.plan ul{align-self:stretch;max-width:44ch;margin-inline:auto;width:100%}
.plan li{text-align:left}
.plan-cta{width:100%;display:flex;justify-content:center;margin-top:auto}
/* Mobile: CTA limitado · Desktop: CTA full-width preenche card */
.plan-cta .btn{width:100%;max-width:280px}
@media(min-width:1024px){.plan-cta .btn{max-width:none}}

/* APP COPY · Mobile centralizado · Desktop alinhado à esquerda */
.app-copy{align-items:center;text-align:center}
.app-copy .eyebrow{align-self:center}
.app-copy h2{text-align:center}
.app-copy .lead{text-align:left;max-width:46ch;margin-inline:auto;width:auto}
.app-copy ul{align-self:center;max-width:46ch;margin-inline:auto;width:100%}
@media(min-width:1024px){
  .app-copy{align-items:flex-start;text-align:left}
  .app-copy .eyebrow{align-self:flex-start}
  .app-copy h2{text-align:left}
  .app-copy .lead{margin-inline:0}
  .app-copy ul{align-self:flex-start;margin-inline:0;max-width:none}
  .app-stores{justify-content:flex-start !important}
}
.app-copy li{text-align:left}
.app-stores{justify-content:center}

/* MEDIA BLOCK · imprensa centralizada */

/* CLOSER · padrão consistente */
.closer-content{align-items:center;text-align:center}
.closer .eyebrow{align-self:center}
.closer h2{text-align:center}
.closer p{text-align:left;max-width:42ch;margin-inline:auto;width:auto}

/* FEATURES · espaçamento ícone → h3 → p */
.feat{gap:14px}
.feat h3{margin-top:2px}
.feat p{margin-top:2px}

/* PERSONAS · espaçamento ícone → h3 → p */
.persona-body{padding:var(--s-4) var(--s-4) var(--s-5)}
.persona-body h3{margin-top:4px}

/* PLANS · gap interno consistente */
.plan{gap:14px}
.plan h3{margin-top:4px}
.plan .plan-shield{margin-top:6px}

@media(max-width:639px){
  .persona-body p{max-width:34ch}
  .plan ul{max-width:34ch}
  .app-copy ul,.app-copy .lead{max-width:36ch}
  .closer p{max-width:38ch}
}

@media(min-width:1024px){
  .persona-body p{max-width:30ch}
  .plan ul{max-width:38ch}
}
@media(min-width:1280px){
  .persona-body p{max-width:32ch}
  .plan ul{max-width:42ch}
}

/* ============================================================
   v20.36 · TEXTO DESCRITIVO CENTRALIZADO HORIZONTALMENTE
   Espaços iguais dos dois lados (text-align:center)
   ============================================================ */
.feat p,
.persona-body p,
.closer p,
.app-copy .lead{
  text-align:center !important;
  margin-inline:auto;
}
.plan li,
.app-copy li{
  text-align:left;
}
.plan ul,
.app-copy ul{
  margin-inline:auto;
}
/* Section-head leads também centralizados horizontalmente */
.section-head .lead{text-align:center !important;margin-inline:auto}
.hero-sub{text-align:center !important;margin-inline:auto}

/* Quebras de linha controladas · ativas em todos os breakpoints (mobile-first) */
.br-d{display:inline}

/* .shine dentro de parágrafos de features · display:inline para permitir
   <br class="br-d"> dentro do span sem criar 3ª linha (inline-block causava
   linha extra antes do span no card 6) */
.feat p .shine{display:inline}

/* ============================================================
   v20.41 · Adaptações desktop
   · Hero: vídeo à esquerda, copy à direita
   · Features p: largura livre em tablet+desktop para 2 linhas confortáveis
   · Hierarquia geral revisada
   ============================================================ */

/* HERO · vídeo à esquerda, copy à direita em ≥820px */
@media(min-width:820px){
  .hero-inner{grid-template-columns:1fr 1.1fr}
  .hero-visual{order:1}
  .hero-copy{order:2;text-align:left;align-items:flex-start;justify-content:center}
  
  .hero-sub{text-align:left !important;margin-inline:0}
  .hero-cta-row{justify-content:flex-start}
}

/* FEATURES · max-width livre em tablet+desktop (card decide largura) */
@media(min-width:768px){
  .feat p{max-width:none}
}

/* FEATURES desktop · cards mais altos com gap maior */
@media(min-width:1024px){
  .feat{padding:var(--s-6) var(--s-5);min-height:280px;gap:18px}
  .feat h3{font-size:1.25rem}
  .feat p{font-size:.9375rem;line-height:1.55}
}

/* PERSONAS desktop · cards balanceados */
@media(min-width:1024px){
  .persona{min-height:300px}
  .persona-visual{height:140px}
  .persona-body{padding:var(--s-4) var(--s-4) var(--s-5)}
  .persona-body h3{font-size:1rem}
  .persona-body p{font-size:.875rem;line-height:1.55}
}

/* PLANS desktop · alinhamento topo, altura igual, badge centralizado */
@media(min-width:1024px){
  .plans-grid{align-items:stretch;padding-top:24px}
  .plan{min-height:560px}
  .plan li{font-size:.9375rem;line-height:1.55}
  .plan-cta{width:100%}
  .plan-cta .btn{width:100%;max-width:none}
}

/* PROVA SOCIAL desktop · carousel + media-block alinhados pelo topo */
@media(min-width:1024px){
  
  .carousel{max-width:none}
  
  
  
  
  
  
}

/* APP SECTION desktop · grid 1.1fr/.9fr, mock à direita centralizado */
@media(min-width:1024px){
  .app-grid{grid-template-columns:1.1fr .9fr;gap:var(--s-7);align-items:center}
  .app-copy{align-items:flex-start;text-align:left}
  .app-copy .eyebrow{align-self:flex-start}
  .app-copy h2{text-align:left}
  .app-copy .lead{text-align:left !important;margin-inline:0}
  .app-copy ul{align-self:flex-start;margin-inline:0;max-width:42ch}
  .app-stores{justify-content:flex-start}
  .app-mock{min-height:480px}
  
}

/* CLOSER desktop · padding generoso, CTAs lado a lado */
@media(min-width:1024px){
  .closer{padding:88px 80px}
  .closer h2{font-size:clamp(2.5rem,4vw,3.5rem)}
  .closer-cta{gap:var(--s-3)}
  .closer-cta .btn{flex:0 1 auto;min-width:240px;max-width:none}
}

/* FOOTER desktop · 5 colunas equilibradas */

/* SECTION HEAD desktop · em sections que NÃO são .center, retomar text-align left
   mas leads centralizados horizontalmente independente */
@media(min-width:1024px){
  .section-head:not(.center){align-items:flex-start;text-align:left}
  .section-head:not(.center) .h2{text-align:left}
  .section-head:not(.center) .lead{text-align:left !important;margin-inline:0;max-width:62ch}
}

/* ============================================================
   v20.43 · HERO MOBILE · ordem, largura igual ao vídeo, radius
   · Headline → texto → vídeo → botões (ordem visual)
   · h1, hero-sub e hero-visual com mesma largura (100% do container)
   · hero-sub: bloco com texto interno à esquerda
   · Border-radius do vídeo menor, mais discreto
   ============================================================ */
@media(max-width:819px){
  .hero-inner{display:flex;flex-direction:column;gap:var(--s-4)}
  .hero-copy{display:contents}
  .hero-copy > .h1{order:1;width:100%;max-width:none;text-align:center}
  .hero-copy > .hero-sub{order:2;width:100%;max-width:none;text-align:left !important;margin-inline:0}
  .hero-visual{order:3;width:100%;border-radius:14px}
  .hero-copy > .hero-cta-row{order:4;width:100%}

  /* Headline · fonte reduzida para caber 2 linhas conforme spec */
  .h1{font-size:clamp(1.625rem,6.2vw,2.25rem);line-height:1.1;letter-spacing:-.02em}
  .hero-sub{font-size:1rem;line-height:1.55}
}

/* Border radius do vídeo · mais discreto em todos breakpoints */
.hero-visual{border-radius:14px}
@media(min-width:1024px){.hero-visual{border-radius:18px}}

/* ============================================================
   v20.44 · PADRÃO UNIVERSAL · bloco centralizado, texto à esquerda
   · width:fit-content faz o bloco ter largura do conteúdo
   · max-width:100% impede que estoure o container
   · margin-inline:auto centraliza o bloco no container
   · text-align:left mantém o texto interno alinhado à esquerda
   · Espaços esquerda/direita do BLOCO ficam iguais
   ============================================================ */
.hero-sub,
.feat p,
.persona-body p,
.closer p,
.app-copy .lead,
.section-head .lead{
  text-align:left !important;
  width:fit-content;
  max-width:100%;
  margin-inline:auto !important;
}

/* HEADLINE MOBILE · fonte reduzida para garantir 2 linhas conforme spec */
@media(max-width:819px){
  .h1{
    font-size:clamp(1.125rem,4.8vw,1.75rem) !important;
    line-height:1.15;
    letter-spacing:-.01em;
  }
}

/* ============================================================
   v20.46 · HERO MOBILE · headline 2 linhas reais + bloco centralizado + distribuição vertical
   · Fonte da headline AINDA MAIS reduzida (cabe 2 linhas em viewport pequeno)
   · Headline com width:100% centralizada
   · Hero-sub com width:fit-content + margin auto (bloco no centro, texto left)
   · .hero-inner com min-height:100svh e justify-content:space-between
     distribui os elementos uniformemente pela viewport
   ============================================================ */
@media(max-width:819px){
  /* HEADLINE · ocupa largura total do container (= vídeo), 2 linhas
     Fonte maior para presença visual, com text-wrap:balance para distribuição
     equilibrada quando a quebra automática entra em ação */
  .h1{
    width:100% !important;
    max-width:none !important;
    text-align:center !important;
    margin-inline:0 !important;
    font-size:clamp(1.375rem,5.6vw,2rem) !important;
    line-height:1.1;
    letter-spacing:-.015em;
    text-wrap:balance;
  }

  /* HERO-SUB · bloco centralizado, texto à esquerda */
  .hero-sub{
    width:fit-content !important;
    max-width:100% !important;
    text-align:left !important;
    margin-inline:auto !important;
    font-size:.9375rem;
    line-height:1.55;
  }

  /* DISTRIBUIÇÃO VERTICAL · gap controlado, sem esticar */
  .hero{min-height:0}
  .hero-inner{
    min-height:0;
    padding-block:24px 28px;
    gap:20px;
    justify-content:flex-start;
    align-items:center;
  }
  .hero-copy > .h1{margin-bottom:2px}
  .hero-copy > .hero-sub{margin-bottom:6px}

  /* Botões CTA · respiro maior entre eles */
  .hero-cta-row{gap:12px;margin-top:0}
}

/* Numbers section · padding-top mobile reduzido */
@media(max-width:639px){
  .numbers{padding-block:32px 40px}
}

/* ============================================================
   v20.47 · shine inline em hero-sub + cookie banner no bottom
   ============================================================ */

/* Permite <br> dentro do <span class="shine"> em hero-sub sem quebrar
   o display:inline-block (mesma estratégia usada nos .feat p) */
.hero-sub .shine{display:inline}

/* ============================================================
   v20.55 · CLOSER · gradient amarelo + CTA verde com shine/pulse +
   tag prova abaixo dos botões + respiro maior
   ============================================================ */
.closer.closer-card-glass{
  position:relative;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(252,223,0,.12) 0%, transparent 60%),
    radial-gradient(ellipse 100% 80% at 50% 100%, rgba(252,223,0,.05) 0%, transparent 55%),
    linear-gradient(180deg, rgba(35,35,35,.62), rgba(23,23,23,.58)) !important;
  border:1px solid var(--y-32) !important;
  box-shadow:
    0 18px 60px var(--k-55),
    inset 0 1px 0 var(--w-06),
    0 0 32px rgba(252,223,0,.06) !important;
  overflow:hidden;
  isolation:isolate;
}
.closer.closer-card-glass::before{
  content:"";
  position:absolute;
  top:-25%; left:-10%; right:-10%;
  height:60%;
  background:radial-gradient(ellipse at center, var(--w-06) 0%, transparent 60%);
  pointer-events:none;
  z-index:0;
  filter:blur(20px);
}
.closer.closer-card-glass > *{position:relative;z-index:1}
.closer.closer-card-glass .closer-content{
  gap:18px;
}
.closer.closer-card-glass h2{margin-bottom:2px}
.closer.closer-card-glass .closer-cta{margin-top:10px}

/* BTN CTA GREEN · shine + glow verde pulse + scale (mesmo princípio do hero) */
.btn-cta-green{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  z-index:1;
  animation:btnCtaPulseGreen 2.8s ease-in-out infinite;
  font-weight:800;
  letter-spacing:.01em;
}
.btn-cta-green .btn-cta-glow-green{
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  background:radial-gradient(ellipse at center, rgba(37,211,102,.55) 0%, rgba(37,211,102,.2) 40%, transparent 72%);
  filter:blur(12px);
  z-index:-1;
  pointer-events:none;
  animation:btnCtaGlowGreen 2.8s ease-in-out infinite;
}
.btn-cta-green::after{
  content:"";
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
  border-radius:inherit;
  background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.5) 48%, rgba(255,255,255,.8) 50%, rgba(255,255,255,.5) 52%, transparent 70%);
  background-size:280% 100%;
  background-position:100% 0;
  animation:shine 3.4s ease-in-out infinite;
  pointer-events:none;
  mix-blend-mode:overlay;
  z-index:0;
  transition:none;
  left:0;
}
.btn-cta-green:hover::after{left:0}
.btn-cta-green svg,
.btn-cta-green .btn-cta-label{
  position:relative;
  z-index:1;
}
.btn-cta-green .btn-cta-label{font-weight:800;color:var(--c-black)}
@keyframes btnCtaPulseGreen{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 6px 22px rgba(37,211,102,.32), 0 0 22px rgba(37,211,102,.18);
  }
  50%{
    transform:translateY(-1px) scale(1.018);
    box-shadow:0 10px 30px rgba(37,211,102,.55), 0 0 36px var(--g-35);
  }
}
@keyframes btnCtaGlowGreen{
  0%,100%{opacity:.5; transform:scale(.96)}
  50%{opacity:.9; transform:scale(1.06)}
}
.btn-cta-green:hover{
  animation-play-state:paused;
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 40px rgba(37,211,102,.55), 0 0 48px rgba(37,211,102,.6);
}
.btn-cta-green:hover .btn-cta-glow-green{opacity:1;transform:scale(1.15)}
@media(max-width:639px){
  .btn-cta-green{animation-duration:3s}
  .btn-cta-green .btn-cta-glow-green{inset:-5px;filter:blur(9px)}
}
@media(max-width:419px){
  .btn-cta-green .btn-cta-glow-green{inset:-4px;filter:blur(7px)}
}
@media(min-width:1024px){
  .btn-cta-green .btn-cta-glow-green{inset:-12px;filter:blur(16px)}
}
@media(prefers-reduced-motion:reduce){
  .btn-cta-green,
  .btn-cta-green .btn-cta-glow-green,
  .btn-cta-green::after{animation:none}
}

/* ============================================================
   v20.54 · APP MOCKUP · imagem real substitui phone-mock CSS
   + inversão da ordem: mockup em cima, card embaixo
   ============================================================ */
.app-grid{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.app-grid{overflow:visible !important}
section:has(.app-mock.app-mock-img){overflow:visible !important}
.app-mock.app-mock-img,
.app-mock.app-mock-img:hover{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:36px 16px !important;
  margin:0 !important;
  min-height:0 !important;
  perspective:none !important;
  overflow:visible !important;
  border-radius:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  order:1;
  width:100%;
}
.app-mock.app-mock-img::before,
.app-mock.app-mock-img::after{display:none !important;content:none !important}
.app-mockup-png{
  width:100%;
  max-width:300px;
  height:auto;
  display:block;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  filter:drop-shadow(0 0 12px rgba(252,223,0,.35)) drop-shadow(0 0 24px var(--y-18));
  animation:featIconGlow 3.4s ease-in-out infinite, featIconSway 4.5s ease-in-out infinite;
  transition:transform .4s var(--ease-out);
  transform-origin:50% 70%;
  margin-inline:auto;
}
@media(min-width:480px){
  .app-mockup-png{max-width:340px}
}
@media(min-width:640px){
  .app-mockup-png{max-width:400px}
}
@media(min-width:820px){
  .app-mockup-png{max-width:440px}
}
@media(min-width:1024px){
  .app-mockup-png{max-width:500px}
}
.app-mock.app-mock-img:hover .app-mockup-png{transform:translateY(-3px) scale(1.06)}
.app-copy{order:2}
@media(min-width:820px){
  .app-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:48px;
  }
  .app-mock.app-mock-img{order:1}
  .app-copy{order:2}
  .app-mockup-png{max-width:560px}
}
@media(min-width:1024px){
  .app-grid{grid-template-columns:1.1fr .9fr;gap:64px}
  .app-mockup-png{max-width:560px}
}
@media(min-width:1280px){
  .app-grid{grid-template-columns:1.05fr .95fr;gap:80px}
  .app-mockup-png{max-width:620px}
}
@media(prefers-reduced-motion:reduce){
  .app-mockup-png{animation:none}
}

/* GMAPP LOGO · acima do título no card App */
.gmapp-logo{
  width:160px;
  max-width:60%;
  height:auto;
  display:block;
  margin:6px auto 0;
  filter:drop-shadow(0 0 10px var(--y-32)) drop-shadow(0 0 22px var(--y-14));
  animation:gmappGlow 3.6s ease-in-out infinite;
}
@keyframes gmappGlow{
  0%,100%{filter:drop-shadow(0 0 8px var(--y-22)) drop-shadow(0 0 16px var(--y-10))}
  50%{filter:drop-shadow(0 0 14px var(--y-40)) drop-shadow(0 0 28px var(--y-22))}
}
@media(max-width:374px){
  .gmapp-logo{width:130px}
}
@media(min-width:1024px){
  .gmapp-logo{width:200px}
}
@media(prefers-reduced-motion:reduce){
  .gmapp-logo{animation:none}
}

/* ============================================================
   v20.53 · APP SECTION · estilo dos planos + gradient amarelo suave
   ============================================================ */
.app-copy.app-card-glass{
  position:relative;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, var(--y-10) 0%, transparent 60%),
    radial-gradient(ellipse 100% 80% at 50% 100%, rgba(252,223,0,.04) 0%, transparent 55%),
    linear-gradient(180deg, rgba(35,35,35,.6), rgba(23,23,23,.55)) !important;
  backdrop-filter:saturate(1.3) blur(16px);
  -webkit-backdrop-filter:saturate(1.3) blur(16px);
  border:1px solid var(--y-18);
  border-radius:var(--r-xl);
  padding:32px 24px;
  box-shadow:
    0 8px 28px rgba(0,0,0,.45),
    inset 0 1px 0 var(--w-06),
    0 0 32px rgba(252,223,0,.05);
  align-items:center !important;
  text-align:center !important;
  gap:18px;
  overflow:hidden;
  isolation:isolate;
}
.app-copy.app-card-glass::before{
  content:"";
  position:absolute;
  top:-20%; left:-10%; right:-10%;
  height:60%;
  background:radial-gradient(ellipse at center, var(--w-08) 0%, transparent 60%);
  pointer-events:none;
  z-index:0;
  filter:blur(20px);
}
.app-copy.app-card-glass > *{position:relative;z-index:1}
.app-copy.app-card-glass .eyebrow{align-self:center !important}
.app-copy.app-card-glass h2{
  text-align:center !important;
  width:100%;
  font-size:clamp(1.125rem, 5vw, 1.5rem) !important;
  letter-spacing:-.025em !important;
  line-height:1.15 !important;
  white-space:nowrap;
}
@media(max-width:374px){
  .app-copy.app-card-glass h2{font-size:1rem !important;letter-spacing:-.03em !important}
}
@media(min-width:480px){
  .app-copy.app-card-glass h2{font-size:1.375rem !important}
}
@media(min-width:1024px){
  .app-copy.app-card-glass h2{font-size:1.75rem !important;letter-spacing:-.02em !important}
}
.app-copy.app-card-glass .lead{text-align:center !important;margin-inline:auto !important;max-width:46ch !important}
/* LEAD · 2 linhas exatas controladas por <br class="br-mob"> em mobile */
.app-copy.app-card-glass .app-lead-2{
  max-width:42ch !important;
  width:auto !important;
  line-height:1.55 !important;
}
@media(max-width:819px){
  .app-copy.app-card-glass .app-lead-2{font-size:.9375rem !important;max-width:42ch !important}
}
@media(max-width:374px){
  .app-copy.app-card-glass .app-lead-2{font-size:.875rem !important}
}
@media(min-width:820px){
  .app-copy.app-card-glass .app-lead-2{max-width:42ch !important}
}
/* BULLETS · 1 linha · bloco centralizado · chevron amarelo · IDÊNTICO ao plano */
.app-bullets{
  display:inline-flex !important;
  flex-direction:column;
  gap:10px;
  width:auto !important;
  max-width:100% !important;
  align-self:center !important;
  margin-inline:auto !important;
  padding:0 !important;
  text-align:left;
  list-style:none;
}
.app-bullets li{
  position:relative;
  white-space:nowrap;
  text-align:left !important;
  font-size:.875rem;
  line-height:1.4;
  padding-left:22px;
  color:var(--txt-2);
  display:block;
}
.app-bullets li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.35em !important;
  width:14px !important;
  height:14px !important;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' overflow='visible'><circle cx='7' cy='7' r='6' stroke='%23fcdf00' stroke-width='1.2' opacity='0.4' fill='none'/><path d='M4 7L6 9L10 5' stroke='%23fcdf00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:transparent !important;
  text-shadow:none !important;
  font-size:0 !important;
}
.app-bullets li::after{display:none !important;content:none !important}
/* STORES com shine + glow suaves */
.app-stores{
  justify-content:center !important;
  margin-top:18px !important;
  gap:12px;
}
.app-stores .store-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid var(--y-32) !important;
  background:linear-gradient(135deg, rgba(35,35,35,.7), rgba(23,23,23,.7)) !important;
  box-shadow:
    0 4px 14px rgba(0,0,0,.4),
    0 0 16px rgba(252,223,0,.12),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  transition:transform .3s var(--ease-out), box-shadow .3s, border-color .3s !important;
}
.app-stores .store-btn::after{
  content:"";
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.25) 48%, rgba(255,255,255,.45) 50%, rgba(255,255,255,.25) 52%, transparent 70%);
  background-size:300% 100%;
  background-position:100% 0;
  animation:storeShine 5s ease-in-out infinite;
  pointer-events:none;
  mix-blend-mode:overlay;
  z-index:0;
}
.app-stores .store-btn > *{position:relative;z-index:1}
.app-stores .store-btn:nth-child(2)::after{animation-delay:-2.5s}
.app-stores .store-btn:hover{
  transform:translateY(-2px);
  border-color:var(--c-yellow) !important;
  box-shadow:
    0 8px 22px rgba(0,0,0,.5),
    0 0 28px var(--y-32),
    inset 0 1px 0 var(--w-08) !important;
}
@keyframes storeShine{
  0%,100%{background-position:100% 0;opacity:.55}
  50%{background-position:0% 0;opacity:.95}
}
@media(max-width:374px){
  .app-bullets li{font-size:.8125rem;padding-left:20px}
  .app-bullets li::before{width:12px !important;height:12px !important}
  .app-copy.app-card-glass{padding:24px 18px}
}
@media(min-width:1024px){
  .app-bullets li{font-size:.9375rem;padding-left:26px}
  .app-bullets li::before{width:16px !important;height:16px !important;top:.4em !important}
  .app-copy.app-card-glass{padding:40px 32px}
}
@media(prefers-reduced-motion:reduce){
  .app-stores .store-btn::after{animation:none}
}

/* ============================================================
   v20.52 · CONHEÇA A GMTRACK · 1 card horizontal grande por vez
   ============================================================ */
.conheca-wrap{max-width:900px;margin:0 auto}
.conheca-carousel{max-width:none !important}
.conheca-carousel .carousel-slide{flex:0 0 100% !important}
.conheca-carousel .carousel-track{gap:0 !important}
.conheca-card{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--line);
  background:#000;
  aspect-ratio:16/10;
  transition:transform .4s var(--ease-out),border-color var(--dur-base),box-shadow .4s;
  display:block;
  isolation:isolate;
}
.conheca-card:hover{
  border-color:var(--c-yellow);
  box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 28px var(--y-22);
}
.conheca-card img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  z-index:1;
  transition:transform .8s var(--ease-out);
}
.conheca-card:hover img{transform:scale(1.04)}
.conheca-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg, rgba(1,1,1,.0) 50%, rgba(1,1,1,.5) 80%, rgba(1,1,1,.9) 100%);
  pointer-events:none;
}
.conheca-card .conheca-caption{
  position:absolute;
  left:16px;right:16px;bottom:16px;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.conheca-card .conheca-label{
  font-family:var(--f-display);
  font-weight:700;
  font-size:1.0625rem;
  line-height:1.25;
  color:var(--txt);
  text-wrap:balance;
  text-shadow:0 2px 8px var(--k-65);
}
.conheca-card .who{
  font-family:var(--f-mono);
  font-weight:500;
  font-size:.625rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-yellow);
}
@media(min-width:640px){
  .conheca-card{aspect-ratio:16/9}
  .conheca-card .conheca-label{font-size:1.25rem}
  .conheca-card .conheca-caption{left:24px;right:24px;bottom:22px}
}
@media(min-width:1024px){
  .conheca-card .conheca-label{font-size:1.5rem}
}

/* SELOS · Google + Melhores · sem caixa · maior, glow + shine sweep */

@keyframes seloGlow{
  0%,100%{filter:drop-shadow(0 0 10px rgba(252,223,0,.24)) drop-shadow(0 0 22px rgba(252,223,0,.12))}
  50%{filter:drop-shadow(0 0 18px rgba(252,223,0,.45)) drop-shadow(0 0 36px var(--y-22))}
}
@keyframes seloGlowBg{
  0%,100%{opacity:.45;transform:scale(.95)}
  50%{opacity:.85;transform:scale(1.08)}
}
@keyframes seloShine{
  0%,100%{background-position:100% 0;opacity:.55}
  50%{background-position:0% 0;opacity:.85}
}

/* ============================================================
   v20.51 · OPERAÇÃO · cards do carrossel maiores e mais sérios
   Substitui o "video-card" fake por "ops-card" honesto
   ============================================================ */

/* CARROSSEL · espaço maior para os ops-cards verticais */
.carousel{max-width:none}
.carousel-track{gap:14px}
@media(min-width:640px){.carousel-slide{flex:0 0 calc(50% - 7px)}}
@media(min-width:1024px){.carousel-slide{flex:0 0 calc(33.333% - 10px)}}

/* ============================================================
   v20.49 · PLANOS · glass nos 3, bullets 1-linha, badge laranja
   ============================================================ */

/* PLANS GRID · espaço vertical entre os 3 cards */
.plans-grid{
  gap:36px !important;
  padding-top:28px !important;
}
@media(max-width:639px){
  .plans-grid{gap:32px !important;padding-top:24px !important}
}
@media(min-width:1024px){
  .plans-grid{gap:var(--s-5) !important;padding-top:32px !important}
}

/* GLASS · todos os 3 cards (não só o featured) */
.plan{
  background:rgba(23,23,23,.55) !important;
  backdrop-filter:saturate(1.2) blur(14px);
  -webkit-backdrop-filter:saturate(1.2) blur(14px);
  border:1px solid var(--w-08);
  box-shadow:0 8px 28px rgba(0,0,0,.45), inset 0 1px 0 var(--w-04);
}
.plan.featured{
  background:rgba(35,35,35,.62) !important;
  backdrop-filter:saturate(1.4) blur(18px);
  -webkit-backdrop-filter:saturate(1.4) blur(18px);
  border:1.5px solid var(--c-yellow);
  box-shadow:var(--neon-y), 0 18px 48px var(--k-55), inset 0 1px 0 var(--w-06);
  animation:planFeaturedGlow 3.6s ease-in-out infinite;
}
@keyframes planFeaturedGlow{
  0%,100%{box-shadow:0 0 22px var(--y-32), 0 0 50px rgba(252,223,0,.16), 0 18px 48px var(--k-55), inset 0 1px 0 var(--w-06)}
  50%{box-shadow:0 0 38px rgba(252,223,0,.55), 0 0 76px var(--y-32), 0 22px 56px rgba(0,0,0,.6), inset 0 1px 0 var(--w-08)}
}
.plan.featured:hover{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.plan.featured{animation:none}}

/* BULLETS · 1 linha exata · BLOCO centralizado no card · texto à esquerda */
.plan ul{
  display:inline-flex !important;
  flex-direction:column;
  gap:10px;
  width:auto !important;
  max-width:100% !important;
  align-self:center !important;
  margin-inline:auto !important;
  padding:0 !important;
  text-align:left;
}
.plan li{
  white-space:nowrap;
  text-align:left !important;
  font-size:.8125rem;
  line-height:1.4;
  padding-left:22px;
  max-width:none !important;
  width:auto;
  display:block;
  color:var(--txt-2);
}
/* Bullets dos planos · SVG inline · círculo amarelo + checkmark */
.plan li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.4em !important;
  width:14px !important;
  height:14px !important;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' overflow='visible'><circle cx='7' cy='7' r='6' stroke='%23fcdf00' stroke-width='1.2' opacity='0.4' fill='none'/><path d='M4 7L6 9L10 5' stroke='%23fcdf00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:transparent !important;
  text-shadow:none !important;
  font-family:inherit;
}
.plan li::after{
  display:none !important;
  content:none !important;
}
@media(max-width:374px){
  .plan li{font-size:.75rem;padding-left:22px}
  .plan li::before{width:12px !important;height:12px !important;top:.45em !important}
}
@media(min-width:480px){
  .plan li{font-size:.875rem}
}
@media(min-width:1024px){
  .plan li{font-size:.9375rem;padding-left:30px}
}

/* PLAN-SHIELD IMG · PNGs flutuantes dos planos 01 e 02 · mesmo padrão dos features */
.plan-shield.plan-shield-img{
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  border:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-inline:auto;
  padding:6px 0;
}
.plan-img{
  display:block;
  width:60px;height:60px;
  object-fit:contain;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  filter:drop-shadow(0 0 8px var(--y-22)) drop-shadow(0 0 18px var(--y-10));
  animation:planImgGlow 3.8s ease-in-out infinite, featIconSway 5s ease-in-out infinite;
  transition:transform .4s var(--ease-out);
  transform-origin:50% 70%;
  margin-inline:auto;
  opacity:.92;
}
@keyframes planImgGlow{
  0%,100%{filter:drop-shadow(0 0 6px var(--y-18)) drop-shadow(0 0 14px rgba(252,223,0,.08))}
  50%{filter:drop-shadow(0 0 10px rgba(252,223,0,.3)) drop-shadow(0 0 22px rgba(252,223,0,.16))}
}
.plan:hover .plan-img{transform:translateY(-2px) scale(1.05);opacity:1}
@media(max-width:374px){
  .plan-img{width:52px;height:52px}
}
@media(min-width:1024px){
  .plan-img{width:70px;height:70px}
}
@media(prefers-reduced-motion:reduce){
  .plan-img{animation:none}
}

/* Ícone reboque é horizontal · escala bem maior para destacar como ícone principal do plano 2 */
.plan-img[src*="reboque"]{transform:scale(1.8)!important;transform-origin:center center!important}
.plan:hover .plan-img[src*="reboque"]{transform:translateY(-2px) scale(1.85)!important}

/* PLAN-SHIELD FIPE · logo Garantia 100% FIPE largura total do card · destaque máximo */
.plan-shield.plan-shield-fipe{
  width:100% !important;
  height:auto !important;
  background:transparent !important;
  border:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 0 4px;
  margin-inline:auto;
  margin-block:6px 4px;
}
.plan-shield.plan-shield-fipe img{
  width:100%;
  max-width:340px;
  height:auto;
  display:block;
  filter:drop-shadow(0 0 10px var(--y-40)) drop-shadow(0 0 22px var(--y-22));
  animation:fipeBadgeGlow 3.2s ease-in-out infinite;
}
@keyframes fipeBadgeGlow{
  0%,100%{filter:drop-shadow(0 0 8px var(--y-32)) drop-shadow(0 0 18px var(--y-14))}
  50%{filter:drop-shadow(0 0 16px var(--y-40)) drop-shadow(0 0 32px var(--y-32))}
}
@media(max-width:374px){
  .plan-shield.plan-shield-fipe img{max-width:280px}
}
@media(min-width:480px){
  .plan-shield.plan-shield-fipe img{max-width:360px}
}
@media(min-width:1024px){
  .plan-shield.plan-shield-fipe img{max-width:280px}
}
@media(prefers-reduced-motion:reduce){
  .plan-shield.plan-shield-fipe img{animation:none}
}

/* PLAN-BADGE · sólido dourado bronze · com shine sweep · sem ring preto */
.plan-badge,
.plan.featured > .plan-badge{
  position:absolute !important;
  top:-15px !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  background:linear-gradient(135deg, #e6c155 0%, #c89b2a 50%, #9a751c 100%) !important;
  color:#0a0500 !important;
  border:1px solid #7a5a14 !important;
  box-shadow:
    0 4px 10px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,235,180,.5),
    inset 0 -1px 0 rgba(0,0,0,.28) !important;
  font-family:var(--f-mono) !important;
  font-weight:800 !important;
  font-size:.625rem !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  padding:7px 16px 7px 13px !important;
  border-radius:var(--r-full) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  white-space:nowrap !important;
  z-index:9999 !important;
  isolation:isolate;
  overflow:hidden;
  text-shadow:0 1px 0 rgba(255,235,180,.35);
}
.plan-badge::before{
  background:transparent !important;
  box-shadow:none !important;
  animation:none !important;
  position:relative;
  z-index:2;
}
/* SHINE sweep · mesmo efeito do btn-cta-hero */
.plan-badge::after{
  content:"";
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  border-radius:inherit;
  background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.5) 48%, rgba(255,255,255,.85) 50%, rgba(255,255,255,.5) 52%, transparent 70%);
  background-size:280% 100%;
  background-position:100% 0;
  animation:shine 3.4s ease-in-out infinite;
  pointer-events:none;
  mix-blend-mode:overlay;
  z-index:1;
}
@media(prefers-reduced-motion:reduce){
  .plan-badge::after{animation:none}
}
/* desliga stroke planSnake na área da badge */
.plan.featured::after{
  z-index:0 !important;
}
.plan.featured > .plan-badge{
  z-index:9999 !important;
}
.plan-badge::before{
  content:"★";
  width:auto;height:auto;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--c-black);
  font-size:.6875rem;
  line-height:1;
  flex-shrink:0;
  animation:none !important;
}
@keyframes platePulse{0%,100%{opacity:1}50%{opacity:.4}}

/* PERSONAS · foto QUADRADA (1:1) + card compactado
   Ativa automaticamente quando o .persona-visual contém .persona-photo */
.persona-visual:has(.persona-photo){
  aspect-ratio:1/1;
  height:auto !important;
  padding:0;
  overflow:hidden;
  background:var(--c-black);
}
.persona-visual:has(.persona-photo) .persona-icon{display:none}
.persona-visual:has(.persona-photo)::before{display:none}
.persona-visual .persona-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  display:block;
  z-index:1;
  transition:transform .8s var(--ease-out);
}
.persona-visual:has(.persona-photo)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg, transparent 72%, rgba(1,1,1,.4) 100%);
  pointer-events:none;
}
.persona:hover .persona-photo{
  transform:scale(1.04);
}

/* PERSONAS · compactar body + spacing */
.persona{min-height:0 !important}
.persona-body{
  padding:14px 14px 16px !important;
  gap:8px !important;
}
.persona-body .tag-sm{
  font-size:.5625rem !important;
  padding:4px 9px !important;
  letter-spacing:.16em !important;
}
.persona-body .persona-desc{
  font-size:.8125rem;
  line-height:1.4;
  max-width:34ch;
}
@media(min-width:1024px){
  .persona-body{padding:16px 16px 18px !important}
  .persona-body .persona-desc{font-size:.875rem;max-width:32ch}
}
@media(max-width:374px){
  .persona-body{padding:12px 12px 14px !important;gap:6px !important}
  .persona-body .persona-desc{font-size:.75rem;max-width:24ch}
}
@media(prefers-reduced-motion:reduce){
  .persona-visual .persona-photo,
  .persona:hover .persona-photo{transition:none;transform:none}
}

/* PERSONAS · estrutura tag + descrição (texto completo SEM truncar, calibrado 2 linhas) */
.persona-body{gap:10px !important}
.persona-body .tag-sm{margin-bottom:0}
.persona-body .persona-desc{
  font-family:var(--f-body);
  font-size:.875rem;
  line-height:1.5;
  color:var(--txt-2);
  text-align:center !important;
  text-wrap:balance;
  margin-inline:auto !important;
  width:100% !important;
  max-width:36ch !important;
  overflow:visible !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
}
@media(min-width:1024px){
  .persona-body .persona-desc{font-size:.875rem;max-width:38ch !important}
}
@media(min-width:1280px){
  .persona-body .persona-desc{max-width:40ch !important}
}
@media(max-width:374px){
  .persona-body .persona-desc{font-size:.8125rem;max-width:30ch !important}
}

/* LEAD CENTER · utility para forçar text-align center em lead específico */
.section-head .lead.lead-center,
.lead.lead-center{
  text-align:center !important;
  width:auto !important;
  max-width:42ch !important;
  margin-inline:auto !important;
}
@media(min-width:1024px){
  .section-head:not(.center) .lead.lead-center{
    text-align:center !important;
    margin-inline:auto !important;
    max-width:48ch !important;
  }
}

/* ============================================================
   v20.48 · BOTÃO CTA HERO · shine no botão + neon pulse + micro scale
   ============================================================ */
.btn-cta-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  z-index:1;
  animation:btnCtaPulse 2.8s ease-in-out infinite;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--c-black) !important;
}
/* GLOW · halo radial atrás (sem afetar layout) */
.btn-cta-hero .btn-cta-glow{
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  background:radial-gradient(ellipse at center, rgba(252,223,0,.6) 0%, rgba(252,223,0,.2) 40%, transparent 72%);
  filter:blur(12px);
  z-index:-1;
  pointer-events:none;
  animation:btnCtaGlow 2.8s ease-in-out infinite;
}
/* SHINE · varredura horizontal no fundo do botão (não afeta texto) */
.btn-cta-hero::after{
  content:"";
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
  border-radius:inherit;
  background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 48%, rgba(255,255,255,.85) 50%, rgba(255,255,255,.55) 52%, transparent 70%);
  background-size:280% 100%;
  background-position:100% 0;
  animation:shine 3.4s ease-in-out infinite;
  pointer-events:none;
  mix-blend-mode:overlay;
  z-index:0;
  transition:none;
  left:0;
}
.btn-cta-hero:hover::after{left:0}
/* conteúdo acima do shine */
.btn-cta-hero svg,
.btn-cta-hero .btn-cta-label{
  position:relative;
  z-index:1;
}
.btn-cta-hero svg{filter:drop-shadow(0 0 3px rgba(0,0,0,.25))}
.btn-cta-hero .btn-cta-label{font-weight:700;color:var(--c-black)}

@keyframes btnCtaPulse{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 6px 22px var(--y-22), 0 0 22px var(--y-14);
  }
  50%{
    transform:translateY(-1px) scale(1.018);
    box-shadow:0 10px 30px var(--y-40), 0 0 34px var(--y-32);
  }
}
@keyframes btnCtaGlow{
  0%,100%{opacity:.5; transform:scale(.96)}
  50%{opacity:.9; transform:scale(1.06)}
}
/* @keyframes btnCtaShine merged into shine (v21.3) */

.btn-cta-hero:hover{
  animation-play-state:paused;
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 40px var(--y-40), 0 0 48px rgba(252,223,0,.55);
}
.btn-cta-hero:hover .btn-cta-glow{opacity:1;transform:scale(1.15)}

/* RESPONSIVIDADE · adapta glow + scale + size por breakpoint */
@media(max-width:639px){
  .btn-cta-hero{animation-duration:3s}
  .btn-cta-hero .btn-cta-glow{inset:-5px;filter:blur(9px)}
  @keyframes btnCtaPulse{
    0%,100%{transform:scale(1);box-shadow:0 5px 16px var(--y-22), 0 0 16px var(--y-14)}
    50%{transform:scale(1.014);box-shadow:0 7px 22px var(--y-40), 0 0 24px var(--y-32)}
  }
}
@media(max-width:419px){
  .btn-cta-hero .btn-cta-glow{inset:-4px;filter:blur(7px)}
  .btn-cta-hero::after{background-size:240% 100%}
}
@media(min-width:1024px){
  .btn-cta-hero .btn-cta-glow{inset:-12px;filter:blur(16px)}
  @keyframes btnCtaPulse{
    0%,100%{transform:translateY(0) scale(1);box-shadow:0 8px 26px var(--y-22), 0 0 28px var(--y-14)}
    50%{transform:translateY(-2px) scale(1.022);box-shadow:0 14px 38px var(--y-40), 0 0 44px var(--y-32)}
  }
}
@media(min-width:1280px){
  .btn-cta-hero .btn-cta-glow{inset:-14px;filter:blur(18px)}
}

@media(prefers-reduced-motion:reduce){
  .btn-cta-hero,
  .btn-cta-hero .btn-cta-glow,
  .btn-cta-hero::after{animation:none}
  .btn-cta-hero .btn-cta-glow{opacity:.65}
}

/* ============================================================
   v20.56 · FOOTER v2 · clean, centralizado, sem redundância
   ============================================================ */
/* ============================================================
   FOOTER v20.59 · 2-col tag-style + spacing generoso
   ============================================================ */
.footer.footer-v2{
  position:relative;
  padding:88px 0 56px;
  border-top:1px solid var(--line);
  background:
    radial-gradient(ellipse 50% 80% at 0% 50%,rgba(252,223,0,.08) 0%,transparent 60%),
    radial-gradient(ellipse 45% 75% at 100% 50%,rgba(255,255,255,.04) 0%,transparent 60%),
    var(--c-black);
  overflow:hidden;
  text-align:center;
  isolation:isolate;
}


.footer.footer-v2 > *{position:relative;z-index:1}

.footer.footer-v2 .container{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:64px;
}

/* BRAND */
.foot-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:8px}
.foot-logo{height:36px;width:auto;display:block;filter:drop-shadow(0 4px 16px rgba(0,0,0,.6))}

/* NAV INLINE */
.foot-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 32px;
  padding:8px 0;
}
.foot-nav a{
  font-family:var(--f-mono);
  font-weight:600;
  font-size:.6875rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--txt-2);
  padding:8px 6px;
  transition:color var(--dur-base);
  position:relative;
}
.foot-nav a:hover{color:var(--c-yellow)}
.foot-nav a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:2px;height:1px;
  background:var(--c-yellow);transition:left .3s var(--ease-out),right .3s var(--ease-out);
}
.foot-nav a:hover::after{left:0;right:0}

/* FOOT 2-COL · Atendimento + Lojas */
.foot-cols{
  display:grid;
  grid-template-columns:1fr;
  gap:56px;
  width:100%;
  max-width:780px;
  margin-top:8px;
}
.foot-col{
  display:flex;
  flex-direction:column;
  gap:24px;
  align-items:center;
  text-align:center;
}
/* FOOT TAG WRAPPER · centraliza a tag em TODOS os dispositivos via flex wrapper */
.foot-tag-wrap{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin-bottom:8px;
}
/* FOOT EYEBROW · tag-style igual ao resto do site (.eyebrow) */
.foot-col .foot-eyebrow,
.foot-tag-wrap .foot-eyebrow{
  margin:0 !important;
  align-self:auto !important;
  display:inline-flex !important;
  font-size:.6875rem !important;
  letter-spacing:.22em !important;
  padding:7px 16px 7px 14px !important;
  width:fit-content !important;
}
/* Variantes de cor das tags do footer */
.foot-eyebrow.orange{border-color:var(--c-orange) !important;color:#ffc88a !important;background:rgba(255,156,31,.08) !important;box-shadow:0 0 18px rgba(255,156,31,.10),inset 0 0 0 1px rgba(255,156,31,.08) !important}
.foot-eyebrow.orange::before{background:var(--c-orange) !important;box-shadow:0 0 8px var(--c-orange),0 0 0 3px rgba(255,156,31,.22) !important}
.foot-eyebrow.red{border-color:var(--c-red) !important;color:#ffb0b0 !important;background:rgba(255,77,77,.08) !important;box-shadow:0 0 18px rgba(255,77,77,.10),inset 0 0 0 1px rgba(255,77,77,.08) !important}
.foot-eyebrow.red::before{background:var(--c-red) !important;box-shadow:0 0 8px var(--c-red),0 0 0 3px rgba(255,77,77,.22) !important}
.foot-eyebrow.green{border-color:var(--c-green) !important;color:#9af2c1 !important;background:var(--g-10) !important;box-shadow:0 0 18px var(--g-10),inset 0 0 0 1px var(--g-10) !important}
.foot-eyebrow.green::before{background:var(--c-green) !important;box-shadow:0 0 8px var(--c-green),0 0 0 3px var(--g-22) !important}
.foot-col ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:0;
  margin:0;
  width:100%;
}
.foot-col li{padding:0}
.foot-col
/* FOOT-LEGAL · column-reverse em todos dispositivos (Política+Termos topo, CNPJ embaixo) */
.footer .foot-legal{flex-direction:column-reverse !important}

/* FOOT-CONTACT-ICONS · zap / 0800 / email · 3 LINHAS empilhadas, SVG puro sem círculo */
.foot-contact-icons{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  align-items:center !important;
  justify-content:center !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
}
.foot-contact-icons li{margin:0;padding:0;list-style:none;display:block;line-height:1}
.foot-contact-icons li a{
  display:inline-block;
  padding:2px 0;
  transition:opacity var(--dur-base),transform var(--dur-base);
  background:transparent;
  border:0;
  line-height:1;
}
.foot-contact-icons li a:hover{opacity:.85;transform:translateY(-1px)}
.foot-contact-icons img{
  display:block;
  width:auto;
  height:22px;
  max-width:100%;
}
/* Email tem viewBox mais baixo (80.2) que os outros (104.9) · igualar LARGURA VISUAL */
.foot-contact-icons img[src*="email"]{width:214px !important;height:auto !important;max-width:100% !important}
@media(min-width:1024px){
  .foot-contact-icons{gap:8px !important}
  .foot-contact-icons img{height:26px}
  .foot-contact-icons img[src*="email"]{width:253px !important;height:auto !important}
}

/* NAV-CTA-TRACK · destaque (glow + shine sweep) igual à do hero, sem scale pulse */
.nav-cta-track{
  position:relative !important;
  isolation:isolate;
  overflow:hidden;
  z-index:1;
  font-weight:700 !important;
  letter-spacing:.01em;
  box-shadow:0 0 0 0 rgba(252,223,0,0);
  animation:navCtaPulse 2.8s ease-in-out infinite;
}
.nav-cta-track svg, .nav-cta-track *:not(::before):not(::after){position:relative;z-index:2}
.nav-cta-track:hover{
  animation-play-state:paused;
  transform:translateY(-1px);
  box-shadow:0 8px 22px var(--y-40), 0 0 28px rgba(252,223,0,.55);
}
.nav-cta-track:hover::before{opacity:1;filter:blur(10px)}

/* RASTREAR · garantir overflow:visible para glow ::before não ser cortado */
.nav-cta-track,
.btn-nav-mobile.btn-yellow{
  overflow:visible !important;
  isolation:isolate;
  position:relative !important;
  z-index:2 !important;
}

/* Reduced motion · suprime animação do Rastrear */
@media(prefers-reduced-motion:reduce){
  .nav-cta-track,
  .btn-nav-mobile.btn-yellow{
    animation:none !important;
  }
  .nav-cta-track::before{
    animation:none !important;
  }
}

/* BTN-CTA-NAV · versão reduzida do btn-cta-hero para nav · glow + shine, sem scale pulse */

/* ============================================================
   v20.63 · OVERFLOW LOCK · 2026-05-29
   html + body com overflow-x bloqueado (browsers cross-spec)
   - Samsung Internet/MIUI: precisam de overflow-x:hidden em html
   - overflow:clip onde suportado (mais robusto que hidden)
   ============================================================ */
html{overflow-x:hidden !important;max-width:100vw}
body{overflow-x:hidden !important;max-width:100vw}
@supports (overflow-x:clip){
  html{overflow-x:clip !important}
  body{overflow-x:clip !important}
}
@media(max-width:819px){
  html,body{overflow-x:hidden !important;max-width:100vw !important;touch-action:pan-y}
}

/* ============================================================
   v20.66 · WA-FLOAT MOBILE-STABLE · 2026-05-29
   Reescrito pos-pesquisa para parar a oscilação no mobile.
   Causas eliminadas:
   - env(safe-area-inset-bottom) oscilava com URL bar → REMOVED
   - pulseGreen ring 22px → reduzido para 6px (sem GPU thrashing)
   - transition:transform → REMOVED (causava jitter em touch)
   Estabilizadores adicionados:
   - transform:translateZ(0) → força camada GPU própria
   - contain:layout style paint → isola do reflow do site
   - bottom em px puro (sem env)
   ============================================================ */
.wa-float{
  position:fixed !important;
  right:14px !important;
  bottom:14px !important;
  top:auto !important;
  left:auto !important;
  z-index:9999 !important;
  width:56px !important;
  height:56px !important;
  border-radius:50% !important;
  background:var(--c-green) !important;
  color:#fff !important;
  display:none;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 0 0 var(--g-35) !important;
  transform:translateZ(0) !important;
  -webkit-backface-visibility:hidden !important;
  backface-visibility:hidden !important;
  contain:layout style paint !important;
  will-change:box-shadow !important;
  animation:pulseGreenLite 2.6s ease-out infinite !important;
  transition:none !important;
}
html.has-consent .wa-float,
body.has-consent .wa-float{display:flex !important}
.wa-float svg{width:28px !important;height:28px !important}
@media(max-width:374px){
  .wa-float{width:50px !important;height:50px !important;right:12px !important;bottom:12px !important}
  .wa-float svg{width:24px !important;height:24px !important}
}
@keyframes pulseGreenLite{
  0%{box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 0 0 rgba(37,211,102,.45)}
  70%{box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 0 6px rgba(37,211,102,0)}
  100%{box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 0 0 rgba(37,211,102,0)}
}
@media(prefers-reduced-motion:reduce){
  .wa-float{animation:none !important}
}
.wa-tooltip{display:none !important}
@media(hover:hover) and (pointer:fine){
  .wa-tooltip{display:block !important;position:absolute;right:64px;bottom:50%;transform:translateY(50%);padding:6px 10px;border-radius:8px;background:var(--c-black);border:1px solid var(--c-yellow);color:var(--txt);font-size:.6875rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s}
  .wa-float:hover .wa-tooltip{opacity:1}
  .wa-float:hover{box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 16px rgba(37,211,102,.45) !important}
}

/* v20.66b · bg-attachment scroll em mobile (corrige causa-raiz do jitter) */
@media(max-width:819px){body{background-attachment:scroll !important}}

/* ============================================================
   v21.1 · A11Y · Focus-visible states
   Apenas focus por TECLADO (não dispara em mouse/touch).
   Outline yellow 2px com offset 3px · zero impacto visual em uso mouse/touch.
   ============================================================ */
.btn:focus-visible,
a.btn:focus-visible,
button.btn:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:3px;
  box-shadow:0 0 0 4px var(--y-18);
}
.plan:focus-within,
.feat:focus-within,
.persona:focus-within{
  outline:2px solid var(--c-yellow);
  outline-offset:4px;
}
.num-cell:focus-visible,
.numrecon-cell:focus-visible,
a.num-cell:focus-visible,
a.numrecon-cell:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:3px;
}
.nav-links a:focus-visible,
.foot-nav a:focus-visible,
.mobile-drawer a:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:2px;
  border-radius:4px;
}
.carousel-btn:focus-visible,
.carousel-dot:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:2px;
}
.nav-toggle:focus-visible,
.nav-close:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:2px;
  border-radius:8px;
}
.wa-float:focus-visible{
  outline:3px solid var(--c-yellow);
  outline-offset:3px;
}
/* Form inputs · contato */
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:0;
}

/* v22 Fase 1j · Footer · grid/halftone SUAVES com overlay escuro */
.footer.footer-v2::before{content:""!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;right:auto!important;width:45%!important;height:auto!important;z-index:0!important;pointer-events:none!important;background:linear-gradient(rgba(252,223,0,.14) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(90deg,rgba(252,223,0,.14) 1px,transparent 1px) 0 0/36px 36px!important;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.5) 35%,transparent 80%)!important;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.5) 35%,transparent 80%)!important;opacity:.40!important}
.footer.footer-v2::after{content:""!important;position:absolute!important;right:0!important;top:0!important;bottom:0!important;left:auto!important;width:45%!important;height:auto!important;z-index:0!important;pointer-events:none!important;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.6px)!important;background-size:16px 16px!important;-webkit-mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,.5) 35%,transparent 80%)!important;mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,.5) 35%,transparent 80%)!important;opacity:.30!important}
/* Overlay dark gradient · abafa as bordas dos halftones (lados esquerdo e direito) */
.footer.footer-v2 .foot-darken{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 100% at 50% 50%,rgba(8,8,10,.45) 0%,rgba(8,8,10,.15) 60%,transparent 100%)}
/* v22 Fase 1j · Ícones SVG · drop-shadow estático + hover (sem corte) */
.foot-contact-icons img{filter:drop-shadow(0 0 6px rgba(252,223,0,.20));transition:filter .3s var(--ease-out)}
.foot-contact-icons li a:hover img{filter:drop-shadow(0 0 10px rgba(252,223,0,.40))}
/* Logo shine sweep · pseudo-element passando luz */
.foot-logo-link{position:relative;display:inline-block;overflow:hidden;border-radius:4px}
.foot-logo.shine-img{filter:drop-shadow(0 4px 16px rgba(0,0,0,.6));position:relative;z-index:1}
.foot-logo-link::after{content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:skewX(-20deg);pointer-events:none;animation:logoShineSweep 4.5s ease-in-out infinite;z-index:2;mix-blend-mode:overlay}
@keyframes logoShineSweep{0%,100%{left:-30%;opacity:0}10%{opacity:1}40%{left:130%;opacity:1}50%,100%{left:130%;opacity:0}}

/* v22 Fase 1l · sec-halftone.arcs-mock-c · origin centro do mockup (desktop 28% 50%, mobile 50% 25%) */
.sec-halftone.arcs-mock-c{position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;width:140%!important;aspect-ratio:1/1!important;height:auto!important;transform:translate(-50%,-50%)!important;pointer-events:none!important;mix-blend-mode:screen!important;z-index:0!important;background-image:repeating-radial-gradient(circle at 50% 50%,rgba(252,223,0,.55) 0 1.4px,transparent 1.4px 22px)!important;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,#000 35%,transparent 70%)!important;mask-image:radial-gradient(circle at 50% 50%,#000 0,#000 35%,transparent 70%)!important;opacity:.45!important;overflow:visible!important}
.app-mock.app-mock-img{position:relative!important;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important}
.app-mock.app-mock-img::before,.app-mock.app-mock-img::after{display:none!important;content:none!important}
.app-mock.app-mock-img > .app-mockup-png{position:relative;z-index:1}
@media(min-width:768px){.sec-halftone.arcs-mock-c{background-image:repeating-radial-gradient(circle at 28% 50%,rgba(252,223,0,.45) 0 1.4px,transparent 1.4px 22px)!important;-webkit-mask-image:radial-gradient(circle at 28% 50%,#000 0%,#000 18%,transparent 50%)!important;mask-image:radial-gradient(circle at 28% 50%,#000 0%,#000 18%,transparent 50%)!important}}

/* v22 Fase 1u · biblioteca .bg-pat · 7 patterns aprovados (carbono+tactical) */
.bg-pat{position:absolute;inset:0;pointer-events:none;z-index:0}
.bg-pat.tactical-grid{background-color:transparent;background-image:linear-gradient(rgba(252,223,0,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.15) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(252,223,0,.25) 1px,transparent 1.6px);background-size:80px 80px,80px 80px,20px 20px,20px 20px,80px 80px}
.bg-pat.dot-matrix{background-image:linear-gradient(rgba(252,223,0,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.22) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(252,223,0,.55) 1.4px,transparent 2px);background-size:40px 40px,40px 40px,40px 40px}
.bg-pat.ribbed-metal{background-image:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 35%,transparent 65%,rgba(0,0,0,.6) 100%),linear-gradient(180deg,transparent 0%,transparent 28%,rgba(252,223,0,.08) 35%,rgba(252,223,0,.08) 45%,transparent 50%);background-size:100% 8px,100% 8px}
.bg-pat.diamond-lattice{background-image:linear-gradient(45deg,rgba(252,223,0,.20) 0,rgba(252,223,0,.20) 1px,transparent 1px,transparent 24px),linear-gradient(-45deg,rgba(252,223,0,.20) 0,rgba(252,223,0,.20) 1px,transparent 1px,transparent 24px),radial-gradient(circle at 50% 50%,rgba(252,223,0,.35) 1.2px,transparent 1.8px);background-size:24px 24px,24px 24px,24px 24px}
.bg-pat.diamond-lattice.dark{background-image:linear-gradient(45deg,rgba(252,223,0,.18) 0,rgba(252,223,0,.18) 1px,transparent 1px,transparent 24px),linear-gradient(-45deg,rgba(252,223,0,.18) 0,rgba(252,223,0,.18) 1px,transparent 1px,transparent 24px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 1px,transparent 1.6px)!important;background-size:24px 24px,24px 24px,24px 24px!important}

.bg-pat.diag-stripes-y{background-image:repeating-linear-gradient(135deg,rgba(252,223,0,.18) 0,rgba(252,223,0,.18) 2px,transparent 2px,transparent 14px,rgba(252,223,0,.06) 14px,rgba(252,223,0,.06) 15px,transparent 15px,transparent 28px)}
.bg-pat.diag-stripes-w{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px,transparent 8px)}
.bg-pat.vstripes-w{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px,transparent 8px)}

.bg-pat.hatch-dense{background-image:repeating-linear-gradient(45deg,rgba(252,223,0,.18) 0,rgba(252,223,0,.18) 1px,transparent 1px,transparent 6px),repeating-linear-gradient(-45deg,rgba(252,223,0,.18) 0,rgba(252,223,0,.18) 1px,transparent 1px,transparent 6px)}

/* v22 Fase 2a · semi-transparência cards (blur só desktop · mobile leve) */
.feat:not(.highlight),.plan:not(.featured),.persona,.num-cell,.socio-card,.loja-card,.loja-v2,.form-card,.app-card-glass,.closer-card-glass,.conheca-card{background:linear-gradient(180deg,rgba(35,35,35,.55) 0%,rgba(15,15,17,.55) 100%)!important}
@media(min-width:768px){.feat:not(.highlight),.plan:not(.featured),.persona,.num-cell,.socio-card,.loja-card,.loja-v2,.form-card,.app-card-glass,.closer-card-glass,.conheca-card{backdrop-filter:saturate(1.1) blur(8px);-webkit-backdrop-filter:saturate(1.1) blur(8px)}}

/* v22 Fase 2e · força bg-pat renderizar em todos viewports/sub-páginas */
header.page-hero,section.section,section.numbers,section[class*="section"]{position:relative!important}
.bg-pat{position:absolute!important;inset:0!important;display:block!important;pointer-events:none!important;z-index:0!important;visibility:visible!important}

/* v22 Fase 2g · fix quebras estranhas iOS · br-d hidden em mobile + shine sempre display:inline */
@media(max-width:768px){.br-d,.br-desk{display:none!important}}
.feat .shine,.persona .shine,.plan .shine,.num-cell .shine,.socio-card .shine,.loja-card .shine,.loja-v2 .shine,.app-card-glass .shine,.closer-card-glass .shine,.conheca-card .shine,p .shine,h3 .shine,h2 .shine{display:inline!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}

/* v22 Fase 2h · texto cards · left-aligned + bloco centralizado */
.feat p,.persona p,.plan p,.num-cell p,.socio-card p,.loja-card p,.loja-v2 p,.app-card-glass p,.closer-card-glass p,.conheca-card p,.feat .feat-desc,.persona .persona-desc,.plan .plan-desc{display:table!important;text-align:left!important;max-width:36ch!important;margin-left:auto!important;margin-right:auto!important;align-self:center!important}.feat p span.shine,.feat p .shine,.persona p .shine,.persona p span.shine,.plan p .shine,p .shine,h2 .shine,h3 .shine,span.shine{display:inline!important;white-space:normal!important;background:linear-gradient(110deg,#fcdf00 35%,#fff 45%,#fff 50%,#fcdf00 60%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;background-size:300% 100%!important;background-position:100% 0!important;animation:shine 4s ease-in-out infinite!important}@media(min-width:768px){.feat p,.persona p,.plan p,.num-cell p,.socio-card p,.loja-card p,.loja-v2 p,.app-card-glass p,.closer-card-glass p,.conheca-card p,.feat .feat-desc,.persona .persona-desc,.plan .plan-desc{max-width:44ch!important}}
.feat h2,.feat h3,.persona h2,.persona h3,.plan h2,.plan h3,.num-cell h2,.num-cell h3,.socio-card h2,.socio-card h3,.loja-card h2,.loja-card h3,.loja-v2 h2,.loja-v2 h3,.app-card-glass h2,.app-card-glass h3,.closer-card-glass h2,.closer-card-glass h3,.conheca-card h2,.conheca-card h3{text-align:center!important}

/* v22 Fase 2i (revisado) · só .feat tem justify-center · .persona mantém align-items:stretch para visual full-width */
.feat{justify-content:center!important;align-items:center!important}
.feat .feat-img{margin-bottom:0!important}

/* v22 Fase 2j · evitar halftone GMAPP vazar para section seguinte */
section.section[style*="background:var(--c-black)"]:has(.app-mock-img){overflow:hidden!important}
section#fechamento{position:relative!important;z-index:5!important;background:var(--c-black)!important}

/* v22 Fase 2k · personas · texto centralizado (texto curto, melhor visual centralizado) */
.persona p,.persona .persona-desc,.persona-body p,.persona-body .persona-desc{text-align:center!important}

/* v22 Fase 2l (v3) · nav fixed mobile com cta-row · padding total acomoda 2 linhas */
@media(max-width:1099px){
  .nav{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:100!important}
  /* 68 (nav-inner) + 64 (nav-cta-row com botões + padding) = 132px */
  body{padding-top:calc(132px + env(safe-area-inset-top,0px))!important}
  header.hero,header.page-hero{scroll-margin-top:140px}
}
@media(max-width:639px){
  /* 60 (nav-inner menor) + 60 (cta-row menor) = 120px */
  body{padding-top:calc(120px + env(safe-area-inset-top,0px))!important}
}

/* v22 Fase 2m · performance mobile · desliga blur pesado + reduz animations */
@media(max-width:1099px){
  .nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(1,1,1,.95)!important}
  .feat-img{animation:none!important;filter:drop-shadow(0 0 8px rgba(252,223,0,.3))!important}
  .gmapp-logo{animation:none!important}
  .app-mockup-png{animation:none!important;filter:drop-shadow(0 0 18px rgba(252,223,0,.30))!important}
  .gmapp-logo-link::after{display:none!important}
  .foot-logo-link::after{display:none!important}
  .bg-pat{will-change:auto!important}
  .sec-halftone.arcs-mock-c{will-change:auto!important}
}
/* ============================================================
   v22 Fase 2o · TIER SYSTEM · classes setadas no <html> via JS no <head>
   - .tier-full  → tudo ligado (default visual, sem overrides aqui)
   - .tier-mid   → reduz blur, animação lenta, sem conic-gradient
   - .tier-lite  → sem blur, sem animação, bg sólido
   FALLBACK · se JS falhar e viewport ≤819, aplica regras tier-mid
   ============================================================ */

/* TIER-LITE · iPhone SE/base, Android antigo (≤2GB RAM ou ≤2 cores) */
html.tier-lite .nav{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:rgba(1,1,1,.95) !important;
}
html.tier-lite .mobile-drawer{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:rgba(1,1,1,.98) !important;
}
html.tier-lite .plan.featured{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:rgba(22,22,22,.96) !important;
  animation:none !important;
  box-shadow:0 0 18px rgba(252,223,0,.18),inset 0 0 0 1px rgba(252,223,0,.35) !important;
}
html.tier-lite .plan.featured::after{display:none !important;animation:none !important}
html.tier-lite .plan-badge::after{display:none !important;animation:none !important}
html.tier-lite .plan-shield.plan-shield-fipe img{animation:none !important}
html.tier-lite .wa-float{animation:none !important}
html.tier-lite .feat-img{animation:none !important}
html.tier-lite .gmapp-logo{animation:none !important}
html.tier-lite .app-mockup-png{animation:none !important}
html.tier-lite .feat:not(.highlight),
html.tier-lite .plan:not(.featured),
html.tier-lite .persona,
html.tier-lite .num-cell,
html.tier-lite .socio-card,
html.tier-lite .loja-card,
html.tier-lite .loja-v2,
html.tier-lite .form-card,
html.tier-lite .app-card-glass,
html.tier-lite .closer-card-glass,
html.tier-lite .conheca-card,
html.tier-lite .closer{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html.tier-lite .bg-halftone,
html.tier-lite .bg-lights,
html.tier-lite .bg-grid,
html.tier-lite .fx-noise{will-change:auto !important;animation:none !important}

/* TIER-MID · iPhone base/Pro (3-6GB, A14-A16), Android mid-range */
html.tier-mid .plan.featured{
  backdrop-filter:saturate(1.2) blur(8px) !important;
  -webkit-backdrop-filter:saturate(1.2) blur(8px) !important;
  animation-duration:6s !important;
}
html.tier-mid .plan.featured::after{display:none !important;animation:none !important}
html.tier-mid .plan-badge::after{animation-duration:6s !important;opacity:.5 !important;mix-blend-mode:normal !important}
html.tier-mid .nav{
  backdrop-filter:saturate(1.2) blur(8px) !important;
  -webkit-backdrop-filter:saturate(1.2) blur(8px) !important;
}
html.tier-mid .wa-float{animation-duration:4s !important}
html.tier-mid .feat:not(.highlight),
html.tier-mid .plan:not(.featured),
html.tier-mid .num-cell,
html.tier-mid .conheca-card{
  backdrop-filter:saturate(1.1) blur(6px) !important;
  -webkit-backdrop-filter:saturate(1.1) blur(6px) !important;
}

/* FALLBACK · se JS não carregar, viewport ≤819px = mid */
@media(max-width:819px){
  html:not(.tier-full):not(.tier-mid):not(.tier-lite) .plan.featured{
    backdrop-filter:saturate(1.2) blur(8px) !important;
    -webkit-backdrop-filter:saturate(1.2) blur(8px) !important;
    animation:none !important;
    box-shadow:0 0 18px rgba(252,223,0,.18),inset 0 0 0 1px rgba(252,223,0,.35) !important;
  }
  html:not(.tier-full):not(.tier-mid):not(.tier-lite) .plan.featured::after{display:none !important}
  html:not(.tier-full):not(.tier-mid):not(.tier-lite) .plan-badge::after{display:none !important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ============================================================
   PLANS DESKTOP · card central featured maior · laterais menores · só ≥820
   Replica regra do inline da home (index.html linha 2993)
   ============================================================ */
@media(min-width:820px){
  .plans-grid{
    grid-template-columns:.9fr 1.1fr .9fr !important;
    align-items:center !important;
    gap:clamp(20px,2.2vw,32px) !important;
  }
  .plan.featured{
    padding:clamp(36px,3vw,48px) clamp(24px,2.2vw,32px) !important;
    z-index:2 !important;
    position:relative !important;
    transition:transform .35s ease-out !important;
  }
  .plan.featured:hover{
    transform:scale(1.025) !important;
    animation-play-state:running !important;
  }
  .plan:not(.featured){
    transform:scale(.92) !important;
    transform-origin:center top !important;
    padding:clamp(24px,2.2vw,32px) clamp(18px,1.8vw,24px) !important;
    opacity:.92 !important;
    transition:transform .3s var(--ease-out),opacity .3s !important;
  }
  .plan:not(.featured):hover{
    transform:scale(.95) !important;
    opacity:1 !important;
  }
  .plan:not(.featured) h3{font-size:clamp(1.25rem,1.5vw,1.5rem) !important}
  .plan:not(.featured) ul li{font-size:clamp(.875rem,.95vw,1rem) !important}
  .plan.featured h3{font-size:clamp(1.5rem,1.85vw,1.875rem) !important}
}

/* PLANS DESKTOP · regra única acima · duplicata removida 2026-06-01 */

/* v22 Fase 2v · FIPE badge · container = bounding box do SVG · shine confinado via inset:0
   · Replicado do inline do home (index.html linha 3879+) · para uso na /planos/ */
.plan.featured .plan-shield.plan-shield-fipe{
  position:relative!important;
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
  contain:paint!important;
  isolation:isolate!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  border-radius:6px!important;
  filter:drop-shadow(0 0 8px var(--y-32)) drop-shadow(0 0 16px var(--y-14))!important;
  animation:fipeBadgeGlow 3.2s ease-in-out infinite!important;
}
.plan.featured .plan-shield.plan-shield-fipe img{
  display:block!important;
  width:300px!important;
  max-width:100%!important;
  height:auto!important;
  filter:none!important;
  animation:none!important;
}
@media(min-width:480px){.plan.featured .plan-shield.plan-shield-fipe img{width:360px!important}}
@media(min-width:820px){.plan.featured .plan-shield.plan-shield-fipe img{width:440px!important}}
@media(min-width:1024px){.plan.featured .plan-shield.plan-shield-fipe img{width:500px!important}}
@media(min-width:1280px){.plan.featured .plan-shield.plan-shield-fipe img{width:560px!important}}
@media(min-width:1440px){.plan.featured .plan-shield.plan-shield-fipe img{width:600px!important}}
@media(min-width:1024px){
  .plan.featured .plan-shield.plan-shield-fipe{filter:drop-shadow(0 0 6px var(--y-22)) drop-shadow(0 0 14px var(--y-10))!important;animation:fipeBadgeGlowSoft 4s ease-in-out infinite!important}
  @keyframes fipeBadgeGlowSoft{0%,100%{filter:drop-shadow(0 0 5px var(--y-22)) drop-shadow(0 0 12px var(--y-10))}50%{filter:drop-shadow(0 0 9px var(--y-32)) drop-shadow(0 0 20px var(--y-18))}}
}
.plan.featured .plan-shield.plan-shield-fipe::after{
  content:"";
  position:absolute;
  inset:0;
  clip-path:inset(0)!important;
  background-image:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);
  background-size:250% 100%;
  background-repeat:no-repeat;
  background-position:-150% 0;
  pointer-events:none;
  animation:fipeShineGrad 6.5s ease-in-out infinite;
  z-index:2;
  mix-blend-mode:overlay;
  will-change:background-position;
}
@keyframes fipeShineGrad{
  0%,100%{background-position:-150% 0}
  50%,60%{background-position:250% 0}
}
@media(min-width:1024px){
  .plan.featured .plan-shield.plan-shield-fipe::after{
    background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%)!important;
    animation:fipeShineGradSoft 7.5s ease-in-out infinite!important;
  }
  @keyframes fipeShineGradSoft{
    0%,100%{background-position:-150% 0}
    50%,60%{background-position:250% 0}
  }
}
@media(prefers-reduced-motion:reduce){
  .plan.featured .plan-shield.plan-shield-fipe::after{animation:none;opacity:0}
  .plan.featured .plan-shield.plan-shield-fipe{animation:none!important}
}

/* ============================================================
   v23 · FIX NAV MOBILE BULLETPROOF
   Garante:
   - .nav NUNCA vira flex (display:block forçado)
   - .nav-inner fica numa LINHA (logo centro + toggle direita)
   - .nav-cta-row aparece EMBAIXO como segunda linha
   - Logo no CENTRO absoluto da primeira linha
   - Toggle hamburger visível na direita
   ============================================================ */
@media(max-width:1099px){
  .nav{
    display:block !important;
    flex-direction:initial !important;
  }
  .nav > .nav-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    height:68px !important;
    position:relative !important;
    width:100% !important;
  }
  .nav > .nav-inner > .nav-logo{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    margin:0 !important;
  }
  .nav > .nav-inner .nav-cta-area,
  .nav > .nav-inner .nav-cta-track{
    display:none !important;
  }
  .nav > .nav-inner > .nav-actions > .nav-toggle{
    display:inline-flex !important;
  }
  .nav > .nav-cta-row{
    display:flex !important;
    width:100% !important;
    box-sizing:border-box !important;
    gap:8px !important;
    padding-top:8px !important;
    padding-bottom:10px !important;
    border-bottom:1px solid var(--line) !important;
  }
}
@media(max-width:639px){
  .nav > .nav-inner{height:60px !important}
}
@media(max-width:374px){
  .nav > .nav-inner{height:56px !important}
}

/* ============================================================
   v23 · BREADCRUMB MOBILE CENTRALIZADO
   Em mobile (≤819px) a breadcrumb fica centralizada
   ============================================================ */
@media(max-width:819px){
  .breadcrumb{
    justify-content:center !important;
    text-align:center !important;
  }
}
