:root {
  --bg:#F6F1FB;
  --bg-white:#FFFFFF;
  --bg-lav:#EFE7F8;
  --bg-lav-2:#E7DBF4;
  --ink:#23104B;
  --text:#4A3C64;
  --text-soft:#6E5F86;
  --brand:#6A11CB;
  --brand-2:#8B2FE0;
  --brand-3:#A95CF2;
  --brand-300:#C9A6F5;
  --gold:#F7C915;
  --gold-deep:#D9A400;
  --gold-soft:#FBE08A;
  --deep:#1B0B36;
  --deep-2:#2A0E5A;
  --on-deep:#EFE6FA;
  --on-deep-soft:#B9A6DC;
  --border:rgba(42,16,90,.12);
  --border-strong:rgba(42,16,90,.20);
  --shadow:0 24px 60px -28px rgba(58,20,110,.40);
  --shadow-sm:0 14px 36px -22px rgba(58,20,110,.35);
  --ff-display:"Space Grotesk", system-ui, sans-serif;
  --ff-body:"Inter", system-ui, sans-serif;
  --container:1240px;
  --ease:cubic-bezier(.16,1,.3,1);
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html {
  scroll-behavior:smooth;
}

body {
  font-family:var(--ff-body);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.6;
}

body.is-loading {
  overflow:hidden;
  height:100vh;
}

body.menu-open {
  overflow:hidden;
}

img {
  display:block;
  max-width:100%;
}

a {
  color:inherit;
  text-decoration:none;
}

::selection {
  background:var(--gold);
  color:var(--ink);
}

h1,h2,h3,h4,h5 {
  font-family:var(--ff-display);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
}

em {
  font-style:normal;
  background:linear-gradient(100deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.kicker {
  font-family:var(--ff-display);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--brand);
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.4rem;
}

.kicker span {
  display:inline-grid;
  place-items:center;
  width:1.9rem;
  height:1.9rem;
  border-radius:50%;
  border:1px solid var(--border-strong);
  font-size:.7rem;
  color:var(--gold-deep);
  letter-spacing:0;
}

.kicker--center {
  justify-content:center;
}

.btn {
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--ff-display);
  font-weight:500;
  font-size:.92rem;
  padding:.78rem 1.35rem;
  border-radius:100px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .5s var(--ease),background .35s,color .35s,border-color .35s,box-shadow .45s;
  white-space:nowrap;
}

.btn i {
  font-size:.82em;
  transition:transform .45s var(--ease);
}

.btn--solid {
  background:linear-gradient(120deg,var(--brand),var(--brand-2));
  color:#fff;
  box-shadow:0 12px 30px -12px rgba(106,17,203,.7);
}

.btn--solid:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 44px -12px rgba(106,17,203,.85);
}

.btn--solid:hover i {
  transform:translateX(3px);
}

.btn--ghost {
  background:transparent;
  border-color:var(--border-strong);
  color:var(--ink);
}

.btn--ghost:hover {
  border-color:var(--brand);
  background:rgba(106,17,203,.06);
  transform:translateY(-2px);
}

.btn--lg {
  padding:1rem 1.7rem;
  font-size:1rem;
}

.on-deep .btn--ghost {
  border-color:rgba(255,255,255,.25);
  color:var(--on-deep);
}

.on-deep .btn--ghost:hover {
  border-color:var(--gold);
  background:rgba(255,255,255,.06);
}

#preloader {
  position:fixed;
  inset:0;
  z-index:1000;
  background:var(--bg);
  display:grid;
  place-items:center;
  transition:opacity .6s var(--ease),visibility .6s;
}

#preloader.done {
  opacity:0;
  visibility:hidden;
}

.pre-logo {
  width:clamp(180px,40vw,290px);
  opacity:0;
  transform:scale(.97);
  animation:preIn .5s var(--ease) forwards;
}

@keyframes preIn {
  to {
    opacity:1;
    transform:scale(1);
  }
}

