:root{--bg:#030915;--panel:#071326;--text:#f5f8ff;--muted:#9eabc2;--blue:#1768ff;--cyan:#18d8ed;--line:#183056;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 64% 8%,#071b3d 0,transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.skip{position:fixed;left:16px;top:-60px;background:#fff;color:#000;padding:10px 16px;z-index:999}.skip:focus{top:16px}.header{position:sticky;top:0;z-index:50;background:rgba(3,9,21,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(93,132,194,.13)}.nav-wrap{height:82px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{width:50px;height:50px;display:grid;place-items:center;position:relative;filter:drop-shadow(0 0 16px rgba(23,104,255,.5))}.brand-mark:before,.brand-mark:after{content:"";position:absolute;inset:5px;border:3px solid #1a7bff;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.brand-mark:after{inset:11px;border-color:#a6c9ff}.brand-mark span{font-size:24px;font-weight:900;z-index:2}.brand strong{font-size:25px;line-height:1}.brand strong span,.section-title span,.tech-panel h2 span,.projects h2 span{color:var(--blue)}.brand small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.75px;margin-top:5px}.nav{display:flex;gap:28px;margin-left:auto}.nav a{font-size:14px;color:#edf3ff}.nav a:hover{color:#4ea0ff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 22px;border-radius:5px;font-weight:650;font-size:14px;border:1px solid transparent;transition:.25s}.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.btn-primary{background:linear-gradient(135deg,#0c55ed,#145eff);box-shadow:0 0 24px rgba(23,104,255,.23)}.btn-ghost{border-color:#1d5cae;background:#07101f}.menu-toggle{display:none;background:none;border:0}.hero{padding:18px 0 34px;position:relative;border-bottom:1px solid rgba(92,128,190,.1)}.section-grid:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(39,81,145,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(39,81,145,.06) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent 90%);pointer-events:none}.hero-grid{min-height:560px;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:44px;position:relative;z-index:2}.eyebrow{display:inline-flex;border:1px solid #175dbc;border-radius:99px;padding:7px 16px;color:#2c91ff;text-transform:uppercase;font-size:12px;letter-spacing:.8px}.hero h1{font-size:clamp(44px,4.4vw,76px);line-height:1.02;margin:18px 0 14px;letter-spacing:-2.8px}.hero h1 em{font-style:normal;color:#1768ff}.lead{max-width:600px;font-size:18px;line-height:1.55;color:#e4e9f3}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.benefits>div{display:flex;gap:10px}.benefits>div>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #1768ff;border-radius:50%;color:#2e89ff}.benefits p{margin:0}.benefits strong{display:block;font-size:12px}.benefits small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:4px}.actions{display:flex;gap:14px}.ai-map{position:relative;height:540px}.map-card{position:absolute;width:35%;height:145px;overflow:hidden;border:1px solid currentColor;border-radius:11px;box-shadow:inset 0 0 30px #000}.map-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.map-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,20,.75),transparent 70%)}.map-card div{position:absolute;left:24px;top:18px;z-index:2}.map-card small{display:block;font-weight:700}.map-card strong{display:block;font-size:29px}.map-odonto{left:0;top:25px;color:#57a9ff}.map-clinic{right:0;top:25px;color:#16d9e8}.map-food{left:0;bottom:25px;color:#ff9f13}.map-stock{right:0;bottom:25px;color:#d67af4}.core{position:absolute;left:50%;top:50%;translate:-50% -50%;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#0b2553,#030915 66%);border:2px solid #2f8cff;box-shadow:0 0 20px #106bff,0 0 70px rgba(16,107,255,.55)}.core:before,.core:after{content:"";position:absolute;border:1px solid rgba(39,127,255,.44);border-radius:50%;inset:-25px}.core:after{inset:-54px;border-style:dashed}.core .brand-mark{width:100px;height:100px}.core .brand-mark span{font-size:44px}.connections{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.connections path{stroke:#78b4ff;stroke-width:2;fill:none;filter:drop-shadow(0 0 5px #147aff)}.process{display:flex;align-items:center;justify-content:flex-end;gap:22px;position:relative;z-index:3;margin-top:-10px}.process div{display:grid;place-items:center;gap:8px;font-size:13px}.process div span{width:48px;height:48px;display:grid;place-items:center;border:1px solid #2a6fcc;border-radius:50%;font-size:25px}.process b{font-size:35px;color:#1fdcf0}.solutions{padding:14px 0 22px}.section-title{text-align:center;margin-bottom:18px}.section-title h2{font-size:31px;margin:0}.section-title p{margin:5px 0;color:#bdc7d8}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.solution-card{height:350px;position:relative;overflow:hidden;border-radius:8px;border:1px solid currentColor}.solution-card img{width:100%;height:100%;object-fit:cover}.solution-card .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,18,.98) 0%,rgba(3,10,22,.77) 54%,rgba(3,9,18,.18) 100%)}.solution-content{position:absolute;inset:20px;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.solution-content p{margin:0;font-size:13px;font-weight:700}.solution-content h3{font-size:28px;margin:2px 0 8px}.solution-content strong{font-size:14px;line-height:1.35;max-width:240px}.solution-content ul{padding:0;margin:14px 0;list-style:none;font-size:13px;line-height:1.75}.solution-content li:before{content:"✓";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:currentColor;color:#041021;margin-right:8px;font-size:10px}.solution-content a{margin-top:auto;font-weight:800}.blue{color:#54a8ff}.cyan{color:#14dce9}.orange{color:#ff9f0d}.purple{color:#d477ef}.technology{padding:0 0 16px}.tech-panel{display:grid;grid-template-columns:330px 1fr;gap:22px;align-items:center;border:1px solid #152a4a;border-radius:8px;padding:16px;background:rgba(4,13,28,.68)}.tech-panel h2{font-size:21px;margin:0}.tech-panel p{font-size:12px;color:#b4bfd0;margin:4px 0}.logos{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.logos span{font-size:13px;font-weight:650;white-space:nowrap}.proof{padding:0 0 22px}.proof-grid{display:grid;grid-template-columns:1.08fr 1.04fr 1.2fr;gap:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #11294b;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#081a37,#061123)}.stats div{padding:22px 10px;text-align:center;border-right:1px solid #15325b}.stats div:last-child{border:0}.stats span{display:block;color:#2d7fff;font-size:32px}.stats strong{display:block;font-size:28px;margin:9px 0}.stats small{font-size:10px;color:#d0d7e5}.about-sofia{display:grid;grid-template-columns:42% 58%;align-items:center;border-radius:8px;background:radial-gradient(circle at 20% 30%,rgba(30,99,220,.22),transparent 48%)}.about-sofia img{width:100%;max-height:210px;object-fit:contain}.about-sofia h2,.projects h2{font-size:26px;margin:0}.about-sofia h3{color:#2582ff;margin:5px 0}.about-sofia p{font-size:12px;line-height:1.55;color:#c9d1df}.about-sofia strong{font-size:12px;color:#2e8aff}.projects{border:1px solid #102849;border-radius:8px;padding:16px}.projects h2{font-size:20px}.projects>p{font-size:11px;color:#c1cad8;margin:3px 0 12px}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.project-grid article{position:relative;height:105px;overflow:hidden;border:1px solid #173a67;border-radius:6px}.project-grid img{width:100%;height:100%;object-fit:cover}.project-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.9))}.project-grid span{position:absolute;z-index:2;bottom:7px;left:7px;font-size:10px}.projects .btn{margin:12px auto 0;display:flex;width:max-content;min-height:38px}.contact{padding:0 0 18px}.contact-box{min-height:220px;display:grid;grid-template-columns:1fr .62fr;align-items:center;background:linear-gradient(100deg,#0a1734,#113e9f);border:1px solid #2e6dee;border-radius:10px;overflow:hidden;padding:28px 44px}.contact-box h2{font-size:32px;max-width:780px;margin:5px 0}.contact-box p:not(.eyebrow){color:#d3def1;max-width:720px}.contact-box img{height:220px;width:100%;object-fit:contain;align-self:end}.footer{border-top:1px solid #13305a;background:#040b16;padding:26px 0 12px}.footer-grid{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:38px}.footer h3{font-size:13px;margin:0 0 8px}.footer a,.footer span{display:block;font-size:12px;color:#c6cede;margin:7px 0}.social{display:flex;gap:10px;margin-top:20px}.social a{width:28px;height:28px;border:1px solid #304567;border-radius:5px;display:grid;place-items:center}.copyright{text-align:right;font-size:11px;color:#8e9ab0;padding-top:12px}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1100px){.nav{display:none}.nav-cta{margin-left:auto}.hero-grid{grid-template-columns:1fr}.ai-map{height:500px}.proof-grid{grid-template-columns:1fr 1fr}.stats{grid-column:1/-1}.footer-grid{grid-template-columns:2fr repeat(2,1fr)}.solution-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.container{width:min(100% - 28px,var(--max))}.nav-wrap{height:68px}.nav-cta{display:none}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;gap:5px}.menu-toggle span{width:25px;height:2px;background:#fff}.nav.open{display:flex;position:absolute;top:68px;left:0;right:0;background:#050d1b;flex-direction:column;padding:22px}.hero{padding-top:32px}.hero-grid{min-height:auto}.hero h1{font-size:43px}.benefits{grid-template-columns:1fr}.ai-map{height:440px}.map-card{width:42%;height:115px}.map-card strong{font-size:20px}.core{width:120px;height:120px}.process{overflow-x:auto;justify-content:flex-start;padding-bottom:10px}.solution-grid,.proof-grid,.contact-box,.tech-panel{grid-template-columns:1fr}.solution-card{height:330px}.stats{grid-template-columns:repeat(2,1fr)}.projects{grid-column:1}.contact-box{padding:25px}.contact-box img{height:150px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.copyright{text-align:center}.logos{justify-content:flex-start}.section-title h2{font-size:26px}}@media(max-width:440px){.brand strong{font-size:20px}.brand-mark{width:42px;height:42px}.hero h1{font-size:38px}.actions{flex-direction:column}.ai-map{height:520px}.map-card{width:72%;height:110px}.map-odonto,.map-food{left:0}.map-clinic,.map-stock{right:0}.map-odonto{top:0}.map-clinic{top:120px}.map-food{bottom:120px}.map-stock{bottom:0}.core{width:90px;height:90px}.connections{display:none}.footer-grid{grid-template-columns:1fr}}

/* Logotipo oficial Sofia Smart — v2.1 */
.brand-mark{overflow:hidden;padding:0;background:#020817;border:1px solid rgba(56,132,255,.75);box-shadow:0 0 16px rgba(33,112,255,.55),inset 0 0 12px rgba(40,112,255,.18)}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit;filter:none}
.core .brand-mark{width:116px;height:116px;border-radius:50%;border:0;box-shadow:0 0 24px rgba(34,120,255,.55)}
.core .brand-mark img{border-radius:50%}
.footer .brand-mark{width:48px;height:48px}
@media(max-width:440px){.brand-mark{width:42px;height:42px}.core .brand-mark{width:68px;height:68px}}

/* Ajuste v3.0 — logotipo vetorial perfeitamente centralizado */
.brand-mark img{transform:none!important;object-position:center!important;padding:4px}
.core .brand-mark img{padding:0}

/* v3.1 — uso exato do logotipo aprovado pelo cliente */
.brand-mark{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.brand-mark img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;transform:none!important;border-radius:0!important;filter:none!important}
.core .brand-mark{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.core .brand-mark img{border-radius:0!important}

/* v3.2 — logotipo oficial aprovado: neon completo + quadrado atrás do círculo */
.brand-mark::before,.brand-mark::after{display:none!important;content:none!important}
.brand-mark{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.brand-mark img{padding:0!important;filter:drop-shadow(0 0 12px rgba(42,119,255,.56))!important}
.core{width:190px;height:190px;border:3px solid #4b9cff;background:radial-gradient(circle at 50% 48%,rgba(17,67,151,.55),#030915 66%);box-shadow:0 0 14px #1873ff,0 0 38px rgba(24,115,255,.85),0 0 82px rgba(24,115,255,.42)}
.core::before{inset:-28px;border:1px solid rgba(61,139,255,.52);box-shadow:0 0 16px rgba(37,114,255,.35)}
.core::after{inset:-58px;border:1px dashed rgba(61,139,255,.42)}
.core .brand-mark{width:152px!important;height:152px!important}
.core .brand-mark img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 0 14px rgba(68,144,255,.8))!important}
@media(max-width:720px){.core{width:142px;height:142px}.core .brand-mark{width:114px!important;height:114px!important}}
@media(max-width:440px){.core{width:102px;height:102px}.core .brand-mark{width:82px!important;height:82px!important}}

/* v3.3 — cards premium leves, sem bibliotecas externas */
.solutions{position:relative;isolation:isolate;padding:54px 0 62px}
.solutions::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 10%,rgba(19,89,220,.16),transparent 34%),linear-gradient(180deg,rgba(4,13,31,.45),rgba(3,9,21,.1))}
.solutions::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(83,137,220,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(83,137,220,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.solutions .section-title{margin-bottom:30px}
.premium-grid{gap:20px;perspective:1200px}
.solution-card{--mx:50%;--my:50%;height:430px;border-radius:18px;border:1px solid color-mix(in srgb,currentColor 58%,transparent);background:#061022;box-shadow:0 18px 45px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.05);transform-style:preserve-3d;transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;will-change:transform}
.solution-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,currentColor 85%,white 5%),transparent 36%,transparent 68%,color-mix(in srgb,currentColor 45%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:5;pointer-events:none;opacity:.72}
.solution-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),color-mix(in srgb,currentColor 18%,transparent),transparent 42%);opacity:0;transition:opacity .3s;z-index:3;pointer-events:none}
.solution-card:hover{transform:translateY(-9px) rotateX(1.2deg);border-color:color-mix(in srgb,currentColor 90%,white 5%);box-shadow:0 28px 65px rgba(0,0,0,.48),0 0 34px color-mix(in srgb,currentColor 20%,transparent),inset 0 1px rgba(255,255,255,.08)}
.solution-card:hover::after{opacity:1}
.solution-card img{transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.82) contrast(1.04) brightness(.8)}
.solution-card:hover img{transform:scale(1.075);filter:saturate(1.02) contrast(1.06) brightness(.9)}
.solution-card .shade{background:linear-gradient(180deg,rgba(3,8,18,.18) 0%,rgba(3,9,20,.72) 48%,rgba(2,7,17,.98) 100%);z-index:1}
.card-aura{position:absolute;width:190px;height:190px;right:-55px;top:-55px;border-radius:50%;background:currentColor;filter:blur(80px);opacity:.12;z-index:2;pointer-events:none}
.card-index{position:absolute;right:18px;top:16px;z-index:6;font-size:11px;letter-spacing:.18em;font-weight:800;color:rgba(255,255,255,.52)}
.solution-content{inset:auto 22px 22px;min-height:285px;padding:24px 22px 20px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:linear-gradient(145deg,rgba(7,18,39,.82),rgba(4,11,25,.68));backdrop-filter:blur(12px);box-shadow:inset 0 1px rgba(255,255,255,.045);transition:transform .35s,background .35s}
.solution-card:hover .solution-content{transform:translateZ(16px);background:linear-gradient(145deg,rgba(9,23,49,.92),rgba(4,12,27,.82))}
.solution-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:5px 9px;border:1px solid color-mix(in srgb,currentColor 48%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 9%,transparent);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.solution-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}
.solution-content p{font-size:12px;letter-spacing:.04em;color:#dce8fb}
.solution-content h3{font-size:31px;line-height:1;margin:3px 0 10px;letter-spacing:-.03em;text-shadow:0 0 24px color-mix(in srgb,currentColor 34%,transparent)}
.solution-content strong{font-size:13px;color:#eef4ff;font-weight:650;max-width:260px}
.solution-content ul{margin:15px 0 10px;color:#d4deef;line-height:1.8}
.solution-content li{transition:transform .2s,color .2s}
.solution-card:hover .solution-content li{color:#f4f8ff}
.solution-content li:hover{transform:translateX(3px)}
.solution-content a{display:inline-flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);width:100%;font-size:12px;letter-spacing:.03em;transition:gap .25s,color .25s}
.solution-content a:hover{gap:13px;color:#fff}
@media(max-width:1100px){.solution-card{height:410px}.solution-content{min-height:270px}}
@media(max-width:720px){.solutions{padding:42px 0}.premium-grid{gap:16px}.solution-card{height:420px}.solution-card:hover{transform:translateY(-5px)}.solution-content{inset:auto 14px 14px;padding:20px 18px;min-height:278px}}
@media(prefers-reduced-motion:reduce){.solution-card,.solution-card img,.solution-content{transition:none!important}.solution-card:hover{transform:none}}


/* ============================================================
   v3.6 — Animações premium sem alterar o layout congelado v3.5
   ============================================================ */

/* Entrada suave já usada pelo HTML */
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .72s cubic-bezier(.2,.8,.2,1),
             transform .72s cubic-bezier(.2,.8,.2,1);
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* Mapa: mantém a imagem aprovada intacta e anima somente luzes sobrepostas */
.animated-ai-map{
  position:relative;
  isolation:isolate;
}
.animated-ai-map > img{
  position:relative;
  z-index:1;
}
.ai-core-breath{
  position:absolute;
  left:50%;
  top:50%;
  width:20%;
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  pointer-events:none;
  background:radial-gradient(circle,
    rgba(89,177,255,.25) 0%,
    rgba(40,110,255,.16) 38%,
    transparent 70%);
  box-shadow:
    0 0 18px rgba(69,157,255,.52),
    0 0 44px rgba(37,103,255,.38),
    0 0 80px rgba(36,83,255,.20);
  mix-blend-mode:screen;
  animation:sofia-breathe 4.8s ease-in-out infinite;
}
.ai-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  z-index:3;
  transform:translate(-50%,-50%);
  border:1px dashed rgba(91,161,255,.32);
  filter:drop-shadow(0 0 5px rgba(60,129,255,.55));
}
.ai-orbit-one{
  width:24%;
  aspect-ratio:1;
  animation:sofia-orbit 90s linear infinite;
}
.ai-orbit-two{
  width:29%;
  aspect-ratio:1;
  border-style:dotted;
  border-color:rgba(106,192,255,.18);
  animation:sofia-orbit-reverse 120s linear infinite;
}
.data-pulse{
  position:absolute;
  z-index:4;
  width:7px;
  height:7px;
  border-radius:50%;
  pointer-events:none;
  background:#9eeeff;
  box-shadow:0 0 7px #65c9ff,0 0 15px #287cff;
  opacity:0;
}
.pulse-one{animation:data-flow-one 6.2s ease-in-out infinite}
.pulse-two{animation:data-flow-two 7.1s ease-in-out 1.2s infinite}
.pulse-three{animation:data-flow-three 6.7s ease-in-out 2.1s infinite}
.pulse-four{animation:data-flow-four 7.4s ease-in-out 3s infinite}

@keyframes sofia-breathe{
  0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.50}
  50%{transform:translate(-50%,-50%) scale(1.10);opacity:.95}
}
@keyframes sofia-orbit{
  from{transform:translate(-50%,-50%) rotate(0)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes sofia-orbit-reverse{
  from{transform:translate(-50%,-50%) rotate(360deg)}
  to{transform:translate(-50%,-50%) rotate(0)}
}
/* Pontos percorrem aproximadamente as quatro conexões presentes na arte */
@keyframes data-flow-one{
  0%{left:32%;top:25%;opacity:0}
  12%{opacity:1}
  88%{opacity:1}
  100%{left:48%;top:47%;opacity:0}
}
@keyframes data-flow-two{
  0%{left:68%;top:25%;opacity:0}
  12%{opacity:1}
  88%{opacity:1}
  100%{left:52%;top:47%;opacity:0}
}
@keyframes data-flow-three{
  0%{left:32%;top:75%;opacity:0}
  12%{opacity:1}
  88%{opacity:1}
  100%{left:48%;top:53%;opacity:0}
}
@keyframes data-flow-four{
  0%{left:68%;top:75%;opacity:0}
  12%{opacity:1}
  88%{opacity:1}
  100%{left:52%;top:53%;opacity:0}
}

/* Cards: elevação discreta, sem alterar posição estática */
.solution-card{
  transition:transform .36s cubic-bezier(.2,.8,.2,1),
             box-shadow .36s ease,
             border-color .36s ease;
}
.solution-card:hover{
  transform:translateY(-7px);
}
.solution-card img{
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}
.solution-card:hover img{
  transform:scale(1.035);
}

/* Logos aparecem em sequência quando a seção entra na tela */
.logos span{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .48s ease,transform .48s ease;
}
.tech-panel.visible .logos span{
  opacity:1;
  transform:translateY(0);
}
.tech-panel.visible .logos span:nth-child(1){transition-delay:.04s}
.tech-panel.visible .logos span:nth-child(2){transition-delay:.10s}
.tech-panel.visible .logos span:nth-child(3){transition-delay:.16s}
.tech-panel.visible .logos span:nth-child(4){transition-delay:.22s}
.tech-panel.visible .logos span:nth-child(5){transition-delay:.28s}
.tech-panel.visible .logos span:nth-child(6){transition-delay:.34s}
.tech-panel.visible .logos span:nth-child(7){transition-delay:.40s}
.tech-panel.visible .logos span:nth-child(8){transition-delay:.46s}

/* Botões com brilho deslizante */
.btn-primary{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn-primary::after{
  content:"";
  position:absolute;
  inset:-40% auto -40% -48%;
  width:34%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  z-index:-1;
  transition:left .65s ease;
}
.btn-primary:hover::after{left:125%}

/* Fundo tecnológico vivo, muito discreto */
.section-grid::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background:
    radial-gradient(circle at 20% 28%,rgba(76,159,255,.75) 0 1px,transparent 2px),
    radial-gradient(circle at 76% 18%,rgba(68,130,255,.6) 0 1px,transparent 2px),
    radial-gradient(circle at 84% 68%,rgba(89,190,255,.55) 0 1px,transparent 2px),
    radial-gradient(circle at 31% 78%,rgba(78,126,255,.52) 0 1px,transparent 2px);
  background-size:310px 280px,410px 360px,370px 430px,450px 390px;
  animation:background-drift 28s linear infinite;
}
@keyframes background-drift{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:35px 22px,-26px 33px,31px -24px,-36px -20px}
}

/* Contadores preservam a largura durante a animação */
.counter{
  display:inline-block;
  min-width:4ch;
  font-variant-numeric:tabular-nums;
}

/* Acessibilidade e economia de energia */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
  .reveal{opacity:1!important;transform:none!important}
  .logos span{opacity:1!important;transform:none!important}
}
@media(max-width:720px){
  .ai-core-breath{width:22%}
  .ai-orbit-one{width:27%}
  .ai-orbit-two{width:32%}
  .data-pulse{width:5px;height:5px}
}


/* v3.9 — navegação oficial das soluções */
.solutions-menu{position:relative;display:flex;align-items:center}
.solutions-trigger{
  appearance:none;border:0;background:transparent;color:#edf3ff;
  font:inherit;font-size:14px;cursor:pointer;padding:10px 0;
  display:flex;align-items:center;gap:6px
}
.solutions-trigger:hover,.solutions-trigger[aria-expanded="true"]{color:#4ea0ff}
.solutions-trigger span{font-size:13px;transition:transform .2s ease}
.solutions-trigger[aria-expanded="true"] span{transform:rotate(180deg)}
.solutions-dropdown{
  position:absolute;left:-18px;top:calc(100% + 16px);width:420px;padding:12px;
  border:1px solid rgba(77,133,220,.28);border-radius:14px;
  background:rgba(4,12,27,.98);box-shadow:0 24px 70px rgba(0,0,0,.52);
  backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:80
}
.solutions-menu.open .solutions-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.solutions-dropdown::before{
  content:"";position:absolute;top:-7px;left:34px;width:12px;height:12px;
  border-left:1px solid rgba(77,133,220,.28);border-top:1px solid rgba(77,133,220,.28);
  background:#050d1c;transform:rotate(45deg)
}
.solutions-dropdown a{
  display:block;padding:13px 14px;border-radius:10px;border:1px solid transparent;
  transition:background .2s,border-color .2s,transform .2s
}
.solutions-dropdown a:hover{
  background:rgba(22,104,255,.1);border-color:rgba(48,124,255,.24);
  transform:translateX(3px)
}
.solutions-dropdown strong{display:block;color:#f4f8ff;font-size:14px;margin-bottom:3px}
.solutions-dropdown small{display:block;color:#93a4bf;font-size:11px;line-height:1.45}

.solution-card{display:block;cursor:pointer}
.solution-card:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.solution-link{margin-top:auto;font-weight:800;color:currentColor}
.solution-card:hover .solution-link{text-decoration:underline;text-underline-offset:4px}

@media(max-width:1100px){
  .solutions-menu{display:block}
  .solutions-trigger{width:100%;justify-content:space-between}
  .solutions-dropdown{
    position:static;width:100%;margin-top:4px;display:none;opacity:1;visibility:visible;
    transform:none;background:rgba(9,21,43,.72);box-shadow:none;border-radius:10px
  }
  .solutions-menu.open .solutions-dropdown{display:block}
  .solutions-dropdown::before{display:none}
}
