/* simulacion.css — Tab Simulación
   Iter 3: full render del prototipo G2 (sticky + hero + swimlanes + cards + closing).
   Iter 4 (polish) puede añadir refinamientos.
*/

/* ============================================================
   TOKENS extra (cascade después de style.css)
   ============================================================ */
:root {
  --sim-bg-elev-3: #242832;
  --sim-border-strong: #3a3f4d;
  --sim-text-faint: #6b7280;
  --sim-tp: #10b981;
  --sim-sl: #ef4444;
  --sim-pass: #fbbf24;
  --sim-pass-glow: rgba(251, 191, 36, 0.4);
  --sim-burn: #ef4444;
  --sim-burn-glow: rgba(239, 68, 68, 0.4);
  --sim-withdraw: #10b981;
  --sim-withdraw-glow: rgba(16, 185, 129, 0.4);
  --sim-brand-glow: rgba(217, 119, 6, 0.35);
  --sim-swimlane-gap: 24px;
  --sim-card-min-h: 64px;
  --sim-max-w: 1280px;
  --sim-header-h: 88px;
}

#simulacion-section.sim-shell {
  display: block;
  min-height: calc(100vh - 120px);
  padding: 0;
}
#simulacion-section[hidden] { display: none; }

/* ============================================================
   STATES (loading / error / empty / locked / mobile-guard)
   ============================================================ */
.sim-loading { max-width: 480px; margin: 96px auto; padding: 48px 32px; text-align: center; }
.sim-loading__spinner { width: 48px; height: 48px; margin: 0 auto 24px; border: 3px solid var(--border); border-top-color: var(--brand); border-radius: 50%; animation: sim-spin 0.8s linear infinite; }
.sim-loading__msg { margin: 0; color: var(--text-muted); font-size: 0.95rem; }
@keyframes sim-spin { to { transform: rotate(360deg); } }

.sim-error { max-width: 480px; margin: 96px auto; padding: 32px; text-align: center; background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.25); border-radius: var(--radius-lg); }
.sim-error__icon { font-size: 36px; margin-bottom: 12px; }
.sim-error__msg { margin: 0; color: var(--danger); }

.sim-empty { max-width: 560px; margin: 96px auto; padding: 48px 32px; text-align: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.sim-empty__icon { font-size: 48px; margin-bottom: 16px; }
.sim-empty__title { margin: 0 0 12px; font-size: 1.25rem; font-weight: 600; }
.sim-empty__lead { margin: 0 0 28px; color: var(--text-muted); line-height: 1.6; }
.sim-empty__cta { background: var(--brand); color: white; border: none; border-radius: var(--radius); padding: 12px 28px; font-size: 0.95rem; font-weight: 600; transition: background 0.15s; }
.sim-empty__cta:hover { background: var(--brand-hover); }

.sim-locked { position: relative; min-height: calc(100vh - 120px); overflow: hidden; }
.sim-locked__blurred { filter: blur(12px); pointer-events: none; user-select: none; opacity: 0.7; padding: 32px; }
.sim-locked__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; background: rgba(15,16,20,0.85); backdrop-filter: blur(2px); text-align: center; }
.sim-locked__counter { font-size: 80px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 16px; background: var(--holo-gradient); background-clip: text; -webkit-background-clip: text; color: transparent; line-height: 1; }
.sim-locked__counter-sep, .sim-locked__counter-target { color: var(--text-muted); -webkit-text-fill-color: var(--text-muted); }
.sim-locked__counter-sep { margin: 0 4px; }
.sim-locked__msg { margin: 0 0 8px; font-size: 1.1rem; color: var(--text); font-weight: 500; }
.sim-locked__remaining { margin: 0; font-size: 0.95rem; color: var(--text-muted); }
.sim-locked__remaining strong { color: var(--brand); font-weight: 600; }

.sim-placeholder-stripes { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; padding: 64px 0; max-width: 1280px; margin: 0 auto; }
.sim-placeholder-stripe { height: 80vh; border-radius: var(--radius-lg); background: linear-gradient(180deg, var(--surface) 0%, var(--surface) 6%, transparent 6%, transparent 8%, var(--surface) 8%, var(--surface) 14%, transparent 14%, transparent 16%, var(--surface) 16%, var(--surface) 22%, transparent 22%); }
.sim-placeholder-stripe--g1 { box-shadow: inset 0 0 0 1px rgba(0,212,255,0.2); }
.sim-placeholder-stripe--g2 { box-shadow: inset 0 0 0 1px rgba(176,38,255,0.2); }
.sim-placeholder-stripe--g3 { box-shadow: inset 0 0 0 1px rgba(255,0,110,0.2); }

