/* MoveU Journey 2.0 — final mobile-first onboarding UI */
:root {
  --j2-navy: #10254a;
  --j2-navy-2: #17345f;
  --j2-mint: #58c7b7;
  --j2-mint-strong: #16a98f;
  --j2-mint-soft: #eaf9f6;
  --j2-text: #11233e;
  --j2-muted: #75849c;
  --j2-line: #e7ebf0;
  --j2-surface: #ffffff;
  --j2-shadow: 0 18px 45px rgba(26, 58, 86, .10);
}

.moveu-app.moveu-app--journey2 {
  width: 100%;
  max-width: 860px;
  min-height: 100vh;
  margin: 0 auto;
  color: var(--j2-text);
  background: #fff;
  border: 0;
  border-radius: 0;
  overflow: visible;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
  line-height: 1.35;
  box-shadow: none;
}

.moveu-app.moveu-app--journey2::before,
.moveu-app.moveu-app--journey2::after { display: none !important; }

.moveu-j2 {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: max(22px, env(safe-area-inset-top)) clamp(20px, 5vw, 42px) calc(28px + env(safe-area-inset-bottom));
  background: #fff;
}

.moveu-j2__top {
  position: relative;
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr);
  align-items: center;
  gap: 10px;
}

.moveu-j2__back {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  color: #6e7a8c;
  background: transparent;
  border: 0;
  font-size: 16px;
  font-weight: 520;
}
.moveu-j2__back:disabled { opacity: .36; cursor: default; }
.moveu-j2__back svg { width: 21px; height: 21px; stroke: currentColor; stroke-width: 2.1; fill: none; }

.moveu-j2__logo {
  justify-self: center;
  width: clamp(126px, 34vw, 176px);
  height: auto;
  display: block;
}

.moveu-j2__step {
  justify-self: end;
  color: #64728a;
  font-size: 16px;
  font-weight: 650;
  white-space: nowrap;
}
.moveu-j2__step strong { color: var(--j2-mint-strong); font-weight: 780; }

.moveu-j2__progress {
  height: 6px;
  margin: 14px 0 22px;
  overflow: hidden;
  background: #edf0f4;
  border-radius: 999px;
}
.moveu-j2__progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #53c6b5, #12a58a);
  transition: width 880ms cubic-bezier(.16,1,.3,1);
}

.moveu-j2__visual {
  width: 100%;
  min-height: 160px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
}
.moveu-j2__visual img {
  display: block;
  width: 100%;
  max-height: clamp(205px, 43vw, 340px);
  object-fit: contain;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}

