/* ============================================================
   orvio move — página de produto (treinos · performance)
   Herda site.css (base petróleo + Geist + símbolo).
   Acento da categoria: gradiente azul → índigo → roxo.
   Estado atual do produto: EM DESENVOLVIMENTO.
   ============================================================ */

:root {
  /* Gradiente Move (fixo da categoria) */
  --move-0: #6BB6FF;   /* azul */
  --move-1: #6C7CF6;   /* índigo (accent sólido) */
  --move-2: #A566F5;   /* roxo */
  --move-grad: linear-gradient(120deg, #6BB6FF, #6C7CF6 52%, #A566F5);

  /* Acento da página = índigo (sobrescreve o coral do site.css; JS reafirma) */
  --accent: #6C7CF6;
  --accent-soft: #6BB6FF;
  --accent-2: #A566F5;

  --gold: #E0A54B;   /* sequência / streak */
  --pos:  #5FD9B8;   /* concluído / positivo */
  --warn: #E0A54B;   /* status em desenvolvimento */
}

/* ---------- Nav: pílula do produto ---------- */
.nav-logo .product {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--accent);
  border: 1px solid color-mix(in oklab, var(--accent) 38%, var(--ink-4));
  border-radius: 999px; padding: 4px 10px; margin-left: 4px;
}
.nav-back {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--fg-3); display: inline-flex; align-items: center; gap: 7px;
  transition: color var(--t-micro) var(--e);
}
.nav-back:hover { color: var(--fg); }
.nav-back svg { width: 14px; height: 14px; }

/* ---------- Chip de status "em desenvolvimento" (reusável) ---------- */
.mv-wip {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--warn);
  border: 1px solid color-mix(in oklab, var(--warn) 40%, var(--ink-4));
  background: color-mix(in oklab, var(--warn) 10%, transparent);
  border-radius: 999px; padding: 7px 14px;
}
.mv-wip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--warn); box-shadow: 0 0 10px var(--warn); animation: pulse 2.6s var(--e) infinite; }
body[data-motion="0"] .mv-wip .dot { animation: none; }

/* Faixa fina de aviso, logo abaixo da nav */
.mv-banner {
  position: relative; z-index: 90;
  margin-top: 72px;
  border-bottom: 1px solid color-mix(in oklab, var(--warn) 26%, var(--ink-4));
  background: color-mix(in oklab, var(--warn) 8%, var(--ink-0));
}
.mv-banner .wrap { display: flex; align-items: center; gap: 14px; justify-content: center; flex-wrap: wrap; padding-block: 11px; text-align: center; }
.mv-banner .ico { width: 17px; height: 17px; color: var(--warn); flex-shrink: 0; }
.mv-banner .txt { font-size: 13.5px; font-weight: 300; color: var(--fg-2); }
.mv-banner .txt b { color: var(--fg); font-weight: 500; }
.mv-banner .tag { font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--warn); border: 1px solid color-mix(in oklab, var(--warn) 38%, var(--ink-4)); border-radius: 999px; padding: 3px 10px; }

/* ============================================================
   HERO
   ============================================================ */
.mv-hero { min-height: calc(100svh - 44px); display: flex; align-items: center; padding-top: 8px; }
.mv-hero .wrap { position: relative; z-index: 2; padding-block: clamp(48px, 9vh, 110px); }
.mv-hero-grid { display: grid; grid-template-columns: 1.02fr 0.98fr; align-items: center; gap: clamp(28px, 5vw, 80px); }
.mv-hero-text { max-width: 600px; }
.mv-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: clamp(20px, 3vh, 30px); }
.mv-eyebrow .pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); animation: pulse 2.6s var(--e) infinite; }
body[data-motion="0"] .mv-eyebrow .pulse { animation: none; }