#scroll-progress {
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0;
  z-index:120;
  background:linear-gradient(90deg,var(--brand),var(--gold));
  box-shadow:0 0 12px rgba(106,17,203,.4);
}

.nav {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.3rem clamp(1.2rem,4vw,3.2rem);
  transition:padding .4s var(--ease),background .4s,backdrop-filter .4s,border-color .4s,box-shadow .4s;
  border-bottom:1px solid transparent;
}

.nav.scrolled {
  padding-top:.8rem;
  padding-bottom:.8rem;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:var(--border);
  box-shadow:0 10px 30px -20px rgba(58,20,110,.5);
}

.nav__brand {
  display:flex;
  align-items:center;
}

.nav__logo {
  height:30px;
  width:auto;
  transition:height .4s var(--ease);
}

.nav.scrolled .nav__logo {
  height:27px;
}

.nav__links {
  display:flex;
  gap:2rem;
}

.nav__links a {
  font-size:.9rem;
  color:var(--text-soft);
  position:relative;
  padding:.2rem 0;
  transition:color .3s;
  font-weight:500;
}

.nav__links a::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  height:1.5px;
  width:0;
  background:var(--brand);
  transition:width .4s var(--ease);
}

.nav__links a:hover {
  color:var(--ink);
}

.nav__links a:hover::after {
  width:100%;
}

.nav__actions {
  display:flex;
  align-items:center;
  gap:1rem;
}

.nav__burger {
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:0;
  cursor:pointer;
  padding:6px;
}

.nav__burger span {
  width:24px;
  height:2px;
  background:var(--ink);
  transition:.35s var(--ease);
}

.hero {
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:7rem clamp(1.2rem,4vw,3.2rem) 4rem;
  overflow:hidden;
  background:radial-gradient(120% 90% at 80% 0%,#fff 0%,var(--bg) 45%,var(--bg-lav) 100%);
}

.hero__bg {
  position:absolute;
  inset:0;
  z-index:0;
}

.aurora {
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  will-change:transform;
}

.hero .a1 {
  width:46vw;
  height:46vw;
  background:radial-gradient(circle,rgba(139,47,224,.30),transparent 70%);
  top:-12%;
  left:-8%;
}

.hero .a2 {
  width:40vw;
  height:40vw;
  background:radial-gradient(circle,rgba(169,92,242,.26),transparent 70%);
  bottom:-16%;
  right:-6%;
}

.hero .a3 {
  width:30vw;
  height:30vw;
  background:radial-gradient(circle,rgba(247,201,21,.30),transparent 70%);
  top:28%;
  left:55%;
}

.hero__logo {
  height:clamp(52px,6.5vw,80px);
  width:auto;
  display:block;
  margin-bottom:1.8rem;
}

.grain {
  position:absolute;
  inset:0;
  opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hero__content {
  position:relative;
  z-index:2;
  max-width:var(--container);
  margin:0 auto;
  width:100%;
}

.hero__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--ff-display);
  font-size:.85rem;
  letter-spacing:.04em;
  color:var(--brand);
  padding:.5rem 1rem;
  border:1px solid var(--border-strong);
  border-radius:100px;
  background:rgba(255,255,255,.7);
  margin-bottom:1.8rem;
  box-shadow:var(--shadow-sm);
}

.hero__eyebrow i {
  color:var(--gold-deep);
}

.hero__title {
  font-size:clamp(2.6rem,8.5vw,6.8rem);
  font-weight:600;
  letter-spacing:-.03em;
  margin-bottom:1.6rem;
  color:var(--ink);
}

.hero__title .line {
  display:block;
  overflow:hidden;
}

.hero__title .word {
  display:inline-block;
  transform:translateY(110%);
  transition:transform 1s var(--ease);
}

body.hero-in .hero__title .word {
  transform:translateY(0);
}

.hero__title .line:nth-child(2) .word {
  transition-delay:.08s;
}

