/* Homepage direction adapted from the supplied reference, using MecaLink colors and real product captures. */
body.ml-landing-refresh {
  --ml-display-ink: #142033;
  --ml-display-muted: #64748b;
  --ml-display-paper: #f5f7fa;
  --ml-display-navy: #111d2e;
  --ml-display-blue: #2868c7;
  --ml-display-orange: #f47c35;
  color: var(--ml-display-ink);
  background: #fff;
}

body.ml-landing-refresh .landing-announcement {
  position: relative;
  z-index: 1001;
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .35rem 1rem;
  color: var(--ml-display-navy);
  background: #f47c35;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.35;
  text-align: center;
}
body.ml-landing-refresh .announcement-spark { color: #142033; font-size: 1rem; line-height: 1; }
body.ml-landing-refresh .landing-announcement a { margin-left: .35rem; color: #142033; font-weight: 800; text-underline-offset: 3px; white-space: nowrap; }

body.ml-landing-refresh .ml-public-header {
  top: 0;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  background: rgb(17 29 46 / 97%);
  box-shadow: 0 10px 30px rgb(7 16 28 / 12%);
}
body.ml-landing-refresh .ml-public-brand { color: #fff; }
body.ml-landing-refresh .ml-public-brand img { filter: none; }
body.ml-landing-refresh .ml-public-brand-copy small { color: #c1ccda; }
body.ml-landing-refresh .ml-public-nav a,
body.ml-landing-refresh .ml-public-login { color: #e0e7f0; }
body.ml-landing-refresh .ml-public-nav a:hover,
body.ml-landing-refresh .ml-public-login:hover { color: #ffb479; }
body.ml-landing-refresh .ml-public-cta {
  border-color: #f47c35;
  background: #f47c35;
  color: #142033;
  box-shadow: 0 7px 22px rgb(244 124 53 / 22%);
}
body.ml-landing-refresh .ml-public-cta:hover { background: #ff984f; }
body.ml-landing-refresh .ml-public-menu-toggle { border-color: rgb(255 255 255 / 30%); background: #182a42; color: #fff; }
body.ml-landing-refresh .ml-public-header[data-menu-open="true"] .ml-public-nav { border-color: rgb(255 255 255 / 15%); background: #111d2e; }
body.ml-landing-refresh .ml-public-header[data-menu-open="true"] .ml-public-nav a { border-color: rgb(255 255 255 / 12%); color: #e0e7f0; }
body.ml-landing-refresh .ml-public-header[data-menu-open="true"] .ml-public-nav a:hover { color: #ffb479; }

body.ml-landing-refresh #conteudo { overflow: clip; }
body.ml-landing-refresh .hero {
  position: relative;
  isolation: isolate;
  overflow: visible;
  color: #fff;
  background: #0e1b2c;
}
body.ml-landing-refresh .hero::before {
  opacity: .28;
  background-image:
    linear-gradient(rgb(255 255 255 / 12%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 12%) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
}
body.ml-landing-refresh .hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(ellipse at 4% 92%, rgb(244 124 53 / 19%), transparent 30%),
    radial-gradient(ellipse at 97% 84%, rgb(51 116 206 / 24%), transparent 35%);
}
body.ml-landing-refresh .hero .hero-inner {
  display: block;
  min-height: 0;
  padding: clamp(3.7rem, 6vw, 5.8rem) 0 0;
  text-align: center;
}
body.ml-landing-refresh .hero-text { max-width: 940px; margin-inline: auto; }
body.ml-landing-refresh .hero-pill {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: .55rem;
  padding: .38rem .82rem;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 999px;
  color: #f6d7c2;
  background: rgb(255 255 255 / 5%);
  font-size: .82rem;
  line-height: 1.2;
}
body.ml-landing-refresh .hero-pill > span {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #f47c35;
  box-shadow: 0 0 0 4px rgb(244 124 53 / 16%);
}
body.ml-landing-refresh .hero h1 {
  max-width: 1050px;
  margin: 1.2rem auto 1.25rem;
  font-size: clamp(3.15rem, 4.65vw, 5rem);
  font-weight: 570;
  line-height: .99;
  letter-spacing: -.055em;
  text-wrap: balance;
}
body.ml-landing-refresh .hero h1 em,
body.ml-landing-refresh .section-head h2 em,
body.ml-landing-refresh .showcase-heading h2 em {
  color: #ffb479;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.045em;
}
body.ml-landing-refresh .hero h1 em { display: block; }
body.ml-landing-refresh .hero-copy {
  max-width: 660px;
  margin: 0 auto;
  color: #d1dbe8;
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.65;
  text-wrap: balance;
}
body.ml-landing-refresh .hero-actions { justify-content: center; gap: .8rem; margin-top: 1.8rem; }
body.ml-landing-refresh .hero-actions .button { min-height: 52px; padding-inline: 1.35rem; }
body.ml-landing-refresh .button-primary { color: #142033; }
body.ml-landing-refresh .hero .button-primary { color: #142033; background: #f47c35; box-shadow: 0 8px 25px rgb(244 124 53 / 20%); }
body.ml-landing-refresh .hero .button-primary:hover { background: #ff984f; }
body.ml-landing-refresh .hero .button-light { border-color: rgb(255 255 255 / 24%); background: #fff; color: #142033; }
body.ml-landing-refresh .hero-note { margin-top: .85rem; color: #bdc9d8; font-size: .84rem; }
body.ml-landing-refresh .hero-note strong { color: #fff; }
body.ml-landing-refresh .hero-visual {
  position: relative;
  z-index: 2;
  --hero-fade-start: 40%;
  --hero-fade-mid: 56%;
  --hero-fade-end: 69%;
  width: min(1120px, 90vw);
  margin: clamp(2.65rem, 4.2vw, 4rem) auto -160px;
  padding: 0;
  aspect-ratio: 2.15;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 48%);
  border-radius: 21px 21px 14px 14px;
  background: #f9fafb;
  box-shadow: 0 34px 90px rgb(3 12 23 / 35%), 0 3px 8px rgb(3 12 23 / 15%);
}
body.ml-landing-refresh .hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
body.ml-landing-refresh .hero-visual img { display: block; }
body.ml-landing-refresh .hero-visual::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent var(--hero-fade-start),
    rgb(255 255 255 / 78%) var(--hero-fade-mid),
    #fff var(--hero-fade-end)
  );
}

body.ml-landing-refresh .landing-stats {
  position: relative;
  z-index: 1;
  padding: 176px 0 54px;
  background: #fff;
}
body.ml-landing-refresh .stats-row {
  display: grid;
  grid-template-columns: minmax(230px, 1.25fr) repeat(3, minmax(130px, .75fr));
  align-items: center;
  gap: 1.4rem;
  padding-bottom: 1.45rem;
  border-bottom: 1px solid #e5e9ef;
}
body.ml-landing-refresh .stats-intro { display: block; }
body.ml-landing-refresh .stats-icon {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border-radius: 50%;
  color: #a9470d;
  background: #fff0e5;
  font-size: 1.25rem;
  font-weight: 800;
}
body.ml-landing-refresh .stats-intro p { margin: 0; color: #64748b; font-size: .83rem; line-height: 1.4; }
body.ml-landing-refresh .stats-intro strong { color: #142033; font-size: .95rem; }
body.ml-landing-refresh .stat { display: grid; justify-items: center; gap: .23rem; text-align: center; }
body.ml-landing-refresh .stat strong { color: #142033; font-size: clamp(2.2rem, 3.6vw, 3.1rem); font-weight: 540; line-height: 1; letter-spacing: -.06em; }
body.ml-landing-refresh .stat span { color: #69778b; font-size: .78rem; line-height: 1.35; }

body.ml-landing-refresh .flow-section { padding: 92px 0 78px; background: #fff; }
body.ml-landing-refresh .flow-section .section-head { display: block; max-width: 850px; margin: 0 auto 2.5rem; text-align: center; }
body.ml-landing-refresh .flow-section .section-head h2 { max-width: 780px; margin-inline: auto; }
body.ml-landing-refresh .flow-section .section-head h2 em,
body.ml-landing-refresh .showcase-heading h2 em { color: #2868c7; }
body.ml-landing-refresh .flow-section .section-head > p { max-width: 680px; margin: .95rem auto 0; color: #64748b; }
body.ml-landing-refresh .flow-line { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 980px; margin-inline: auto; }
body.ml-landing-refresh .flow-step {
  min-height: 150px;
  padding: 1.45rem;
  border-color: #e0e6ee;
  border-radius: 16px;
  background: #f1f6fb;
  box-shadow: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.ml-landing-refresh .flow-step:nth-child(2) { background: #edf5fb; }
body.ml-landing-refresh .flow-step:nth-child(3) { background: #fff2e8; }
body.ml-landing-refresh .flow-step:nth-child(4) { background: #f3f5f8; }
body.ml-landing-refresh .flow-step:hover { transform: translateY(-3px); border-color: #f3b28c; box-shadow: 0 14px 28px rgb(17 29 46 / 8%); }
body.ml-landing-refresh .flow-step b { margin-bottom: .55rem; font-size: 1rem; }
body.ml-landing-refresh .flow-step span:last-child { color: #64748b; font-size: .84rem; line-height: 1.5; }

body.ml-landing-refresh .showcase-section { padding: 84px 0 94px; background: #fff; }
body.ml-landing-refresh .showcase-heading { max-width: 760px; margin: 0 auto 2.4rem; text-align: center; }
body.ml-landing-refresh .showcase-heading .section-kicker { margin-bottom: .7rem; }
body.ml-landing-refresh .showcase-heading h2 { margin: 0; color: #142033; font-size: clamp(2.3rem, 4.2vw, 3.8rem); font-weight: 570; line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
body.ml-landing-refresh .showcase-heading > p:last-child { max-width: 570px; margin: .9rem auto 0; color: #64748b; font-size: .98rem; }
body.ml-landing-refresh .showcase-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }
body.ml-landing-refresh .showcase-card { overflow: hidden; border: 1px solid #dfe5ed; border-radius: 15px; background: #f1f6fb; box-shadow: none; }
body.ml-landing-refresh .showcase-card:nth-child(2) { background: #fff2e8; }
body.ml-landing-refresh .showcase-card:nth-child(3) { background: #f3f5f8; }
body.ml-landing-refresh .showcase-card > div { min-height: 180px; padding: 1.5rem 1.55rem 1.65rem; }
body.ml-landing-refresh .showcase-card > div > span { color: #bd570f; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
body.ml-landing-refresh .showcase-card h3 { margin: .35rem 0 0; color: #142033; font-size: 1.2rem; font-weight: 680; line-height: 1.2; letter-spacing: -.025em; }
body.ml-landing-refresh .showcase-card p { margin: .55rem 0 0; color: #64748b; font-size: .86rem; line-height: 1.5; }

body.ml-landing-refresh .feature-section { background: #fff; }
body.ml-landing-refresh .agenda-section { color: #142033; background: #f5f7fa; }
body.ml-landing-refresh .agenda-section .copy-block h2 { color: #111d2e; }
body.ml-landing-refresh .agenda-section .copy-block p { color: #637084; }
body.ml-landing-refresh .agenda-section .section-kicker { color: #2868c7; }
body.ml-landing-refresh .agenda-section .check-list li { color: #344359; }
body.ml-landing-refresh .agenda-section .check-list li::before { color: #fff; background: #2868c7; }
body.ml-landing-refresh .fiscal-section { background: #fff; }
body.ml-landing-refresh .ops-section { background: #f5f7fa; }
body.ml-landing-refresh .callback-section { background: #fff; }
body.ml-landing-refresh .origin-section { background: #f5f7fa; }
body.ml-landing-refresh .origin-story { color: var(--ml-display-ink); background: #f1f6fb; }
body.ml-landing-refresh .origin-story .section-kicker { color: #a9470d; }
body.ml-landing-refresh .origin-story h2 { color: var(--ml-display-navy); }
body.ml-landing-refresh .origin-story > p:not(.section-kicker) { color: #637084; }
body.ml-landing-refresh .origin-reach { border-color: #dce2ea; }
body.ml-landing-refresh .origin-reach dt { color: #2868c7; }
body.ml-landing-refresh .origin-reach dd { color: #637084; }
body.ml-landing-refresh .origin-proof { background: #fff2e8; }
body.ml-landing-refresh .pricing-section { background: #f5f7fa; }
body.ml-landing-refresh .section-head h2,
body.ml-landing-refresh .copy-block h2,
body.ml-landing-refresh .pricing-head h2,
body.ml-landing-refresh .faq-head h2,
body.ml-landing-refresh .callback-copy h2 { font-weight: 570; letter-spacing: -.045em; }
body.ml-landing-refresh .section-head p,
body.ml-landing-refresh .copy-block p { line-height: 1.65; }
body.ml-landing-refresh .final-cta { color: var(--ml-display-ink); background: #f1f6fb; }
body.ml-landing-refresh .final-cta h2 { color: var(--ml-display-navy); font-weight: 570; letter-spacing: -.045em; }
body.ml-landing-refresh .final-cta h2 span { color: #2868c7; }
body.ml-landing-refresh .final-actions p { color: #637084; }

/* Preserve the reference's typography and generous, centered rhythm without exposing module screens. */
body.ml-landing-refresh .feature-grid,
body.ml-landing-refresh .agenda-grid,
body.ml-landing-refresh .fiscal-grid {
  display: block;
  width: min(100%, 880px);
  margin-inline: auto;
}
body.ml-landing-refresh .copy-block { max-width: 790px; margin-inline: auto; }
body.ml-landing-refresh .feature-section,
body.ml-landing-refresh .agenda-section,
body.ml-landing-refresh .fiscal-section { padding-block: 88px; }
body.ml-landing-refresh .ops-card-grid { max-width: 1050px; margin-inline: auto; }
body.ml-landing-refresh .ops-card { border-radius: 16px; box-shadow: none; }
body.ml-landing-refresh .ops-card:nth-child(1) { background: #f1f6fb; }
body.ml-landing-refresh .ops-card:nth-child(2) { background: #fff2e8; }
body.ml-landing-refresh .ops-copy { padding: 1.55rem; }

@media (max-width: 960px) {
  body.ml-landing-refresh .flow-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ml-landing-refresh .showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ml-landing-refresh .showcase-card:last-child { grid-column: 1 / -1; }
  body.ml-landing-refresh .stats-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ml-landing-refresh .stats-intro { grid-column: 1 / -1; justify-content: center; text-align: left; }
}
@media (max-width: 620px) {
  body.ml-landing-refresh .landing-announcement { min-height: 34px; gap: .4rem; padding-inline: .6rem; font-size: .68rem; }
  body.ml-landing-refresh .landing-announcement a { margin-left: .1rem; }
  body.ml-landing-refresh .announcement-spark { display: none; }
  body.ml-landing-refresh .ml-public-cta { min-width: max-content; padding-inline: .55rem; font-size: .74rem; white-space: nowrap; }
  body.ml-landing-refresh .hero .hero-inner { padding-top: 3.65rem; }
  body.ml-landing-refresh .hero-pill { min-height: 31px; font-size: .72rem; }
  body.ml-landing-refresh .hero h1 { max-width: 540px; margin-top: 1.2rem; font-size: clamp(2.75rem, 11.4vw, 4.25rem); line-height: 1.02; }
  body.ml-landing-refresh .hero h1 em { display: inline; }
  body.ml-landing-refresh .hero-copy { max-width: 490px; font-size: .94rem; }
  body.ml-landing-refresh .hero-actions { align-items: stretch; flex-direction: column; gap: .65rem; width: min(100%, 350px); margin: 1.4rem auto 0; }
  body.ml-landing-refresh .hero-actions .button { width: 100%; min-height: 49px; }
  body.ml-landing-refresh .hero-note { font-size: .78rem; }
  body.ml-landing-refresh .hero-visual {
    --hero-fade-start: 38%;
    --hero-fade-mid: 52%;
    --hero-fade-end: 66%;
    width: 100%;
    aspect-ratio: 1.7;
    margin-top: 2.1rem;
    margin-bottom: -48px;
    border-radius: 13px 13px 8px 8px;
  }
  body.ml-landing-refresh .landing-stats { padding: 76px 0 38px; }
  body.ml-landing-refresh .stats-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem .45rem; }
  body.ml-landing-refresh .stats-intro { margin-bottom: .2rem; }
  body.ml-landing-refresh .stats-icon { width: 39px; height: 39px; flex-basis: 39px; }
  body.ml-landing-refresh .stat strong { font-size: 2rem; }
  body.ml-landing-refresh .stat span { max-width: 105px; font-size: .66rem; }
  body.ml-landing-refresh .flow-section,
  body.ml-landing-refresh .showcase-section { padding-block: 66px; }
  body.ml-landing-refresh .flow-section .section-head { margin-bottom: 1.8rem; }
  body.ml-landing-refresh .flow-section .section-head h2,
  body.ml-landing-refresh .showcase-heading h2 { font-size: clamp(2.2rem, 9vw, 3.25rem); }
  body.ml-landing-refresh .flow-line,
  body.ml-landing-refresh .showcase-grid { grid-template-columns: 1fr; }
  body.ml-landing-refresh .flow-step { min-height: 0; padding: 1rem; }
  body.ml-landing-refresh .flow-step .step-no { margin-bottom: .72rem; }
  body.ml-landing-refresh .showcase-grid { gap: .85rem; }
  body.ml-landing-refresh .showcase-card:last-child { grid-column: auto; }
  body.ml-landing-refresh .showcase-card > div { padding: 1rem 1.05rem 1.2rem; }
  body.ml-landing-refresh .showcase-card h3 { font-size: 1.12rem; }
  body.ml-landing-refresh .showcase-card p { font-size: .83rem; }
  body.ml-landing-refresh .flow-line { grid-template-columns: 1fr; }
  body.ml-landing-refresh .feature-section,
  body.ml-landing-refresh .agenda-section,
  body.ml-landing-refresh .fiscal-section { padding-block: 66px; }
}
@media (prefers-reduced-motion: reduce) {
  body.ml-landing-refresh .flow-step { transition: none; }
}