.mv-hero-name { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: clamp(18px, 2.6vh, 28px); }
.mv-hero-name .o { font-size: clamp(40px, 8vw, 86px); font-weight: 500; letter-spacing: -0.05em; color: var(--fg); }
.mv-hero-name .m {
  font-size: clamp(40px, 8vw, 86px); font-weight: 500; letter-spacing: -0.05em;
  background: var(--move-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.mv-tagline { font-size: clamp(21px, 2.7vw, 33px); font-weight: 300; letter-spacing: -0.03em; color: var(--fg); margin: 0 0 18px; line-height: 1.12; }
.mv-sub { max-width: 470px; margin: 0 0 30px; font-size: clamp(16px, 1.5vw, 18px); font-weight: 300; line-height: 1.6; color: var(--fg-2); }
.mv-sub b { color: var(--fg); font-weight: 500; }

.mv-cta-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.mv-plat-hint { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-3); }
.mv-plat-hint svg { width: 15px; height: 15px; color: var(--fg-3); }

/* mark / cartão de treino */
.mv-hero-stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 470px; }
.mv-hero-stage .rings { position: absolute; inset: 0; }
.mv-mark-ghost { position: absolute; z-index: 0; opacity: 0.5; filter: blur(2px); }

.wk-card {
  position: relative; z-index: 3; width: min(390px, 92%);
  background: color-mix(in oklab, var(--ink-2) 92%, transparent);
  border: 1px solid var(--ink-4); border-radius: 24px; padding: 24px 24px 20px;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 30px 80px -30px rgba(0,0,0,.7), 0 0 0 1px color-mix(in oklab, var(--accent) 14%, transparent);
}
.wk-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.wk-top .lab { font-size: 13px; color: var(--fg-3); }
.wk-top .lab b { color: var(--fg); font-weight: 500; }
.wk-team { display: inline-flex; align-items: center; gap: 7px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
.wk-team .d { width: 12px; height: 12px; border-radius: 4px; background: var(--move-grad); }

.wk-title { font-size: 21px; font-weight: 500; letter-spacing: -0.02em; color: var(--fg); line-height: 1; margin-bottom: 3px; }
.wk-meta { font-size: 12.5px; color: var(--fg-3); font-family: var(--mono); letter-spacing: 0.02em; margin-bottom: 18px; }

.wk-rows { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--ink-4); }
.wk-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid color-mix(in oklab, var(--ink-4) 55%, transparent); }
.wk-row:last-child { border-bottom: 0; }
.wk-check { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; flex-shrink: 0; border: 1.5px solid var(--ink-4); color: transparent; }
.wk-row.on .wk-check { background: color-mix(in oklab, var(--pos) 20%, transparent); border-color: color-mix(in oklab, var(--pos) 55%, transparent); color: var(--pos); }
.wk-check svg { width: 13px; height: 13px; }
.wk-nm { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wk-nm .t { font-size: 14px; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wk-nm .t.done { color: var(--fg-3); text-decoration: line-through; text-decoration-color: var(--fg-4); }
.wk-nm .c { font-size: 11.5px; color: var(--fg-3); font-family: var(--mono); }
.wk-load { font-size: 13px; font-variant-numeric: tabular-nums; font-family: var(--mono); color: var(--fg-2); }

.wk-foot { margin-top: 16px; display: flex; align-items: center; gap: 10px; }
.wk-stat {
  flex: 1; display: flex; align-items: center; gap: 9px;
  background: color-mix(in oklab, var(--accent) 12%, transparent);
  border: 1px solid color-mix(in oklab, var(--accent) 30%, transparent);
  border-radius: 12px; padding: 10px 13px;
}
.wk-stat svg { width: 17px; height: 17px; color: var(--accent); flex-shrink: 0; }
.wk-stat.gold svg { color: var(--gold); }
.wk-stat.gold { background: color-mix(in oklab, var(--gold) 12%, transparent); border-color: color-mix(in oklab, var(--gold) 30%, transparent); }
.wk-stat .n { font-family: var(--mono); font-size: 15px; font-weight: 500; color: var(--fg); }
.wk-stat .k { font-size: 11px; color: var(--fg-3); }

@media (max-width: 940px) {
  .mv-hero-grid { grid-template-columns: 1fr; text-align: center; }
  .mv-hero-text { max-width: 600px; margin: 0 auto; order: 2; }
  .mv-sub { margin-inline: auto; }
  .mv-cta-row { justify-content: center; }
  .mv-hero-stage { order: 1; min-height: 400px; }
  .wk-card { text-align: left; }
}

@media (max-width: 520px) {
  .nav-back { font-size: 0; gap: 0; }
  .nav-back svg { width: 18px; height: 18px; }

  .mv-banner .wrap { gap: 8px 10px; padding-block: 10px; }
  .mv-banner .txt {
    flex: 1 1 calc(100% - 27px);
    min-width: 0;
    font-size: 12.5px;
    line-height: 1.45;
    text-align: left;
  }
  .mv-banner .tag { margin-left: 27px; }

  .mv-hero .wrap { padding-block: 38px 64px; }
  .mv-hero-grid,
  .mv-hero-stage { width: 100%; min-width: 0; }
  .mv-hero-stage { min-height: 360px; }
  .wk-card { width: 100%; max-width: 390px; padding: 20px 18px 18px; }
  .wk-top { align-items: flex-start; gap: 8px; }
  .wk-team { font-size: 8.5px; letter-spacing: 0.08em; }
  .wk-foot { display: grid; grid-template-columns: 1fr; }
  .mv-hero-name { justify-content: center; gap: 8px; }
}

/* ============================================================
   PARA QUEM
   ============================================================ */
.mv-purpose h2 { font-size: clamp(32px, 5.4vw, 66px); font-weight: 400; letter-spacing: -0.035em; line-height: 1.04; max-width: 15ch; }
.mv-purpose h2 .accent { color: var(--accent); }
.mv-purpose-body { margin-top: clamp(34px, 5vh, 56px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); max-width: 820px; margin-left: auto; }
.mv-purpose-body p { margin: 0; font-size: 17px; font-weight: 300; line-height: 1.65; color: var(--fg-2); }
.mv-purpose-body p b { color: var(--fg); font-weight: 500; }
@media (max-width: 700px) { .mv-purpose-body { grid-template-columns: 1fr; } }

.mv-aud { margin-top: clamp(44px, 6vh, 64px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--ink-4); border: 1px solid var(--ink-4); border-radius: 20px; overflow: hidden; }
@media (max-width: 820px) { .mv-aud { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .mv-aud { grid-template-columns: 1fr; } }
.mv-aud .a { background: var(--ink-2); padding: 24px 22px; transition: background var(--t-std) var(--e); }
.mv-aud .a:hover { background: var(--ink-3); }
.mv-aud .a svg { width: 26px; height: 26px; color: var(--accent); margin-bottom: 16px; }
.mv-aud .a h4 { font-size: 16px; font-weight: 500; letter-spacing: -0.01em; margin: 0 0 6px; color: var(--fg); }
.mv-aud .a p { font-size: 13.5px; font-weight: 300; line-height: 1.5; color: var(--fg-3); margin: 0; }

/* ============================================================
   RECURSOS (MVP 1) — grid de cards
   ============================================================ */
.mv-feat-banner {
  display: inline-flex; align-items: center; gap: 10px;
  background: color-mix(in oklab, var(--accent) 12%, transparent);
  border: 1px solid color-mix(in oklab, var(--accent) 30%, transparent);
  border-radius: 999px; padding: 7px 16px; margin-top: 22px;
  font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent);
}
.mv-feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--ink-4); border: 1px solid var(--ink-4); border-radius: 22px; overflow: hidden; }
@media (max-width: 860px) { .mv-feat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mv-feat-grid { grid-template-columns: 1fr; } }
.mv-feat { background: var(--ink-2); padding: 26px 24px; min-height: 158px; display: flex; flex-direction: column; transition: background var(--t-std) var(--e); position: relative; }
.mv-feat:hover { background: var(--ink-3); }
.mv-feat .role { position: absolute; top: 22px; right: 22px; font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-4); border: 1px solid var(--ink-4); border-radius: 999px; padding: 3px 8px; }
.mv-feat-ico { width: 28px; height: 28px; color: var(--accent); margin-bottom: 18px; }
.mv-feat h3 { font-size: 17px; font-weight: 500; letter-spacing: -0.015em; margin: 0 0 7px; color: var(--fg); padding-right: 56px; }
.mv-feat p { margin: 0; font-size: 13.5px; font-weight: 300; line-height: 1.55; color: var(--fg-3); }