.moveu-j2__content { max-width: 650px; margin: 0 auto; }
.moveu-j2 h1 {
  margin: 0;
  color: #0d213e;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif !important;
  font-size: clamp(31px, 7.5vw, 50px);
  font-weight: 780;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.moveu-j2__lead {
  margin: 12px 0 26px;
  color: #77859b;
  font-size: clamp(16px, 4.3vw, 21px);
  line-height: 1.48;
  font-weight: 440;
}
.moveu-j2__lead strong { color: var(--j2-mint-strong); font-weight: 700; }

.moveu-j2__form { display: grid; gap: 18px; }
.moveu-j2__section { display: grid; gap: 10px; }
.moveu-j2__label,
.moveu-j2__section-title {
  margin: 0;
  color: #1d2d47;
  font-size: 17px;
  font-weight: 720;
}
.moveu-j2__section-note {
  margin: -5px 0 4px;
  color: #8793a5;
  font-size: 14px;
}

.moveu-j2__field {
  min-height: 68px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border: 1.4px solid #e3e8ee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(29,55,83,.025);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.moveu-j2__field:focus-within {
  border-color: rgba(45, 184, 164, .62);
  box-shadow: 0 0 0 3px rgba(88,199,183,.10);
}
.moveu-j2__field svg { width: 24px; height: 24px; color: #58bfae; stroke: currentColor; fill: none; stroke-width: 1.9; }
.moveu-j2__field input {
  width: 100%;
  min-width: 0;
  padding: 18px 0;
  color: #233551;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 17px;
}
.moveu-j2__field input::placeholder { color: #a0a9b8; }
.moveu-j2__field input[type="date"] { color-scheme: light; }
.moveu-j2__field input[type="date"]::-webkit-calendar-picker-indicator { opacity: .45; }
.moveu-j2__field-chevron { color:#6dbfae; font-size:22px; line-height:1; }

.moveu-j2__segmented {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  overflow: hidden;
  border: 1.4px solid #e2e7ed;
  border-radius: 15px;
  background: #fff;
}
.moveu-j2__segmented label { position: relative; min-width: 0; }
.moveu-j2__segmented label + label { border-left: 1px solid #e6eaf0; }
.moveu-j2__segmented input { position:absolute; opacity:0; pointer-events:none; }
.moveu-j2__segment {
  min-height: 72px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding: 10px 8px;
  color:#3f4d62;
  text-align:center;
  cursor:pointer;
  transition:160ms ease;
}
.moveu-j2__segment strong { font-size:16px; font-weight:650; }
.moveu-j2__segment small { color:#8490a2; font-size:13px; line-height:1.2; }
.moveu-j2__segmented input:checked + .moveu-j2__segment {
  color:#276f67;
  background: linear-gradient(135deg, rgba(230,249,246,.9), rgba(246,252,251,.96));
  box-shadow: inset 0 0 0 1px rgba(63,183,165,.42);
}

.moveu-j2__grid { display:grid; gap:12px; }
.moveu-j2__grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.moveu-j2__grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }

.moveu-j2__choice { position:relative; min-width:0; }
.moveu-j2__choice > input { position:absolute; opacity:0; pointer-events:none; }
.moveu-j2__card {
  position:relative;
  height:100%;
  min-height: 122px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:6px;
  padding:16px;
  border:1.4px solid #e1e6ec;
  border-radius:16px;
  background:#fff;
  color:#1a2d4b;
  cursor:pointer;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.moveu-j2__card:hover { transform: translateY(-1px); }
.moveu-j2__card-icon { width:36px; height:36px; display:grid; place-items:center; color:#49b8a7; }
.moveu-j2__card-icon svg { width:32px; height:32px; stroke:currentColor; fill:none; stroke-width:1.8; }
.moveu-j2__card-icon--emoji,
.moveu-j2__lead-emoji {
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-style:normal;
  font-weight:400;
  line-height:1;
}
.moveu-j2__card-icon--emoji {
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:inherit;
  filter:saturate(.98);
}
.moveu-j2__card-copy,
.moveu-j2__row-copy {
  min-width:0;
  display:grid;
  align-content:start;
  gap:3px;
}
.moveu-j2__card strong,
.moveu-j2__row-copy strong,
.moveu-j2__segment strong,
.moveu-j2__pill span {
  text-wrap:balance;
}
.moveu-j2__card strong { font-size:16px; line-height:1.2; font-weight:730; }
.moveu-j2__card small { color:#7d899b; font-size:13px; line-height:1.35; }
.moveu-j2__card-check {
  position:absolute;
  top:12px;
  right:12px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#45baa8;
  border-radius:50%;
  opacity:0;
  transform:scale(.76);
  transition:160ms ease;
  font-size:14px;
  font-weight:800;
}
.moveu-j2__choice input:checked + .moveu-j2__card {
  border-color:#58c7b7;
  background:linear-gradient(145deg,#fbfffe,#edf9f7);
  box-shadow:0 10px 28px rgba(64,175,158,.09);
}
.moveu-j2__choice input:checked + .moveu-j2__card .moveu-j2__card-check { opacity:1; transform:scale(1); }

.moveu-j2__row-choice .moveu-j2__card {
  min-height: 74px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 28px;
  align-items:center;
  gap:12px;
  padding:14px 16px;
}
.moveu-j2__row-choice .moveu-j2__card-icon { width:38px; height:38px; }
.moveu-j2__row-choice .moveu-j2__card-check {
  position:static;
  opacity:1;
  transform:none;
  color:transparent;
  background:transparent;
  border:2px solid #d6dde6;
}
.moveu-j2__row-choice input:checked + .moveu-j2__card .moveu-j2__card-check {
  color:#fff;
  background:#4cbba9;
  border-color:#4cbba9;
}
.moveu-j2__row-copy { min-width:0; }
.moveu-j2__row-copy strong { display:block; font-size:16px; }
.moveu-j2__row-copy small { display:block; margin-top:2px; }

.moveu-j2__counter-row {
  min-height: 76px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border:1.4px solid #e3e8ee;
  border-radius:16px;
  background:#fff;
}
.moveu-j2__counter-copy strong { display:block; font-size:16px; }
.moveu-j2__counter-copy small { display:block; margin-top:2px; color:#8490a3; font-size:13px; }
.moveu-j2__counter {
  display:grid;
  grid-template-columns:48px 52px 48px;
  align-items:center;
  overflow:hidden;
  border:1px solid #e3e8ee;
  border-radius:14px;
}
.moveu-j2__counter button,
.moveu-j2__counter output {
  height:52px;
  display:grid;
  place-items:center;
  border:0;
  background:#fff;
  color:#263952;
  font-size:23px;
}
.moveu-j2__counter button { color:#54bca9; }
.moveu-j2__counter button + output,
.moveu-j2__counter output + button { border-left:1px solid #e7ebef; }
.moveu-j2__counter output { font-size:20px; font-weight:700; }

.moveu-j2__pills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.moveu-j2__pill { position:relative; }
.moveu-j2__pill input { position:absolute; opacity:0; }
.moveu-j2__pill span {
  min-height: 52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 10px;
  border:1.4px solid #e1e6ed;
  border-radius:14px;
  color:#657286;
  background:#fff;
  text-align:center;
  cursor:pointer;
  font-size:14px;
  line-height:1.2;
}
.moveu-j2__pill input:checked + span {
  color:#3fae9f;
  border-color:#54c1b0;
  background:#f3fbf9;
  font-weight:650;
}
.moveu-j2__pill input:checked + span::after { content:"✓"; color:#fff; background:#4eb7a7; border-radius:50%; width:18px; height:18px; display:grid; place-items:center; font-size:11px; }

.moveu-j2__budget-custom {
  display:none;
  margin-top:10px;
  padding:15px;
  border:1.4px solid #58c7b7;
  border-radius:15px;
  background:#fbfffe;
}
.moveu-j2__budget-custom.is-open { display:block; animation:j2Fade .18s ease; }
.moveu-j2__money { display:grid; grid-template-columns:auto 1fr; align-items:center; overflow:hidden; border:1px solid #e0e6ec; border-radius:12px; }
.moveu-j2__money span { padding:13px 14px; color:#7a8799; border-right:1px solid #e6ebef; font-size:13px; }
.moveu-j2__money input { width:100%; padding:13px 14px; border:0; outline:0; color:#20334f; background:#fff; font-weight:700; font-size:17px; }

.moveu-j2__invite { border-top:1px solid #edf0f3; padding-top:2px; }
.moveu-j2__invite-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0; color:#718096; background:none; border:0; font-size:15px; text-align:left; }
.moveu-j2__invite-toggle strong { display:flex; align-items:center; gap:9px; font-weight:520; }
.moveu-j2__invite-panel { display:none; padding-bottom:6px; }
.moveu-j2__invite-panel.is-open { display:block; animation:j2Fade .18s ease; }

.moveu-j2__conditional { display:none; }
.moveu-j2__conditional.is-open { display:grid; }

.moveu-j2__actions { display:grid; gap:10px; margin-top: 4px; }
.moveu-j2__primary {
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:14px 20px;
  color:#fff;
  background:linear-gradient(90deg,#53b9ad,#61c6b8);
  border:0;
  border-radius:14px;
  box-shadow:0 14px 28px rgba(65,177,161,.20);
  font-size:20px;
  font-weight:650;
  transition:160ms ease;
}
.moveu-j2__primary:hover { transform:translateY(-1px); filter:saturate(1.05); }
.moveu-j2__primary:disabled { opacity:.62; transform:none; cursor:wait; }
.moveu-j2__primary svg { width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:2; }
.moveu-j2__skip {
  justify-self:center;
  padding:5px 10px;
  color:#6f7b8c;
  background:transparent;
  border:0;
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:16px;
}

.moveu-j2__inline-error {
  margin: -4px 0 0;
  color:#ba4e55;
  font-size:13px;
  font-weight:600;
}

/* Plan building screen */
.moveu-j2--building { padding-top:max(28px,env(safe-area-inset-top)); text-align:center; }
.moveu-j2--building .moveu-j2__logo { margin:0 auto 12px; width:180px; }
.moveu-j2__build-visual { position:relative; margin:6px auto 2px; max-width:650px; }
.moveu-j2__build-visual img { width:100%; max-height:390px; object-fit:contain; }
.moveu-j2__build-ring {
  overflow:hidden;
  isolation:isolate;
}
.moveu-j2__build-ring.is-complete {
  background:#66cabc;
}

@keyframes muJ2VisualEnter {
  from { opacity:0; transform:translate3d(0,18px,0) scale(.985); filter:blur(4px); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); filter:none; }
}
@keyframes muJ2ContentEnter {
  from { opacity:0; transform:translate3d(0,22px,0) scale(.992); filter:blur(3px); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); filter:none; }
}
@keyframes muJ2VisualEnterBack {
  from { opacity:0; transform:translate3d(0,-14px,0) scale(.988); filter:blur(3px); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); filter:none; }
}

.moveu-j2--screen-enter .moveu-j2__visual {
  animation:muJ2VisualEnter .54s cubic-bezier(.16,1,.3,1) both;
  will-change:opacity,transform,filter;
}
.moveu-j2--screen-enter .moveu-j2__content {
  animation:muJ2ContentEnter .62s cubic-bezier(.16,1,.3,1) .055s both;
  will-change:opacity,transform,filter;
}
.moveu-j2--screen-enter-backward .moveu-j2__visual,
.moveu-j2--screen-enter-backward .moveu-j2__content {
  animation-name:muJ2VisualEnterBack;
}
.moveu-j2--screen-enter-backward .moveu-j2__content { animation-delay:.045s; }

.moveu-j2--transition-armed .moveu-j2__visual,
.moveu-j2--transition-armed .moveu-j2__content {
  opacity:.955;
  transform:translate3d(0,-3px,0) scale(.998);
  transition:opacity .22s ease,transform .32s cubic-bezier(.22,.8,.3,1),filter .22s ease !important;
}

.moveu-j2-transition-layer {
  position:fixed;
  inset:0;
  z-index:2147483645;
  pointer-events:none;
  overflow:hidden;
  background:transparent;
  contain:layout paint;
}
.moveu-j2-transition-ghost {
  background:#fff;
  pointer-events:none !important;
  will-change:opacity,transform,filter;
}
.moveu-j2-transition-ghost .moveu-j2__top,
.moveu-j2-transition-ghost .moveu-j2__progress { visibility:hidden !important; }
.moveu-j2-transition-layer .moveu-j2-transition-ghost .moveu-j2__visual,
.moveu-j2-transition-layer .moveu-j2-transition-ghost .moveu-j2__content {
  transition:opacity .48s cubic-bezier(.22,.8,.3,1),transform .52s cubic-bezier(.22,.8,.3,1),filter .46s ease !important;
}
.moveu-j2-transition-layer.is-leaving .moveu-j2-transition-ghost .moveu-j2__visual,
.moveu-j2-transition-layer.is-leaving .moveu-j2-transition-ghost .moveu-j2__content {
  opacity:0 !important;
  transform:translate3d(0,-16px,0) scale(.985) !important;
  filter:blur(4px) !important;
}
.moveu-j2-transition-layer--backward.is-leaving .moveu-j2-transition-ghost .moveu-j2__visual,
.moveu-j2-transition-layer--backward.is-leaving .moveu-j2-transition-ghost .moveu-j2__content {
  transform:translate3d(0,14px,0) scale(.988) !important;
}

.moveu-j2__build-ring {
  position:absolute;
  left:50%;
  top:4.5%;
  width:96px;
  aspect-ratio:1;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(#66cabc var(--progress), #edf2f4 0);
}
.moveu-j2__build-ring::after { content:""; position:absolute; inset:7px; background:#fff; border-radius:50%; }
.moveu-j2__build-ring strong { position:relative; z-index:1; color:#142a4e; font-size:23px; }
.moveu-j2--building h1 { margin:4px auto 0; max-width:540px; font-size:clamp(32px,7vw,48px); }
.moveu-j2--building .moveu-j2__lead { max-width:520px; margin:10px auto 18px; }
.moveu-j2__project-card {
  max-width:570px;
  margin:0 auto;
  padding:18px;
  border:1px solid #eef2f5;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%);
  box-shadow:0 18px 42px rgba(17,35,58,.06), inset 0 1px 0 rgba(255,255,255,.92);
  text-align:left;
}
.moveu-j2__project-card label {
  display:block;
  margin:0 0 10px;
  font-size:14px;
  font-weight:700;
  color:#263650;
  letter-spacing:-.01em;
}
.moveu-j2__project-input {
  min-height:66px;
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  gap:10px;
  padding:0 18px;
  border:1.4px solid #d8e8e4;
  border-radius:18px;
  background:linear-gradient(180deg,#fbfdfd 0%,#f7fbfb 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}
.moveu-j2__project-input:focus-within {
  border-color:#73cec0;
  box-shadow:0 0 0 4px rgba(101,202,188,.14), 0 12px 30px rgba(17,35,58,.06), inset 0 1px 0 rgba(255,255,255,.92);
}
.moveu-j2__project-input input {
  width:100%;
  min-height:66px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:#263751;
  font-size:23px;
  font-weight:650;
  letter-spacing:-.025em;
}
.moveu-j2__project-input input::placeholder { color:#8f9cae; }
.moveu-j2__project-example {
  margin:10px 2px 0;
  color:#7e8b9d;
  font-size:12px;
  line-height:1.35;
}
.moveu-j2__project-example strong { color:#3b516f; font-weight:700; }
.moveu-j2--building .moveu-j2__primary { max-width:570px; margin:6px auto 0; }

@keyframes j2Spin { to { transform:rotate(360deg); } }
@keyframes j2Fade { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:none; } }

@media (max-width: 560px) {
  .moveu-j2 { padding-left:34px; padding-right:34px; padding-top:max(18px, env(safe-area-inset-top)); }
  .moveu-j2__top { min-height:46px; grid-template-columns: 82px 1fr 72px; gap:8px; }
  .moveu-j2__logo { width:122px; }
  .moveu-j2__back { font-size:14.5px; color:#748196; }
  .moveu-j2__step { font-size:14.5px; }
  .moveu-j2__progress { margin-top:8px; margin-bottom:14px; height:4px; }
  .moveu-j2__visual { min-height:0; margin-bottom:10px; }
  .moveu-j2__visual img { width:auto; max-width:100%; max-height:235px; }
  .moveu-j2 h1 { font-size:clamp(29px,7.9vw,33px); font-weight:730; line-height:1.075; letter-spacing:-.032em; }
  .moveu-j2__lead { margin-top:9px; margin-bottom:16px; font-size:15.5px; line-height:1.43; }
  .moveu-j2__card { padding:13px; min-height:116px; }
  .moveu-j2__grid--3 .moveu-j2__card { align-items:center; text-align:center; padding:12px 8px; min-height:140px; }
  .moveu-j2__grid--3 .moveu-j2__card-icon { margin-top:2px; }
  .moveu-j2__grid--3 .moveu-j2__card strong { font-size:14px; }
  .moveu-j2__grid--3 .moveu-j2__card small { font-size:12px; }
  .moveu-j2__grid--3 .moveu-j2__card-check { width:22px; height:22px; top:8px; right:8px; }
  .moveu-j2__counter-row { padding:14px; }
  .moveu-j2__pills { grid-template-columns: repeat(3, minmax(0,1fr)); gap:8px; }
  .moveu-j2__pill span { padding:8px 6px; font-size:13px; }
  .moveu-j2__primary { min-height:56px; font-size:17px; border-radius:13px; }
  .moveu-j2__build-ring { top:4.5%; width:86px; }
}

@media (max-width: 360px) {
  .moveu-j2__grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .moveu-j2__pills { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .moveu-j2__top { grid-template-columns: 78px 1fr 66px; }
  .moveu-j2__logo { width:116px; }
  .moveu-j2__back span { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .moveu-j2 *, .moveu-j2 *::before, .moveu-j2 *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important; }
}

.moveu-j2__date-field { position: relative; cursor: pointer; }
.moveu-j2__date-display { color:#35465f; font-size:17px; pointer-events:none; }
.moveu-j2__date-native {
  position:absolute !important;
  inset:0;
  width:100% !important;
  height:100%;
  opacity:0;
  cursor:pointer;
  z-index:3;
}
.moveu-j2__lead--brand { display:flex; align-items:center; gap:9px; color:#6f7e92; }
.moveu-j2__lead-icon { width:28px; height:28px; flex:0 0 28px; color:#3fb3a2; }
.moveu-j2__lead-icon svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.8; }


/* J2.4 — 200% polish foundation derived from approved F1 reference */
.moveu-j2__date-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0 16px 8px;
  border: 1.25px solid #e1e6ec;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(31, 57, 84, .02);
}
.moveu-j2__date-fieldset legend {
  max-width: calc(100% - 28px);
  margin-left: 1px;
  padding: 0 7px;
  color: #748197;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.15;
}
.moveu-j2__date-control {
  position: relative;
  min-height: 52px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.moveu-j2__date-control svg {
  width: 24px;
  height: 24px;
  color: #71c8bb;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
}
.moveu-j2__date-fieldset:focus-within {
  border-color: rgba(80, 190, 173, .58);
  box-shadow: 0 0 0 3px rgba(88, 199, 183, .08);
}
.moveu-j2__date-display {
  color: #53647c;
  font-size: 16px;
  font-weight: 470;
}
.moveu-j2__date-control .moveu-j2__field-chevron {
  color: #718198;
  font-size: 20px;
  transform: translateY(-1px);
}

@media (max-width: 560px) {
  .moveu-j2__form { gap:14px; }
  .moveu-j2__actions { gap:8px; margin-top:2px; }
  .moveu-j2__skip { padding:3px 8px; font-size:15px; }

  .moveu-j2[data-j2-step="1"] .moveu-j2__visual {
    margin-top:0;
    margin-bottom:9px;
  }
  .moveu-j2[data-j2-step="1"] .moveu-j2__visual img {
    width:auto;
    max-width:94%;
    max-height:218px;
  }
  .moveu-j2[data-j2-step="1"] h1 {
    max-width: 310px;
  }
  .moveu-j2[data-j2-step="1"] .moveu-j2__lead {
    max-width: 320px;
  }
  .moveu-j2[data-j2-step="1"] .moveu-j2__primary {
    color:#173150;
    background:linear-gradient(90deg,#d9f2ef 0%,#cceceb 100%);
    box-shadow:0 9px 22px rgba(57, 158, 146, .09);
    font-weight:620;
  }
  .moveu-j2[data-j2-step="1"] .moveu-j2__primary:hover {
    filter:none;
  }
}

@media (max-width: 390px) and (max-height: 760px) {
  .moveu-j2 { padding-top:max(14px, env(safe-area-inset-top)); padding-bottom:calc(18px + env(safe-area-inset-bottom)); }
  .moveu-j2__top { min-height:42px; }
  .moveu-j2__progress { margin-top:6px; margin-bottom:11px; }
  .moveu-j2[data-j2-step="1"] .moveu-j2__visual img { max-height:196px; }
  .moveu-j2[data-j2-step="1"] h1 { font-size:29px; }
  .moveu-j2[data-j2-step="1"] .moveu-j2__lead { margin-top:7px; margin-bottom:13px; font-size:15px; }
  .moveu-j2__date-control { min-height:48px; }
  .moveu-j2__primary { min-height:52px; }
}


/* J2.5 — all-step compact viewport + transparent artwork pass */
.moveu-j2__visual,
.moveu-j2__visual img { background: transparent !important; }
.moveu-j2__pet-emoji {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:24px;
  line-height:1;
  filter:saturate(.92);
}

@media (max-width:560px) {
  /* F1 is already approved. Compact the denser questions independently. */
  .moveu-j2:not([data-j2-step="1"]) {
    padding-left:34px;
    padding-right:34px;
    padding-top:max(12px, env(safe-area-inset-top));
    padding-bottom:calc(14px + env(safe-area-inset-bottom));
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__top { min-height:40px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__progress { margin:5px 0 9px; height:4px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__visual { margin:0 auto 7px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__visual img {
    width:auto;
    max-width:94%;
    max-height:132px;
  }
  .moveu-j2:not([data-j2-step="1"]) h1 {
    font-size:27px;
    line-height:1.04;
    font-weight:720;
    letter-spacing:-.031em;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__lead {
    margin:6px 0 10px;
    font-size:13.5px;
    line-height:1.34;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__form { gap:8px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__section { gap:5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__label,
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__section-title { font-size:14px; line-height:1.18; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__section-note { margin:-2px 0 2px; font-size:11.5px; line-height:1.22; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__field {
    min-height:51px;
    grid-template-columns:24px minmax(0,1fr) auto;
    gap:9px;
    padding:0 13px;
    border-radius:13px;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__field svg { width:20px; height:20px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__field input { padding:12px 0; font-size:14px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__field-chevron { font-size:17px; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__grid { gap:7px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card {
    min-height:88px;
    gap:3px;
    padding:10px 11px;
    border-radius:13px;
    overflow:hidden;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card-icon { width:27px; height:27px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card-icon svg { width:25px; height:25px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card strong {
    max-width:100%;
    font-size:13.5px;
    line-height:1.12;
    font-weight:700;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card small {
    max-width:100%;
    font-size:11px;
    line-height:1.22;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card-check { top:7px; right:7px; width:19px; height:19px; font-size:11px; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__row-choice .moveu-j2__card {
    min-height:54px;
    grid-template-columns:31px minmax(0,1fr) 21px;
    gap:9px;
    padding:8px 11px;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__row-choice .moveu-j2__card-icon { width:28px; height:28px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__row-copy strong { font-size:13.5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__row-choice .moveu-j2__card-check { width:19px; height:19px; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter-row {
    min-height:57px;
    gap:10px;
    padding:8px 11px;
    border-radius:13px;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter-copy strong { font-size:13.5px; line-height:1.15; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter-copy small { font-size:11px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter { grid-template-columns:37px 40px 37px; border-radius:11px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter button,
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter output { height:39px; font-size:19px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter output { font-size:16px; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segmented { border-radius:12px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segment {
    min-height:52px;
    gap:2px;
    padding:6px 4px;
    min-width:0;
    overflow:hidden;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segment strong {
    display:block;
    max-width:100%;
    font-size:12px;
    line-height:1.08;
    font-weight:650;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segment small { font-size:10.5px; line-height:1.08; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segment .moveu-j2__card-icon { width:24px; height:24px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segment .moveu-j2__card-icon svg { width:22px; height:22px; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__pills { gap:6px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__pill span {
    min-height:39px;
    padding:5px 5px;
    border-radius:11px;
    font-size:11.5px;
    line-height:1.08;
  }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__actions { gap:5px; margin-top:1px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__primary { min-height:48px; padding:9px 15px; border-radius:12px; font-size:15px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__primary svg { width:20px; height:20px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__skip { padding:2px 7px; font-size:13px; }

  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__invite-toggle { padding:6px 0; font-size:12.5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__budget-custom { margin-top:4px; padding:8px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__money span,
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__money input { padding:8px 9px; font-size:11.5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__money input { font-size:13px; }

  /* Dense 3-column cards: keep the complete six-option screens inside one Safari viewport. */
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 { gap:6px; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card {
    min-height:92px;
    padding:7px 5px;
    gap:2px;
  }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card strong,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card strong { font-size:11.7px; line-height:1.05; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card small,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card small { font-size:9.5px; line-height:1.08; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card-icon,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card-icon { width:23px; height:23px; }

  /* F5: the four transport modes are deliberately much smaller than the decision cards. */
  .moveu-j2[data-j2-step="5"] .moveu-j2__segment { min-height:58px; padding:5px 2px; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__segment strong { font-size:10.5px; line-height:1.02; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__section-title { font-size:13.5px; }

  /* Emoji line on F3. */
  .moveu-j2[data-j2-step="3"] .moveu-j2__pet-emoji { width:24px; height:24px; font-size:20px; }
}

/* Safari on iPhones with browser chrome visible: a second compact tier. */
@media (max-width:560px) and (max-height:760px) {
  .moveu-j2:not([data-j2-step="1"]) { padding-top:max(8px, env(safe-area-inset-top)); padding-bottom:8px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__top { min-height:36px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__logo { width:112px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__back,
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__step { font-size:13px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__progress { margin:4px 0 7px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__visual { margin-bottom:5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__visual img { max-height:108px; max-width:90%; }
  .moveu-j2:not([data-j2-step="1"]) h1 { font-size:25px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__lead { margin:4px 0 7px; font-size:12.5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__form { gap:6px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card { min-height:80px; padding:8px 9px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card strong { font-size:12.5px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__card small { font-size:10.2px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__row-choice .moveu-j2__card { min-height:49px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__counter-row { min-height:52px; padding:7px 10px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__segment { min-height:47px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__pill span { min-height:35px; font-size:10.8px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__primary { min-height:44px; font-size:14px; }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__skip { font-size:12px; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card { min-height:82px; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card strong,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card strong { font-size:10.8px; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card small,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card small { font-size:8.8px; }
}

/* J2.6 — guided completion states + dense mobile clarity */
.moveu-j2__primary {
  color:#173150;
  background:linear-gradient(90deg,#dff4f1 0%,#d3efec 100%);
  box-shadow:0 8px 20px rgba(57,158,146,.07);
  opacity:1;
}
.moveu-j2__primary.is-ready {
  color:#fff;
  background:linear-gradient(90deg,#45b9aa 0%,#58c7b7 100%);
  box-shadow:0 13px 26px rgba(48,168,151,.19);
}
.moveu-j2__primary:disabled {
  opacity:1;
  cursor:default;
  transform:none !important;
  filter:none !important;
}
.moveu-j2[data-j2-step="1"] .moveu-j2__primary {
  color:#173150;
  background:linear-gradient(90deg,#dff4f1 0%,#d3efec 100%);
  box-shadow:0 8px 20px rgba(57,158,146,.07);
}
.moveu-j2[data-j2-step="1"] .moveu-j2__primary.is-ready {
  color:#fff;
  background:linear-gradient(90deg,#45b9aa 0%,#58c7b7 100%);
  box-shadow:0 13px 26px rgba(48,168,151,.19);
}

@media (max-width:560px) {
  /* Give the calmer product scenes a little more presence without growing dense steps. */
  .moveu-j2[data-j2-step="2"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="4"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="6"] .moveu-j2__visual img { max-height:154px; max-width:100%; }
  .moveu-j2[data-j2-step="3"] .moveu-j2__visual img { max-height:148px; max-width:100%; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="9"] .moveu-j2__visual img { max-height:142px; max-width:100%; }

  /* On mobile the headings carry the meaning; detail copy is intentionally removed on dense cards. */
  .moveu-j2[data-j2-step="4"] .moveu-j2__card small,
  .moveu-j2[data-j2-step="5"] .moveu-j2__card small,
  .moveu-j2[data-j2-step="7"] .moveu-j2__card small,
  .moveu-j2[data-j2-step="8"] .moveu-j2__card small,
  .moveu-j2[data-j2-step="9"] .moveu-j2__card small { display:none; }

  /* F4: the three planning choices remain obvious without explanatory sublines. */
  .moveu-j2[data-j2-step="4"] .moveu-j2__row-choice .moveu-j2__card {
    min-height:46px;
    padding:7px 10px;
  }
  .moveu-j2[data-j2-step="4"] .moveu-j2__row-copy strong { font-size:13.2px; }
  .moveu-j2[data-j2-step="4"] .moveu-j2__pill span { min-height:36px; }
  .moveu-j2[data-j2-step="4"] .moveu-j2__invite-toggle { padding:5px 0; }

  /* F5: clear titles, no mobile descriptions, and compact decision cards. */
  .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 { gap:6px; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card {
    min-height:66px;
    padding:7px 9px;
    gap:2px;
  }
  .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card-icon { width:23px; height:23px; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card strong {
    font-size:12.5px;
    line-height:1.08;
    overflow-wrap:normal;
    word-break:normal;
  }
  .moveu-j2[data-j2-step="5"] .moveu-j2__row-choice .moveu-j2__card { min-height:44px; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__segment { min-height:48px; padding:4px 2px; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__segment strong {
    font-size:10.8px;
    line-height:1.05;
    overflow-wrap:normal;
    word-break:normal;
  }

  /* F7: budget choices stay readable while the full question fits much more comfortably. */
  .moveu-j2[data-j2-step="7"] .moveu-j2__grid--2 { gap:6px; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__grid--2 .moveu-j2__card {
    min-height:58px;
    padding:7px 9px;
    justify-content:center;
  }
  .moveu-j2[data-j2-step="7"] .moveu-j2__grid--2 .moveu-j2__card-icon { display:none; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__grid--2 .moveu-j2__card strong { font-size:12.7px; line-height:1.08; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__row-choice .moveu-j2__card { min-height:43px; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__row-copy strong { font-size:12.8px; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__segment { min-height:42px; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__budget-custom { padding:6px 8px; }

  /* F8/F9: titles only on mobile; this is much calmer and prevents overflow. */
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card {
    min-height:70px;
    padding:6px 5px;
    justify-content:center;
  }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card strong,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card strong {
    font-size:11.5px;
    line-height:1.06;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:auto;
  }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card-icon,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card-icon { width:24px; height:24px; }
}

@media (max-width:560px) and (max-height:760px) {
  .moveu-j2[data-j2-step="2"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="4"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="6"] .moveu-j2__visual img { max-height:128px; max-width:98%; }
  .moveu-j2[data-j2-step="3"] .moveu-j2__visual img { max-height:124px; max-width:98%; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="9"] .moveu-j2__visual img { max-height:120px; max-width:98%; }

  .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card { min-height:60px; }
  .moveu-j2[data-j2-step="5"] .moveu-j2__segment { min-height:44px; }
  .moveu-j2[data-j2-step="7"] .moveu-j2__grid--2 .moveu-j2__card { min-height:53px; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card { min-height:64px; }
}

/* J2.7 — adaptive visual breathing room + MoveU interaction motion */
.moveu-j2 {
  --j2-visual-air: 0px;
  -webkit-tap-highlight-color: transparent;
}

.moveu-j2__visual img,
.moveu-j2__visual img:hover,
.moveu-j2__visual img:active {
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

@media (max-width:560px) {
  /* Only spend vertical whitespace when the real visible viewport has room for it. */
  .moveu-j2__visual {
    margin-top: var(--j2-visual-air) !important;
  }
  .moveu-j2[data-j2-step="1"] .moveu-j2__visual {
    margin-bottom: calc(10px + var(--j2-visual-air)) !important;
  }
  .moveu-j2:not([data-j2-step="1"]) .moveu-j2__visual {
    margin-bottom: calc(7px + var(--j2-visual-air)) !important;
  }

  /* F3 gets a little more emotional presence while remaining viewport-aware. */
  .moveu-j2[data-j2-step="3"] .moveu-j2__visual img {
    max-height: 162px;
    max-width: 100%;
  }

  /* Re-extracted J2.7 assets contain deliberate transparent bottom safety space. */
  .moveu-j2[data-j2-step="8"] .moveu-j2__visual img,
  .moveu-j2[data-j2-step="9"] .moveu-j2__visual img {
    object-position: center center;
    overflow: visible;
  }
}

@media (max-width:560px) and (max-height:760px) {
  .moveu-j2[data-j2-step="3"] .moveu-j2__visual img {
    max-height: 134px;
    max-width: 100%;
  }
}

/* Apple-like interaction language: no Elementor-style sticky mobile hover. */
.moveu-j2__card,
.moveu-j2__segment,
.moveu-j2__pill span,
.moveu-j2__field,
.moveu-j2__counter button,
.moveu-j2__primary,
.moveu-j2__skip,
.moveu-j2__invite-toggle {
  -webkit-tap-highlight-color: transparent !important;
  transition-timing-function: cubic-bezier(.22,.8,.3,1) !important;
}

@media (hover:hover) and (pointer:fine) {
  .moveu-j2__choice:hover .moveu-j2__card {
    transform: translateY(-2px) scale(1.004) !important;
    border-color: rgba(69,186,168,.46);
    background: linear-gradient(145deg,#ffffff,#f7fcfb);
    box-shadow: 0 12px 30px rgba(28,74,95,.09);
  }
  .moveu-j2__segmented label:hover .moveu-j2__segment,
  .moveu-j2__pill:hover span {
    color:#2f7169;
    background:#f7fcfb;
    box-shadow: inset 0 0 0 1px rgba(80,190,173,.18);
  }
  .moveu-j2__field:hover {
    border-color: rgba(88,191,174,.48);
    box-shadow: 0 8px 24px rgba(28,74,95,.055);
  }
  .moveu-j2__counter button:hover {
    color:#2ea892;
    background:#f3fbf9;
  }
  .moveu-j2__primary.is-ready:hover {
    transform: translateY(-1px) !important;
    filter: none !important;
    box-shadow: 0 16px 30px rgba(48,168,151,.23);
  }
  .moveu-j2__skip:hover,
  .moveu-j2__invite-toggle:hover {
    color:#3f8279;
  }
}

@media (hover:none), (pointer:coarse) {
  .moveu-j2__card:hover,
  .moveu-j2__primary:hover,
  .moveu-j2__segment:hover,
  .moveu-j2__pill span:hover,
  .moveu-j2__field:hover {
    transform:none !important;
    filter:none !important;
  }
}

.moveu-j2__choice:active .moveu-j2__card,
.moveu-j2__segmented label:active .moveu-j2__segment,
.moveu-j2__pill:active span,
.moveu-j2__counter button:active,
.moveu-j2__primary.is-ready:active {
  transform: scale(.985) !important;
  transition-duration: 90ms !important;
}

.moveu-j2__choice > input:focus-visible + .moveu-j2__card,
.moveu-j2__segmented input:focus-visible + .moveu-j2__segment,
.moveu-j2__pill input:focus-visible + span,
.moveu-j2__primary:focus-visible,
.moveu-j2__skip:focus-visible,
.moveu-j2__back:focus-visible,
.moveu-j2__invite-toggle:focus-visible {
  outline: 3px solid rgba(77,190,173,.23) !important;
  outline-offset: 3px;
}


/* J2.8 — robust hover neutralisation + emoji-first selection language */
.moveu-j2__card:hover,
.moveu-j2__primary:hover,
.moveu-j2__segment:hover,
.moveu-j2__pill span:hover,
.moveu-j2__field:hover,
.moveu-j2__counter button:hover,
.moveu-j2__skip:hover,
.moveu-j2__invite-toggle:hover {
  transform:none;
  filter:none;
}

.moveu-j2__segment .moveu-j2__card-icon--emoji {
  width:26px;
  height:26px;
  font-size:22px;
}
.moveu-j2__lead-emoji {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 28px;
  font-size:22px;
}
.moveu-j2__choice .moveu-j2__card,
.moveu-j2__segmented .moveu-j2__segment,
.moveu-j2__pill span {
  backdrop-filter:saturate(1.03);
}
.moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card,
.moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card,
.moveu-j2[data-j2-step="6"] .moveu-j2__segment {
  justify-content:flex-start;
}
.moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card-copy,
.moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card-copy {
  gap:4px;
}
.moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card strong,
.moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card strong {
  letter-spacing:-.02em;
}
.moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card small,
.moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card small {
  line-height:1.24;
}

@media (hover:none), (pointer:coarse) {
  .moveu-app--journey2 .moveu-j2 :is(button,label,a,.moveu-j2__card,.moveu-j2__segment,.moveu-j2__pill span,.moveu-j2__field,.moveu-j2__counter button):hover {
    transform:none !important;
    filter:none !important;
    animation:none !important;
  }
}

@media (max-width:560px) {
  .moveu-j2__card-icon--emoji { font-size:24px; }
  .moveu-j2__project-card { padding:16px; border-radius:22px; }
  .moveu-j2__project-input { min-height:62px; padding:0 16px; border-radius:16px; }
  .moveu-j2__project-input input { min-height:62px; font-size:18px; }
  .moveu-j2__project-example { font-size:11.5px; }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card {
    align-items:center;
    text-align:center;
  }
  .moveu-j2[data-j2-step="8"] .moveu-j2__grid--3 .moveu-j2__card-copy,
  .moveu-j2[data-j2-step="9"] .moveu-j2__grid--3 .moveu-j2__card-copy {
    justify-items:center;
  }
}


/* J2.8.1 — final hover hardening */
.moveu-app--journey2 .moveu-j2 :is(button,a,label,input,select,textarea,.moveu-j2__card,.moveu-j2__segment,.moveu-j2__pill span,.moveu-j2__field,.moveu-j2__counter button) {
  -webkit-tap-highlight-color: rgba(98,205,189,.14) !important;
}
.moveu-app--journey2 .moveu-j2 :is(button,a,label,.moveu-j2__card,.moveu-j2__segment,.moveu-j2__pill span,.moveu-j2__field,.moveu-j2__counter button):hover,
.moveu-app--journey2 .moveu-j2 :is(button,a,label,.moveu-j2__card,.moveu-j2__segment,.moveu-j2__pill span,.moveu-j2__field,.moveu-j2__counter button):active {
  background-image:none !important;
}


/* J2.8.2 — hard Elementor isolation + F5 mobile card polish */
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 * {
  --e-global-color-primary: #0b2246 !important;
  --e-global-color-secondary: #6f7f94 !important;
  --e-global-color-accent: #55c4b3 !important;
  -webkit-tap-highlight-color: rgba(85,196,179,.12) !important;
}

/* Never allow Elementor's generic red button hover/focus/active skin inside Journey 2. */
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button:focus-visible,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button:active {
  -webkit-appearance:none !important;
  appearance:none !important;
  text-shadow:none !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:focus-visible,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:active,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__back,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__back:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__back:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__back:active,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__invite-toggle,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__invite-toggle:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__invite-toggle:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__invite-toggle:active {
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:active {
  color:#748197 !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary:active {
  color:#173150 !important;
  background-color:#d6efec !important;
  background-image:linear-gradient(90deg,#dff4f1 0%,#d3efec 100%) !important;
  border-color:transparent !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary.is-ready,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary.is-ready:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary.is-ready:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__primary.is-ready:active {
  color:#fff !important;
  background-color:#52c1b0 !important;
  background-image:linear-gradient(90deg,#45b9aa 0%,#58c7b7 100%) !important;
  border-color:transparent !important;
}

/* Selection surfaces always keep MoveU white/mint states, even while Safari keeps :hover after a tap. */
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__card:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__card:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__card:active {
  color:#1a2d4b !important;
  background-color:#fff !important;
  background-image:none !important;
  border-color:#dfe5ec !important;
  box-shadow:none !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__choice input:checked + .moveu-j2__card,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__choice input:checked + .moveu-j2__card:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__choice input:checked + .moveu-j2__card:active {
  color:#1a2d4b !important;
  background-color:#f0faf8 !important;
  background-image:linear-gradient(145deg,#fbfffe,#edf9f7) !important;
  border-color:#58c7b7 !important;
  box-shadow:0 10px 28px rgba(64,175,158,.09) !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segment:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segment:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segment:active,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__pill span:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__pill span:active {
  color:#3f4d62 !important;
  background-color:#fff !important;
  background-image:none !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segmented input:checked + .moveu-j2__segment,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segmented input:checked + .moveu-j2__segment:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__pill input:checked + span,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__pill input:checked + span:hover {
  color:#276f67 !important;
  background-color:#effaf8 !important;
  background-image:linear-gradient(135deg,rgba(230,249,246,.96),rgba(246,252,251,.99)) !important;
}

@media (max-width:560px) {
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card {
    min-height:70px !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    align-items:center !important;
    justify-items:start !important;
    gap:9px !important;
    padding:10px 12px !important;
    text-align:left !important;
    border-radius:16px !important;
  }
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card-icon--emoji {
    width:32px !important;
    height:32px !important;
    font-size:25px !important;
  }
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card-copy {
    align-self:center !important;
    gap:0 !important;
  }
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card strong {
    font-size:12.7px !important;
    line-height:1.08 !important;
    letter-spacing:-.015em !important;
  }
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2[data-j2-step="5"] .moveu-j2__grid--2 .moveu-j2__card-check {
    top:7px !important;
    right:7px !important;
  }
}


/* J2.8.4 — stable-shell morph, no selection twitch, hard counter isolation */
.moveu-j2__stage-host {
  position:relative;
  width:100%;
  min-width:0;
  transition:height .66s cubic-bezier(.16,1,.3,1);
  will-change:height;
}
.moveu-j2__stage {
  position:relative;
  width:100%;
  min-width:0;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.moveu-j2__stage-host.is-morphing {
  overflow:visible;
}
.moveu-j2__stage--incoming {
  pointer-events:none;
}

/* Keep the persistent top line completely stable during question-to-question morphs. */
.moveu-j2__top,
.moveu-j2__progress {
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  animation:none !important;
  will-change:auto !important;
}

/* A selection must never move the entire card/screen on touch. State changes use only color/border. */
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__choice:active .moveu-j2__card,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segmented label:active .moveu-j2__segment,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__pill:active span,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:active,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__primary.is-ready:active {
  transform:none !important;
  animation:none !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__card,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__segment,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__pill span {
  transition-property:background-color,border-color,color,box-shadow,opacity !important;
  transition-duration:.18s !important;
  transition-timing-function:cubic-bezier(.22,.8,.3,1) !important;
}

/* Elementor/theme must never skin +/- counter buttons red in any pseudo-state. */
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:focus-visible,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:active,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:visited {
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#fff !important;
  background-color:#fff !important;
  background-image:none !important;
  color:#50bfae !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  outline-color:rgba(80,191,174,.28) !important;
  filter:none !important;
}
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 .moveu-j2__counter button:disabled {
  background:#fff !important;
  color:#b8c5cf !important;
  opacity:.62 !important;
}

/* Make the Skip button equally immune to Elementor's accent color. */
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:hover,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:focus,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:focus-visible,
body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 button.moveu-j2__skip:active {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  color:#748197 !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  transform:none !important;
  filter:none !important;
}

@media (hover:none), (pointer:coarse) {
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 * {
    -webkit-tap-highlight-color:transparent !important;
  }
  body.moveu-flow-active #moveu-app.moveu-app--journey2 .moveu-j2 :is(button,label,a,.moveu-j2__card,.moveu-j2__segment,.moveu-j2__pill span):active {
    transform:none !important;
    filter:none !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .moveu-j2__stage-host { transition:none !important; }
}
