/* Homepage sections. Keeps the shared service and case-library layouts intact. */
.mj-home #services {
  background:#f6f4ef;
  padding-top:76px;
  padding-bottom:76px;
}
.mj-home #services .mj-head { align-items:flex-end; gap:32px; margin-bottom:32px; }
.mj-home #services .mj-lead { max-width:58em; font-size:17px; line-height:1.85; }
.mj-home #services .mj-services {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  border:0;
}
.mj-home #services .mj-service {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  margin:0;
  padding:28px;
  border:0;
  border-radius:4px;
  background:transparent;
  box-shadow:none;
}
.mj-home #services .mj-service:nth-child(-n+3) { background:#fff; }
.mj-home #services .mj-service__code {
  margin:0 0 22px;
  padding:0;
  color:var(--mj-navy);
  font-family:var(--mj-font-num);
  font-size:34px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.02em;
}
.mj-home #services .mj-service:nth-child(n+4) .mj-service__code { font-size:27px; margin-bottom:18px; }
.mj-home #services .mj-service h3 { margin:0; font-size:22px; line-height:1.5; color:var(--mj-navy); }
.mj-home #services .mj-service p { flex:1; margin:14px 0 0; max-width:none; font-size:17px; line-height:1.8; color:#435064; }
.mj-home #services .mj-service .mj-link { margin:24px 0 0; padding:0; font-size:16px; line-height:1.5; }
.mj-home #services .mj-service:focus-visible { outline-offset:4px; }
.mj-home #services .mj-service:hover { background:#edf1f6; }
.mj-home #services .mj-service:nth-child(-n+3):hover { background:#eaf0f7; }