.sim-mobile-guard { max-width: 480px; margin: 64px auto; padding: 48px 24px; text-align: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.sim-mobile-guard__icon { font-size: 56px; margin-bottom: 16px; }
.sim-mobile-guard__title { margin: 0 0 12px; font-size: 1.15rem; font-weight: 600; }
.sim-mobile-guard__msg { margin: 0 0 16px; color: var(--text-muted); line-height: 1.6; }
.sim-mobile-guard__msg code { background: var(--surface-elevated); padding: 2px 8px; border-radius: 4px; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 0.9em; color: var(--brand); }
.sim-mobile-guard__hint { margin: 0; font-size: 0.85rem; color: var(--text-muted); opacity: 0.8; }

/* ============================================================
   FULL RENDER SHELL (Iter 3)
   ============================================================ */
.sim-app { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; }

/* ===== Sticky header ===== */
.sim-sticky {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(15,16,20,0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  padding: 16px 32px;
  opacity: 0;
  transition: opacity 500ms ease-out;
  pointer-events: none;
}
.sim-sticky--visible { opacity: 1; pointer-events: auto; }
.sim-sticky__inner {
  max-width: var(--sim-max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  gap: 24px;
  align-items: center;
}
.sim-kpi { display: flex; flex-direction: column; }
.sim-kpi__label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sim-text-faint); font-weight: 600; margin-bottom: 4px; }
.sim-kpi__value { font-size: 18px; font-weight: 700; color: var(--text); font-feature-settings: 'tnum'; transition: color 200ms ease; }
.sim-kpi__value--positive { color: var(--sim-tp); }
.sim-kpi__value--negative { color: var(--sim-sl); }

.sim-banca { display: flex; flex-direction: column; align-items: flex-end; }
.sim-banca__label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sim-text-faint); font-weight: 600; margin-bottom: 6px; }
.sim-banca__dots { display: flex; gap: 5px; align-items: center; }
.sim-banca__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--sim-border-strong); transition: background 250ms ease, transform 250ms ease; }
.sim-banca__dot--filled { background: var(--brand); box-shadow: 0 0 8px var(--sim-brand-glow); }
.sim-banca__dot--changed { animation: sim-banca-pulse 350ms cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes sim-banca-pulse { 0% { transform: scale(0.6); } 60% { transform: scale(1.25); } 100% { transform: scale(1.0); } }
.sim-banca__count { font-size: 12px; color: var(--text-muted); margin-left: 8px; font-feature-settings: 'tnum'; font-weight: 600; }

/* ===== Hero ===== */
.sim-hero {
  padding: 96px 32px;
  max-width: var(--sim-max-w);
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.sim-hero__eyebrow {
  display: inline-block;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--sim-text-faint); font-weight: 600;
  margin-bottom: 24px; padding: 6px 14px;
  border: 1px solid var(--border); border-radius: 100px;
}
.sim-hero__title {
  font-size: 32px; font-weight: 600; line-height: 1.3;
  color: var(--text); max-width: 880px;
  margin: 0 auto 20px; letter-spacing: -0.01em;
}
.sim-hero__title em {
  font-style: normal;
  background: var(--holo-gradient);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}
.sim-hero__sub { color: var(--text-muted); font-size: 15px; max-width: 640px; margin: 0 auto 48px; }

.sim-hero__deck { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 720px; margin: 0 auto; perspective: 1200px; }
.sim-starting {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  text-align: left;
  opacity: 0;
  transform: translateY(20px) scale(0.92);
  animation: sim-starting-enter 600ms ease-out forwards;
}
.sim-starting:nth-child(1) { animation-delay: 200ms; }
.sim-starting:nth-child(2) { animation-delay: 400ms; }
.sim-starting:nth-child(3) { animation-delay: 600ms; }
@keyframes sim-starting-enter { to { opacity: 1; transform: translateY(0) scale(1); } }
.sim-starting--g1 { border-top: 2px solid var(--holo-1); }
.sim-starting--g2 { border-top: 2px solid var(--holo-2); }
.sim-starting--g3 { border-top: 2px solid var(--holo-3); }
.sim-starting__label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--sim-text-faint); margin-bottom: 8px; font-weight: 600; }
.sim-starting--g1 .sim-starting__label { color: var(--holo-1); }
.sim-starting--g2 .sim-starting__label { color: var(--holo-2); }
.sim-starting--g3 .sim-starting__label { color: var(--holo-3); }
.sim-starting__group { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.sim-starting__cost { font-size: 22px; font-weight: 700; color: var(--brand); font-feature-settings: 'tnum'; }
.sim-starting__type { font-size: 11px; color: var(--text-muted); margin-top: 4px; }

/* Reparto: trayectorias divergentes (efecto abanico) */
.sim-hero--dealing .sim-starting:nth-child(1) { animation: sim-deal-g1 850ms cubic-bezier(0.65,0,0.35,1) 0ms forwards; }
.sim-hero--dealing .sim-starting:nth-child(2) { animation: sim-deal-g2 850ms cubic-bezier(0.65,0,0.35,1) 80ms forwards; }
.sim-hero--dealing .sim-starting:nth-child(3) { animation: sim-deal-g3 850ms cubic-bezier(0.65,0,0.35,1) 160ms forwards; }
@keyframes sim-deal-g1 { 0% { opacity: 1; transform: translateY(0) translateX(0) scale(1) rotate(0); } 35% { opacity: 1; transform: translateY(70px) translateX(-50px) scale(0.88) rotate(-4deg); } 100% { opacity: 0; transform: translateY(260px) translateX(-130px) scale(0.55) rotate(-9deg); } }
@keyframes sim-deal-g2 { 0% { opacity: 1; transform: translateY(0) translateX(0) scale(1) rotate(0); } 35% { opacity: 1; transform: translateY(75px) translateX(0) scale(0.88) rotate(0); } 100% { opacity: 0; transform: translateY(280px) translateX(0) scale(0.55) rotate(0); } }
@keyframes sim-deal-g3 { 0% { opacity: 1; transform: translateY(0) translateX(0) scale(1) rotate(0); } 35% { opacity: 1; transform: translateY(70px) translateX(50px) scale(0.88) rotate(4deg); } 100% { opacity: 0; transform: translateY(260px) translateX(130px) scale(0.55) rotate(9deg); } }
.sim-hero--dealing .sim-hero__eyebrow,
.sim-hero--dealing .sim-hero__title,
.sim-hero--dealing .sim-hero__sub { transition: opacity 400ms ease-out, transform 400ms ease-out; opacity: 0.35; transform: translateY(-8px); }

/* ===== Timeline ===== */
.sim-timeline {
  max-width: var(--sim-max-w);
  margin: 0 auto;
  padding: 32px;
  width: 100%;
  opacity: 0;
  transition: opacity 500ms ease-out;
}
.sim-timeline--visible { opacity: 1; }
.sim-timeline__headers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sim-swimlane-gap);
  margin-bottom: 24px;
  position: sticky;
  top: var(--sim-header-h);
  background: var(--bg);
  z-index: 10;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.sim-swimlane-header {
  display: flex; flex-direction: column; gap: 8px;
  padding: 12px 16px;
  background: var(--surface);
  border-radius: 10px;
  border: 1px solid var(--border);
}
.sim-swimlane-header__row { display: flex; justify-content: space-between; align-items: center; }
.sim-swimlane-header__name { font-size: 14px; font-weight: 700; color: var(--text); }
.sim-swimlane-header__balance { font-size: 13px; font-weight: 600; color: var(--text-muted); font-feature-settings: 'tnum'; }
.sim-swimlane-header__balance--pos { color: var(--sim-tp); }
.sim-swimlane-header__balance--neg { color: var(--sim-sl); }
.sim-swimlane-header__badges { display: flex; gap: 6px; flex-wrap: wrap; }