.hero__title .grad {
  background:linear-gradient(100deg,var(--brand),var(--brand-3) 70%,var(--gold-deep));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero__sub {
  max-width:560px;
  font-size:clamp(1rem,1.6vw,1.22rem);
  color:var(--text-soft);
  font-weight:400;
}

.hero__cta {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2.4rem;
}

.hero__scroll {
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.6rem;
  font-family:var(--ff-display);
  font-size:.72rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--text-soft);
}

.hero__scroll-line {
  width:1px;
  height:46px;
  background:linear-gradient(var(--brand),transparent);
  position:relative;
  overflow:hidden;
}

.hero__scroll-line::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:40%;
  background:var(--brand);
  animation:scrolldot 1.8s var(--ease) infinite;
}

@keyframes scrolldot {
  0% {
    transform:translateY(-100%);
  }

  100% {
    transform:translateY(250%);
  }
}

.kmarquee {
  background:linear-gradient(90deg,var(--gold),var(--gold-soft));
  color:var(--ink);
  padding:1rem 0;
  overflow:hidden;
  white-space:nowrap;
}

.kmarquee__track {
  display:inline-flex;
  align-items:center;
  animation:marquee 48s linear infinite;
}

.kmarquee__track>* {
  margin-right:1.4rem;
}

.kmarquee__track span {
  font-family:var(--ff-display);
  font-weight:600;
  font-size:clamp(1rem,2.4vw,1.6rem);
}

.kmarquee__track i {
  font-style:normal;
  opacity:.45;
}

@keyframes marquee {
  from {
    transform:translateX(0);
  }

  to {
    transform:translateX(-50%);
  }
}

.empresa {
  max-width:var(--container);
  margin:0 auto;
  padding:clamp(5rem,11vw,9rem) clamp(1.2rem,4vw,3.2rem);
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(2rem,6vw,6rem);
  align-items:start;
}

.empresa__head {
  position:sticky;
  top:120px;
}

.empresa__head h2 {
  font-size:clamp(2rem,4.4vw,3.4rem);
}

.empresa__body .lead {
  font-size:clamp(1.15rem,2vw,1.5rem);
  color:var(--ink);
  font-weight:400;
  margin-bottom:1.5rem;
  line-height:1.45;
}

.empresa__body p {
  color:var(--text);
  font-weight:400;
}

.empresa__body strong {
  color:var(--ink);
  font-weight:600;
}

.empresa__pillars {
  list-style:none;
  margin-top:2.6rem;
  display:grid;
  gap:1.1rem;
}

.empresa__pillars li {
  display:flex;
  gap:1.1rem;
  padding:1.3rem 1.4rem;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--bg-white);
  box-shadow:var(--shadow-sm);
  transition:border-color .4s,transform .5s var(--ease),box-shadow .4s;
}

.empresa__pillars li:hover {
  border-color:rgba(217,164,0,.5);
  transform:translateX(6px);
  box-shadow:var(--shadow);
}

.empresa__pillars i {
  color:var(--gold-deep);
  font-size:1.3rem;
  margin-top:.2rem;
}

.empresa__pillars h4 {
  font-size:1.05rem;
  color:var(--ink);
  margin-bottom:.2rem;
}

.empresa__pillars p {
  font-size:.92rem;
  color:var(--text-soft);
}

.numeros {
  background:var(--bg-lav);
  border-block:1px solid var(--border);
}

.numeros__grid {
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:clamp(3rem,6vw,5rem) clamp(1.2rem,4vw,3.2rem);
}

.stat {
  text-align:center;
  padding:1rem;
  position:relative;
}

.stat+.stat::before {
  content:"";
  position:absolute;
  left:0;
  top:20%;
  height:60%;
  width:1px;
  background:var(--border);
}

