/* Page-specific typography for pricing, assessment and AAO. Values remain in px
   because the legacy responsive root font scales rem by viewport width. */
html body.mj-pricing-page { --secondary-copy:#344054; --secondary-muted:#596575; }
html body.mj-pricing-page .mj-pp-main-content { width:100%; max-width:var(--mj-container,1200px); margin:0 auto; padding:44px 32px 32px; }
html body.mj-pricing-page .mj-pp-main-content-title { text-align:left; }
html body.mj-pricing-page .mj-pp-main-title { font-size:40px; line-height:1.3; margin:0; }
html body.mj-pricing-page .mj-pp-main-title::before { display:none; }
html body.mj-pricing-page .mj-pp-main-desc { font-size:16px; line-height:1.8; color:var(--secondary-copy); max-width:48em; margin:14px 0 0; padding:0; }
html body.mj-pricing-page .mj-pp-section { width:100%; max-width:var(--mj-container,1200px); margin:0 auto; padding:0 32px 56px; }
html body.mj-pricing-page .mj-pp-section-head { padding:0 0 16px; justify-content:flex-start; align-items:flex-start; text-align:left; }
html body.mj-pricing-page .mj-pp-section-bar { display:none; }
html body.mj-pricing-page .mj-pp-section-title { font-size:26px; line-height:1.4; text-align:left; margin:0; }
html body.mj-pricing-page .mj-pp-body { font-size:16px; line-height:1.8; color:var(--secondary-copy); text-align:left; margin:0 0 24px; padding:0; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-product-overview__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-width:0; gap:24px; align-items:stretch; padding:0; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card { width:auto; min-width:0; min-height:0; flex:initial; padding:24px 0; border:0; border-top:2px solid var(--mj-line); border-radius:0; box-shadow:none; background:transparent; }
html body.mj-pricing-page .mj-pp-po-card:hover { transform:none; box-shadow:none; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__icon { display:none; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__title { font-size:24px; line-height:1.4; color:var(--mj-navy); margin:0; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__price { font-size:28px; line-height:1.3; color:var(--mj-navy); }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__price-block,
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__vip-split { margin:20px 0; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__pay { padding-top:8px; font-size:16px; line-height:1.7; color:var(--secondary-copy); }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__label { font-size:14px; line-height:1.6; color:var(--secondary-muted); font-weight:500; margin:0 0 5px; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__label--vip-col { margin-top:12px; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__tags { justify-content:flex-start; margin-bottom:18px; gap:8px; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-tag { width:auto; height:auto; padding:0; border-radius:0; background:transparent; font-size:16px; line-height:1.6; color:var(--mj-navy); }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__desc { font-size:16px; line-height:1.8; color:var(--secondary-copy); }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__foot { font-size:16px; line-height:1.7; color:var(--mj-navy); padding-top:16px; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__vip-split-col { align-items:flex-start; text-align:left; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__vip-split-col--left { padding-right:12px; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__vip-split-col--right { padding-left:12px; }
html body.mj-pricing-page .mj-pp-po-card__cta { margin-top:20px; }
html body.mj-pricing-page .mj-pp-btn { min-height:44px; padding:10px 18px; font-size:16px; line-height:1.4; border-radius:6px; }
html body.mj-pricing-page .mj-pp-table-wrap { overflow-x:auto; border-radius:0; box-shadow:none; padding:0; }
html body.mj-pricing-page .mj-pp-table { font-size:16px; line-height:1.7; }
html body.mj-pricing-page .mj-pp-table :is(th,td) { font-size:16px; line-height:1.7; padding:16px; height:auto; color:var(--secondary-copy); }
html body.mj-pricing-page .mj-pp-table th { color:var(--mj-navy); }
html body.mj-pricing-page .mj-fee__list b,
html body.mj-pricing-page .mj-pp-audience-title { font-size:22px; line-height:1.5; }
html body.mj-pricing-page .mj-fee__list p,
html body.mj-pricing-page .mj-pp-audience-desc,
html body.mj-pricing-page .mj-pp-audience-label,
html body.mj-pricing-page .mj-pp-faq-a,
html body.mj-pricing-page .mj-pp-contact-center,
html body.mj-pricing-page .mj-pp-contact-wechat-label { font-size:16px; line-height:1.8; color:var(--secondary-copy); }
html body.mj-pricing-page .mj-pp-faq-q { font-size:18px; line-height:1.6; color:var(--mj-navy); }
html body.mj-pricing-page .mj-fee__note { font-size:14px; line-height:1.8; color:var(--secondary-muted); }
html body.mj-pricing-page .mj-pp-faq-layout,
html body.mj-pricing-page .mj-pp-contact-layout { gap:32px; padding:0; }
html body.mj-pricing-page .mj-pp-audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:12px 0 0; }
html body.mj-pricing-page .mj-pp-audience-card { max-width:none; min-width:0; }
html body.mj-pricing-page .mj-pp-audience-product { font-size:14px; line-height:1.6; color:var(--secondary-muted); }
html body.mj-pricing-page .mj-pp-audience-name { font-size:22px; line-height:1.5; }
html body.mj-pricing-page .mj-pp-audience-price { font-size:22px; line-height:1.5; margin-bottom:16px; }
html body.mj-pricing-page .mj-pp-audience-label { margin-bottom:12px; }
html body.mj-pricing-page .mj-pp-audience-desc { margin-bottom:0; }
html body.mj-pricing-page :is(.mj-pp-faq-left,.mj-pp-contact-left) .mj-pp-section-title { font-size:26px; line-height:1.4; padding:0 0 16px; text-align:left; }

html body.mj-assessment-page #app { background:#fff; }
html body.mj-assessment-page .immigration-banner .banner-content .banner-title { font-size:40px; line-height:1.3; }
html body.mj-assessment-page .content-section-list { max-width:1040px; margin:32px auto 64px; padding:0 32px; }
html body.mj-assessment-page .assessment-form-container { padding:0; border:0; border-radius:0; box-shadow:none; }
html body.mj-assessment-page .mj-form-note { font-size:14px; line-height:1.8; color:#596575; margin-bottom:24px; }
html body.mj-assessment-page .section-title { font-size:24px; line-height:1.5; color:var(--mj-navy); margin:0 0 20px; padding:0 0 14px; }
html body.mj-assessment-page .subsection-title { font-size:22px; line-height:1.5; text-align:left; margin:24px 0 16px; }
html body.mj-assessment-page .sub-subsection-title { font-size:18px; line-height:1.6; }
html body.mj-assessment-page .form-section { margin-bottom:36px; }
html body.mj-assessment-page .form-radio-vertical { gap:16px; }
html body.mj-assessment-page .immigration-option + .immigration-option { margin-top:16px; }
html body.mj-assessment-page .form-row .immigration-type-form-item { padding:0!important; }
html body.mj-assessment-page .immigration-option .el-radio { padding:20px; min-height:0; border:1px solid #d6dce5; border-radius:6px; box-shadow:none; }
html body.mj-assessment-page .immigration-option .el-radio:hover { box-shadow:none; }
html body.mj-assessment-page .immigration-option .el-radio.is-checked { border-color:var(--mj-navy); background:#f6f8fb; }
html body.mj-assessment-page .immigration-option .el-radio__input { margin-right:14px; margin-top:6px; }
html body.mj-assessment-page .option-content { gap:10px; }
html body.mj-assessment-page .option-title { font-size:22px; line-height:1.5; color:var(--mj-navy); margin:0; }
html body.mj-assessment-page :is(.option-description,.description-item) { font-size:16px; line-height:1.8; color:#344054; }
html body.mj-assessment-page :is(.el-form-item__label,.el-radio__label,.el-checkbox__label) { font-size:16px!important; line-height:1.7!important; color:#344054!important; white-space:normal; }
html body.mj-assessment-page .el-checkbox-group { width:100%; min-width:0; }
html body.mj-assessment-page .el-checkbox { display:flex; align-items:flex-start; width:100%; min-width:0; max-width:100%; box-sizing:border-box; white-space:normal; margin-right:0!important; }
html body.mj-assessment-page .checkbox-item-wrapper .el-checkbox { flex:1 1 0; width:auto; }
html body.mj-assessment-page .el-checkbox__input { flex:0 0 auto; width:auto; margin-top:6px; }
html body.mj-assessment-page .el-checkbox__label { display:block; flex:1 1 auto; width:auto; min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:normal; }
html body.mj-assessment-page .el-form-item__label { padding:0 0 8px; }
html body.mj-assessment-page :is(.el-input__inner,.el-textarea__inner) { font-size:16px; color:#344054; border-color:#ccd3de; border-radius:5px; }
html body.mj-assessment-page .el-input__inner { height:44px; min-height:44px; }
html body.mj-assessment-page :is(.el-input__inner,.el-textarea__inner)::placeholder { font-size:16px; color:#596575; }
html body.mj-assessment-page :is(.other-input-hint,.evus-hint) { font-size:14px; line-height:1.7; color:#596575; }
html body.mj-assessment-page .el-form-item__error { font-size:14px; line-height:1.5; }
html body.mj-assessment-page .submit-btn { font-size:16px; min-height:46px; padding:12px 24px; line-height:1.4; }
/* Three actions need their own rows before their labels are forced to break. */
html body.mj-assessment-page .form-submit { flex-wrap:wrap; gap:12px; }
html body.mj-assessment-page .form-submit .submit-btn { flex:0 1 auto; width:auto; max-width:100%; height:auto; min-height:48px; padding:12px 24px; line-height:1.5; white-space:nowrap; }
/* Assessment report cells contain the report itself, not auxiliary metadata. */
html body.mj-assessment-page .report-dialog .markdown-body { font-size:17px; color:#334155; line-height:1.8; }
html body.mj-assessment-page .report-dialog .markdown-body :is(p,li,th,td) { font-size:17px; line-height:1.8; }

html body.mj-aao-page .mj-cl-head { padding:44px 0 32px; background:#fff; }
html body.mj-aao-page .mj-cl-head .mj-h2 { font-size:40px; line-height:1.3; }
html body.mj-aao-page .mj-cl-head .mj-lead { font-size:16px; line-height:1.9; max-width:56em; color:#344054; margin-top:18px; }
html body.mj-aao-page :is(.mj-aao-data-note,.mj-aao-note,.mj-aao-src,.mj-cl-note,.mj-aao-more__hint) { font-size:14px; color:#596575; line-height:1.8; }
html body.mj-aao-page .mj-cl-stats { margin-top:24px; padding-top:20px; gap:18px 28px; }
html body.mj-aao-page .mj-cl-stats div { flex-direction:row; align-items:baseline; gap:8px; margin:0; padding:0; border:0; }
html body.mj-aao-page .mj-cl-stats b,
html body.mj-aao-page .mj-cl-stats div:first-child b { font-size:24px; line-height:1.3; }
html body.mj-aao-page .mj-cl-stats span { font-size:14px; letter-spacing:0; color:#596575; }
html body.mj-aao-page :is(.mj-aao-stats h3,.mj-aao-rules h3,.mj-aao-months h3) { font-size:22px; line-height:1.5; color:var(--mj-navy); margin:0 0 18px; letter-spacing:0; }
html body.mj-aao-page .mj-aao-stats { gap:32px; }
html body.mj-aao-page .mj-aao-bars li { font-size:16px; color:#344054; padding:6px 0; }
html body.mj-aao-page .mj-aao-bars li i { opacity:.8; }
html body.mj-aao-page .mj-aao-rules li { font-size:16px; line-height:1.9; color:#344054; margin-bottom:14px; }
html body.mj-aao-page .mj-aao-months { margin-top:32px; overflow-x:auto; padding-bottom:8px; }
html body.mj-aao-page .mj-aao-mchart { min-width:620px; height:140px; }
html body.mj-aao-page .mj-aao-mchart li span { font-size:14px; color:#596575; height:22px; }
html body.mj-aao-page .mj-cl-bar { position:relative; top:auto; background:#fff; backdrop-filter:none; }
html body.mj-aao-page .mj-cl-bar__inner { gap:12px 24px; padding-top:20px; padding-bottom:20px; }
html body.mj-aao-page .mj-cl-chips { flex-wrap:wrap; max-width:100%; gap:8px 18px; }
html body.mj-aao-page .mj-cl-chips button { font-size:16px; line-height:1.6; min-height:40px; white-space:normal; text-align:left; }
html body.mj-aao-page .mj-cl-chips button small { font-size:14px; color:#596575; opacity:1; }
html body.mj-aao-page .mj-cl-search { min-width:0; border-radius:6px; }
html body.mj-aao-page .mj-cl-search input { font-size:16px; height:44px; }
html body.mj-aao-page :is(.mj-cl-year-sel,.mj-cl-year-sel select,.mj-cl-count) { font-size:14px; color:#596575; }
html body.mj-aao-page .mj-cl-year-sel select { min-height:40px; }
html body.mj-aao-page .mj-cl-intro { font-size:16px; color:#344054; line-height:1.9; }
html body.mj-aao-page .mj-aao-card { padding:28px 0; gap:12px; }
html body.mj-aao-page .mj-aao-card h3 { font-size:22px; line-height:1.5; }
html body.mj-aao-page .mj-aao-card h3 small { font-size:16px; line-height:1.7; color:#596575; }
html body.mj-aao-page .mj-aao-card :is(.mj-cl-card__top,.mj-cl-card__field,.mj-tag,.mj-aao-outcome) { font-size:14px; line-height:1.6; letter-spacing:0; }
html body.mj-aao-page .mj-cl-card__top { flex-wrap:wrap; }
html body.mj-aao-page .mj-aao-card p { font-size:16px; line-height:1.9; color:#344054; }
html body.mj-aao-page .mj-aao-card .mj-cl-card__full h4 { font-size:20px; line-height:1.5; margin:24px 0 10px; }
html body.mj-aao-page .mj-cl-card__more { font-size:16px; min-height:40px; }
html body.mj-aao-page .mj-aao-ai { font-size:14px; }
/* Price descriptions and payment terms use body size, not metadata size. */
html body.mj-pricing-page { --pricing-reading-size:17px; }
html body.mj-pricing-page :is(.mj-pp-main-desc,.mj-pp-body,.mj-pp-audience-desc,.mj-pp-audience-label,.mj-pp-faq-a,.mj-fee__list p,.mj-pp-contact-center,.mj-pp-contact-wechat-label) { font-size:var(--pricing-reading-size); color:#334155; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) :is(.mj-pp-po-card__desc,.mj-pp-po-card__pay,.mj-pp-po-card__foot) { font-size:var(--pricing-reading-size); line-height:1.8; }
html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__label { font-size:16px; color:#475569; }
html body.mj-pricing-page .mj-pp-table :is(th,td) { font-size:var(--pricing-reading-size); }
html body.mj-pricing-page :is(.mj-fee__note,.mj-pp-audience-product) { font-size:15px; color:#475569; }
html body.mj-aao-page { --aao-reading-size:17px; }
html body.mj-aao-page :is(.mj-aao-card p,.mj-cl-intro,.mj-aao-rules li,.mj-cl-head .mj-lead) { font-size:var(--aao-reading-size); color:#334155; }
html body.mj-aao-page .mj-aao-card :is(.mj-cl-card__field,.mj-tag,.mj-aao-outcome) { font-size:16px; color:#334155; }
html body.mj-aao-page :is(.mj-aao-data-note,.mj-aao-note,.mj-aao-src,.mj-cl-note,.mj-aao-more__hint,.mj-cl-card__top,.mj-cl-stats span) { font-size:15px; color:#475569; }
@media(min-width:601px) and (max-width:1200px) {
  html body.mj-assessment-page .form-row { padding:0; }
  html body.mj-assessment-page .form-row .el-form-item { height:auto; min-height:64px; }
  html body.mj-assessment-page .form-row .el-form-item__content { line-height:1.7; }
  html body.mj-assessment-page .form-row .el-form-item__label { padding:0 20px 0 0; }
}
@media(max-width:1100px) {
  html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-product-overview__grid { grid-template-columns:1fr; }
  html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card { max-width:none; }
  html body.mj-pricing-page :is(#mj-pp-product-overview-cards,#mj-pp-product-overview-cards-en) .mj-pp-po-card__vip-split { justify-content:flex-start; max-width:440px; }
  html body.mj-pricing-page .mj-pp-faq-layout,
  html body.mj-pricing-page .mj-pp-contact-layout { flex-wrap:wrap; }
  html body.mj-pricing-page .mj-pp-faq-left,
  html body.mj-pricing-page .mj-pp-contact-left { flex-basis:100%; }
  html body.mj-pricing-page .mj-pp-audience-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  html body.mj-pricing-page { --pricing-reading-size:16px; }
  html body.mj-aao-page { --aao-reading-size:16px; }
  html body.mj-pricing-page .mj-pp-main-content { padding:30px 20px 24px; }
  html body.mj-pricing-page .mj-pp-section { padding:0 20px 40px; }
  html body.mj-pricing-page .mj-pp-main-title,
  html body.mj-assessment-page .immigration-banner .banner-content .banner-title,
  html body.mj-aao-page .mj-cl-head .mj-h2 { font-size:32px; }
  html body.mj-pricing-page .mj-pp-section-title { font-size:24px; }
  html body.mj-pricing-page .mj-pp-table { min-width:720px; }
  html body.mj-assessment-page .content-section-list { margin-top:24px; padding:0 20px; }
  html body.mj-assessment-page .form-submit .submit-btn { flex-basis:100%; }
  html body.mj-assessment-page .report-dialog .markdown-body,
  html body.mj-assessment-page .report-dialog .markdown-body :is(p,li,th,td) { font-size:16px; }
  html body.mj-assessment-page .form-row { padding:0; border:0; }
  html body.mj-assessment-page .form-row .el-form-item { height:auto; flex-direction:column; align-items:stretch; border:0; margin-bottom:20px; }
  html body.mj-assessment-page .form-row .el-form-item__label { width:100%; padding:0 0 8px; }
  html body.mj-assessment-page .form-row .el-form-item__content { width:100%; line-height:1.7; }
  html body.mj-assessment-page .form-row :is(.el-input__inner,.el-textarea__inner) { border:1px solid #ccd3de!important; border-radius:5px!important; text-align:left; padding:10px 12px; }
  html body.mj-assessment-page .form-row .el-select .el-input__inner { padding-right:32px; }
  html body.mj-assessment-page .section-title { font-size:22px; }
  html body.mj-assessment-page .immigration-option .el-radio { padding:16px; }
  html body.mj-assessment-page .immigration-option .el-radio__input { margin-right:10px; }
  html body.mj-assessment-page .option-title { font-size:20px; }
  html body.mj-aao-page .mj-cl-head { padding-top:30px; }
  html body.mj-aao-page .mj-aao-stats { grid-template-columns:1fr; }
  html body.mj-aao-page .mj-cl-stats { gap:14px 22px; }
  html body.mj-aao-page .mj-cl-search { flex-basis:100%; }
}