.mv-feat-cta {
  grid-column: span 2; justify-content: center;
  background: radial-gradient(130% 150% at 100% 0%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 58%), var(--ink-2);
}
.mv-feat-cta:hover { background: radial-gradient(130% 150% at 100% 0%, color-mix(in oklab, var(--accent) 26%, transparent), transparent 58%), var(--ink-3); }
.mv-feat-cta svg { margin-bottom: 16px; }
.mv-feat-cta h3 { font-size: 20px; color: var(--fg); padding-right: 0; }
.mv-feat-cta p { color: var(--fg-2); max-width: 44ch; }
.mv-feat-cta-link { margin-top: 16px; font-family: var(--mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
@media (max-width: 520px) { .mv-feat-cta { grid-column: auto; } }

/* ============================================================
   GAMIFICAÇÃO — destaque estratégico
   ============================================================ */
.mv-game { position: relative; overflow: hidden; }
.mv-game-card {
  position: relative;
  border: 1px solid color-mix(in oklab, var(--accent) 34%, var(--ink-4));
  border-radius: 26px;
  background: radial-gradient(120% 130% at 0% 0%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 56%), var(--ink-2);
  padding: clamp(34px, 4.5vw, 56px);
  display: grid; grid-template-columns: 1.06fr 0.94fr; gap: clamp(32px, 5vw, 64px); align-items: center;
}
@media (max-width: 820px) { .mv-game-card { grid-template-columns: 1fr; gap: 34px; } }
.mv-game .badge { width: 50px; height: 50px; border-radius: 15px; background: var(--move-grad); display: grid; place-items: center; color: #0B1418; margin-bottom: 24px; box-shadow: 0 12px 30px -12px color-mix(in oklab, var(--accent) 70%, transparent); }
.mv-game .badge svg { width: 27px; height: 27px; }
.mv-game h2 { font-size: clamp(28px, 3.7vw, 46px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.06; margin: 0 0 18px; }
.mv-game h2 .accent { color: var(--accent); }
.mv-game .lead { font-size: 16px; font-weight: 300; line-height: 1.62; color: var(--fg-2); margin: 0 0 24px; max-width: 50ch; }
.mv-points { display: flex; flex-wrap: wrap; gap: 8px; }
.mv-points .pt { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--fg-2); background: var(--ink-1); border: 1px solid var(--ink-4); border-radius: 999px; padding: 7px 13px; }
.mv-points .pt b { font-family: var(--mono); font-weight: 500; color: var(--accent); }

.mv-game-list { display: flex; flex-direction: column; gap: 1px; background: var(--ink-4); border: 1px solid var(--ink-4); border-radius: 16px; overflow: hidden; }
.mv-game-item { background: var(--ink-1); padding: 18px 20px; display: flex; align-items: center; gap: 15px; transition: background var(--t-std) var(--e); }
.mv-game-item:hover { background: var(--ink-2); }
.mv-game-item svg { width: 22px; height: 22px; color: var(--accent); flex-shrink: 0; }
.mv-game-item.gold svg { color: var(--gold); }
.mv-game-item .t { font-size: 15px; color: var(--fg); font-weight: 500; letter-spacing: -0.01em; }
.mv-game-item .d { font-size: 12.5px; color: var(--fg-3); font-weight: 300; margin-top: 2px; line-height: 1.45; }

/* ============================================================
   IDENTIDADE DA EQUIPE — co-branding
   ============================================================ */
.mv-team-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 820px) { .mv-team-grid { grid-template-columns: 1fr; } }
.mv-team-list { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }
.mv-team-pt { display: flex; gap: 16px; align-items: flex-start; }
.mv-team-pt svg { width: 22px; height: 22px; color: var(--accent); flex-shrink: 0; margin-top: 2px; }
.mv-team-pt h4 { font-size: 16px; font-weight: 500; margin: 0 0 4px; color: var(--fg); }
.mv-team-pt p { font-size: 14px; font-weight: 300; line-height: 1.5; color: var(--fg-3); margin: 0; }

/* preview de card de equipe */
.mv-team-preview { display: grid; gap: 14px; }
.mv-team-tile {
  border: 1px solid var(--ink-4); border-radius: 20px; padding: 22px; background: var(--ink-2);
  display: flex; align-items: center; gap: 16px; position: relative; overflow: hidden;
}
.mv-team-tile .glyph { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; color: #0B1418; flex-shrink: 0; }
.mv-team-tile .glyph svg { width: 26px; height: 26px; }
.mv-team-tile .nm { font-size: 17px; font-weight: 500; color: var(--fg); }
.mv-team-tile .rl { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-3); margin-top: 3px; }
.mv-team-tile .pw { margin-left: auto; font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-4); text-align: right; line-height: 1.5; }
.mv-team-tile.t1 .glyph { background: var(--move-grad); }
.mv-team-tile.t2 .glyph { background: linear-gradient(120deg, #34D3A6, #12B981 55%, #0E9F6E); }
.mv-team-tile.t3 .glyph { background: linear-gradient(120deg, #FF8A7A, #FF6B5C 55%, #E0552F); }

/* ============================================================
   PLATAFORMAS
   ============================================================ */
.mv-plat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 820px) { .mv-plat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .mv-plat-grid { grid-template-columns: 1fr; } }
.mv-plat { background: var(--ink-2); border: 1px solid var(--ink-4); border-radius: 18px; padding: 26px 22px; text-align: left; }
.mv-plat svg.pico { width: 28px; height: 28px; color: var(--accent); margin-bottom: 16px; }
.mv-plat h4 { font-size: 16px; font-weight: 500; margin: 0 0 6px; color: var(--fg); }
.mv-plat p { font-size: 13.5px; font-weight: 300; color: var(--fg-3); line-height: 1.5; margin: 0 0 12px; }
.mv-plat .st { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--warn); display: inline-flex; align-items: center; gap: 6px; }
.mv-plat .st.soon { color: var(--fg-3); }

/* ============================================================
   ROADMAP / STATUS DE DESENVOLVIMENTO
   ============================================================ */
.mv-road { display: flex; flex-direction: column; gap: 1px; background: var(--ink-4); border: 1px solid var(--ink-4); border-radius: 22px; overflow: hidden; }
.mv-phase { background: var(--ink-2); padding: 24px 26px; display: grid; grid-template-columns: 120px 1fr auto; gap: 24px; align-items: center; }
@media (max-width: 640px) { .mv-phase { grid-template-columns: 1fr auto; } .mv-phase .ph-k { grid-column: 1 / -1; } }
.mv-phase .ph-k { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-3); }
.mv-phase .ph-b h4 { font-size: 17px; font-weight: 500; margin: 0 0 4px; color: var(--fg); letter-spacing: -0.01em; }
.mv-phase .ph-b p { font-size: 13.5px; font-weight: 300; color: var(--fg-3); margin: 0; line-height: 1.5; }
.mv-phase .ph-s { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.mv-phase .ph-s .d { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.mv-phase.done .ph-s { color: var(--pos); }
.mv-phase.done .ph-s .d { background: var(--pos); box-shadow: 0 0 10px var(--pos); }
.mv-phase.now { background: radial-gradient(120% 130% at 0% 50%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 60%), var(--ink-2); }
.mv-phase.now .ph-s { color: var(--accent); }
.mv-phase.now .ph-s .d { background: var(--accent); box-shadow: 0 0 10px var(--accent); animation: pulse 2.6s var(--e) infinite; }
.mv-phase.next .ph-s { color: var(--fg-4); }
.mv-phase.next .ph-s .d { background: var(--fg-4); }
body[data-motion="0"] .mv-phase.now .ph-s .d { animation: none; }

/* ============================================================
   PERSONAL VIRTUAL — treinos sugeridos por IA
   ============================================================ */
.mv-coach { position: relative; overflow: hidden; }
.mv-coach-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 860px) { .mv-coach-grid { grid-template-columns: 1fr; } }
.mv-coach h2 .accent { color: var(--accent); }
.mv-coach-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.mv-coach-chips .ch { font-size: 13px; color: var(--fg-2); background: var(--ink-1); border: 1px solid var(--ink-4); border-radius: 999px; padding: 7px 14px; transition: border-color var(--t-std) var(--e); }
.mv-coach-chips .ch:hover { border-color: color-mix(in oklab, var(--accent) 45%, var(--ink-4)); }

.mv-coach-steps { display: flex; flex-direction: column; gap: 14px; margin-top: 28px; }
.mv-coach-steps .st { display: grid; grid-template-columns: auto auto 1fr; gap: 14px; align-items: start; }
.mv-coach-steps .st > .n { width: 26px; height: 26px; border-radius: 8px; background: color-mix(in oklab, var(--accent) 16%, var(--ink-3)); color: var(--accent); font-family: var(--mono); font-size: 13px; font-weight: 500; display: grid; place-items: center; flex-shrink: 0; }
.mv-coach-steps .st > svg { width: 22px; height: 22px; color: var(--accent); margin-top: 2px; }
.mv-coach-steps .st h4 { font-size: 16px; font-weight: 500; margin: 0 0 3px; color: var(--fg); letter-spacing: -0.01em; }
.mv-coach-steps .st p { font-size: 13.5px; font-weight: 300; line-height: 1.5; color: var(--fg-3); margin: 0; }

/* cartão de sugestão do treinador virtual */
.mv-coach-card {
  border: 1px solid var(--ink-4); border-radius: 24px; padding: 24px;
  background: radial-gradient(120% 120% at 100% 0%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 58%), var(--ink-2);
  box-shadow: 0 30px 80px -32px rgba(0,0,0,.7), 0 0 0 1px color-mix(in oklab, var(--accent) 12%, transparent);
}
.mv-coach-card .cc-top { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; }
.mv-coach-card .cc-badge { width: 44px; height: 44px; border-radius: 13px; background: radial-gradient(90% 90% at 30% 25%, #15293A, #0B1418 65%, #070C10); display: grid; place-items: center; flex-shrink: 0; }
.mv-coach-card .cc-nm { font-size: 16px; font-weight: 500; color: var(--fg); }
.mv-coach-card .cc-rl { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-3); margin-top: 3px; }
.mv-coach-card .cc-bubble { font-size: 14px; font-weight: 300; line-height: 1.55; color: var(--fg-2); background: var(--ink-1); border: 1px solid var(--ink-4); border-radius: 14px; border-top-left-radius: 4px; padding: 14px 16px; margin-bottom: 16px; }
.mv-coach-card .cc-bubble b { color: var(--accent); font-weight: 500; }
.mv-coach-card .cc-plan { display: flex; flex-direction: column; border-top: 1px solid var(--ink-4); }
.mv-coach-card .cc-ex { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid color-mix(in oklab, var(--ink-4) 55%, transparent); }
.mv-coach-card .cc-ex .t { font-size: 14px; color: var(--fg); }
.mv-coach-card .cc-ex .v { font-family: var(--mono); font-size: 13px; color: var(--fg-2); font-variant-numeric: tabular-nums; }
.mv-coach-card .cc-foot { margin-top: 16px; display: flex; align-items: center; gap: 10px; background: color-mix(in oklab, var(--accent) 12%, transparent); border: 1px solid color-mix(in oklab, var(--accent) 28%, transparent); border-radius: 12px; padding: 11px 13px; }
.mv-coach-card .cc-foot svg { width: 18px; height: 18px; color: var(--accent); flex-shrink: 0; }
.mv-coach-card .cc-foot span { font-size: 12.5px; color: var(--fg-2); line-height: 1.4; }

/* ============================================================
   FECHAMENTO — em construção
   ============================================================ */
.mv-closing { text-align: center; padding-block: clamp(110px, 18vh, 190px); overflow: hidden; }
.mv-closing .wrap { position: relative; z-index: 2; }
.mv-closing .orbits { position: absolute; inset: 0; display: grid; place-items: center; z-index: 0; pointer-events: none; }
.mv-closing .orbits svg { width: min(120vw, 980px); height: auto; }
.mv-closing .eyebrow { display: block; margin-bottom: 24px; }
.mv-closing h2 { font-size: clamp(32px, 5.6vw, 66px); font-weight: 400; letter-spacing: -0.035em; line-height: 1.05; }
.mv-closing h2 .accent { background: var(--move-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mv-closing p { margin: 26px auto 0; max-width: 540px; font-size: 17px; font-weight: 300; line-height: 1.6; color: var(--fg-2); }
.mv-closing .mv-cta-row { justify-content: center; margin-top: 38px; }