.stat__num {
  display:block;
  font-family:var(--ff-display);
  font-weight:700;
  font-size:clamp(2.6rem,6vw,4.4rem);
  line-height:1;
  background:linear-gradient(180deg,var(--brand),var(--brand-3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.stat__txt {
  background:linear-gradient(180deg,var(--gold-deep),var(--gold));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.stat p {
  margin-top:.7rem;
  color:var(--text-soft);
  font-size:.9rem;
}

.hscroll {
  position:relative;
  background:var(--bg);
}

.hscroll--dark {
  background:linear-gradient(180deg,var(--bg-lav),var(--bg-lav-2));
}

.hscroll--dark .hscroll__intro {
  top:50%;
  transform:translateY(-50%);
  z-index:1;
}

.hscroll--dark .hscroll__track {
  position:relative;
  z-index:2;
}

.hscroll__sticky {
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hscroll__intro {
  position:absolute;
  top:clamp(5rem,12vh,8rem);
  left:clamp(1.2rem,4vw,3.2rem);
  z-index:3;
  pointer-events:none;
}

.hscroll__intro h2 {
  font-size:clamp(1.8rem,4vw,3rem);
}

.hscroll__hint {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
  font-family:var(--ff-display);
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brand);
}

.hscroll__hint i {
  animation:nudge 1.6s var(--ease) infinite;
}

@keyframes nudge {
  0%,100% {
    transform:translateX(0);
  }

  50% {
    transform:translateX(7px);
  }
}

.hscroll__track {
  display:flex;
  gap:clamp(1.2rem,2vw,2rem);
  align-items:center;
  padding:0 clamp(1.2rem,4vw,3.2rem);
  height:100%;
  will-change:transform;
}

.cap {
  flex:0 0 auto;
  width:min(78vw,360px);
  height:min(64vh,470px);
  border-radius:24px;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  position:relative;
  border:1px solid var(--border);
  background:var(--bg-white);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform .6s var(--ease),border-color .4s,box-shadow .5s;
}

.cap:hover {
  border-color:rgba(217,164,0,.5);
  transform:translateY(-6px);
}

.cap__idx {
  position:absolute;
  top:1.3rem;
  right:1.5rem;
  z-index:2;
  font-family:var(--ff-display);
  font-size:1rem;
  color:var(--brand-300);
}

.cap__media {
  flex:1;
  min-height:0;
  display:grid;
  place-items:center;
  padding:1.5rem;
  margin-bottom:1.1rem;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--border);
}

.cap__media img {
  max-height:100%;
  max-width:90%;
  object-fit:contain;
}

.cap__body {
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  padding:0 .6rem .5rem;
}

.cap h3 {
  font-size:1.35rem;
}

.cap p {
  color:var(--text-soft);
  font-size:.92rem;
}

.cap__tags {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.3rem;
}

.cap__tags span {
  font-size:.74rem;
  font-family:var(--ff-display);
  padding:.3rem .7rem;
  border-radius:100px;
  border:1px solid var(--border-strong);
  color:var(--brand);
}

.cap--end {
  justify-content:center;
  padding:2.2rem;
  background:linear-gradient(160deg,#fff,var(--bg-lav));
}

.cap--end h3 {
  margin-bottom:.6rem;
}

.cap--end .btn {
  margin-top:1.4rem;
  align-self:flex-start;
}

.hscroll__spacer {
  flex:0 0 clamp(2rem,20vw,16rem);
  align-self:stretch;
}

.hscroll__lead {
  flex:0 0 auto;
  width:clamp(13rem,40vw,30rem);
  align-self:stretch;
}

.rcard {
  flex:0 0 auto;
  width:min(86vw,400px);
  height:min(74vh,540px);
  border-radius:24px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  gap:.45rem;
  position:relative;
  background:var(--bg-white);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  transition:transform .6s var(--ease),border-color .4s,box-shadow .5s;
}

.rcard:hover {
  border-color:rgba(217,164,0,.5);
  transform:translateY(-6px);
}

.rcard__logo {
  height:116px;
  width:100%;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  border-radius:14px;
  background:var(--bg-lav);
  padding:.9rem;
}

.rcard__logo img {
  max-height:74px;
  max-width:84%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  margin:auto;
}

.rcard__uf {
  position:absolute;
  top:1.6rem;
  right:1.6rem;
  font-family:var(--ff-display);
  font-weight:600;
  font-size:.78rem;
  letter-spacing:.1em;
  padding:.3rem .65rem;
  border-radius:8px;
  border:1px solid var(--border-strong);
  color:var(--brand);
  background:var(--bg-white);
}

.rcard h3 {
  font-size:1.18rem;
  margin-bottom:.1rem;
  line-height:1.2;
}

.rcard__cat {
  color:var(--brand);
  font-family:var(--ff-display);
  font-size:.95rem;
  font-weight:600;
  margin-bottom:.3rem;
}

.rcard__items {
  list-style:none;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin:.15rem 0;
}

.rcard__items li {
  font-size:.88rem;
  color:var(--text);
  line-height:1.3;
}

.rcard__items .q {
  font-family:var(--ff-display);
  font-weight:700;
  color:var(--ink);
  margin-right:.15rem;
}

.rcard__items em {
  display:block;
  font-style:normal;
  font-family:var(--ff-display);
  font-weight:600;
  font-size:.76rem;
  color:var(--text-soft);
  margin-top:.1rem;
}

.rcard__total {
  width:100%;
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:.04rem;
  padding-top:.7rem;
}

.rcard__total span {
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--text-soft);
}

.rcard__total strong {
  font-family:var(--ff-display);
  font-size:1.45rem;
  font-weight:700;
  color:var(--brand);
}

.rcard__line {
  color:var(--text-soft);
  font-size:.78rem;
  border-top:1px solid var(--border);
  padding-top:.7rem;
  margin-top:.6rem;
  width:100%;
}

.rcard--note {
  background:transparent;
  border-style:dashed;
  box-shadow:none;
  justify-content:center;
}

.rcard--note div {
  display:flex;
  flex-direction:column;
  gap:1rem;
  color:var(--text-soft);
}

.rcard--note i {
  font-size:1.6rem;
  color:var(--brand);
}

.rcard--note p {
  font-size:.95rem;
}

.clientes {
  padding:clamp(5rem,10vw,8rem) 0;
  background:var(--bg-white);
  overflow:hidden;
}

.clientes__head {
  max-width:var(--container);
  margin:0 auto 3rem;
  padding:0 clamp(1.2rem,4vw,3.2rem);
}

.clientes__head h2 {
  font-size:clamp(2rem,5vw,3.6rem);
}

.cwall {
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.cwall__row {
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}

.cwall__track {
  display:inline-flex;
  animation:marquee 60s linear infinite;
}

.cwall__row--rev .cwall__track {
  animation-direction:reverse;
  animation-duration:70s;
}

.cwall__track span {
  font-family:var(--ff-display);
  font-size:clamp(1.1rem,2.6vw,1.9rem);
  font-weight:500;
  color:var(--brand);
  margin-right:1rem;
  padding:.6rem 1.6rem;
  border:1px solid var(--border);
  border-radius:100px;
  background:var(--bg);
}

.parceiros {
  padding:clamp(5rem,11vw,9rem) 0;
  background:linear-gradient(180deg,var(--bg),var(--bg-lav));
}

.parceiros__head {
  max-width:820px;
  margin:0 auto;
  text-align:center;
  padding:0 clamp(1.2rem,4vw,3.2rem);
}

.parceiros__head h2 {
  font-size:clamp(2rem,5vw,3.6rem);
}

.parceiros__head .kicker {
  justify-content:center;
}

.parceiros__sub {
  color:var(--text-soft);
  margin-top:1.2rem;
  font-size:1.05rem;
  margin-bottom:2.8rem;
}

.logos-marquee {
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}

.logos-marquee__track {
  display:inline-flex;
  align-items:center;
  animation:marquee 44s linear infinite;
}

.logos-marquee:hover .logos-marquee__track {
  animation-play-state:paused;
}

.logo-chip {
  flex:0 0 auto;
  width:170px;
  height:104px;
  margin-right:1.4rem;
  border-radius:16px;
  background:var(--bg-white);
  display:grid;
  place-items:center;
  padding:1.4rem;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  transition:transform .5s var(--ease),box-shadow .5s;
}

.logo-chip:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}

.logo-chip img {
  width:100%;
  height:56px;
  object-fit:contain;
  object-position:center;
  filter:grayscale(1);
  opacity:.62;
  transition:filter .4s,opacity .4s;
}

.logo-chip:hover img {
  filter:grayscale(0);
  opacity:1;
}

.logos-strip .logo-chip img {
  height:46px;
}

.logos-strip {
  padding:1.7rem 0;
  background:var(--bg-lav);
  border-bottom:1px solid var(--border);
}

.logos-strip .logo-chip {
  height:88px;
  width:152px;
  padding:1.1rem;
}

#page-transition {
  position:fixed;
  inset:0;
  z-index:2000;
  background:#130f1c;
  display:grid;
  place-items:center;
  transform:translateY(100%);
  transition:transform .6s var(--ease);
  pointer-events:none;
}

#page-transition.active {
  transform:translateY(0);
}

.pt-logo {
  width:clamp(170px,38vw,260px);
  opacity:0;
  transform:scale(.96);
  transition:opacity .45s .12s var(--ease),transform .45s .12s var(--ease);
}

#page-transition.active .pt-logo {
  opacity:1;
  transform:scale(1);
}

