.rmz {
  margin: 18px 0 0; /* 与上方面包屑留出呼吸空隙 */
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
}
.rmz button { font-family: inherit; }
.rmz h2, .rmz h3, .rmz p { margin: 0; }

/* 顶部渐变头（官网 .hero 同款浅橙 + 柔光斑） */
.rmz-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(170deg, #fff3e8 0%, #fffdfb 52%, #fdf0e1 100%);
  border-radius: 14px;
  padding: 34px 32px 84px;
}
.rmz-hero::before {
  content: '';
  position: absolute;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(248, 182, 45, 0.14);
  left: -70px; bottom: -70px;
}
.rmz-hero::after {
  content: '';
  position: absolute;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: rgba(255, 122, 69, 0.09);
  right: -90px; top: -120px;
}
.rmz-hero-kicker {
  position: relative; z-index: 1;
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  color: #e85d2a;
  background: #fff;
  border: 1px solid #ffd6c2;
  box-shadow: 0 2px 10px rgba(232, 93, 42, 0.08);
  border-radius: 999px;
  padding: 5px 16px;
  margin-bottom: 16px;
}
.rmz-hero-title {
  position: relative; z-index: 1;
  font-size: 30px;
  line-height: 1.3;
  font-weight: 700;
  color: #1f2637;
  letter-spacing: 0.5px;
}
.rmz-hero-sub {
  position: relative; z-index: 1;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7488;
  max-width: 620px;
}

/* 白卡（官网 .card 同款），压在渐变头上 */
.rmz-card {
  position: relative;
  z-index: 2;
  margin: -56px 0 0;
  background: #fff;
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(31, 38, 55, 0.09);
}
.rmz-card + .rmz-card { margin-top: 18px; }

/* 答题卡：答题阶段没有渐变头垫底，-56px 的上浮会把白卡拽到面包屑导航上面
   （2026-10-07 用户反馈「挡住了下面的导航位置信息」），这里取消上浮、贴正常流排。 */
.rmz-quiz { margin: 0; }

/* 结果阶段照官网新版（app.js 结果块）的排布：色块横幅与下方卡片分离、
   不上浮重叠——建议卡距色块 22px，后续间距同官网（卡间 18px、转化卡 22px）。 */