.sim-badge { font-size: 10px; padding: 2px 8px; border-radius: 100px; font-weight: 600; letter-spacing: 0.04em; border: 1px solid var(--sim-border-strong); color: var(--text-muted); }
.sim-badge--desafio { background: rgba(217,119,6,0.12); color: var(--brand); border-color: rgba(217,119,6,0.3); }
.sim-badge--master { background: rgba(0,212,255,0.12); color: var(--holo-1); border-color: rgba(0,212,255,0.3); }
.sim-badge--static { background: rgba(176,38,255,0.12); color: var(--holo-2); border-color: rgba(176,38,255,0.3); }
.sim-badge--empty { background: transparent; color: var(--sim-text-faint); border-color: var(--border); }

.sim-timeline__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sim-swimlane-gap) var(--sim-swimlane-gap);
  grid-auto-rows: minmax(var(--sim-card-min-h), auto);
  align-items: start;
}

/* ===== Cards ===== */
.sim-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: var(--sim-card-min-h);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 220ms ease-out, transform 220ms ease-out, border-color 150ms ease, background 150ms ease;
}
.sim-card:hover { border-color: var(--sim-border-strong); background: var(--surface-elevated); }
.sim-card--animated { opacity: 1; transform: translateY(0); }

.sim-card__badge { flex-shrink: 0; font-size: 11px; font-weight: 700; padding: 4px 8px; border-radius: 6px; letter-spacing: 0.04em; font-feature-settings: 'tnum'; }
.sim-card__badge--tp { background: rgba(16,185,129,0.12); color: var(--sim-tp); border: 1px solid rgba(16,185,129,0.3); }
.sim-card__badge--sl { background: rgba(239,68,68,0.12); color: var(--sim-sl); border: 1px solid rgba(239,68,68,0.3); }
.sim-card__group { font-size: 11px; font-weight: 600; color: var(--text-muted); background: var(--sim-bg-elev-3); padding: 4px 8px; border-radius: 6px; }
.sim-card__op { font-size: 10px; color: var(--sim-text-faint); font-feature-settings: 'tnum'; }
.sim-card__impact { margin-left: auto; font-size: 14px; font-weight: 700; font-feature-settings: 'tnum'; }
.sim-card__impact--pos { color: var(--sim-tp); }
.sim-card__impact--neg { color: var(--sim-sl); }
.sim-card__special { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }

/* Especiales */
.sim-card--pass { background: rgba(251,191,36,0.06); border-color: rgba(251,191,36,0.4); }
.sim-card--burn { background: rgba(239,68,68,0.06); border-color: rgba(239,68,68,0.4); }
.sim-card--withdraw { background: rgba(16,185,129,0.06); border-color: rgba(16,185,129,0.4); }
.sim-card--pass .sim-card__special { color: var(--sim-pass); }
.sim-card--burn .sim-card__special { color: var(--sim-burn); }
.sim-card--withdraw .sim-card__special { color: var(--sim-withdraw); }

/* Pass scale + halo */
.sim-card--pass.sim-card--animated {
  animation: sim-pass-scale 350ms cubic-bezier(0.34, 1.56, 0.64, 1) 220ms both,
             sim-pass-halo 1200ms ease-out 220ms both;
}
@keyframes sim-pass-scale { 0% { transform: scale(0.95); } 60% { transform: scale(1.04); } 100% { transform: scale(1); } }
@keyframes sim-pass-halo {
  0% { box-shadow: 0 0 0 0 var(--sim-pass-glow); }
  50% { box-shadow: 0 0 24px 4px var(--sim-pass-glow), 0 0 40px 8px rgba(251,191,36,0.2); }
  100% { box-shadow: 0 0 12px 1px rgba(251,191,36,0.15); }
}

