/* Cabeçalho e etapas na mesma coluna, equilibrados com a oferta. */
.migration { width: var(--container-width); max-width: calc(100% - 80px); margin: 0 auto 160px; padding: 80px 100px; position: relative; isolation: isolate; border: 1px solid transparent; border-radius: 12px; background: none; }
.migration__header { margin-bottom: 40px; }
.migration h2 { margin:0; font-size:38px; line-height:1.2; letter-spacing:-1.4px; font-weight:400; }
.migration h2 span { display:block; color:#c0cbd8; }
.migration__intro { margin:20px 0 0; color:#94a3b8; font-size:15px; line-height:1.65; }
.migration__layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:64px; align-items:center; }
.migration__steps { list-style:none; margin:0; padding:0; }
.migration__steps li { display:flex; gap:24px; padding:26px 0; }
.migration__steps li:first-child { padding-top:0; }
.migration__steps li:last-child { padding-bottom:0; }
.migration__steps li + li { border-top:1px solid #192130; }
.migration__number { flex:0 0 15px; padding-top:6px; font:12px/1.4 ui-monospace,monospace; }
.migration h3 { margin:0 0 7px; color:#f1f5f9; font-size:17px; line-height:1.45; font-weight:400; letter-spacing:-.3px; }
.migration__steps p { margin:0; font-size:15px; line-height:1.6; color:#94a3b8; }
.migration__offer { position:relative; padding:40px; border-radius:12px; color:#0b1020; }
.migration__badge { position:absolute; right:16px; top:16px; padding:5px 8px; border-radius:4px; font-size:12px; line-height:1.4; }
.migration__price { margin:0; font-size:60px; letter-spacing:-2px; line-height:1.15; }
.migration__price-caption { margin:8px 0 0; font-size:15px; line-height:1.5; color:#25334b; }
.migration__includes { list-style:none; margin:36px 0; padding:32px 0; border-block:1px solid #e2e8f0; display:grid; gap:13px; }
.migration__includes li { display:flex; gap:9px; align-items:center; font-size:13px; line-height:1.45; color:#445572; }
.migration__includes svg { width:17px; height:17px; flex:0 0 17px; color:#94bd9e; }
.migration__cta { width:100%; display:flex; justify-content:center; align-items:center; gap:12px; border:0; border-radius:8px; padding:13px 18px; color:#fff; background:#000; font-family:inherit; font-weight:500; font-size:13px; line-height:1.4; }
.migration__cta svg { display:none; }

/* Fade only the backdrop, preserving full contrast of text and offer. */
.migration::before { content: ''; position: absolute; inset: -1px; z-index: -1; pointer-events: none; border: 1px solid #192130; border-radius: inherit; background: linear-gradient(180deg,#090d17 0%,#090d17 16%,#070b12 42%,#040609 70%,#000 100%); mask-image: linear-gradient(180deg,#000 0%,#000 35%,#000b 62%,transparent 100%); }
.migration__integration-icons { display: flex; align-items: center; flex: 0 0 auto; padding-left: 2px; }
.migration__integration-icons img { width: 18px; height: 18px; display: block; border: 2px solid #fff; border-radius: 50%; box-sizing: content-box; }
.migration__integration-icons img + img { margin-left: -6px; }

/* Mesmo rolamento de dígitos da Contasy, disparado uma vez ao entrar. */
.migration__price { display:flex; align-items:baseline; gap:12px; }
.migration__number-flow { display:inline-grid; vertical-align:baseline; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:-.045em; }
.migration__number-flow > .counter-anchor,
.migration__number-flow > number-flow { grid-area:1/1; align-self:center; justify-self:start; }
.migration__number-flow > .counter-anchor { visibility:hidden; pointer-events:none; }
.migration__number-flow > number-flow { font:inherit; --number-flow-mask-height:.12em; --number-flow-mask-width:.06em; }
