:root{
  --ml-bg:#0B0B0B;
  --ml-surface:#121212;
  --ml-text:#F2F2F2;
  --ml-muted:#B8B8B8;
  --ml-accent:#4B2D83;
  --ml-border:rgba(242,242,242,.12);
  --ml-radius:14px;
  --ml-shadow:0 20px 40px rgba(0,0,0,.35);
  --ml-container:1120px;
}

html, body{
  margin:0;
  padding:0;
  background: var(--ml-bg);
}

.ml-landing,
.ml-landing *{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

.ml-landing{
  font-family:"Montserrat","Segoe UI",Roboto,Arial,sans-serif;
  background:radial-gradient(circle at 10% 0%, rgba(75,45,131,.18), transparent 35%), var(--ml-bg);
  color:var(--ml-text);
  min-height:100vh;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.ml-container{
  width:min(100% - 2rem, var(--ml-container));
  margin-inline:auto;
}

/* Header */
.ml-header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(12px);
  background:rgba(11,11,11,.72);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease;
}
.ml-header.ml-is-scrolled{ border-color:var(--ml-border); }

.ml-header__inner{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}

.ml-brand{
  text-decoration:none;
  color:var(--ml-text);
  font-weight:700;
  font-size:1rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

.ml-nav{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.ml-nav a{
  color:var(--ml-muted);
  text-decoration:none;
  font-size:.8rem;
  padding:.4rem .7rem;
  border-radius:999px;
  border:1px solid transparent;
  transition:color .25s ease, border-color .25s ease, background-color .25s ease;
}

.ml-nav a:hover,
.ml-nav a:focus-visible{
  color:var(--ml-text);
  border-color:var(--ml-border);
  background:rgba(255,255,255,.03);
  outline:none;
}

/* Sections */
.ml-section{ padding:4.5rem 0; }

.ml-hero{
  padding-top:5.5rem;
  padding-bottom:4.2rem;
}

.ml-kicker{
  color:#c7b6eb;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.75rem;
  font-weight:600;
  margin-bottom:1rem;
}

.ml-hero h1{
  font-size:clamp(1.85rem, 6.5vw, 3.6rem);
  line-height:1.1;
  letter-spacing:-.02em;
  max-width:16ch;
}

.ml-hero p{
  margin-top:1.2rem;
  color:var(--ml-muted);
  max-width:56ch;
  font-size:clamp(.95rem, 3.7vw, 1.1rem);
}

.ml-hero__actions{
  margin-top:1.8rem;
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

/* Buttons */
.ml-btn{
  border:1px solid var(--ml-border);
  border-radius:12px;
  padding:.9rem 1.2rem;
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  transition:transform .28s ease, box-shadow .28s ease, background-color .28s ease, border-color .28s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
}

.ml-btn:hover,
.ml-btn:focus-visible{
  transform:translateY(-2px);
  outline:none;
}

.ml-btn--primary{
  background:linear-gradient(120deg, var(--ml-accent), #63439f);
  border-color:transparent;
  color:#fff;
  box-shadow:var(--ml-shadow);
}

.ml-btn--primary:hover,
.ml-btn--primary:focus-visible{
  box-shadow:0 18px 32px rgba(75,45,131,.5);
}

.ml-btn--ghost{
  color:var(--ml-text);
  background:rgba(255,255,255,.02);
}

.ml-btn--ghost:hover,
.ml-btn--ghost:focus-visible{
  border-color:rgba(242,242,242,.3);
  background:rgba(255,255,255,.07);
}

/* Section heading */
.ml-section__heading{
  margin-bottom:1.8rem;
  max-width:65ch;
}

.ml-section__heading h2{
  font-size:clamp(1.35rem, 5vw, 2rem);
  line-height:1.2;
  margin-bottom:.65rem;
}

.ml-section__heading p{
  color:var(--ml-muted);
  font-size:.96rem;
}

/* ===== LOGO SLIDER (NOVO) ===== */
.ml-logo-slider{
  overflow:hidden;
  margin-top:40px;
  position:relative;
}

.ml-logo-track{
  display:flex;
  align-items:center;
  gap:60px;
  width:max-content;
  animation: ml-scroll 28s linear infinite;
  will-change: transform;
}

.ml-logo{
  height:48px;
  width:auto;
  object-fit:contain;
  filter:grayscale(100%) brightness(.92);
  opacity:.65;
  transition:opacity .3s ease, filter .3s ease, transform .3s ease;
}

.ml-logo:hover{
  filter:grayscale(0%) brightness(1);
  opacity:1;
  transform:scale(1.05);
}

@keyframes ml-scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

.ml-logo-link{
  display:inline-flex;
  cursor:pointer;
  text-decoration:none;
}

.ml-logo-link:hover .ml-logo{
  transform:scale(1.08);
}

/* ===== LOGO SLIDER (HERO / FAIXA) ===== */
.ml-logo-slider--hero{
  margin-top: 2rem;          /* tira aquele 40px padrão do slider */
  padding: .85rem 0;
  border-top: 1px solid var(--ml-border);
  border-bottom: 1px solid var(--ml-border);
}

.ml-logo-slider--hero .ml-logo{
  height: 120px;              /* menor e mais premium no hero */
  opacity: .75;
}

.ml-logo-slider--hero .ml-logo:hover{
  opacity: 1;
}

/* Cards */
.ml-card-grid{
  display:grid;
  gap:.85rem;
}

.ml-card{
  border:1px solid var(--ml-border);
  background:var(--ml-surface);
  border-radius:var(--ml-radius);
  padding:1.1rem;
  transition:border-color .3s ease, transform .3s ease;
}

.ml-card:hover{
  border-color:rgba(242,242,242,.26);
  transform:translateY(-2px);
}

.ml-card h3{
  font-size:1rem;
  margin-bottom:.45rem;
}

.ml-card p{
  font-size:.92rem;
  color:var(--ml-muted);
}

/* Steps */
.ml-steps{
  list-style:none;
  display:grid;
  gap:.85rem;
  counter-reset:ml-step;
}

.ml-steps li{
  counter-increment:ml-step;
  border:1px solid var(--ml-border);
  border-radius:var(--ml-radius);
  background:var(--ml-surface);
  padding:1rem;
  display:grid;
  gap:.35rem;
}

.ml-steps li::before{
  content:"0" counter(ml-step);
  color:#cfbee9;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ml-steps h3{ font-size:1rem; }

.ml-steps p{
  color:var(--ml-muted);
  font-size:.9rem;
}

/* Contact */
.ml-contact-wrap{
  border:1px solid var(--ml-border);
  background:linear-gradient(170deg, #111, #101010);
  border-radius:18px;
  padding:1.1rem;
}

.ml-form{ display:grid; gap:.75rem; }

.ml-field{ display:grid; gap:.35rem; }

.ml-field label{
  font-size:.82rem;
  color:#dedede;
  font-weight:600;
  letter-spacing:.01em;
}

.ml-field input,
.ml-field textarea{
  width:100%;
  border-radius:10px;
  border:1px solid var(--ml-border);
  background:#0f0f0f;
  color:var(--ml-text);
  padding:.75rem .85rem;
  font:inherit;
  transition:border-color .25s ease, box-shadow .25s ease;
}

.ml-field textarea{
  min-height:120px;
  resize:vertical;
}

.ml-field input:focus,
.ml-field textarea:focus{
  border-color:rgba(203,177,255,.6);
  box-shadow:0 0 0 3px rgba(75,45,131,.24);
  outline:none;
}

.ml-form__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
}

.ml-form__note{
  color:var(--ml-muted);
  font-size:.85rem;
}

.ml-feedback{
  margin-top:.75rem;
  min-height:1.3rem;
  font-size:.88rem;
  color:#d6c3ff;
}

/* Reveal */
.ml-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  will-change:opacity, transform;
}

.ml-reveal.ml-reveal--show{
  opacity:1;
  transform:translateY(0);
}

/* Responsive */
@media (min-width: 640px){
  .ml-section{ padding:5.3rem 0; }
  .ml-card-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ml-steps{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ml-contact-wrap{ padding:1.4rem; }
}

@media (min-width: 920px){
  .ml-header__inner{ min-height:80px; }
  .ml-brand{ font-size:1.06rem; }
  .ml-nav a{ font-size:.85rem; }
  .ml-hero{ padding-top:7rem; }
  .ml-card-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .ml-contact-wrap{ padding:1.6rem; }
}

@media (prefers-reduced-motion: reduce){
  .ml-reveal,
  .ml-reveal.ml-reveal--show,
  .ml-btn,
  .ml-card,
  .ml-nav a,
  .ml-logo{
    transition:none !important;
    transform:none !important;
    animation:none !important;
  }
}