/* Burn shake + flash */
.sim-card--burn.sim-card--animated { animation: sim-burn-shake 400ms cubic-bezier(0.36, 0.07, 0.19, 0.97) 220ms both; }
@keyframes sim-burn-shake {
  0%, 100% { transform: translateX(0); }
  15% { transform: translateX(-5px); } 30% { transform: translateX(4px); }
  45% { transform: translateX(-3px); } 60% { transform: translateX(2px); }
  75% { transform: translateX(-1px); } 90% { transform: translateX(0.5px); }
}
.sim-card--burn::before { content: ''; position: absolute; inset: -1px; border-radius: 10px; border: 1px solid rgba(239,68,68,0); pointer-events: none; }
.sim-card--burn.sim-card--animated::before { animation: sim-burn-flash 600ms ease-out 220ms both; }
@keyframes sim-burn-flash {
  0% { border-color: rgba(239,68,68,0.9); box-shadow: 0 0 24px 2px var(--sim-burn-glow); }
  100% { border-color: rgba(239,68,68,0); box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}

/* Withdraw glow + shimmer */
.sim-card--withdraw.sim-card--animated { animation: sim-withdraw-glow 1500ms ease-out 220ms both; overflow: hidden; }
.sim-card--withdraw::after {
  content: ''; position: absolute; inset: 0; border-radius: 10px;
  background: linear-gradient(110deg, transparent 30%, rgba(16,185,129,0.15) 45%, rgba(16,185,129,0.35) 50%, rgba(16,185,129,0.15) 55%, transparent 70%);
  background-size: 200% 100%; pointer-events: none; opacity: 0;
}
.sim-card--withdraw.sim-card--animated::after { animation: sim-withdraw-shimmer 1200ms ease-in-out 280ms both; }
@keyframes sim-withdraw-glow {
  0% { box-shadow: 0 0 0 0 var(--sim-withdraw-glow); }
  50% { box-shadow: 0 0 28px 3px var(--sim-withdraw-glow); }
  100% { box-shadow: 0 0 8px 0 rgba(16,185,129,0.15); }
}
@keyframes sim-withdraw-shimmer {
  0% { opacity: 0; background-position: 200% 0; }
  50% { opacity: 1; }
  100% { opacity: 0; background-position: -100% 0; }
}

/* ===== Card expanded ===== */
.sim-card.sim-card--expanded {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  background: var(--surface-elevated);
  border-color: var(--sim-border-strong);
  cursor: default;
  overflow: hidden;
}
.sim-card-expand__header {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.sim-card-expand__op { margin-left: auto; font-size: 11px; color: var(--sim-text-faint); font-feature-settings: 'tnum'; font-weight: 600; }
.sim-card-expand__close {
  background: transparent; border: none; color: var(--sim-text-faint);
  cursor: pointer; font-size: 18px; padding: 0; width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 4px; transition: background 150ms, color 150ms;
}
.sim-card-expand__close:hover { background: var(--sim-bg-elev-3); color: var(--text); }
.sim-card-expand__screenshot { background: var(--bg); border-bottom: 1px solid var(--border); aspect-ratio: 16 / 9; width: 100%; display: block; object-fit: contain; }
.sim-card-expand__breakdown { padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.sim-card-expand__row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 10px; background: var(--surface); border-radius: 6px; border: 1px solid var(--border);
}
.sim-card-expand__row-label { font-size: 12px; color: var(--text-muted); font-weight: 600; }
.sim-card-expand__row-label strong { color: var(--text); font-weight: 700; }
.sim-card-expand__row-value { font-size: 13px; font-weight: 700; font-feature-settings: 'tnum'; }
.sim-card-expand__state {
  padding: 12px 14px; background: var(--surface);
  border-top: 1px solid var(--border);
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 16px;
}
.sim-card-expand__state-item { display: flex; flex-direction: column; gap: 2px; }
.sim-card-expand__state-label { color: var(--sim-text-faint); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.sim-card-expand__state-value { color: var(--text); font-weight: 700; font-size: 12px; font-feature-settings: 'tnum'; }

/* ===== Closing ===== */
.sim-closing {
  max-width: var(--sim-max-w);
  margin: 64px auto 96px;
  padding: 64px 32px;
  text-align: center;
  opacity: 0;
  transition: opacity 500ms ease-out;
}
.sim-closing--visible { opacity: 1; }
.sim-closing__subtitle {
  font-size: 14px; color: var(--sim-text-faint);
  text-transform: uppercase; letter-spacing: 0.18em;
  font-weight: 600; margin-bottom: 8px;
}
.sim-closing__title {
  font-size: 36px; font-weight: 700;
  margin: 0 0 40px;
  background: var(--holo-gradient); background-size: 200% 200%;
  -webkit-background-clip: text; background-clip: text;
  color: transparent; letter-spacing: -0.02em;
}
.sim-closing__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 16px; }
.sim-closing__stat { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 24px 20px; }
.sim-closing__stat-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--sim-text-faint); font-weight: 600; margin-bottom: 8px; }
.sim-closing__stat-value { font-size: 26px; font-weight: 800; font-feature-settings: 'tnum'; letter-spacing: -0.01em; }
.sim-closing__stat-sub { font-size: 11px; color: var(--text-muted); margin-top: 4px; font-weight: 500; }

.sim-closing__secondary {
  display: flex; justify-content: center; gap: 24px; flex-wrap: wrap;
  margin: 0 0 64px; padding: 16px 24px;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.sim-closing__sec-item { display: flex; align-items: baseline; gap: 6px; font-size: 13px; }
.sim-closing__sec-value { font-weight: 700; color: var(--text); font-feature-settings: 'tnum'; }
.sim-closing__sec-label { color: var(--sim-text-faint); font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }

.sim-closing__moti { max-width: 620px; margin: 0 auto; text-align: left; }
.sim-closing__moti-line { color: var(--text); font-size: 17px; line-height: 1.65; margin: 0 0 18px; font-weight: 500; }
.sim-closing__moti-line strong { background: var(--holo-gradient); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; }
.sim-closing__moti-line--punch { font-size: 22px; font-weight: 700; line-height: 1.4; color: var(--text); margin: 32px 0; text-align: center; letter-spacing: -0.01em; }
.sim-closing__moti-line--small { font-size: 14px; color: var(--text-muted); text-align: center; margin: 24px 0 0; font-style: italic; }
