/* ════════════════════════════════════════════════════════════════
   MACHINE FINDER PAGE
   ════════════════════════════════════════════════════════════════ */
.mf-page{font-family:-apple-system,BlinkMacSystemFont,'InterVariable', 'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:#1d1d1f;background:#fff;}
.mf-wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

/* ── HERO ── */
.mf-hero{background:linear-gradient(160deg,#0f1923 0%,#0a1420 55%,#06283f 100%);color:#fff;padding:72px 0 64px;text-align:center;position:relative;overflow:hidden;}
.mf-hero::after{content:'';position:absolute;inset:auto -20% -60% -20%;height:70%;background:radial-gradient(ellipse at center,rgba(0,102,204,0.25),transparent 70%);pointer-events:none;}
.mf-hero-ey{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4da3ff;margin:0 0 14px;}
.mf-hero-h{font-size:clamp(30px,4.5vw,52px);font-weight:700;letter-spacing:-.045em;line-height:1.06;margin:0 0 16px;}
.mf-hero-sub{font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,0.65);line-height:1.55;max-width:640px;margin:0 auto 8px;}
.mf-hero-note{font-size:12.5px;color:rgba(255,255,255,0.4);margin:0;}
.mf-hero-stats{display:flex;justify-content:center;gap:clamp(24px,5vw,64px);margin-top:36px;position:relative;z-index:2;}
.mf-hstat{display:flex;flex-direction:column;gap:3px;}
.mf-hstat b{font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:-.03em;}
.mf-hstat span{font-size:11.5px;color:rgba(255,255,255,0.5);}

/* ── PROGRESS ── */
.mf-progress{position:sticky;top:84px;z-index:50;background:rgba(255,255,255,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,0.06);padding:12px 0;}
.mf-progress-row{display:flex;align-items:center;gap:16px;}
.mf-progress-lbl{font-size:12px;font-weight:600;color:#515154;white-space:nowrap;}
.mf-progress-track{flex:1;height:5px;border-radius:3px;background:rgba(0,0,0,0.07);overflow:hidden;}
#mf-progress-fill{display:block;height:100%;width:8%;border-radius:3px;background:linear-gradient(90deg,var(--brand-blue),#4da3ff);transition:width 400ms cubic-bezier(0.2,0,0,1);}

/* ── STAGE / STEPS ── */
#mf-stage{min-height:480px;padding:44px 0 80px;}
.mf-step{max-width:760px;margin:0 auto;}
.mf-q{font-size:clamp(22px,3vw,32px);font-weight:700;letter-spacing:-.04em;line-height:1.12;margin:0 0 8px;}
.mf-q-sub{font-size:15px;color:#515154;line-height:1.5;margin:0 0 28px;}

.mf-opts{display:grid;gap:10px;}
.mf-opts--2{grid-template-columns:repeat(2,1fr);}
.mf-opts--3{grid-template-columns:repeat(2,1fr);}
@media(max-width:640px){.mf-opts--2,.mf-opts--3{grid-template-columns:1fr;}}
.mf-opt{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1.5px solid rgba(0,0,0,0.1);border-radius:12px;padding:16px 18px;cursor:pointer;transition:border-color 160ms,box-shadow 160ms,transform 160ms;position:relative;font-family:inherit;}
.mf-opt:hover{border-color:rgba(0,0,0,0.22);transform:translateY(-1px);box-shadow:0 6px 18px -6px rgba(0,0,0,0.10);}
.mf-opt.on{border-color:var(--brand-blue);box-shadow:0 0 0 3.5px rgba(0,102,204,0.13);}
.mf-opt-ic{width:42px;height:42px;border-radius:11px;background:rgba(0,102,204,0.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brand-blue);}
.mf-opt-ic svg{width:21px;height:21px;}
.mf-opt-tx{display:flex;flex-direction:column;gap:2px;flex:1;}
.mf-opt-tx b{font-size:14.5px;font-weight:700;letter-spacing:-.015em;color:#1d1d1f;}
.mf-opt-tx span{font-size:12px;color:#6b6b6e;line-height:1.35;}
.mf-opt-check{width:22px;height:22px;border-radius:50%;background:var(--brand-blue);color:#fff;display:none;align-items:center;justify-content:center;flex-shrink:0;}
.mf-opt-check svg{width:12px;height:12px;stroke-width:3;}
.mf-opt.on .mf-opt-check{display:flex;}

/* ── BODY MAP ── */
.mf-bm-row{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;}
@media(max-width:640px){.mf-bm-row{grid-template-columns:1fr;}}
.mf-bm-figure{background:#fafafa;border:1.5px solid rgba(0,0,0,0.07);border-radius:16px;padding:20px;display:flex;justify-content:center;}
.mf-body{width:100%;max-width:210px;height:auto;}
.mf-bp{fill:#e8e8ed;}
.mf-zone{cursor:pointer;}
.mf-zone path,.mf-zone ellipse{fill:#d9d9e0;stroke:#fff;stroke-width:2;transition:fill 180ms;}
.mf-zone:hover path,.mf-zone:hover ellipse{fill:#b9c8e0;}
.mf-zone.on path,.mf-zone.on ellipse{fill:var(--brand-blue);}
.mf-bm-list{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;}
.mf-bm-chip{height:38px;padding:0 18px;border-radius:8px;border:1.5px solid rgba(0,0,0,0.12);background:#fff;font:600 13px inherit;font-family:inherit;color:#1d1d1f;cursor:pointer;transition:all 150ms;}
.mf-bm-chip:hover{border-color:rgba(0,0,0,0.25);}
.mf-bm-chip.on{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;}
.mf-bm-all{border-style:dashed;}
.mf-bm-hint{width:100%;font-size:12px;color:var(--t3);margin:10px 0 0;}

/* ── NAV ── */
.mf-nav{display:flex;align-items:center;justify-content:space-between;margin-top:36px;}
.mf-back{background:none;border:none;font:600 14px inherit;font-family:inherit;color:#515154;cursor:pointer;padding:10px 6px;}
.mf-back:hover{color:#1d1d1f;}
.mf-next{height:46px;padding:0 28px;border-radius:9px;border:none;background:var(--brand-blue);color:#fff;font:600 15px inherit;font-family:inherit;cursor:pointer;transition:background 150ms,transform 150ms,opacity 150ms;}
.mf-next:hover:not(:disabled){background:#005bb5;transform:translateY(-1px);}
.mf-next:disabled{opacity:.35;cursor:not-allowed;}

/* ── RESULTS ── */
.mf-results{max-width:1100px;margin:0 auto;}
.mf-res-head{text-align:center;margin-bottom:36px;}
.mf-res-ey{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1f7a3a;margin:0 0 10px;}
.mf-res-h{font-size:clamp(26px,3.4vw,40px);font-weight:700;letter-spacing:-.04em;margin:0 0 10px;}
.mf-res-sub{font-size:14.5px;color:#515154;margin:0;}
.mf-res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:56px;}
@media(max-width:900px){.mf-res-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto;}}
.mf-res-card{background:#fff;border:1.5px solid rgba(0,0,0,0.08);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform 220ms,box-shadow 220ms;}
.mf-res-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px -12px rgba(0,0,0,0.14);}
.mf-res-card--top{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(0,102,204,0.12);}
.mf-best{position:absolute;top:14px;left:14px;z-index:3;background:var(--brand-blue);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:6px;}
.mf-res-imgwrap{height:180px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.mf-res-imgwrap img{width:100%;height:100%;object-fit:contain;padding:14px;}
.mf-res-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;flex:1;}
.mf-res-toprow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.mf-res-name{font-size:18px;font-weight:700;letter-spacing:-.025em;margin:0 0 3px;}
.mf-res-tag{font-size:12px;color:#6b6b6e;margin:0;line-height:1.35;}
.mf-ring{position:relative;width:60px;height:60px;flex-shrink:0;}
.mf-ring svg{width:60px;height:60px;transform:rotate(-90deg);}
.mf-ring-bg{fill:none;stroke:rgba(0,0,0,0.07);stroke-width:5;}
.mf-ring-fg{fill:none;stroke:var(--brand-blue);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset 900ms cubic-bezier(0.2,0,0,1);}
.mf-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;letter-spacing:-.03em;}
.mf-ring-num small{font-size:9px;font-weight:600;margin-top:3px;}
.mf-res-muscles{display:flex;flex-direction:column;gap:4px;}
.mf-mb{display:flex;align-items:center;gap:8px;}
.mf-mb-l{width:30px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--t3);}
.mf-mb.hot .mf-mb-l{color:var(--brand-blue);}
.mf-mb-track{flex:1;height:5px;border-radius:3px;background:rgba(0,0,0,0.06);overflow:hidden;}
.mf-mb-fill{display:block;height:100%;border-radius:3px;background:#c9c9d0;}
.mf-mb.hot .mf-mb-fill{background:var(--brand-blue);}
.mf-res-why{font-size:12.5px;line-height:1.5;color:#515154;margin:0;}
.mf-res-notes{display:flex;flex-wrap:wrap;gap:5px;margin:0;}
.mf-res-notes span{font-size:10.5px;font-weight:600;color:#1f7a3a;background:#e6f7ee;border-radius:5px;padding:3px 8px;}
.mf-res-foot-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:6px;}
.mf-res-price{font-size:12px;color:#6b6b6e;}
.mf-res-price b{font-size:14px;color:#1d1d1f;letter-spacing:-.02em;}
.mf-res-cta{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:8px;background:var(--brand-blue);color:#fff;font:600 12.5px inherit;font-family:inherit;text-decoration:none;transition:background 150ms;white-space:nowrap;}
.mf-res-cta:hover{background:#005bb5;}

/* ── COMPARISON ── */
.mf-cmp-wrap{margin-bottom:48px;}
.mf-cmp-h{font-size:clamp(18px,2.2vw,24px);font-weight:700;letter-spacing:-.03em;margin:0 0 18px;}
.mf-cmp-scroll{overflow-x:auto;border:1.5px solid rgba(0,0,0,0.08);border-radius:14px;background:#fff;}
.mf-cmp{width:100%;border-collapse:collapse;font-size:13px;min-width:640px;}
.mf-cmp th{padding:16px 16px 12px;text-align:left;border-bottom:1.5px solid rgba(0,0,0,0.08);vertical-align:bottom;}
.mf-cmp-th{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.mf-cmp-th img{width:64px;height:48px;object-fit:contain;background:#f5f5f7;border-radius:8px;padding:4px;}
.mf-cmp-th span{font-size:13.5px;font-weight:700;letter-spacing:-.02em;}
.mf-cmp td{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,0.05);vertical-align:top;color:#515154;line-height:1.45;}
.mf-cmp tr:last-child td{border-bottom:none;}
.mf-cmp-lbl{font-weight:600;color:#1d1d1f!important;white-space:nowrap;width:148px;}
.mf-td-pct{font-size:16px;color:var(--brand-blue);letter-spacing:-.02em;}
.mf-td-caution{font-size:12px;color:#8a6d1a;}
.mf-cmp-spec-h td{background:#fafafa;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);padding:10px 16px;}
.mf-meter{display:flex;flex-direction:column;gap:4px;min-width:110px;}
.mf-meter-track{height:5px;border-radius:3px;background:rgba(0,0,0,0.07);overflow:hidden;display:block;}
.mf-meter-fill{display:block;height:100%;border-radius:3px;background:var(--brand-blue);}
.mf-meter-lbl{font-size:11px;color:#6b6b6e;}

/* ── RESULTS FOOT ── */
.mf-res-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:8px;}
.mf-restart{background:none;border:none;font:600 13.5px inherit;font-family:inherit;color:#515154;cursor:pointer;padding:10px 4px;}
.mf-restart:hover{color:#1d1d1f;}
.mf-shopall{display:inline-flex;align-items:center;height:40px;padding:0 20px;border-radius:8px;border:1.5px solid rgba(0,0,0,0.14);background:#fff;color:#1d1d1f;font:600 13.5px inherit;font-family:inherit;text-decoration:none;transition:border-color 150ms,box-shadow 150ms;}
.mf-shopall:hover{border-color:rgba(0,0,0,0.28);box-shadow:0 4px 12px -4px rgba(0,0,0,0.10);}

/* ── EXERCISE IS MEDICINE band ── */
.mf-medicine{background:#fafafa;border-top:1px solid rgba(0,0,0,0.06);padding:64px 0;}
.mf-med-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;}
@media(max-width:820px){.mf-med-grid{grid-template-columns:1fr;}}
.mf-med-h{font-size:clamp(22px,2.8vw,32px);font-weight:700;letter-spacing:-.04em;margin:0 0 8px;text-align:center;}
.mf-med-sub{font-size:14.5px;color:#515154;text-align:center;max-width:620px;margin:0 auto;line-height:1.55;}
.mf-med-card{background:#fff;border:1.5px solid rgba(0,0,0,0.07);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:8px;}
.mf-med-card b{font-size:15px;font-weight:700;letter-spacing:-.02em;}
.mf-med-card p{font-size:13px;color:#515154;line-height:1.55;margin:0;}
.mf-med-stat{font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--brand-blue);}

/* ════ iOS-STYLE ENHANCEMENT LAYER ════ */
/* Softer, friendlier cards */
.mf-opt{border-radius:16px;border-color:rgba(0,0,0,0.07);box-shadow:0 1px 3px rgba(0,0,0,0.03);}
.mf-opt:hover{box-shadow:0 8px 24px -8px rgba(0,0,0,0.12);}
.mf-opt.on{background:rgba(0,102,204,0.04);}
.mf-opt-ic{border-radius:13px;background:linear-gradient(145deg,rgba(0,102,204,0.10),rgba(0,102,204,0.06));}
.mf-opt.on .mf-opt-ic{background:var(--brand-blue);color:#fff;}
.mf-opt-ic,.mf-opt-check{transition:background 200ms,transform 250ms cubic-bezier(0.34,1.56,0.64,1);}
.mf-opt.on .mf-opt-ic{transform:scale(1.05);}

/* iOS spring on selection check */
@keyframes mfPop{0%{transform:scale(0.4);opacity:0;}70%{transform:scale(1.15);}100%{transform:scale(1);opacity:1;}}
.mf-opt.on .mf-opt-check{display:flex;animation:mfPop 320ms cubic-bezier(0.34,1.56,0.64,1);}

/* Friendlier chips */
.mf-bm-chip{border-radius:12px;height:42px;box-shadow:0 1px 3px rgba(0,0,0,0.03);}
.mf-bm-chip.on{box-shadow:0 4px 14px -4px rgba(0,102,204,0.4);}
.mf-bm-figure{border-radius:20px;background:linear-gradient(180deg,#fbfbfd,#f4f4f7);}

/* iOS-style primary button */
.mf-next{border-radius:13px;height:50px;padding:0 32px;font-size:16px;box-shadow:0 4px 16px -4px rgba(0,102,204,0.35);}
.mf-next:hover:not(:disabled){box-shadow:0 8px 24px -6px rgba(0,102,204,0.45);}
.mf-next:active:not(:disabled){transform:scale(0.97);}

/* Progress: thicker, friendlier */
.mf-progress-track{height:7px;border-radius:4px;}
#mf-progress-fill{border-radius:4px;}

/* Result cards: softer */
.mf-res-card{border-radius:20px;}
.mf-res-cta{border-radius:11px;height:38px;}
.mf-cmp-scroll{border-radius:18px;}

/* ── PRESCRIPTION CARD (iOS health-app style) ── */
.mf-rx{background:linear-gradient(150deg,#0f1923,#06283f);border-radius:22px;color:#fff;padding:28px clamp(20px,3vw,36px);margin-bottom:28px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;position:relative;overflow:hidden;}
.mf-rx::after{content:'';position:absolute;inset:auto -20% -80% 50%;height:140%;background:radial-gradient(ellipse,rgba(0,102,204,0.3),transparent 70%);pointer-events:none;}
@media(max-width:640px){.mf-rx{grid-template-columns:1fr;}}
.mf-rx-ring{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(77,163,255,0.4);position:relative;z-index:2;}
.mf-rx-ring b{font-size:22px;font-weight:700;letter-spacing:-.03em;color:#4da3ff;}
.mf-rx-ring span{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,0.5);}
.mf-rx-body{position:relative;z-index:2;}
.mf-rx-ey{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4da3ff;margin:0 0 6px;}
.mf-rx-h{font-size:clamp(17px,2vw,22px);font-weight:700;letter-spacing:-.03em;line-height:1.25;margin:0 0 6px;}
.mf-rx-sub{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.55;margin:0;}

/* Health benefit pills on result cards */
.mf-res-health{display:flex;flex-wrap:wrap;gap:5px;margin:0;}
.mf-res-health span{font-size:10.5px;font-weight:600;color:var(--brand-blue);background:rgba(0,102,204,0.08);border-radius:7px;padding:4px 9px;}


/* ════════════════════════════════════════════════════════════════
   V2 — premium body map, step polish, tiers, hero results
   ════════════════════════════════════════════════════════════════ */
@keyframes mfIn{from{transform:translateY(16px)}to{transform:translateY(0)}}
@media (prefers-reduced-motion: no-preference){
  .mf-step,.mf-results{animation:mfIn 380ms cubic-bezier(0.2,0,0,1);}
}
.mf-step-ey{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-blue);margin:0 0 10px;}
.mf-encourage{text-align:center;font-size:12.5px;color:var(--t3);margin:18px 0 0;font-style:normal;}

/* ── BODY MAP V2 ── */
.mf-bm-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:stretch;}
@media(max-width:760px){.mf-bm-row{grid-template-columns:1fr;}}
.mf-bm-figure{display:none;}
.mf-bm-list{display:none;}
.mf-bm-card{background:linear-gradient(168deg,#1a2232 0%,#121826 55%,#0d1320 100%);border-radius:22px;padding:24px 22px 18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 48px -16px rgba(8,14,28,0.55);position:relative;overflow:hidden;}
.mf-bm-card::after{content:'';position:absolute;inset:-30% -30% auto;height:75%;background:radial-gradient(ellipse at 50% 0%,rgba(0,102,204,0.22),transparent 65%);pointer-events:none;}
.mf-bm-card-t{font-size:15px;font-weight:700;letter-spacing:-.02em;color:#fff;text-align:center;margin:0;position:relative;z-index:2;}
.mf-bm-figwrap{display:flex;justify-content:center;position:relative;z-index:2;}
.mf-body{width:100%;max-width:200px;height:auto;}
.mf-zone path{fill:url(#mfBodyShade);stroke:rgba(255,255,255,0.35);stroke-width:1.4;cursor:pointer;transition:fill 200ms,filter 200ms;}
.mf-zone:hover path{fill:#b9cdf0;}
.mf-zone.on path{fill:url(#mfZoneGrad);filter:url(#mfGlow);stroke:rgba(160,205,255,0.8);}
.mf-zone:focus-visible{outline:none;}
.mf-zone:focus-visible path{stroke:#4da3ff;stroke-width:2.4;}
.mf-bm-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative;z-index:2;}
@media(max-width:480px){.mf-bm-tiles{grid-template-columns:repeat(2,1fr);}}
.mf-bm-tile{display:flex;flex-direction:column;align-items:center;gap:6px;background:rgba(255,255,255,0.07);border:1.5px solid rgba(255,255,255,0.12);border-radius:14px;padding:12px 6px 10px;cursor:pointer;font-family:inherit;transition:background 180ms,border-color 180ms,transform 180ms;}
.mf-bm-tile:hover{background:rgba(255,255,255,0.13);transform:translateY(-2px);}
.mf-bm-tile.on{background:var(--brand-blue);border-color:#4da3ff;box-shadow:0 6px 18px -4px rgba(0,102,204,0.5);}
.mf-bm-tile-ic{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,0.10);display:flex;align-items:center;justify-content:center;color:#bcd4f5;}
.mf-bm-tile.on .mf-bm-tile-ic{background:rgba(255,255,255,0.18);color:#fff;}
.mf-bm-tile-ic svg{width:17px;height:17px;}
.mf-bm-tile-l{font-size:11px;font-weight:600;color:rgba(255,255,255,0.75);}
.mf-bm-tile.on .mf-bm-tile-l{color:#fff;}
.mf-bm-tile--all{border-style:dashed;}

.mf-bm-side{display:flex;flex-direction:column;gap:14px;}
.mf-bm-count{display:flex;align-items:baseline;gap:8px;background:#fff;border:1.5px solid rgba(0,0,0,0.08);border-radius:16px;padding:18px 22px;}
.mf-bm-count b{font-size:34px;font-weight:700;letter-spacing:-.04em;color:var(--brand-blue);line-height:1;}
.mf-bm-count span{font-size:13.5px;color:#515154;font-weight:600;}
.mf-bm-mot{background:#f0f6ff;border:1.5px solid rgba(0,102,204,0.14);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.mf-bm-mot-ey{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-blue);margin:0;}
.mf-bm-mot-q{font-size:16.5px;font-weight:700;letter-spacing:-.025em;line-height:1.35;color:#1d1d1f;margin:0;}
.mf-bm-mot-sub{font-size:13px;color:#515154;line-height:1.55;margin:0;}
.mf-bm-dots{display:flex;gap:6px;margin-top:auto;padding-top:8px;}
.mf-bm-dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,0.10);}
.mf-bm-dot.done{background:var(--brand-blue);}
.mf-bm-dot.now{background:var(--brand-blue);box-shadow:0 0 0 3.5px rgba(0,102,204,0.18);}
.mf-bm-hint{font-size:12px;color:var(--t3);margin:0;text-align:center;}

/* ── TIER BADGES ── */
.mf-tiers{display:flex;flex-wrap:wrap;gap:5px;}
.mf-tier{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:6px;opacity:.55;}
.mf-tier.hot{opacity:1;}
.mf-tier--home{background:#e6f7ee;color:#1f7a3a;}
.mf-tier--light{background:rgba(0,102,204,0.10);color:var(--brand-blue);}
.mf-tier--full{background:#1d1d1f;color:#fff;}

/* ── HERO MATCH CARD ── */
.mf-hero-match{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);background:#fff;border:2px solid var(--brand-blue);border-radius:20px;overflow:hidden;box-shadow:0 0 0 4px rgba(0,102,204,0.10),0 22px 56px -18px rgba(0,30,80,0.18);margin-bottom:40px;}
@media(max-width:820px){.mf-hero-match{grid-template-columns:1fr;}}
.mf-hm-img{position:relative;background:#f5f5f7;display:flex;align-items:center;justify-content:center;min-height:280px;}
.mf-hm-img img{width:100%;height:100%;object-fit:contain;padding:24px;}
.mf-hm-img .mf-best{position:absolute;top:16px;left:16px;}
.mf-hm-body{padding:26px 28px 24px;display:flex;flex-direction:column;gap:14px;}
.mf-hm-toprow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.mf-hm-name{font-size:24px;font-weight:700;letter-spacing:-.035em;margin:0 0 4px;}
.mf-hm-tag{font-size:13.5px;color:#6b6b6e;margin:0;}
.mf-ring--lg{width:70px;height:70px;}
.mf-ring--lg svg{width:70px;height:70px;}
.mf-ring--lg .mf-ring-num{font-size:17px;}
.mf-hm-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;}
@media(max-width:560px){.mf-hm-cols{grid-template-columns:1fr;}}
.mf-hm-right{display:flex;flex-direction:column;gap:10px;}
.mf-hm-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(0,0,0,0.06);padding-top:16px;}
.mf-res-cta--lg{height:44px;padding:0 26px;font-size:14.5px;border-radius:10px;}
.mf-more-h{font-size:clamp(18px,2.2vw,24px);font-weight:700;letter-spacing:-.03em;margin:0 0 16px;}

/* muscle bars: non-selected get soft slate-blue, selected stay vivid */
.mf-mb-fill{background:#aebfd6;}
.mf-mb.hot .mf-mb-fill{background:linear-gradient(90deg,var(--brand-blue),#4da3ff);}
.mf-mb.hot .mf-mb-l{font-weight:800;}


/* ════════════════════════════════════════════════════════════════
   V3 — body map step: light clinical-friendly theme (option 3)
   ════════════════════════════════════════════════════════════════ */
.mf-bm-card {
  background: #fff !important;
  border: 1.5px solid rgba(0,0,0,0.08);
  box-shadow: 0 14px 40px -16px rgba(13,19,32,0.14) !important;
  border-radius: 22px;
}
.mf-bm-card::after {
  background: radial-gradient(ellipse at 50% 8%, rgba(0,102,204,0.08), transparent 62%) !important;
}
.mf-bm-card-t { color: #1d1d1f !important; }
.mf-body { max-width: 230px !important; }
.mf-zone path {
  fill: url(#mfBodyShade);
  stroke: #fff;
  stroke-width: 1.6;
}
.mf-zone:hover path { fill: #b9cdf0 !important; }
.mf-zone.on path { fill: url(#mfZoneGrad) !important; stroke: rgba(255,255,255,0.9) !important; }
.mf-bm-tile {
  background: #f5f5f7 !important;
  border: 1.5px solid rgba(0,0,0,0.07) !important;
}
.mf-bm-tile:hover { background: #eef2f8 !important; }
.mf-bm-tile.on {
  background: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
}
.mf-bm-tile-ic { background: rgba(0,102,204,0.08) !important; color: var(--brand-blue) !important; }
.mf-bm-tile.on .mf-bm-tile-ic { background: rgba(255,255,255,0.18) !important; color: #fff !important; }
.mf-bm-tile-l { color: #515154 !important; }
.mf-bm-tile.on .mf-bm-tile-l { color: #fff !important; }