/* A quiet working area between the service catalogue and the case records. */
.mj-home .mj-home-check {
  background:#edf2f6;
  border:0;
  padding-top:64px;
  padding-bottom:64px;
}
.mj-home .mj-home-check__inner { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:center; }
.mj-home .mj-home-check__intro { max-width:440px; }
.mj-home .mj-home-check .mj-h2 { font-size:32px; line-height:1.4; }
.mj-home .mj-home-check .mj-lead { color:#435064; }
.mj-home .mj-home-check__label { font-size:16px; color:#475569; }
.mj-home .mj-home-check__select { font-size:16px; background:#fff; border-color:#becbd8; }
.mj-home .mj-home-check .mj-qc { padding:32px; border:0; border-radius:6px; background:#fff; box-shadow:0 6px 24px #20334d08; }
.mj-home .mj-home-check .mj-qc__title { font-size:22px; line-height:1.5; }

/* Short, readable case records; quantities stay secondary to the applicant story. */
.mj-home #cases { background:#fff; padding-top:76px; padding-bottom:76px; }
.mj-home #cases .mj-head { align-items:flex-end; gap:24px; margin-bottom:28px; }
.mj-home #cases .mj-lead { font-size:16px; }
.mj-home #cases .mj-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border:0; }
.mj-home #cases .mj-cases--static { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mj-home #cases .mj-cases__chips { margin:0 0 24px; gap:8px 24px; }
.mj-home #cases .mj-cases__chips button { font-size:16px; min-height:40px; }
.mj-home #cases .mj-case { min-width:0; overflow:hidden; border:0; border-radius:4px; box-shadow:none; background:#f5f6f8; }
.mj-home #cases .mj-case--real { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:28px; }
.mj-home #cases .mj-case--real.is-hidden { display:none; }
.mj-home #cases .mj-case__top { flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:8px 16px; margin:0 0 14px; }
.mj-home #cases .mj-tag { color:#a72648; font-size:15px; line-height:1.6; letter-spacing:0; }
.mj-home #cases :is(.mj-case__when,.mj-case__date) { color:#596575; font-size:15px; line-height:1.6; }
.mj-home #cases .mj-case h3 { margin:0; font-size:22px; line-height:1.5; color:var(--mj-navy); }
.mj-home #cases .mj-case__summary { margin:18px 0 20px; }
.mj-home #cases .mj-case__summary > div { grid-template-columns:5em minmax(0,1fr); gap:12px; margin-top:8px; font-size:16px; line-height:1.75; }
.mj-home #cases .mj-case__summary dt { color:#475569; font-size:16px; line-height:2; }
.mj-home #cases .mj-case__summary dd { color:#344054; }
.mj-home #cases .mj-case__facts { margin:auto 0 0; padding:18px 0 0; border-top:1px solid #dce1e8; gap:16px; }
.mj-home #cases .mj-case__facts b { font-size:18px; line-height:1.5; }
.mj-home #cases .mj-case__facts span { font-size:16px; line-height:1.6; color:#596575; }
.mj-home #cases .mj-case__facts b span { font-size:inherit; color:inherit; }
.mj-home #cases .mj-case__more { align-self:flex-start; margin:20px 0 0; font-size:16px; line-height:1.6; }
.mj-home #cases .mj-case__cover { height:128px; background:#e4eaf2; }
.mj-home #cases .mj-case__cover::before,
.mj-home #cases .mj-case__cover::after { content:none; }
.mj-home #cases .mj-case__code { color:var(--mj-navy); font-size:30px; }
.mj-home #cases .mj-case__code small { color:#596575; letter-spacing:.06em; font-size:15px; }
.mj-home #cases .mj-case__body { padding:24px; }
.mj-home #cases .mj-case__head { gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.mj-home #cases .mj-case__thumb { height:184px; }
.mj-home #cases .mj-cases__note { margin-top:24px; font-size:15px; color:#596575; }

/* A separate colour register for factual lookup tools. */
.mj-home #tools { padding-top:72px; padding-bottom:72px; color:#fff; background:#102f58; }
.mj-home #tools .mj-head { align-items:flex-end; gap:24px; margin-bottom:32px; }
.mj-home #tools .mj-h2,
.mj-home #tools .mj-head > .mj-link { color:#fff; }
.mj-home #tools .mj-lead { max-width:58em; color:#d7e1ef; font-size:17px; line-height:1.85; }
.mj-home #tools .mj-tools { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; border:0; }
.mj-home #tools .mj-tool { display:flex; flex-direction:column; grid-column:span 2; gap:0; min-width:0; margin:0; padding:28px; border:0; border-radius:4px; color:#fff; background:#1b3b64; box-shadow:none; }
.mj-home #tools .mj-tool:nth-child(n+4) { grid-column:span 3; }
.mj-home #tools .mj-tool:hover { background:#244770; }
.mj-home #tools .mj-tool:focus-visible { outline-color:#fff; }
.mj-home #tools .mj-tool .mj-tag { margin:0 0 14px; padding:0; font-size:15px; line-height:1.6; color:#c5d3e7; letter-spacing:0; }
.mj-home #tools .mj-tool h3,
.mj-home #tools .mj-tool:hover h3 { margin:0; color:#fff; font-size:22px; line-height:1.5; }
.mj-home #tools .mj-tool p { flex:1; margin:14px 0 22px; font-size:17px; line-height:1.8; color:#d7e1ef; }
.mj-home #tools .mj-tool__src { margin:0; padding:0; font-size:15px; line-height:1.6; color:#bdcde2; }

.mj-home #arrival-entry { background:#eaf0f5; padding-top:36px; padding-bottom:36px; }
.mj-home #arrival-entry .mj-ar-entry { align-items:center; gap:32px; }
.mj-home #arrival-entry .mj-ar-entry b { font-size:24px; line-height:1.4; }
.mj-home #arrival-entry .mj-ar-entry div > span { font-size:17px; line-height:1.8; color:#435064; }
.mj-home #arrival-entry .mj-ar-entry em { font-size:16px; }
.mj-home #about { background:#f6f4ef; }
.mj-home #about .mj-tail__photos { gap:12px; }
.mj-home #about .mj-tail__photos figure { border-radius:4px; }

/* Evidence, delivery stages and data labels are reading content, not fine print. */
.mj-home :is(.mj-cm__colhead b,.mj-cm__ev b,.mj-cm__ev span,.mj-cm__criteria li,.mj-cm__note b,.mj-cb__steps li b,.mj-cb__steps li span,.mj-cb__panel dt,.mj-cb__panel dd,.mj-cb__docs li,.mj-claw__tier,.mj-claw__tier b,.mj-ds__k,.mj-ds__tl) { font-size:16px; line-height:1.7; }
.mj-home :is(.mj-cm__colhead span,.mj-cm__note p,.mj-cm__team span,.mj-cb__bar,.mj-cb__bar b,.mj-cb__bar small,.mj-cb__panel h3 small,.mj-cb__docs-h,.mj-cb__docs-h span,.mj-cb__docs p,.mj-cb__docs li span,.mj-cb__note,.mj-ds__sub,.mj-ds__q,.mj-ds__src,.mj-ds__src a,.mj-promise > small) { font-size:15px; line-height:1.75; }
.mj-home :is(.mj-cm__colhead span,.mj-cm__ev span,.mj-cm__criteria li,.mj-cm__note p,.mj-cb__panel dt,.mj-cb__docs p) { color:#475569; }
.mj-home .mj-cm__ev::before,.mj-home .mj-cb__steps li i { font-size:14px; }
.mj-home .mj-cb__steps li.is-open b { text-decoration:none; color:var(--mj-navy); }
.mj-home .mj-cb__docs > small { font-size:15px; line-height:1.75; color:#596575; }

/* Short actions move as a whole; longer translated controls can grow vertically. */
.mj-home .mj-head > div { min-width:0; }
.mj-home .mj-head > .mj-link { flex:0 0 auto; white-space:nowrap; }
.mj-home .mj-qc__nav { flex-wrap:wrap; }
.mj-home .mj-home-check .mj-qc__chips { min-width:0; }
.mj-home .mj-home-check .mj-qc__chips button { max-width:100%; white-space:normal; }
.mj-home :is(.mj-qc__nav,.mj-qc__result,.mj-partner__actions) .mj-btn { max-width:100%; height:auto; min-height:48px; padding:12px 18px; white-space:normal; text-align:center; }

@media(max-width:1100px) {
  .mj-home #services .mj-services { gap:16px; }
  .mj-home #services .mj-service { padding:24px; }
  .mj-home #services .mj-service h3 { font-size:20px; }
  .mj-home .mj-home-check__inner { gap:36px; }
  .mj-home #cases .mj-cases { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mj-home #cases .mj-case--real { padding:24px; }
  .mj-home #tools .mj-tool { padding:24px; }
}
@media(max-width:800px) {
  .mj-home #services .mj-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mj-home #services .mj-service { background:#fff; }
  .mj-home #services .mj-service:nth-child(n+4) .mj-service__code { font-size:30px; }
  .mj-home .mj-home-check__inner { grid-template-columns:1fr; align-items:start; }
  .mj-home .mj-home-check__intro { max-width:600px; }
  .mj-home .mj-home-check__select { max-width:440px; }
  .mj-home #cases .mj-case__summary > div { grid-template-columns:1fr; gap:0; }
  .mj-home #tools .mj-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mj-home #tools .mj-tool,
  .mj-home #tools .mj-tool:nth-child(n+4) { grid-column:auto; }
  .mj-home #tools .mj-tool:last-child { grid-column:1/-1; }
}
@media(max-width:600px) {
  .mj-home #services,
  .mj-home #cases,
  .mj-home #tools { padding-top:48px; padding-bottom:48px; }
  .mj-home #services .mj-head,
  .mj-home #cases .mj-head,
  .mj-home #tools .mj-head { align-items:flex-start; flex-direction:column; gap:18px; }
  .mj-home #services .mj-services,
  .mj-home #cases .mj-cases,
  .mj-home #cases .mj-cases--static,
  .mj-home #tools .mj-tools { grid-template-columns:minmax(0,1fr); }
  .mj-home #services .mj-service { padding:24px; }
  .mj-home #services .mj-service__code,
  .mj-home #services .mj-service:nth-child(n+4) .mj-service__code { font-size:30px; margin-bottom:16px; }
  .mj-home #services .mj-service h3 { font-size:22px; }
  .mj-home .mj-home-check { padding-top:44px; padding-bottom:44px; }
  .mj-home .mj-home-check__inner { gap:28px; }
  .mj-home .mj-home-check .mj-h2 { font-size:28px; }
  .mj-home .mj-home-check .mj-qc { padding:24px 20px; }
  .mj-home .mj-home-check__select { max-width:none; }
  .mj-home .mj-home-check .mj-qc__row { grid-template-columns:minmax(0,1fr); gap:8px; }
  .mj-home .mj-home-check .mj-qc__row > span { padding-top:0; white-space:normal; }
  .mj-home #cases .mj-case--real { padding:24px 20px; }
  .mj-home #cases .mj-case__facts { gap:10px; }
  .mj-home #cases .mj-case__facts b { font-size:17px; }
  .mj-home #tools .mj-tool { padding:24px; }
  .mj-home #tools .mj-tool:last-child { grid-column:auto; }
  .mj-home #arrival-entry .mj-ar-entry { align-items:flex-start; gap:18px; }
}