.acesso {
  position:relative;
  padding:clamp(5rem,12vw,9rem) clamp(1.2rem,4vw,3.2rem);
  overflow:hidden;
  text-align:center;
  background:linear-gradient(160deg,var(--deep-2),var(--deep));
  color:var(--on-deep);
}

.acesso__bg {
  position:absolute;
  inset:0;
  z-index:0;
}

.acesso .a1 {
  width:50vw;
  height:50vw;
  background:radial-gradient(circle,rgba(139,47,224,.5),transparent 70%);
  top:-20%;
  left:10%;
  filter:blur(90px);
  border-radius:50%;
  position:absolute;
}

.acesso .a2 {
  width:40vw;
  height:40vw;
  background:radial-gradient(circle,rgba(247,201,21,.35),transparent 70%);
  bottom:-20%;
  right:5%;
  filter:blur(90px);
  border-radius:50%;
  position:absolute;
}

.acesso__inner {
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto;
}

.acesso .kicker {
  color:var(--brand-300);
}

.acesso .kicker span {
  border-color:rgba(255,255,255,.2);
  color:var(--gold);
}

.acesso__inner h2 {
  font-size:clamp(2.2rem,6vw,4.2rem);
  color:#fff;
  margin:.4rem 0 1.2rem;
}

.acesso__inner em {
  background:linear-gradient(100deg,var(--gold),var(--gold-soft));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.acesso__inner p {
  color:var(--on-deep-soft);
  font-size:1.1rem;
  margin-bottom:2.2rem;
}

.footer {
  background:var(--deep);
  border-top:1px solid rgba(255,255,255,.06);
  color:var(--on-deep-soft);
  padding:clamp(3.5rem,7vw,6rem) clamp(1.2rem,4vw,3.2rem) 2rem;
}

.footer__top {
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.6fr 1fr 1.2fr 1fr;
  gap:2.5rem;
}

.footer__logo img {
  height:34px;
  width:auto;
  margin-bottom:1.2rem;
}

.footer__brand p {
  color:var(--on-deep-soft);
  font-size:.95rem;
  margin-bottom:1.4rem;
}

.footer__col h5 {
  font-family:var(--ff-display);
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brand-300);
  margin-bottom:1.1rem;
}

