.wa-float{position:fixed;z-index:70;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#15803d,#22c55e);box-shadow:0 6px 22px rgba(34,197,94,.5);transition:transform .3s,box-shadow .3s}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #22c55e;animation:wap 2.4s ease-out infinite;pointer-events:none}
@keyframes wap{from{transform:scale(1);opacity:.7}to{transform:scale(1.55);opacity:0}}
.wa-float:hover{transform:scale(1.08);box-shadow:0 8px 30px rgba(34,197,94,.8)}
.wa-float svg{width:32px;height:32px}
.pchip{position:absolute;z-index:2;display:flex;align-items:center;padding:9px 15px;border-radius:14px;background:rgba(7,16,48,.72);border:1px solid rgba(90,150,255,.4);backdrop-filter:blur(8px);box-shadow:0 0 20px rgba(14,100,255,.35);animation:fl 6s ease-in-out infinite;transition:box-shadow .3s,border-color .3s}
.pchip:hover{border-color:var(--c);box-shadow:0 0 28px rgba(14,165,255,.7)}
.pchip img{display:block;width:auto}
@media (max-width:600px){.pchip{zoom:.78}}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
:root{--bg:#030817;--bg2:#061030;--tx:#e8eefc;--mut:#8fa0c4;--c:#0ea5ff;--p:#9b4dff;--g:#22c55e;--o:#ff8a00;--ln:rgba(80,130,255,.22);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#030817}}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(94px + env(safe-area-inset-top,0px))}
body{background:var(--bg);color:var(--tx);font:15px/1.55 "Segoe UI",Inter,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,h4,h5{text-wrap:balance}p,li,small,.card div{text-wrap:pretty}
a{color:inherit;text-decoration:none}
.w{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:64px 0;position:relative}
.alt{background:linear-gradient(180deg,#040c24,#050f2c)}
.ey{font-size:11px;color:var(--c);letter-spacing:.06em;margin-bottom:10px;display:block}
h1{font-size:clamp(34px,5vw,52px);line-height:1.1;font-weight:700}
h2{font-size:clamp(24px,3.2vw,32px);line-height:1.2;font-weight:700;margin-bottom:12px}
h3{font-size:15px;margin-bottom:8px}
p.l{color:var(--mut);max-width:520px}
.gr{background:linear-gradient(90deg,var(--c),var(--p));-webkit-background-clip:text;background-clip:text;color:transparent}
.gg{background:linear-gradient(90deg,var(--c),#2ee6a6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gp{background:linear-gradient(90deg,#6a7dff,var(--p));-webkit-background-clip:text;background-clip:text;color:transparent}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(3,8,23,.86);backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top,0px)}
header .w{display:flex;align-items:center;justify-content:space-between;height:86px}
.logo{background:radial-gradient(ellipse 41% 37% at 49.8% 51%,#fff 99%,transparent 100%)}
header img{height:64px;width:auto}
nav{display:flex;gap:30px;font-size:15px}
nav a{color:#c5d2f0;padding:6px 0;border-bottom:2px solid transparent;transition:.3s}
nav a:hover,nav a.on{color:#fff;border-color:var(--c);text-shadow:0 0 12px var(--c)}
.led-line{height:2px;background:linear-gradient(90deg,transparent,var(--c),var(--p),var(--o),var(--g),transparent);background-size:300% 100%;animation:slide 8s linear infinite;opacity:.8}
@keyframes slide{to{background-position:300% 0}}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;font-size:13px;font-weight:600;border:1px solid var(--ln);cursor:pointer;color:#fff;background:transparent;font-family:inherit;transition:box-shadow .3s,transform .3s}
.btn.pri{background:linear-gradient(90deg,#0b7cff,#07b3ff);border-color:transparent;box-shadow:0 0 18px rgba(14,165,255,.35)}
.btn:hover{box-shadow:0 0 24px rgba(14,165,255,.65);transform:translateY(-1px)}
.btn.sec{border-color:rgba(120,150,255,.4)}
header .btn{font-size:14px;padding:13px 24px}
.menu{display:none;background:none;border:1px solid var(--ln);color:#fff;border-radius:8px;width:42px;height:42px;font-size:20px;cursor:pointer}
/* hero */
.hero{padding:40px 0 70px;background:radial-gradient(60% 70% at 75% 40%,rgba(20,80,255,.28),transparent 70%),radial-gradient(40% 40% at 0% 90%,rgba(60,60,255,.3),transparent 70%)}
.hero .w{display:grid;grid-template-columns:1fr 1.05fr;gap:30px;align-items:center}
.tag{display:inline-block;font-size:10px;padding:5px 12px;border:1px solid var(--ln);border-radius:20px;background:rgba(255,255,255,.04);color:#b9c8ea;margin-bottom:22px}
.hero p.l{margin:18px 0 26px}
.bt{display:flex;gap:14px;flex-wrap:wrap}
.mini{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.mini div{font-size:11px;color:var(--mut);display:flex;gap:10px;align-items:center;max-width:150px}
.ico{width:34px;height:34px;flex:none;border-radius:9px;background:rgba(14,165,255,.1);border:1px solid var(--ln);display:grid;place-items:center;color:var(--c);font-size:15px}
.stage{position:relative;animation:fl 7s ease-in-out infinite}.heroimg{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 0 30px rgba(20,90,255,.35))}.led{z-index:0;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;mix-blend-mode:screen}.led path[stroke]{fill:none;stroke-linecap:round;stroke-dasharray:12 88;animation:run 12s linear infinite;filter:url(#gl)}@keyframes run{to{stroke-dashoffset:-100}}
.ring{position:absolute;inset:6% 4%;border-radius:50%;border:2px solid transparent;background:conic-gradient(from var(--a),var(--c),var(--p),var(--o),var(--g),var(--c)) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rot 12s linear infinite;filter:drop-shadow(0 0 8px var(--c));opacity:.8}
@keyframes rot{to{--a:360deg}}
.lap{position:absolute;left:8%;top:22%;width:68%;aspect-ratio:16/10;border-radius:10px;background:linear-gradient(135deg,#0a1a45,#06102c);border:6px solid #1a2342;box-shadow:0 0 40px rgba(14,100,255,.4);padding:14px;transform:perspective(900px) rotateY(10deg)}
.lap b{display:block;font-size:13px;line-height:1.2;max-width:55%;margin-top:6px}
.lap i{display:block;width:60px;height:14px;border-radius:5px;background:var(--c);margin-top:10px}
.lap::after{content:"";position:absolute;left:-14%;right:-14%;bottom:-18px;height:12px;border-radius:0 0 14px 14px;background:linear-gradient(#2a3354,#12182f)}
.bars{position:absolute;right:12px;bottom:12px;display:flex;gap:5px;align-items:flex-end}
.bars span{width:8px;background:var(--g);border-radius:2px}
.ph{position:absolute;right:6%;top:32%;width:24%;aspect-ratio:9/18;border-radius:18px;background:linear-gradient(160deg,#0a1a45,#050c22);border:4px solid #20294a;box-shadow:0 0 30px rgba(155,77,255,.45);padding:12px 8px;font-size:9px;transform:rotate(6deg)}
.ph b{display:block;line-height:1.2;margin-top:18px}
.ph i{display:block;height:12px;border-radius:4px;background:var(--c);margin-top:10px}
.fl{position:absolute;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#fff;box-shadow:0 0 22px currentColor;animation:fl 6s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-8px)}}
.code{position:absolute;left:0;top:4%;font:10px/1.5 monospace;color:#7fd0ff;background:rgba(10,24,60,.8);border:1px solid var(--ln);border-radius:10px;padding:10px 14px}
/* cards */
.card{position:relative;border-radius:14px;background:linear-gradient(160deg,rgba(14,28,70,.7),rgba(5,12,34,.85));padding:22px}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a),rgba(80,130,255,.25) 0 70%,var(--c) 85%,rgba(80,130,255,.25));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:rot 9s linear infinite}
.card:hover{box-shadow:0 0 28px rgba(14,100,255,.25)}
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}
/* about */
.about .w{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;align-items:center}
.vis{position:relative;display:grid;place-items:center;isolation:isolate}
.vis::before,.vis::after,.mist{content:"";position:absolute;border-radius:50%;filter:blur(48px);z-index:-1;pointer-events:none}
.vis::before{width:75%;aspect-ratio:1;left:-6%;top:6%;background:radial-gradient(circle,rgba(14,165,255,.55),transparent 68%);animation:smk 15s ease-in-out infinite alternate}
.vis::after{width:70%;aspect-ratio:1;right:-8%;bottom:0;background:radial-gradient(circle,rgba(155,77,255,.5),transparent 68%);animation:smk 18s ease-in-out -6s infinite alternate-reverse}
.mist{width:90%;height:45%;left:5%;bottom:14%;background:radial-gradient(ellipse,rgba(60,90,255,.4),transparent 70%);animation:smk 22s ease-in-out -3s infinite alternate}
@keyframes smk{0%{transform:translate(-6%,4%) scale(.9)}50%{transform:translate(6%,-5%) scale(1.12)}100%{transform:translate(-3%,-7%) scale(1)}}
.vis img{width:100%;max-width:440px;height:auto;filter:drop-shadow(0 0 22px rgba(60,100,255,.45))}
.srv{height:230px;position:relative}
.srv span{position:absolute;left:10%;width:62%;height:46px;border-radius:8px;background:linear-gradient(#1a2a5c,#0b1535);border:1px solid var(--ln);box-shadow:0 0 14px rgba(14,165,255,.25)}
.srv span::after{content:"";position:absolute;left:12px;top:19px;width:60%;height:3px;background:var(--c);box-shadow:0 0 8px var(--c);border-radius:2px}
.fe{display:flex;gap:14px;margin-bottom:18px}
.fe p{font-size:12px;color:var(--mut)}
/* services */
.sv h3{margin:12px 0 10px}
.sv ul{list-style:none;padding:0;font-size:12px;color:var(--mut)}
.sv li::before{content:"✓ ";color:var(--c)}
.sv li{margin:3px 0}
.go{position:absolute;right:16px;bottom:16px;width:28px;height:28px;border-radius:50%;border:1px solid var(--c);display:grid;place-items:center;color:var(--c);font-size:12px}
/* platforms */
.pl{text-align:left;padding:16px}
.pih{text-align:center;max-width:860px;margin:0 auto 44px}
.g4{grid-template-columns:repeat(2,1fr);gap:22px}
.pil{display:grid;grid-template-columns:64px 1fr;column-gap:22px;align-content:center;background:linear-gradient(160deg,rgba(10,22,66,.6),rgba(4,10,34,.9));padding:30px 28px}
.pi{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:#38d0ff;background:rgba(14,165,255,.12);border:1px solid rgba(80,170,255,.4);box-shadow:0 0 18px rgba(14,165,255,.35);grid-row:1/4;width:64px;height:64px}
.pi svg{width:28px;height:28px}
.pil h3{font-size:15px;letter-spacing:.04em;margin-bottom:10px}
.pil p{font-size:14px;line-height:1.6;color:#b4c4ea}
.more{justify-self:start;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.06em;color:#38d0ff;transition:.3s}
.more:hover{color:#fff;text-shadow:0 0 12px #38d0ff}
.pcta{text-align:center;margin-top:44px}
.wab{background:linear-gradient(90deg,#15803d,#16a34a);color:#fff;padding:16px 32px;font-size:15px;border-color:transparent;box-shadow:0 0 22px rgba(34,197,94,.45)}
.wab:hover{box-shadow:0 0 34px rgba(34,197,94,.8)}
.pl{display:flex;align-items:center;justify-content:center;min-height:120px;padding:22px 18px}.lg{height:52px;width:100%;display:flex;align-items:center;justify-content:center}.lg img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.pl h4{font-size:15px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.pl p{font-size:10.5px;color:var(--mut);line-height:1.4}
.tech{display:grid;grid-template-columns:1fr 1.7fr;gap:30px;align-items:center}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tg .card{padding:14px}
.tg h4{font-size:11px;margin-bottom:10px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span{padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid var(--ln);font-size:12px;font-weight:700}
.span2{grid-column:span 2}
/* portfolio */
.pf{display:grid;grid-template-columns:.8fr 2fr;gap:30px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tabs button{font:inherit;font-size:11px;padding:6px 14px;border-radius:20px;border:1px solid var(--ln);background:rgba(255,255,255,.04);color:#b9c8ea;cursor:pointer;transition:.3s}
.tabs button.on,.tabs button:hover{background:var(--c);color:#fff;box-shadow:0 0 14px var(--c)}
.shots{display:grid;grid-template-columns:repeat(3,1fr)}.pfh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.tabs{margin-bottom:26px}.tabs button{font-size:13px;padding:8px 18px}
.shots{gap:22px}
.shot{display:flex;flex-direction:column;padding:20px 20px 18px;border-radius:16px;border:1px solid var(--ln);transition:transform .35s,box-shadow .35s;background:radial-gradient(75% 55% at 50% 32%,var(--gl),transparent 75%),linear-gradient(160deg,#0b1640,#050b24)}
.shot:hover{transform:translateY(-4px);box-shadow:0 0 34px rgba(14,165,255,.4);border-color:var(--c)}
.shot[hidden]{display:none}
.shot b{font-size:17px;margin-top:16px}.shot small{color:#b9c8ea;font-size:12px}
.dev{position:relative;aspect-ratio:4/3}
.dl{position:absolute;left:0;top:5%;width:78%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}
.dl::after{content:"";display:block;height:7px;width:112%;margin-left:-6%;background:linear-gradient(#b7c0e0,#6b749a);border-radius:0 0 9px 9px}
.dp{position:absolute;right:0;bottom:0;width:27%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.55))}
.scr{container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--tx)}
.dl .scr{aspect-ratio:16/10;border:3px solid #2a3560;border-radius:8px 8px 0 0}
.dp .scr{aspect-ratio:9/18;border:3px solid #1f2748;border-radius:13px}
.sn{display:flex;align-items:center;gap:3cqw;padding:2.5cqw 4cqw;background:var(--nv)}
.sn i{width:5cqw;height:5cqw;border-radius:50%;background:var(--a)}
.sn span{height:1.3cqw;width:8cqw;border-radius:1cqw;background:currentColor;opacity:.35}
.sn em{margin-left:auto;width:12cqw;height:4.2cqw;border-radius:1.2cqw;background:var(--a)}
.sh{flex:1;display:grid;grid-template-columns:1.25fr 1fr;gap:4cqw;align-items:center;padding:3cqw 5cqw;background:var(--hb)}
.sh h5{font-size:5.6cqw;line-height:1.12;font-weight:800;margin:0}
.sh p{height:1.4cqw;width:88%;border-radius:1cqw;background:currentColor;opacity:.3;margin:1.8cqw 0 0}
.sh u{display:block;margin-top:3cqw;width:17cqw;height:4.8cqw;border-radius:1.3cqw;background:var(--a)}
.im{aspect-ratio:1.15;border-radius:2cqw;background:linear-gradient(135deg,var(--a),var(--b2))}
.sg{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:2.5cqw;padding:3cqw 5cqw 4cqw;background:var(--bg)}
.sg i{aspect-ratio:var(--r,1.4);border-radius:1.5cqw;background:color-mix(in srgb,currentColor 12%,transparent);border:1px solid color-mix(in srgb,currentColor 14%,transparent);position:relative}
.sg i::after{content:"";position:absolute;left:12%;bottom:12%;width:50%;height:9%;border-radius:2px;background:var(--a)}
.dp .sn span{display:none}.dp .sh{grid-template-columns:1fr;align-content:center;gap:2cqw}.dp .sh h5{font-size:10cqw}.dp .sh p{height:2.4cqw}.dp .sh u{width:40cqw;height:9cqw}.dp .im{display:none}.dp .sn i{width:8cqw;height:8cqw}.dp .sn em{width:14cqw;height:7cqw}.dp .sg{--n:2;gap:4cqw;padding:4cqw}

/* process */
.steps{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:center}
.st{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.st>div{display:grid;grid-template-columns:46px 1fr;column-gap:16px;align-content:start;padding:20px;border:1px solid var(--ln);border-radius:14px;background:linear-gradient(160deg,rgba(14,28,70,.55),rgba(5,12,34,.8));transition:box-shadow .3s}.st>div:hover{box-shadow:0 0 22px rgba(14,100,255,.25)}.st .n{grid-row:span 2;margin:0}.st h3{font-size:16px;margin:2px 0 4px}
.n{width:44px;height:44px;border-radius:50%;border:2px solid;display:grid;place-items:center;font-weight:700;margin-bottom:12px;box-shadow:0 0 14px currentColor}
.st p{font-size:13px;line-height:1.5;color:var(--mut)}
/* contact */
.ct{background:radial-gradient(40% 80% at 0 50%,rgba(40,70,255,.35),transparent 70%),#040b24}
.ct .w{display:grid;grid-template-columns:1fr 1.4fr .9fr;gap:30px;align-items:start}
form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px}
form h4{grid-column:1/-1;font-size:13px}
input,select,textarea{width:100%;font:inherit;font-size:12px;color:#fff;background:rgba(5,12,34,.9);border:1px solid var(--ln);border-radius:7px;padding:10px;outline:0;transition:.3s}
input:focus,select:focus,textarea:focus{border-color:var(--c);box-shadow:0 0 10px rgba(14,165,255,.5)}
.full{grid-column:1/-1}
.ch{display:flex;gap:14px;font-size:15px;margin-bottom:20px;align-items:center}
.ch small{display:block;color:var(--mut);font-size:14px}
.ok{grid-column:1/-1;font-size:12px;color:#2ee6a6;min-height:16px}
/* footer */
footer{background:#030817;padding:48px 0 22px;font-size:14px;color:var(--mut)}
.ft{display:grid;grid-template-columns:1.2fr 1fr 1.3fr 1fr 1.4fr;gap:24px}
footer h5{color:#fff;font-size:15px;margin-bottom:14px}
footer li{list-style:none;margin:8px 0}
footer ul{padding:0}
footer a:hover{color:var(--c)}
footer img{height:88px;width:auto;max-width:100%}
.nl{display:flex;gap:6px;margin-top:10px}
.cp{margin-top:30px;padding-top:16px;border-top:1px solid var(--ln);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px}
/* entrada */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s,transform .7s}
.rv.in{opacity:1;transform:none}
@media (max-width:980px){
.hero .w,.about .w,.tech,.pf,.steps,.ct .w{grid-template-columns:1fr}.steps{gap:28px}
.g3,.g4,.shots{grid-template-columns:repeat(2,1fr)}.g6{grid-template-columns:repeat(3,1fr)}
.ft{grid-template-columns:1fr 1fr}.st{grid-template-columns:repeat(2,1fr)}

nav{display:none;position:absolute;top:86px;left:0;right:0;flex-direction:column;background:#040b22;padding:16px 24px;gap:14px;border-bottom:1px solid var(--ln)}
nav.open{display:flex}.menu{display:block}header .btn{display:none}
}
@media (max-width:600px){
.g3,.g4,.g6,.shots,.tg,.st,.ft,form{grid-template-columns:1fr}.span2{grid-column:auto}
section{padding:46px 0}.code{display:none}
}
@media (prefers-reduced-motion:reduce){.stage,.pchip,.wa-float::before{animation:none!important}.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.led path[stroke]{animation-duration:30s!important}.card::before,.led-line,.ring{animation-duration:24s!important}}
.sg i{display:grid;place-items:center;background:linear-gradient(135deg,var(--a),var(--b2));border:0}
.sg i::after{background:#fff;opacity:.85;left:14%;bottom:10%;width:46%;height:8%}
.sg i svg{width:46%;height:46%;margin-bottom:8%}
.sg i:nth-child(2){filter:hue-rotate(28deg)}.sg i:nth-child(3){filter:hue-rotate(-28deg)}.sg i:nth-child(4){filter:hue-rotate(52deg)}
.im{display:block;width:100%;height:auto;aspect-ratio:1.15;border-radius:2cqw;background:linear-gradient(135deg,var(--a),var(--b2))}
.dp .im{order:-1;aspect-ratio:1.7;border-radius:3cqw}

/* ===== MOBILE (até 760px): adaptação responsiva com carrosséis ===== */
.dots{display:none}
@media (max-width:760px){
:root{--pad:20px}
.w{padding:0 var(--pad)}
section{padding:52px 0}
h1{font-size:clamp(30px,8.6vw,40px)}
h2{font-size:clamp(23px,6.6vw,29px)}
p.l{font-size:15px}
header .w{height:68px}
header img{height:46px}
nav{top:68px}
nav a{padding:12px 0;font-size:16px}
.menu{width:46px;height:46px}
.hero{padding:26px 0 46px}
.hero .w{gap:26px}
.tag{margin-bottom:16px}
.hero p.l{margin:14px 0 22px}
.bt{flex-direction:column;gap:12px}
.bt .btn,.pcta .btn{width:100%;justify-content:center;padding:15px 20px;white-space:normal;text-align:center}
.mini{flex-direction:column;gap:14px;margin-top:26px}
.mini div{max-width:none;font-size:13px}
.stage{max-width:520px;margin:0 auto;width:100%}
/* carrossel horizontal */
[data-carousel]{display:flex!important;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);margin:-14px calc(var(--pad)*-1) -8px;padding:18px var(--pad) 22px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
[data-carousel]::-webkit-scrollbar{display:none}
[data-carousel]::after{content:"";flex:0 0 calc(var(--pad) - 14px)}
[data-carousel]>*{flex:0 0 84%;max-width:360px;scroll-snap-align:start;opacity:1!important;transform:none!important}
[data-carousel].g6>*{flex:0 0 46%;max-width:190px}
[data-carousel].st>*{flex:0 0 80%}
.dots{display:flex;justify-content:center;align-items:center;gap:14px;margin:14px auto 0;padding:0 var(--pad);width:100%}.cdots{display:flex;align-items:center;gap:9px}
.car-btn{flex:none;width:42px;height:42px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(90,150,255,.6);background:rgba(8,20,60,.85);color:#fff;cursor:pointer;box-shadow:0 0 14px rgba(14,165,255,.35);transition:opacity .3s,box-shadow .3s}
.car-btn:active{box-shadow:0 0 22px rgba(14,165,255,.8)}
.car-btn:disabled{opacity:.3;box-shadow:none;cursor:default}
.car-btn svg{width:20px;height:20px}
.cdots button{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(150,180,255,.35);transition:width .3s,background .3s,box-shadow .3s;cursor:pointer}
.cdots button::before{content:"";position:absolute;inset:-14px -4px}
.cdots button.on{width:24px;background:var(--c);box-shadow:0 0 10px var(--c)}
/* serviços */
.sv{padding:22px 20px 62px}.sv .go{right:16px;bottom:16px}
/* pilares: card vertical com ícone no topo */
.pil{display:flex;flex-direction:column;padding:24px 20px}
.pi{width:56px;height:56px;margin-bottom:16px;grid-row:auto}
#pilares{padding:60px 0!important}
#pilares h2{font-size:clamp(20px,6vw,26px)!important}
.pih{margin-bottom:28px}
.pih p.l{font-size:15px!important}
.pil p{font-size:14px}
.pcta{margin-top:28px}
.wab{font-size:15px;padding:16px 20px}
/* plataformas */
.pl{min-height:104px;padding:18px 14px}
.lg{height:44px}
/* portfólio */
#portfolio{padding:56px 0!important}
.pfh{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:20px}
.pfh .btn{width:100%;justify-content:center}
.tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--pad)*-1) 18px;padding:0 var(--pad) 4px;scrollbar-width:none;gap:8px}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;white-space:nowrap;padding:11px 18px;font-size:13px}
.shot{padding:16px}
/* processo */
.steps{gap:22px}
.st>div{padding:20px 18px}
/* sobre */
.vis img{max-width:340px}
/* contato */
.ct .w{gap:26px}
form{grid-template-columns:1fr;padding:18px}
input,select,textarea{font-size:16px;padding:13px}
.ch{font-size:15px}
/* rodapé */
footer{padding:40px 0 96px}
.ft{grid-template-columns:1fr 1fr;gap:26px 18px}
.ft>div:nth-child(1),.ft>div:nth-child(3),.ft>div:nth-child(5){grid-column:1/-1}
.ft>div:nth-child(2){order:1}.ft>div:nth-child(4){order:2}.ft>div:nth-child(3){order:3}.ft>div:nth-child(5){order:4}
footer li{margin:10px 0}
footer img{height:72px}
.cp{flex-direction:column;align-items:center;text-align:center}
.wa-float{width:56px;height:56px;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.wa-float svg{width:29px;height:29px}
}
@media (max-width:380px){
:root{--pad:16px}
h1{font-size:29px}
.pchip{zoom:.66}
[data-carousel]>*{flex-basis:88%}
[data-carousel].g6>*{flex-basis:50%}
.tag{font-size:9.5px}
}
