@font-face { font-family: 'Satoshi'; src: url('/fonts/Satoshi-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
  @font-face { font-family: 'Satoshi'; src: url('/fonts/Satoshi-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }

  :root {
    --navy-900: #0b0d2e;
    --navy: #131643;
    --navy-700: #1d2160;
    --green: #22de61;
    --green-soft: #b8f5cc;
    --ink: #131643;
    --muted: #5a5f86;
    --line: #dfe2ef;
    --bg-soft: #eef0f7;
    --white: #ffffff;
    /* Forma: pílula e card arredondado, como no Bling. Zere as duas para o canto vivo do site atual. */
    --pill: 999px;
    --card: 24px;
    --wrap: 1240px;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: 'Satoshi', 'Inter', Arial, sans-serif; color: var(--ink); background: var(--white); line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  img { max-width: 100%; display: block; }
  a { color: inherit; text-decoration: none; }
  .wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
  b, strong { font-weight: 700; }


  /* Botões */
  .btn { white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 17px; padding: 16px 30px; border-radius: var(--pill); transition: transform .15s, background .15s; cursor: pointer; border: 0; }
  .btn:hover { transform: translateY(-2px); }
  .btn-green { background: var(--green); color: var(--navy-900); }
  .btn-green:hover { background: #4ef081; }
  .btn-ghost { border: 1.5px solid currentColor; padding: 14.5px 28px; }
  .btn svg { width: 18px; height: 18px; }

  /* Navegação flutuante */
  .nav { position: fixed; top: 16px; left: 0; right: 0; z-index: 40; }
  .nav-inner { max-width: 1380px; margin: 0 auto; padding: 0 16px; display: flex; align-items: center; gap: 16px; }
  .nav-brand { color: var(--white); flex-shrink: 0; transition: color .2s; }
  .nav.scrolled .nav-brand { color: var(--navy); }
  .logo { height: 30px; width: auto; display: block; }
  .nav-pill { margin-left: auto; display: flex; align-items: center; gap: 4px; background: var(--white); border-radius: var(--pill); padding: 8px 8px 8px 24px; box-shadow: 0 8px 30px rgba(11,13,46,.12); }
  .nav-pill a.lnk { font-size: 15px; font-weight: 700; padding: 10px 14px; border-radius: var(--pill); }
  .nav-pill a.lnk:hover { background: var(--bg-soft); }
  .nav-pill a.lnk span { display: inline-block; margin-left: 4px; font-size: 11px; opacity: .6; }
  .nav-pill .call { font-size: 15px; font-weight: 700; padding: 10px 16px; display: flex; align-items: center; gap: 6px; }
  .nav-pill .btn { padding: 12px 22px; font-size: 15px; gap: 0; }
  .short-only { display: none; }
  @media (max-width: 600px) { .short-only { display: inline; } }
  .nav.scrolled .nav-inner { background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-radius: var(--pill); padding: 8px 8px 8px 24px; box-shadow: 0 8px 30px rgba(11,13,46,.10); max-width: 1348px; }
  .nav.scrolled .nav-pill { box-shadow: none; padding-left: 0; }

  /* Hero */
  .hero { background: radial-gradient(1200px 600px at 80% 30%, #1f246b 0%, var(--navy) 45%, var(--navy-900) 100%); color: var(--white); padding: 150px 0 120px; position: relative; overflow: hidden; }
  .hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
  .eyebrow { display: inline-flex; align-items: center; gap: 10px; border: 1.5px solid rgba(34,222,97,.6); color: var(--green); border-radius: var(--pill); padding: 6px 16px; font-size: 14px; font-weight: 700; letter-spacing: .02em; }
  .eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(34,222,97,.2); }
  .hero h1 { font-size: clamp(36px, 4.4vw, 58px); line-height: 1.08; font-weight: 400; letter-spacing: -.02em; margin: 24px 0 28px; }
  .hero h1 b { color: var(--green); }
  .chips { display: inline-flex; flex-wrap: wrap; gap: 6px 20px; background: rgba(255,255,255,.07); border-radius: var(--pill); padding: 12px 22px; margin-bottom: 40px; }
  .chips span { display: inline-flex; align-items: center; gap: 8px; color: var(--green-soft); font-size: 15px; }
  .chips svg { width: 15px; height: 15px; color: var(--green); }
  .hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
  .hero-note { margin-top: 18px; font-size: 14px; color: rgba(255,255,255,.65); }

  .hero-visual { position: relative; height: 480px; }
  .blob { position: absolute; inset: 20px 0 0 30px; border-radius: 200px 200px 200px 40px; overflow: hidden; background: var(--navy-700); }
  .blob img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
  .blob::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(19,22,67,0) 40%, rgba(11,13,46,.75) 100%); }
  .float { position: absolute; background: var(--white); color: var(--ink); border-radius: 18px; padding: 14px 18px; box-shadow: 0 18px 50px rgba(0,0,0,.28); font-size: 13px; animation: bob 6s ease-in-out infinite; }
  .float .k { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
  .float .v { font-size: 15px; font-weight: 700; margin-top: 2px; }
  .badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: var(--pill); }
  .b-green { background: #dcfbe6; color: #0c7a35; }
  .b-blue { background: #e3e6ff; color: #2f37a6; }
  .b-amber { background: #fff1d6; color: #9a5b00; }
  .f1 { top: 40px; left: -10px; }
  .f2 { top: 190px; right: -14px; animation-delay: -2s; }
  .f3 { bottom: 10px; left: 50px; animation-delay: -4s; width: 250px; }
  .bars { display: flex; align-items: flex-end; gap: 5px; height: 38px; margin-top: 10px; }
  .bars i { flex: 1; background: var(--green); border-radius: 3px; }
  @keyframes bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

  /* Logos com recorte curvo */
  .logos { position: relative; background: var(--white); padding: 34px 0 30px; }
  .logos::before { content: ''; position: absolute; left: 50%; top: -40px; width: 220px; height: 80px; transform: translateX(-50%); background: var(--white); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
  .logos p { position: relative; text-align: center; font-size: 14px; color: var(--muted); margin-bottom: 20px; }
  .marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
  .track { display: flex; gap: 72px; width: max-content; animation: slide 40s linear infinite; align-items: center; }
  .track img { height: 40px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .65; transition: .2s; }
  .track img:hover { filter: none; opacity: 1; }
  @keyframes slide { to { transform: translateX(-50%); } }

  /* Seções */
  section { position: relative; }
  .sec { padding: 110px 0; }
  .sec-soft { background: var(--bg-soft); }
  .sec-title { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; font-weight: 400; letter-spacing: -.02em; text-align: center; max-width: 860px; margin: 0 auto; }
  .sec-title b { font-weight: 700; }
  .sec-sub { text-align: center; color: var(--muted); font-size: 18px; max-width: 680px; margin: 18px auto 0; }
  .notch-top::before { content: ''; position: absolute; left: 50%; top: -1px; width: 200px; height: 46px; transform: translateX(-50%); background: inherit; }

  /* Produtos em abas */
  .tabs-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px; margin-top: 64px; align-items: start; }
  .tab { border-bottom: 2px solid var(--line); padding: 20px 0 22px; cursor: pointer; position: relative; }
  .tab .tag { display: inline-block; font-size: 13px; font-weight: 700; padding: 5px 14px; border-radius: var(--pill); background: var(--bg-soft); color: var(--muted); }
  .tab h3 { font-size: 22px; font-weight: 400; margin-top: 12px; }
  .tab .body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s; }
  .tab .body > div { overflow: hidden; }
  .tab .body p { color: var(--muted); margin-top: 14px; font-size: 16px; }
  .tab .body a { display: inline-flex; gap: 8px; margin-top: 14px; font-weight: 700; color: #2f37a6; }
  .tab .prog { position: absolute; left: 0; bottom: -2px; height: 2px; width: 0; background: var(--green); }
  .tab:not(.active) .tag { background: var(--white); }
  .tab.active .tag { background: var(--navy); color: var(--green); }
  .tab.active .body { grid-template-rows: 1fr; }
  .tab.active .prog { animation: prog 7s linear forwards; }
  @keyframes prog { to { width: 100%; } }

  .screen { background: linear-gradient(160deg, #f6f7fc, #e7eaf6); border-radius: var(--card); padding: 34px; min-height: 470px; position: sticky; top: 110px; overflow: hidden; }
  .win { background: var(--white); border-radius: 16px; box-shadow: 0 20px 50px rgba(19,22,67,.12); padding: 20px 22px; }
  .win-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
  .win-h b { font-size: 16px; }
  .win-h small { color: var(--muted); font-size: 12px; }
  .rows div { display: grid; grid-template-columns: 1.2fr 1fr .9fr; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid #eef0f6; font-size: 13px; }
  .rows div:first-child { border-top: 0; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }
  .mini { position: absolute; right: 22px; bottom: 26px; width: 230px; background: var(--white); border-radius: 16px; box-shadow: 0 20px 50px rgba(19,22,67,.18); padding: 16px 18px; }
  .mini .k { font-size: 12px; color: var(--muted); font-weight: 700; }
  .mini .v { font-size: 26px; font-weight: 700; margin-top: 2px; }
  .pane { display: none; animation: fade .4s; }
  .pane.active { display: block; }
  @keyframes fade { from { opacity: 0; transform: translateY(8px); } }

  /* Split IA */
  .split { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; background: var(--navy); color: var(--white); }
  .split-img { position: relative; overflow: hidden; border-radius: 0 220px 220px 0; }
  .split-img img { width: 100%; height: 100%; object-fit: cover; }
  .split-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(34,222,97,.35), transparent 45%); }
  .split-txt { padding: 90px 8vw 90px 72px; display: flex; flex-direction: column; justify-content: center; }
  .split-txt h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.12; font-weight: 400; letter-spacing: -.02em; }
  .split-txt h2 b { color: var(--green); display: block; }
  .split-txt p { color: rgba(255,255,255,.78); font-size: 18px; margin: 24px 0 28px; max-width: 520px; }
  .ai-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 36px; max-width: 540px; }
  .ai-list span { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.07); border-radius: var(--pill); padding: 11px 16px; font-size: 15px; }
  .ai-list svg { width: 18px; height: 18px; color: var(--green); flex-shrink: 0; }

  /* Cards de recursos */
  .cards-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
  .cards-head .sec-title { text-align: left; margin: 0; }
  .arrows { display: flex; gap: 10px; }
  .arrows button { width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--white); cursor: pointer; display: grid; place-items: center; color: var(--navy); box-shadow: 0 4px 14px rgba(19,22,67,.08); }
  .arrows button.primary { background: var(--green); }
  .arrows svg { width: 20px; height: 20px; }
  .cards { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-top: 48px; padding-bottom: 8px; }
  .cards::-webkit-scrollbar { display: none; }
  .card { flex: 0 0 340px; scroll-snap-align: start; background: var(--white); border-radius: var(--card); padding: 34px 30px; min-height: 290px; }
  .card .ic { width: 46px; height: 46px; border-radius: 14px; background: var(--bg-soft); display: grid; place-items: center; color: var(--navy); margin-bottom: 26px; }
  .card .ic svg { width: 24px; height: 24px; }
  .card h3 { font-size: 22px; font-weight: 400; line-height: 1.25; }
  .card p { color: var(--muted); margin-top: 12px; font-size: 15.5px; }

  /* Indústrias */
  .dark { background: var(--navy-900); color: var(--white); }
  .dark .sec-title b { color: var(--green); }
  .dark .sec-sub { color: rgba(255,255,255,.7); }
  .pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 1040px; margin: 56px auto 0; }
  .pills a { display: inline-flex; align-items: center; gap: 12px; background: rgba(255,255,255,.07); border-radius: var(--pill); padding: 16px 26px; font-size: 18px; font-weight: 700; transition: .2s; }
  .pills a:hover { background: var(--green); color: var(--navy-900); }
  .pills svg { width: 20px; height: 20px; color: var(--green); }
  .pills a:hover svg { color: var(--navy-900); }
  .curve-bottom { position: absolute; left: 50%; bottom: -1px; transform: translateX(-50%); width: 220px; height: 44px; background: var(--bg-soft); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

  /* Resultados */
  .results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
  .result { background: var(--white); border-radius: var(--card); padding: 36px 32px; border-top: 4px solid var(--green); }
  .result .n { font-size: 60px; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
  .result p { color: var(--muted); margin-top: 14px; font-size: 16px; }

  /* Depoimentos */
  .stars { display: flex; justify-content: center; gap: 6px; color: #f5a524; margin-bottom: 18px; }
  .stars svg { width: 20px; height: 20px; }
  .quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
  .quote { background: var(--bg-soft); border-radius: var(--card); padding: 34px 30px; display: flex; flex-direction: column; }
  .quote p { font-size: 16.5px; flex: 1; }
  .who { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
  .av { width: 46px; height: 46px; border-radius: 50%; background: var(--navy); color: var(--green); display: grid; place-items: center; font-weight: 700; }
  .who b { display: block; font-size: 15px; }
  .who small { color: var(--muted); font-size: 13px; }

  /* CTA final */
  .cta { background: var(--navy); color: var(--white); border-radius: 32px; padding: 72px 64px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
  .cta h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.12; font-weight: 400; letter-spacing: -.02em; }
  .cta h2 b { color: var(--green); }
  .cta p { color: rgba(255,255,255,.75); font-size: 18px; margin-top: 18px; max-width: 560px; }
  .cta-side { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; position: relative; z-index: 1; }
  .cta::after { content: ''; position: absolute; right: -80px; bottom: -120px; width: 380px; height: 260px; background: var(--green); border-radius: 200px 0 0 0; opacity: .9; }
  .cta .btn-ghost { color: var(--white); }

  /* Rodapé */
  footer { background: var(--bg-soft); padding: 90px 0 40px; margin-top: 110px; position: relative; }
  footer::before { content: ''; position: absolute; left: 50%; top: -40px; width: 220px; height: 80px; transform: translateX(-50%); background: var(--bg-soft); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
  .f-top { display: flex; align-items: center; gap: 28px; padding-bottom: 36px; border-bottom: 1.5px solid var(--green); color: var(--navy); }
  .f-top span { color: var(--muted); font-size: 17px; }
  .f-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding: 44px 0; }
  .f-cols h4 { font-size: 20px; font-weight: 400; margin-bottom: 16px; }
  .f-cols a { display: block; color: var(--muted); padding: 5px 0; font-size: 15.5px; }
  .f-cols a:hover { color: var(--navy); }
  .f-bot { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; flex-wrap: wrap; }
  .f-bot img { height: 44px; }
  .f-bot .iso { display: flex; align-items: center; gap: 14px; }

  /* Responsivo */
  @media (max-width: 1100px) {
    .nav-pill a.lnk, .nav-pill .call { display: none; }
    .hero-grid, .tabs-grid, .split, .cta { grid-template-columns: 1fr; }
    .hero-visual { height: 420px; }
    .split-img { height: 360px; border-radius: 0 0 160px 0; }
    .split-txt { padding: 64px 24px; }
    .screen { position: relative; top: 0; }
    .results, .quotes { grid-template-columns: 1fr; }
    .f-cols { grid-template-columns: 1fr 1fr; }
    .cta { padding: 52px 28px; }
  }
  @media (max-width: 600px) {
    .wrap { padding: 0 16px; }
    .nav-pill { padding: 6px; }
    .nav-pill .btn { padding: 10px 16px; font-size: 14px; }
    .nav-pill .btn .long { display: none; }
    .logo { height: 24px; }
    .hero { padding: 120px 0 90px; }
    .hero-visual { height: 340px; }
    .f2 { right: 0; } .f1 { left: 0; } .f3 { left: 10px; width: 220px; }
    .ai-list { grid-template-columns: 1fr; }
    .card { flex-basis: 84%; }
    .sec { padding: 80px 0; }
    .cards-head { flex-direction: column; align-items: flex-start; }
    .mini { display: none; }
    .rows div { grid-template-columns: 1.2fr 1fr; } .rows div > :nth-child(3) { display: none; }
    .f-cols { grid-template-columns: 1fr; }
  }
  @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ===== Hero v2: proporções e detalhes do Bling ===== */
.nav-inner { max-width: calc(var(--wrap) + 48px); padding: 0 24px; gap: 14px; }
.nav.scrolled .nav-inner { max-width: calc(var(--wrap) + 48px); padding: 8px 8px 8px 24px; }
.seal { display: inline-flex; align-items: center; color: var(--green); font-size: 12.5px; letter-spacing: .03em; }
.seal b { border: 1.5px solid currentColor; border-radius: var(--pill); padding: 4px 12px; font-weight: 700; white-space: nowrap; }
.seal svg { width: 24px; height: 20px; margin: 0 -2px; }
.nav.scrolled .seal { color: var(--navy); }
.nav-pill { margin-left: auto; padding: 6px 6px 6px 18px; box-shadow: none; }
.nav-pill-end { margin-left: 0; padding: 6px 6px 6px 8px; }
.nav-neck { width: 34px; height: 62px; margin: 0 -15px; background: var(--white); align-self: center;
  -webkit-mask: radial-gradient(18px 15px at 50% 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(18px 15px at 50% 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;
          mask: radial-gradient(18px 15px at 50% 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(18px 15px at 50% 100%, #0000 97%, #000) bottom / 100% 51% no-repeat; }
.nav-pill { height: 62px; }
.nav.scrolled .nav-neck { visibility: hidden; }

.hero { padding: 132px 0 96px; }
.hero-grid { grid-template-columns: 1.15fr .85fr; gap: 40px; }
.hero h1 { font-size: clamp(32px, 3vw, 44px); line-height: 1.14; margin: 0 0 30px; }
.hero .eyebrow { margin-bottom: 22px; }
.chips { display: flex; justify-content: center; margin-bottom: 44px; padding: 12px 20px; }
.hero-ctas { gap: 26px; }
.link-arrow { color: var(--white); font-weight: 700; display: inline-flex; gap: 8px; align-items: center; border-bottom: 1.5px solid rgba(255,255,255,.3); padding-bottom: 2px; }
.link-arrow:hover { border-color: var(--green); color: var(--green); }
.hero-note { font-size: 13px; margin-top: 16px; }

/* Imagem em órbita com brilho */
.hero-visual.v2 { height: 420px; }
.orb { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 420px; height: 420px; border-radius: 50%; overflow: hidden; background: var(--navy-700); box-shadow: 0 0 140px 10px rgba(34,222,97,.16); }
.orb img { width: 100%; height: 100%; object-fit: cover; }
.orb::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 35%, transparent 45%, rgba(11,13,46,.55) 100%), linear-gradient(180deg, transparent 55%, rgba(11,13,46,.85)); }
.hero-visual.v2::before { content: ''; position: absolute; top: -22px; left: 50%; transform: translateX(-50%); width: 464px; height: 464px; border-radius: 50%; border: 1px solid rgba(34,222,97,.22); }
.tagset { position: absolute; top: 22px; right: -6px; display: flex; flex-direction: column; align-items: center; z-index: 2; }
.tagset .t1 { position: relative; border: 2px solid var(--green); color: var(--green); background: rgba(11,13,46,.55); backdrop-filter: blur(6px); border-radius: var(--pill); padding: 9px 22px; font-weight: 700; font-size: 18px; white-space: nowrap; }
.tagset .t1::before { content: ''; position: absolute; right: 100%; top: 50%; width: 90px; height: 1.5px; background: linear-gradient(90deg, transparent, var(--green)); }
.tagset .plus { color: var(--green); font-style: normal; font-weight: 700; line-height: 1; margin: 2px 0; }
.tagset .t2 { background: var(--green); color: var(--navy-900); border-radius: var(--pill); padding: 9px 22px; font-weight: 700; font-size: 16px; white-space: nowrap; }
.tagset .t2 small { font-weight: 400; font-size: 13px; margin-right: 4px; }
.hero-visual.v2 .f3 { left: 0; bottom: 24px; }
.orb-caption { position: absolute; left: 50%; bottom: 34px; transform: translateX(-12%); z-index: 2; font-size: 13px; color: rgba(255,255,255,.85); max-width: 230px; line-height: 1.35; }
.orb-caption b { color: var(--green); display: block; font-size: 15px; }

/* Onda de transição para os logos */
.hero-wave { position: absolute; left: 0; right: 0; bottom: -1px; height: 64px; display: block; width: 100%; }
.logos::before { display: none; }
.logos { padding-top: 22px; }

@media (max-width: 1100px) {
  .seal { display: none; }
  .nav-neck, .nav-pill:not(.nav-pill-end) { display: none; }
  .nav-pill-end { margin-left: auto; }
  .nav-pill-end .call { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .chips { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .nav-pill { height: auto; }
  .orb { width: 300px; height: 300px; }
  .hero-visual.v2 { height: 330px; }
  .hero-visual.v2::before { width: 336px; height: 336px; }
  .tagset { right: 0; top: 0; }
  .tagset .t1 { font-size: 15px; padding: 7px 16px; }
  .tagset .t1::before { display: none; }
  .tagset .t2 { font-size: 14px; padding: 7px 16px; }
  .orb-caption { display: none; }
  .hero-wave { height: 36px; }
}
/* ajustes v2.1 */
.nav-pill a.lnk, .nav-pill .call { white-space: nowrap; }
.nav-pill a.lnk { padding: 10px 11px; }
.nav-neck { width: 44px; margin: 0 -21px; position: relative; z-index: 1;
  -webkit-mask: radial-gradient(22px 22px at 50% 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(22px 22px at 50% 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;
          mask: radial-gradient(22px 22px at 50% 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(22px 22px at 50% 100%, #0000 97%, #000) bottom / 100% 51% no-repeat; }
.orb-caption { display: none; }
.hero-visual.v2 .f3 { left: -10px; bottom: 30px; }
/* cintura do menu: pontas retas onde as pílulas se encontram, curva contínua */
.nav-pill:not(.nav-pill-end) { border-radius: var(--pill) 0 0 var(--pill); padding-right: 4px; }
.nav-pill-end { border-radius: 0 var(--pill) var(--pill) 0; padding-left: 4px; }
.nav-neck { width: 46px; margin: 0 -1px;
  -webkit-mask: radial-gradient(23px 15px at 50% 0, #0000 98%, #000) top / 100% 51% no-repeat, radial-gradient(23px 15px at 50% 100%, #0000 98%, #000) bottom / 100% 51% no-repeat;
          mask: radial-gradient(23px 15px at 50% 0, #0000 98%, #000) top / 100% 51% no-repeat, radial-gradient(23px 15px at 50% 100%, #0000 98%, #000) bottom / 100% 51% no-repeat; }
.nav.scrolled .nav-pill:not(.nav-pill-end), .nav.scrolled .nav-pill-end { border-radius: var(--pill); }
@media (max-width: 1100px) { .nav-pill-end { border-radius: var(--pill); padding-left: 8px; } }
.nav-neck { margin: 0 -15px; }
/* cintura em S, tangente às pílulas (efeito "gota" do Bling) */
.nav-neck { width: 64px; height: 62px; margin: 0 -15px; -webkit-mask: none; mask: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 62' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0C18 0 20 17 32 17S46 0 64 0V62C46 62 44 45 32 45S18 62 0 62Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
/* sem a bolha de transição entre seções */
.curve-bottom, footer::before { display: none; }

/* ===== Vídeo institucional (como no Bling) ===== */
.vid-sec { background: linear-gradient(180deg, var(--bg-soft) 0%, var(--white) 100%); padding: 90px 0 110px; }
.vid-frame { position: relative; max-width: 1020px; margin: 56px auto 0; padding: 26px; border-radius: 44px; background: rgba(255,255,255,.6); box-shadow: 0 0 0 1px rgba(255,255,255,.8) inset, 0 30px 80px rgba(19,22,67,.10); }
.vid-frame::before { content: ''; position: absolute; inset: 10% -8% -6%; z-index: -1; background: radial-gradient(closest-side, rgba(34,222,97,.35), transparent); filter: blur(30px); }
.vid-box { position: relative; aspect-ratio: 16 / 9; border-radius: 28px; overflow: hidden; background: var(--navy-900); }
.vid-box video { width: 100%; height: 100%; display: block; }
.vid-cover { position: absolute; inset: 0; border: 0; cursor: pointer; background: linear-gradient(160deg, #c9cde3 0%, #e8eaf3 60%, #f4f5fa 100%); overflow: hidden; display: block; width: 100%; }
.vid-cover .blobp { position: absolute; border-radius: 999px; background: linear-gradient(90deg, #22de61, rgba(34,222,97,.25)); }
.vid-cover .b1 { left: -4%; top: 30%; width: 34%; height: 21%; }
.vid-cover .b2 { left: 6%; top: 8%; width: 26%; height: 21%; opacity: .85; }
.vid-cover .b3 { left: 28%; bottom: -8%; width: 26%; height: 18%; opacity: .7; }
.vid-cover .ring { position: absolute; border: 1.5px solid rgba(34,222,97,.45); border-radius: 999px; }
.vid-cover .r1 { left: 34%; top: 14%; width: 22%; height: 22%; }
.vid-cover .r2 { left: 30%; top: 44%; width: 26%; height: 24%; }
.vid-cover .word { position: absolute; right: 4%; display: inline-flex; align-items: center; height: 21%; padding: 0 8%; border-radius: 999px; background: linear-gradient(90deg, #22de61 0%, rgba(34,222,97,.35) 100%); color: var(--navy-900); font-size: clamp(18px, 3.2vw, 38px); font-weight: 400; }
.vid-cover .w1 { top: 22%; right: 8%; }
.vid-cover .w2 { top: 49%; }
.vid-cover .w3 { top: 76%; right: 10%; opacity: .75; }
.vid-cover .neck2 { position: absolute; right: 18%; width: 6%; height: 7%; background: #5ee68c; }
.vid-cover .n1 { top: 42%; } .vid-cover .n2 { top: 69%; }
.vid-cover .play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 96px; height: 96px; border-radius: 50%; border: 2px solid var(--navy-900); display: grid; place-items: center; transition: transform .2s, background .2s; }
.vid-cover:hover .play { transform: translate(-50%, -50%) scale(1.08); background: rgba(255,255,255,.4); }
.vid-cover .play svg { width: 34px; height: 34px; margin-left: 5px; color: var(--navy-900); }
.vid-cover .dur { position: absolute; left: 24px; bottom: 20px; font-size: 14px; font-weight: 700; color: var(--navy); background: rgba(255,255,255,.75); padding: 6px 12px; border-radius: 999px; }
@media (max-width: 600px) { .vid-frame { padding: 10px; border-radius: 24px; } .vid-box { border-radius: 16px; } .vid-cover .play { width: 64px; height: 64px; } .vid-cover .play svg { width: 24px; height: 24px; } }
.vid-sec { overflow: hidden; }
.logos { padding-top: 34px; }

/* ===== Submenus (Plataforma / Indústrias) ===== */
.dd { position: relative; }
.dd-btn { background: none; border: 0; font: inherit; color: inherit; cursor: pointer; }
.nav-pill .dd-btn { font-size: 15px; font-weight: 700; padding: 10px 11px; border-radius: var(--pill); white-space: nowrap; }
.nav-pill .dd-btn:hover, .dd.open .dd-btn { background: var(--bg-soft); }
.dd-btn span { display: inline-block; margin-left: 4px; font-size: 11px; opacity: .6; transition: transform .2s; }
.dd.open .dd-btn span { transform: rotate(180deg); }
.dd-panel { position: absolute; top: calc(100% + 18px); left: -18px; z-index: 60; background: var(--white); color: var(--ink); border-radius: 28px; padding: 22px; box-shadow: 0 30px 70px rgba(11,13,46,.22); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .18s, transform .18s, visibility .18s; }
.dd-panel::before { content: ''; position: absolute; left: 0; right: 0; top: -20px; height: 20px; }  /* ponte para o mouse não perder o hover */
.dd.open .dd-panel { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) and (min-width: 1101px) { .dd:hover .dd-panel { opacity: 1; visibility: visible; transform: none; } .dd:hover .dd-btn span { transform: rotate(180deg); } }
.dd-plat { width: 720px; }
.dd-sect { width: 720px; left: -130px; }
.dd-title { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 2px 8px 12px; }
.dd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.dd-item { display: flex; gap: 14px; align-items: flex-start; padding: 12px; border-radius: 18px; transition: background .15s; }
.dd-item:hover { background: var(--bg-soft); }
.dd-item b { display: block; font-size: 15.5px; }
.dd-item small { display: block; color: var(--muted); font-size: 13px; line-height: 1.4; margin-top: 2px; }
.dd-ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: var(--navy); color: var(--green); display: grid; place-items: center; }
.dd-ic svg { width: 20px; height: 20px; }
.dd-item:hover .dd-ic { background: var(--green); color: var(--navy-900); }
.dd-feature { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 18px; border-radius: 18px; background: var(--navy); color: var(--white); background-image: radial-gradient(240px 140px at 90% 0%, rgba(34,222,97,.35), transparent); }
.dd-feature small { color: rgba(255,255,255,.75); font-size: 13px; line-height: 1.4; }
.dd-feature span { color: var(--green); font-weight: 700; font-size: 14px; margin-top: 4px; }

/* ===== Menu do celular ===== */
.burger { display: none; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--bg-soft); cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; margin-left: 6px; }
.burger i { display: block; width: 18px; height: 2px; background: var(--navy); border-radius: 2px; transition: transform .2s, opacity .2s; }
body.menu-open .burger i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.menu-open .burger i:nth-child(2) { opacity: 0; }
body.menu-open .burger i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mnav { position: fixed; inset: 0; z-index: 39; background: var(--navy-900); color: var(--white); padding: 110px 16px 32px; overflow-y: auto; }
.mnav[hidden] { display: none; }
body.menu-open { overflow: hidden; }
body.menu-open .nav-brand { color: var(--white); }
.macc { border-bottom: 1px solid rgba(255,255,255,.1); }
.macc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 18px 4px; font-size: 22px; }
.macc summary::-webkit-details-marker { display: none; }
.macc summary i { font-style: normal; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.08); display: grid; place-items: center; font-size: 18px; transition: transform .2s; }
.macc[open] summary i { transform: rotate(45deg); background: var(--green); color: var(--navy-900); }
.macc-body { padding: 0 0 14px; }
.macc .dd-item { padding: 10px 4px; }
.macc .dd-item small { color: rgba(255,255,255,.6); }
.macc .dd-item:hover { background: rgba(255,255,255,.05); }
.macc .dd-ic { background: rgba(34,222,97,.12); }
.mlink { display: block; padding: 18px 4px; font-size: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.mcta { display: grid; gap: 12px; margin-top: 28px; }
.mcta .btn { justify-content: center; }
.mcta .btn-ghost { color: var(--white); }

@media (max-width: 1100px) {
  .burger { display: flex; }
}
@media (max-width: 1100px) and (min-width: 601px) {
  .nav-pill-end .call { display: none; }
}

/* ===================== Integração com o site real =====================
   O modal de contato, o formulário embutido (data-atl-lead-form) e o botão de
   WhatsApp são desenhados pelo cms.js, que injeta o próprio <style> no fim do
   <head>. As regras abaixo levam "body" na frente para vencer as dele sem
   mexer no cms.js, que o site atual continua usando. */

/* Seletor de idioma */
.lang { display: flex; align-items: center; gap: 2px; margin-right: 4px; }
.lang a { font-size: 13px; font-weight: 700; letter-spacing: .04em; padding: 8px 7px; border-radius: var(--pill); color: var(--muted); }
.lang a:hover { color: var(--ink); background: var(--bg-soft); }
.lang a[aria-current] { color: var(--ink); }
.mnav .lang { justify-content: center; gap: 8px; margin: 28px 0 0; }
.mnav .lang a { font-size: 16px; color: rgba(255,255,255,.6); padding: 8px 12px; }
.mnav .lang a[aria-current], .mnav .lang a:hover { color: var(--white); background: rgba(255,255,255,.08); }
@media (max-width: 1100px) { .nav-pill-end .lang { display: none; } }

/* Campos (modal e formulário embutido) */
body .atl-demo-modal { font-family: 'Satoshi', 'Inter', Arial, sans-serif; }
body .atl-demo-modal__backdrop { background: rgba(11,13,46,.72); }
body .atl-demo-modal__panel { border-radius: var(--card); padding: 40px 32px 32px; box-shadow: 0 30px 70px rgba(0,0,0,.28); }
body .atl-demo-modal__title { text-transform: none; letter-spacing: -.01em; font-size: 26px; text-align: left; margin-bottom: 22px; }
body .atl-demo-modal__title span { color: #11a443; }
body .atl-demo-form .atl-demo-input { height: 50px; border: 1.5px solid var(--line); border-radius: 14px; padding: 0 16px; font-family: inherit; font-size: 15.5px; margin-bottom: 12px; }
body .atl-demo-form textarea.atl-demo-input { height: auto; min-height: 110px; padding: 12px 16px; line-height: 1.45; }
body .atl-demo-form .atl-demo-input::placeholder { color: #9a9db8; }
body .atl-demo-form .atl-demo-input:focus { border-color: var(--navy); box-shadow: 0 0 0 4px rgba(19,22,67,.08); }
body .atl-demo-form .atl-demo-input.is-invalid { border-color: #e23b3b; box-shadow: 0 0 0 4px rgba(226,59,59,.10); }
body .atl-demo-form__row { gap: 12px; }
body .atl-demo-consent { font-size: 14px; line-height: 1.45; margin: 4px 0 12px; }
body .atl-demo-consent input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--navy); }
body .atl-demo-privacy { font-size: 12.5px; color: var(--muted); margin: 0 0 18px; }
body .atl-demo-privacy a { color: #2f37a6; font-weight: 700; }
body .atl-demo-form__submit { width: 100%; height: auto; padding: 16px 30px; border-radius: var(--pill); background: var(--green); color: var(--navy-900); font-family: inherit; font-size: 17px; letter-spacing: 0; transition: transform .15s, background .15s; }
body .atl-demo-form__submit:hover:not(:disabled) { background: #4ef081; transform: translateY(-2px); }
body .atl-demo-form__error { border-radius: 14px; text-align: left; padding: 12px 14px; }
body .atl-demo-modal__success { padding: 26px 4px 8px; }
body .atl-demo-modal__success h3 { font-size: 22px; margin-bottom: 8px; }
body .atl-demo-modal__success p { color: var(--muted); }
body .atl-demo-modal__success-icon { background: var(--green); color: var(--navy-900); }
@media (max-width: 520px) {
  body .atl-demo-modal__panel { padding: 32px 18px 22px; }
  body .atl-demo-modal__title { font-size: 21px; }
}

/* Menu do celular aberto: os botões flutuantes (WhatsApp e cookies) ficavam por cima dele */
body.menu-open .atl-wa-fab, body.menu-open .atl-cc-fab { display: none; }

/* Redes sociais no rodapé, à direita do logo */
.f-social { margin-left: auto; display: flex; gap: 10px; }
.f-social a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--navy); transition: background .2s, color .2s, transform .15s; }
.f-social a:hover { background: var(--green); color: var(--navy-900); transform: translateY(-2px); }
.f-social a:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.f-social svg { width: 19px; height: 19px; }
@media (max-width: 600px) { .f-top { flex-wrap: wrap; gap: 16px 28px; } .f-social { margin-left: 0; width: 100%; } }