.footer__col a,.footer__col p {
  display:flex;
  align-items:center;
  gap:.6rem;
  color:var(--on-deep-soft);
  font-size:.92rem;
  margin-bottom:.6rem;
  transition:color .3s;
}

.footer__col p {
  display:block;
}

.footer__col a:hover {
  color:var(--gold);
}

.footer__col i {
  color:var(--gold);
  width:1rem;
}

.footer__sys {
  margin-top:.6rem;
  color:var(--gold)!important;
}

.footer__bottom {
  max-width:var(--container);
  margin:3rem auto 0;
  padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  color:rgba(185,166,220,.7);
  font-size:.82rem;
}

.footer__dev a {
  color:var(--gold);
  font-weight:600;
  transition:opacity .3s;
}
.footer__dev a:hover { opacity:.75; }
.footer__dev i { margin-right:.25rem; }

.footer__top-link {
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  font-family:var(--ff-display);
  color:var(--brand-300);
  transition:color .3s;
}

.footer__top-link:hover {
  color:var(--gold);
}

.reveal {
  opacity:0;
  transform:translateY(34px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}

.reveal.in {
  opacity:1;
  transform:none;
}

@media (max-width:900px) {
  .nav__links {
    position:fixed;
    inset:0;
    height:100vh;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1.6rem;
    background:rgba(246,241,251,.98);
    backdrop-filter:blur(14px);
    transform:translateY(-100%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .55s var(--ease),opacity .35s var(--ease),visibility .55s;
    z-index:99;
  }

  body.menu-open .nav__links {
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .nav__links a {
    font-size:1.4rem;
    color:var(--ink);
  }

  .nav__burger {
    display:flex;
    z-index:101;
  }

  body.menu-open .nav__burger span:nth-child(1) {
    transform:translateY(7px) rotate(45deg);
  }

  body.menu-open .nav__burger span:nth-child(2) {
    opacity:0;
  }

  body.menu-open .nav__burger span:nth-child(3) {
    transform:translateY(-7px) rotate(-45deg);
  }

  .nav__actions .btn--solid span {
    display:none;
  }

  .nav__actions .btn--solid {
    padding:.7rem .85rem;
  }

  .empresa {
    grid-template-columns:1fr;
  }

  .empresa__head {
    position:static;
  }

  .numeros__grid {
    grid-template-columns:repeat(2,1fr);
    gap:2rem;
  }

  .stat+.stat::before {
    display:none;
  }

  .footer__top {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:560px) {
  .footer__top {
    grid-template-columns:1fr;
  }

  .numeros__grid {
    grid-template-columns:1fr 1fr;
  }

  .hero__cta .btn {
    flex:1 1 auto;
    justify-content:center;
  }
}

@media (max-width:760px) {
  .hscroll {
    height:auto !important;
  }

  .hscroll__sticky {
    position:static;
    height:auto;
    overflow:visible;
    display:block;
    padding:3.5rem 0;
  }

  .hscroll__intro {
    position:static;
    padding:0 clamp(1.2rem,5vw,2rem);
    margin-bottom:1.3rem;
  }

  .hscroll--dark .hscroll__intro {
    transform:none;
    top:auto;
  }

  .hscroll__track {
    transform:none !important;
    height:auto;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:1rem;
    -webkit-overflow-scrolling:touch;
  }

  .cap,.rcard {
    scroll-snap-align:center;
    height:auto;
    min-height:0;
  }

  .cap__media {
    min-height:150px;
  }

  .rcard {
    min-height:300px;
  }

  .hscroll__hint,.hscroll__spacer,.hscroll__lead {
    display:none;
  }
}

@media (prefers-reduced-motion:reduce) {
  * {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }

  html {
    scroll-behavior:auto;
  }
}

body.no-motion .hscroll__sticky {
  position:static;
  height:auto;
  overflow:visible;
  padding:4rem 0;
}

body.no-motion .hscroll__track {
  flex-wrap:wrap;
  justify-content:center;
  transform:none!important;
}

body.no-motion .hscroll__intro {
  position:static;
  margin:0 auto 2rem;
  text-align:center;
}

body.no-motion .hero__title .word {
  transform:none;
}

body.no-motion .reveal {
  opacity:1;
  transform:none;
}
