/* /new: experimental home. Shared baseline is /styles.css. */
:root { --bg: #f8f9fd; --ink: #141c41; --gray-500: #626b80; --container: 1240px; --header-h: 84px; }
body { overflow-x: clip; }
.container { width: min(var(--container), calc(100% - 80px)); padding-inline: 0; }
.header { background: rgba(248,249,253,.93); border-bottom: 1px solid var(--gray-200); }
.header__inner { gap: 20px; }
.header__logo { background: #fff; border-radius: 8px; padding: 7px; }
.header__logo img { height: 29px; }
.nav__link { padding: 10px 9px; font-size: 13px; }
.header__actions { gap: 9px; }
.language-switcher__btn { min-width: 30px; min-height: 36px; }
.btn { border-radius: 9px; min-height: 52px; padding-inline: 23px; font-size: 14px; }
.btn--primary { background: #315bed; box-shadow: 0 5px 14px #315bed20; }
.btn--primary:hover { background: #244bd0; }
.btn--white { color: #1a254a; }
.btn--sm { min-height: 42px; padding-inline: 15px; }
.eyebrow { background: transparent; border: 0; padding: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #465ba9; margin-bottom: 25px; }
.hero { padding: 85px 0 0; background: radial-gradient(ellipse at 85% 40%, #e9eefe 0%, transparent 56%); }
.hero__inner { grid-template-columns: 1fr 1fr; gap: 8px; }
.hero__content { position: relative; z-index: 2; padding-bottom: 20px; }
.hero__title { font-size: clamp(42px,4.6vw,66px); line-height: 1.09; letter-spacing: -.055em; font-weight: 600; margin-bottom: 25px; max-width: 670px; }
.text-gradient { background: linear-gradient(110deg,#315bed,#7752d7); background-clip: text; -webkit-background-clip: text; }
.hero__subtitle { max-width: 480px; font-size: 17px; line-height: 1.8; color: var(--gray-600); }
.hero__actions { gap: 12px; margin-bottom: 20px; }
.hero__actions .btn--ghost { background: transparent; border: 1px solid var(--gray-300); }
.hero-note { font-size: 11px; color: var(--gray-500); }
.hero__grid { opacity: .4; background-size: 40px 40px; }
.hero__bottom { display: flex; justify-content: space-between; align-items: center; min-height: 88px; border-top: 1px solid var(--gray-200); margin-top: 52px; font-size: 11px; color: var(--gray-500); }
#motion-toggle { font-size: 11px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--gray-200); border-radius: 8px; }
.ecosystem { position: relative; width: 100%; aspect-ratio: 600/460; isolation: isolate; }
.ecosystem__grid { position: absolute; inset: 4%; border-radius: 50%; background: radial-gradient(ellipse,#c7d2fc70,transparent 66%); }
.ecosystem__paths { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; stroke: #bec9e7; stroke-width: 1; }
.ecosystem__paths ellipse { stroke: #bdc9e260; }
.ecosystem__paths .beam { stroke: #577aef; stroke-width: 2; stroke-dasharray: 24 260; stroke-dashoffset: 284; animation: connection 5s linear infinite; animation-play-state: paused; }
.ecosystem__paths .beam--b { animation-delay: -1.8s; stroke: #9670df; }
.ecosystem__paths .beam--c { animation-delay: -3s; }
.ecosystem__paths .beam--d { animation-delay: -4.2s; stroke: #9670df; }
.ecosystem__core { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 22%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 28%; background: #fff; border: 1px solid #dce2f3; box-shadow: 0 15px 50px #5868bf20,0 0 0 15px #ffffff50,0 0 0 16px #bcc9eb50; }
.ecosystem__core img { width: 63%; height: auto; }
.eco-node { position: absolute; display: flex; align-items: center; gap: 10px; background: var(--bg-soft); border: 1px solid var(--gray-200); padding: 13px 16px; border-radius: 12px; box-shadow: 0 8px 24px #27376808; animation: float-node 6s ease-in-out infinite; animation-play-state: paused; }
.eco-node strong { display: block; color: var(--ink); font-size: 12px; font-weight: 600; }
.eco-node small { display: block; font-size: 10px; color: var(--gray-500); margin-top: 2px; }
.eco-icon { display: grid; place-items: center; width: 32px; height: 32px; background: #edf1ff; color: #4f67b8; border-radius: 8px; font-size: 18px; }
.eco-node--code { left: 0; top: 20%; }
.eco-node--ai { right: 0; top: 13%; animation-delay: -2s; }
.eco-node--flow { left: 1%; bottom: 20%; animation-delay: -3s; }
.eco-node--product { right: 0; bottom: 16%; animation-delay: -1s; }
.eco-node img { width: 32px; border-radius: 8px; }
.eco-chip { position: absolute; font-size: 10px; letter-spacing: .05em; background: var(--bg-soft); border: 1px solid var(--gray-200); border-radius: 7px; padding: 6px 11px; color: var(--gray-500); }
.eco-chip--top { top: 7%; left: 42%; transform: rotate(-8deg); }
.eco-chip--bottom { bottom: 11%; left: 41%; transform: rotate(6deg); }
.ecosystem__caption { position: absolute; bottom: -3%; width: 100%; text-align: center; font-size: 9px; letter-spacing: .18em; color: var(--gray-500); }
.motion-enabled .ecosystem.is-in-view .beam, .motion-enabled .ecosystem.is-in-view .eco-node { animation-play-state: running; }
@keyframes connection { to { stroke-dashoffset: 0; } }
@keyframes float-node { 50% { transform: translateY(-6px); } }
.portfolio-strip { background: var(--bg-soft); border-block: 1px solid var(--gray-200); }
.portfolio-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 99px; }
.portfolio-strip span { font-size: 10px; color: var(--gray-500); max-width: 105px; text-transform: uppercase; letter-spacing: .1em; }
.portfolio-strip a { font-size: 19px; font-weight: 600; letter-spacing: -.04em; color: var(--gray-600); padding-block: 12px; }
.portfolio-strip a:hover { color: var(--blue); }
.section { padding: 100px 0; }
.section__title { font-size: clamp(30px,3.5vw,45px); font-weight: 500; letter-spacing: -.045em; line-height: 1.16; }
.section__head { margin-bottom: 44px; }
.section__subtitle { font-size: 15px; }
.section__head--two-col { gap: 90px; align-items: start; }
.section__head--two-col .section__lead { font-size: 14px; line-height: 1.9; }
.stats { gap: 0; border-block: 1px solid var(--gray-200); }
.stat, [data-theme="dark"] .stat { padding: 30px; border: 0; border-right: 1px solid var(--gray-200); border-radius: 0; box-shadow: none; background: transparent; }
.stat:first-child { padding-left: 0; }
.stat:last-child { border: 0; }
.stat__icon { width: 36px; height: 36px; background: transparent; padding: 0; }
.stat__title { font-size: 16px; }
.stat__text { font-size: 13px; }
.manifesto { position: relative; isolation: isolate; overflow: hidden; background: #111932; color: #fff; padding: 95px 0; }
.manifesto__light { position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 85% 55%,#384998 0%,#263761 35%,#18213c 70%); clip-path: circle(var(--reveal-radius, 100%) at 85% 55%); }
.manifesto__label { color: #abbde8; font-size: 10px; letter-spacing: .16em; }
.manifesto h2 { font-weight: 500; font-size: clamp(32px,5.2vw,67px); line-height: 1.17; letter-spacing: -.045em; margin: 28px 0 35px; color: #fff; }
.manifesto em { font-style: normal; color: #b4c5ff; }
.manifesto__bottom { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.manifesto p { color: #b9c6e2; font-size: 15px; max-width: 440px; line-height: 1.8; }
#solucoes { background: var(--bg); }
#solucoes .section__head, #produtos .section__head { text-align: left; max-width: none; }
#solucoes .section__title, #produtos .section__title { max-width: 630px; }
#solucoes .section__subtitle, #produtos .section__subtitle { margin-left: 0; }
.cards { gap: 16px; }
.card { box-shadow: none; border-radius: 14px; padding: 30px; background: var(--bg-soft); }
.card__title { font-size: 18px; font-weight: 600; }
.card__text { font-size: 14px; }
.card__icon { width: 40px; height: 40px; border-radius: 10px; }
.card, .product { --spot-x: 50%; --spot-y: 0%; }
.card::before, .product::before { content: ''; pointer-events: none; position: absolute; inset: 0; height: auto; transform: none; background: radial-gradient(380px circle at var(--spot-x) var(--spot-y),#637eff18,transparent 70%); opacity: 0; transition: opacity .3s; z-index: 1; }
.card:hover::before, .card:focus-within::before, .product:hover::before, .product:focus-within::before { opacity: 1; }
.product::after { display: none; }
#produtos { border-top: 1px solid var(--gray-200); background: var(--bg-soft); }
.products { gap: 28px; }
.product { padding: 0 30px 28px; background: var(--bg-soft); border-radius: 16px; }
.product-art { height: 210px; margin: 0 -30px 26px; position: relative; display: grid; place-items: center; overflow: hidden; background: #f0eafc; }
.product-art::before, .product-art__ring { content: ''; width: 260px; height: 260px; border: 1px solid #7c60af20; border-radius: 50%; position: absolute; }
.product-art::before { width: 370px; height: 370px; }
.product-art img { width: 100px; height: 100px; object-fit: contain; position: relative; border-radius: 20px; box-shadow: 0 20px 40px #44416e18; }
.product--financeiro .product-art { background: #e8f2fa; }
.product--financeiro .product-art img { width: 220px; height: 110px; border-radius: 0; box-shadow: none; }
.product--oxleads .product-art { background: #edf0ff; }
.product--transfer .product-art { background: #e9f4ef; }
.product__badge { display: none; }
.product__head { margin-bottom: 14px; }
.product__tag { background: transparent; padding: 0; font-size: 10px; }
.product__title { font-weight: 600; font-size: 25px; letter-spacing: -.03em; }
.product__text { font-size: 14px; max-width: 460px; }
.product__link { background: transparent; padding: 10px 0; border-radius: 0; border-bottom: 1px solid var(--gray-200); min-height: 44px; }
.product__link:hover { background: transparent; color: var(--ink); }
.section--dark { background: #111932; }
.section__bg-mark { opacity: .035; }
.section--dark .eyebrow { color: #b4c5ff; }
.feature__title { font-weight: 500; }
.timeline__number { background: var(--bg-soft); color: #5368ae; border: 1px solid var(--gray-200); box-shadow: none; }
.timeline__title { font-size: 16px; }
.timeline__text { font-size: 13px; }
#faq > .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 75px; }
#faq .section__head { text-align: left; }
.faq-list { width: 100%; }
.faq-item, [data-theme="dark"] .faq-item { background: transparent; border-radius: 0; border: 0; border-bottom: 1px solid var(--gray-200); }
.faq-question { padding: 20px 0; font-size: 15px; gap: 20px; }
.faq-icon { flex-shrink: 0; }
.faq-answer { padding: 0 0 24px; font-size: 14px; }
.cta__card { background: #111932; border-radius: 22px; padding: 60px; }
.cta__title { font-size: clamp(30px,3.6vw,44px); font-weight: 500; letter-spacing: -.04em; }
.cta__text { font-size: 15px; }
.cta .eyebrow { color: #b4c5ff; }
.cta__form-wrapper { padding: 28px; }
.cta__layout > * { min-width: 0; }
.cta__social { flex-wrap: wrap; }
.form-group input, .form-group textarea { min-width: 0; font-size: 16px; }
.form-heading { font-size: 18px; font-weight: 600; margin-bottom: 25px; color: var(--ink); letter-spacing: -.03em; }
.footer { border-top: 1px solid var(--gray-200); background: var(--bg-soft); }
.footer__brand img { background: #fff; border-radius: 8px; padding: 6px; }
.wa-float { display: none; }
.motion-off *, .motion-off *::before, .motion-off *::after { animation-play-state: paused !important; scroll-behavior: auto !important; }
.motion-off .manifesto__light { clip-path: none; }
[data-theme="dark"] { --bg: #0d1324; --bg-soft: #151e33; --ink: #e7edff; --gray-500: #a4b0ca; --gray-600: #bac5dc; }
[data-theme="dark"] .hero { background: radial-gradient(ellipse at 85% 40%,#1d2a4a,transparent 60%); }
[data-theme="dark"] .ecosystem__paths { stroke: #52648c; }
[data-theme="dark"] .ecosystem__paths ellipse { stroke: #52648c60; }
[data-theme="dark"] .ecosystem__core { box-shadow: 0 15px 50px #0002,0 0 0 15px #ffffff05,0 0 0 16px #ffffff10; }
[data-theme="dark"] .eyebrow { color: #a5b9ff; background: transparent; }
[data-theme="dark"] .product-art { filter: brightness(.92); }
@media (max-width: 1180px) {
  .header__toggle { display: flex; }
  .nav { display: none; position: absolute; top: var(--header-h); bottom: auto; left: 0; right: 0; background: var(--bg-soft); padding: 20px 40px; border-bottom: 1px solid var(--gray-200); max-height: calc(100dvh - var(--header-h)); overflow-y: auto; }
  .nav.is-open { display: block; transform: none; visibility: visible; opacity: 1; }
  .nav__list { flex-direction: column; align-items: stretch; }
  .nav__link { display: block; padding: 12px; }
  .eco-node { padding: 10px; gap: 7px; }
  .eco-node small { font-size: 9px; }
  .eco-node strong { font-size: 11px; }
}
@media (max-width: 900px) {
  .hero { padding-top: 58px; }
  .hero__inner { grid-template-columns: 1fr; gap: 15px; }
  .hero__content { text-align: center; }
  .hero__title { margin-inline: auto; font-size: clamp(40px,7.5vw,64px); }
  .hero__subtitle { margin-inline: auto; }
  .hero__actions { justify-content: center; }
  .ecosystem { max-width: 570px; margin: auto; }
  .hero__bottom { margin-top: 38px; }
  .section__head--two-col { gap: 30px; }
  #faq > .container { grid-template-columns: 1fr; gap: 0; }
  .cta__card { padding: 32px; }
  .cta__layout { grid-template-columns: minmax(0, 1fr); }
  .portfolio-strip__inner { flex-wrap: wrap; justify-content: center; padding-block: 24px; column-gap: 30px; row-gap: 10px; }
  .portfolio-strip span { width: 100%; max-width: none; text-align: center; }
}
@media (max-width: 600px) {
  :root { --header-h: 68px; }
  .container { width: calc(100% - 40px); }
  .header__inner { width: calc(100% - 24px); }
  .header__logo { flex: 0 1 140px; min-width: 0; padding: 5px; }
  .header__logo img { width: 100%; height: auto; }
  .header__inner { gap: 6px; }
  .header__actions { gap: 5px; flex-shrink: 0; }
  .header__actions .btn--sm { display: none; }
  .language-switcher { padding: 2px; }
  .language-switcher__btn { width: 26px; min-width: 26px; padding: 4px; font-size: 10px; }
  .hero { padding-top: 46px; }
  .hero__content { text-align: left; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .1em; margin-bottom: 23px; }
  .hero__title { font-size: clamp(36px,9vw,51px); letter-spacing: -.05em; }
  .hero__subtitle { font-size: 15px; line-height: 1.75; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; flex: auto; justify-content: center; }
  .hero-note { max-width: 290px; line-height: 1.7; }
  .ecosystem { margin-top: 15px; }
  .eco-node { gap: 6px; padding: 8px; border-radius: 8px; }
  .eco-node strong { font-size: 9px; }
  .eco-node small { display: none; }
  .eco-icon, .eco-node img { width: 25px; height: 25px; font-size: 14px; }
  .eco-chip { font-size: 8px; padding: 4px 7px; }
  .ecosystem__caption { font-size: 7px; }
  .hero__bottom { gap: 15px; font-size: 9px; min-height: 85px; }
  .hero__bottom > span { max-width: 170px; }
  #motion-toggle { font-size: 9px; flex-shrink: 0; }
  .portfolio-strip a { font-size: 16px; }
  .section { padding: 66px 0; }
  .section__head--two-col { grid-template-columns: 1fr; }
  .section__title { font-size: 33px; }
  .stats { grid-template-columns: 1fr; }
  .stat, .stat:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--gray-200); }
  .manifesto { padding: 65px 0; }
  .manifesto h2 { font-size: 36px; }
  .manifesto__bottom { display: block; }
  .manifesto .btn { margin-top: 25px; }
  .products { grid-template-columns: 1fr; }
  .product-art { height: 190px; }
  .cta__card { padding: 26px 20px; }
  .cta__form-wrapper { padding: 22px 18px; }
  .cta__layout { gap: 30px; }
  .cta__layout .cta__actions { flex-direction: column; }
  .footer__top { gap: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .manifesto__light { clip-path: none !important; }
}
@media print { .ecosystem, .hero__bottom, .portfolio-strip { display: none; } .manifesto { background: #fff; color: #111; } .manifesto h2, .manifesto p { color: #111; } }