.rmz-result-hero + .rmz-card { margin-top: 22px; }
.rmz-card-title { margin: 0 0 10px; font-size: 17px; font-weight: 600; color: #1f2637; }
.rmz-card-text { margin: 0; color: #6b7488; font-size: 15px; line-height: 1.75; }

/* 表单 */
.rmz-field { margin-bottom: 18px; }
.rmz-label { display: block; font-size: 14.5px; font-weight: 600; color: #1f2637; margin-bottom: 8px; }
.rmz-input {
  width: 100%;
  border: 1.5px solid #eef0f5;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
  color: #1f2637;
  background: #fff;
  outline: none;
  transition: border-color 0.16s, box-shadow 0.16s;
}
.rmz-input:focus { border-color: #ff7a45; box-shadow: 0 0 0 3px rgba(255, 122, 69, 0.14); }
.rmz-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.rmz-chip {
  padding: 9px 16px;
  border-radius: 999px;
  border: 1.5px solid #eef0f5;
  background: #fff;
  font-size: 14px;
  color: #6b7488;
  cursor: pointer;
  transition: all 0.16s;
}
.rmz-chip:hover { border-color: #ffd6c2; }
.rmz-chip.on {
  background: #fff1e8;
  border-color: #ff7a45;
  color: #e85d2a;
  font-weight: 600;
}

/* 提示条 */
.rmz-alert {
  border-radius: 10px;
  padding: 13px 16px;
  font-size: 14px;
  line-height: 1.65;
  margin-bottom: 16px;
}
.rmz-alert-warn { background: #fff8e3; border: 1px solid #ffe49a; color: #8f6b00; }
.rmz-alert-danger { background: #fdecec; color: #b03030; }

/* 按钮（官网 .btn 家族同款） */
.rmz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 30px;
  border: none;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.16s, box-shadow 0.16s, background 0.16s;
  white-space: nowrap;
}
.rmz-btn:active { transform: translateY(1px); }
.rmz-btn-primary {
  background: linear-gradient(135deg, #ff9166, #ff6a2e);
  color: #fff;
  box-shadow: 0 10px 24px rgba(255, 106, 46, 0.28);
}
.rmz-btn-primary:hover { box-shadow: 0 14px 30px rgba(255, 106, 46, 0.36); }
.rmz-btn-gold {
  background: linear-gradient(135deg, #ffd24a, #eda200);
  color: #4a3600;
  box-shadow: 0 10px 24px rgba(184, 138, 0, 0.3);
}
.rmz-btn-ghost {
  background: #fff;
  color: #ff7a45;
  border: 1.5px solid #ffd6c2;
}
.rmz-btn-ghost:hover { background: #fff1e8; }
.rmz-btn-plain { background: #f5f6fa; color: #6b7488; }
.rmz-btn-plain:hover { background: #eceef4; }
.rmz-btn-sm { height: 38px; padding: 0 18px; font-size: 14px; }
.rmz-btn-lg { height: 56px; padding: 0 40px; font-size: 17px; }
.rmz-btn-block { display: flex; width: 100%; }

/* 覆盖维度点 */
.rmz-points { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 20px; }
.rmz-point { font-size: 14px; color: #6b7488; display: flex; align-items: center; gap: 8px; }
.rmz-point i { width: 6px; height: 6px; border-radius: 50%; background: #ff7a45; display: block; flex: 0 0 6px; }

/* 答题 */
.rmz-progress { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.rmz-progress-text { font-size: 14.5px; font-weight: 600; color: #1f2637; }
.rmz-progress-dim { margin-left: auto; font-size: 13.5px; color: #9aa3b2; }
.rmz-bar { height: 7px; border-radius: 999px; background: #eef0f5; overflow: hidden; margin-bottom: 24px; }
.rmz-fill { height: 100%; border-radius: 999px; background: #ff7a45; transition: width 0.26s ease; }
.rmz-q { font-size: 18px; font-weight: 600; line-height: 1.6; color: #1f2637; margin-bottom: 20px; }
.rmz-opts { display: flex; gap: 10px; flex-wrap: wrap; }
.rmz-actions { display: flex; gap: 12px; align-items: center; margin-top: 24px; }
.rmz-actions .rmz-spacer { margin-left: auto; }

/* 结果 */
.rmz-result-hero { border-radius: 14px; padding: 34px; color: #fff; }
.rmz-result-hero.mint { background: linear-gradient(160deg, #4fd0ae, #1f9d84); }
.rmz-result-hero.warn { background: linear-gradient(160deg, #ffc74a, #d99a00); }
.rmz-result-hero.brand { background: linear-gradient(160deg, #ff9166, #e85d2a); }
.rmz-result-kicker { font-size: 14px; opacity: 0.92; }
.rmz-result-level { font-size: 26px; font-weight: 700; margin: 14px 0 0; }
.rmz-result-score { font-size: 15px; opacity: 0.9; margin: 10px 0 0; }

.rmz-dim-row { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.rmz-dim-name { width: 120px; flex: 0 0 120px; font-size: 14px; color: #6b7488; }
.rmz-dim-bar { flex: 1; height: 9px; border-radius: 999px; background: #eef0f5; overflow: hidden; }
.rmz-dim-fill { height: 100%; border-radius: 999px; }
.rmz-dim-state { width: 62px; flex: 0 0 62px; text-align: right; font-size: 13.5px; color: #6b7488; }
.rmz-dim-note { font-size: 13px; color: #9aa3b2; margin-top: 18px; }

/* 深色转化卡（官网 .cta-band 同款，卡间距照官网结果页 22px） */
.rmz-cta {
  margin: 22px 0 0;
  background: linear-gradient(150deg, #2f3a52, #232c40);
  border-radius: 18px;
  padding: 36px 40px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.rmz-cta h3 { margin: 0; font-size: 22px; font-weight: 700; }
.rmz-cta p { margin: 10px 0 0; color: rgba(255, 255, 255, 0.68); font-size: 14.5px; line-height: 1.7; }
.rmz-cta-actions { margin-left: auto; display: flex; gap: 14px; flex-wrap: wrap; }

/* 结果页工具行与底部提示 */
.rmz-toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: center; margin: 22px 0 0; }
.rmz-foot-hint { margin: 20px 0 0; font-size: 13px; color: #9aa3b2; line-height: 1.75; }

/* 窄屏：内页 900px 内容区里本就紧凑，再兜一层手机宽度 */
@media (max-width: 640px) {
  .rmz-hero { padding: 26px 20px 64px; }
  .rmz-hero-title { font-size: 23px; }
  .rmz-card { margin: -44px 0 0; padding: 20px 16px 22px; }
  .rmz-quiz { margin: 0; }
  .rmz-cta { padding: 26px 22px; }
  .rmz-cta-actions { margin-left: 0; }
  .rmz-dim-name { width: 88px; flex-basis: 88px; }
}


.rmz *{box-sizing:border-box}.abc-answer{display:block;width:100%;text-align:left;margin:14px 0;padding:18px;border:1px solid #e4e7ee;border-radius:12px;background:#fff;font-size:17px;cursor:pointer}.abc-answer.on{border-color:#ff7a45;background:#fff1e8}.abc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.abc-progress{width:100%;accent-color:#ff7a45;margin:20px 0}.abc-question{font-size:23px;line-height:1.7;margin:24px 0!important}.abc-error{color:#b03030;line-height:1.6;margin:14px 0!important}.abc-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#6b7488;line-height:1.7;margin:18px 0}.abc-consent input{margin-top:5px}.rmz button:disabled{opacity:.55;cursor:wait}.abc-review{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:20px 0}.abc-review button{padding:10px;border:1px solid #ddd;background:#fff;border-radius:7px;cursor:pointer}.abc-review button.yes{background:#fff1e8;border-color:#ff7a45}.abc-range{display:flex;gap:12px;margin:20px 0}.abc-range>div{flex:1;border:1px solid #e4e7ee;padding:15px;border-radius:9px}.abc-range .active{border-color:#e6a600;background:#fff8e3}
.language-dimension{display:flex;align-items:center;gap:14px;margin:18px 0;font-size:14px}.language-dimension>span:first-child{width:130px}.language-dimension progress{flex:1;min-width:40px;accent-color:#f29136}.language-dimension>span:last-child{width:125px}

.booking-concerns{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.booking-concerns button{text-align:left;max-width:100%;white-space:normal}.booking-done{text-align:center}.booking-check{font-size:46px;color:#26a78d}.booking-done .abc-actions{justify-content:center}#booking-start .rmz-field{margin-top:24px}

/* Match the original 50px navigation on all three service forms. */
.assessment-page .nav_box{height:50px}.assessment-page .nav>ul>li{height:50px;padding-top:0;padding-bottom:0}.assessment-page .nav>ul>li>a{height:50px;line-height:50px;padding-top:0;padding-bottom:0;box-sizing:border-box}

.gender-field{border:0;padding:0;min-width:0}.gender-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:76px;box-sizing:border-box}.gender-chip input{position:absolute;opacity:0;width:1px;height:1px}.gender-chip:has(input:checked){background:#fff1e8;border-color:#ff7a45;color:#e85d2a;font-weight:600}.gender-chip:has(input:focus-visible){outline:2px solid #ff7a45;outline-offset:3px}

.rmz .rmz-hero{text-align:center}.rmz .rmz-hero-title,.rmz .rmz-hero-sub{text-align:center;margin-left:auto;margin-right:auto}
