/* The homepage uses space, soft section backgrounds and images to group content. */
.home-page {
  --home-ink:#183f53;
  --home-copy:#3e6072;
  --home-link:#236b78;
  --home-sky:#eaf3f9;
  --home-mint:#eaf3ee;
  --home-seam:#dce7e9;
  --home-section-size:clamp(25px,3vw,35px);
  --home-item-size:18px;
  --home-body-size:15px;
  --home-note-size:13px;
}

.home-page > [data-home-tone="white"] { background:#fff; }
.home-page > [data-home-tone="tinted"] { background:var(--section-wash); }
.home-page > .home-opening { background:var(--hero-wash); }
.home-page > .section,
.home-page > .home-delivery-wrap { border-top:1px solid var(--home-seam); }
.home-page > .section { padding:clamp(44px,5.6vw,75px) 0; }
.home-page .hero { background:transparent; }
.home-page .hero-grid { padding-bottom:30px; min-height:530px; }
/* Fit the longer homepage headline to the available text column. */
.home-page .site-hero .hero-copy { container-type:inline-size; }
.home-page .site-hero .hero-copy h1 { font-size:clamp(24px,9.8cqi,64px); }
.home-page .site-hero .hero-copy > p.hero-lead {
  font-size:clamp(16px,1.5vw,20px);
  margin-bottom:clamp(26px,3vw,36px);
  text-wrap:pretty;
}
.home-page .hero-visual .phone { bottom:25px; }
.home-page .hero-visual .visual-caption { left:auto; right:0; bottom:0; }
.home-highlight-band {
  background:var(--primary-button-fill);
  padding:clamp(12px,1.5vw,22px) 0;
}
.home-highlights {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,2vw,24px);
}
.home-highlight {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:clamp(12px,1.3vw,17px);
  color:#fff;
}
.home-highlight:hover strong { text-decoration:underline; text-underline-offset:4px; }
.home-highlight:focus-visible { outline:2px solid #d9effa; outline-offset:2px; }
.home-highlight-icon {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:10px;
  background:#ffffff1c;
  color:#d9effa;
}
.home-highlight-icon svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-highlight-copy { display:grid; gap:3px; line-height:1.45; }
.home-highlight-copy strong { font-size:var(--home-item-size); font-weight:650; }
.home-highlight-copy > span { font-size:var(--home-note-size); color:#dce9ef; }
.home-highlight-arrow { color:#d9effa; }

.home-page :is(.home-section-heading,.cta) h2 {
  margin:0 0 9px;
  font-size:var(--home-section-size);
  font-weight:650;
  line-height:1.42;
  color:var(--home-ink);
}
.home-page .home-section-heading { margin-bottom:clamp(22px,3vw,34px); }
.home-page :is(.home-section-heading,.cta-inner) p { max-width:46em; margin:0; }
.home-page :is(.home-section-heading,.cta-inner,article,.report-version,.mx-followup) p {
  color:var(--home-copy);
  font-size:var(--home-body-size);
  line-height:1.78;
}
.home-page :is(.section,.cta) h3 {
  margin:0 0 7px;
  color:var(--home-ink);
  font-size:var(--home-item-size);
  font-weight:650;
  line-height:1.5;
}
.home-page :is(.home-note,.mx-platform-caption,p.mx-followup-note) {
  color:var(--home-copy);
  font-size:var(--home-note-size);
  line-height:1.65;
}
.home-page .text-link {
  color:var(--home-link);
  border-bottom:0;
  padding-bottom:0;
}
.home-page .text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.home-page .text-link:focus-visible,
.home-page .mx-sector-link:focus-visible { outline:2px solid var(--home-link); outline-offset:4px; }

/* Group the introduction and link above three equally weighted capabilities. */
.mx-research-intro {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:14px 24px;
  margin-bottom:clamp(20px,2.5vw,30px);
}
.home-page .mx-research-intro .home-section-heading { margin:0; }
.home-page .mx-research-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.6vw,20px);
  margin:0;
}
.home-page .mx-research-grid article {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto 1fr;
  align-items:center;
  gap:10px 12px;
  padding:clamp(15px,1.85vw,23px);
  border:0;
  border-radius:14px;
  background:#f4f8fa;
}
.home-page .mx-research-grid article h3 { margin:0; }
.home-page .mx-research-grid article p {
  grid-column:1/-1;
  align-self:start;
  margin:0;
}
.mx-research-icon,.mx-people-icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#e4eef8;
  color:#416e87;
}
.mx-research-grid article:nth-child(2) .mx-research-icon,
.mx-audience-people li:nth-child(even) .mx-people-icon { background:#e4f1eb; color:#326c59; }
.mx-research-grid article:nth-child(3) .mx-research-icon { background:#e7eff2; color:#356774; }
:is(.mx-research-icon,.mx-people-icon) svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-page .mx-advantages {
  gap:clamp(12px,1.7vw,20px);
  margin:0;
}
.home-page .mx-advantages article {
  padding:clamp(15px,2vw,24px);
  border:1px solid #dbe7ec;
  border-radius:14px;
  background:#fff;
}
.mx-advantages .mx-people-icon { margin-bottom:12px; }
.mx-advantages article:nth-child(even) .mx-people-icon { background:#e4f1eb; color:#326c59; }

/* Assessment methods sit in one grid, with a quiet background for each method. */
.home-page #assessment-system .methods {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  border:0;
}
.home-page #assessment-system .method {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border:0;
  border-radius:14px;
  padding:clamp(13px,2vw,22px);
  background:#fff;
}
.home-page .method-top { align-items:center; }
.home-page .method-top h3 { margin:0; }
.home-page .method > .pill { margin-top:auto; }
.home-page .method-icon { width:40px; height:40px; background:#e4eef8; color:#416e87; }
.home-page .method:nth-child(even) .method-icon { background:#e4f1eb; color:#326c59; }
.home-page .method-phrase { display:inline-block; }

/* Application outcomes lead, with examples from the corresponding products. */
.mx-application-layout {
  display:grid;
  gap:clamp(10px,1.35vw,16px);
}
.mx-service-route {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,min(27%,250px));
  align-items:center;
  gap:clamp(16px,3vw,38px);
  padding:clamp(15px,1.9vw,23px);
  border:1px solid #d7e6ef;
  border-radius:16px;
  background:var(--home-sky);
  scroll-margin-top:110px;
}
.mx-service-route:nth-child(2) {
  border-color:#d6e6dc;
  background:var(--home-mint);
}
.home-page .mx-service-copy h3 {
  margin-bottom:8px;
  font-size:clamp(22px,2.2vw,28px);
  line-height:1.3;
}
.home-page .mx-service-copy .mx-service-benefit {
  margin-bottom:9px;
  color:#245e69;
  font-weight:650;
}
.home-page .mx-service-copy p { margin:0 0 12px; line-height:1.9; }
.mx-service-copy .text-link { font-weight:650; }
.mx-service-scene {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2/1;
  object-fit:cover;
  border-radius:12px;
}
@media(max-width:520px) {
  .mx-service-route { grid-template-columns:1fr; gap:12px; }
  .mx-service-scene { width:min(100%,235px); }
}

/* Industry overview and the occupational assessment examples. */
.home-page .mx-sectors { gap:16px; }
.home-page .mx-sector {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border:0;
  border-radius:14px;
  padding:clamp(16px,2.4vw,25px);
  box-shadow:none;
  background:#fff;
}
.home-page .mx-sector-public .mx-sector-icon { background:#e8f3ed; color:#417858; }
.home-page .mx-sector-work .mx-sector-icon { background:#e7f0fb; color:#416e87; }
.home-page .mx-sector-top { margin-bottom:8px; }
.home-page .mx-sector-top h3 { margin:0; }
.home-page .mx-sector-link { margin-top:auto; }
.mx-audience-people {
  margin-bottom:24px;
  padding:clamp(16px,2.3vw,27px);
  border-radius:14px;
  background:#ffffffc9;
}
.mx-audience-people ul {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:12px 8px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.mx-audience-people li {
  display:grid;
  justify-items:center;
  align-content:start;
  gap:6px;
  color:var(--home-copy);
  font-size:var(--home-note-size);
  line-height:1.4;
  text-align:center;
  text-wrap:balance;
}
.mx-people-icon { width:36px; height:36px; border-radius:9px; }
.mx-people-icon svg { width:20px; height:20px; }
.mx-occupation-feature {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  grid-template-areas:"intro list";
  align-items:start;
  gap:16px clamp(24px,4vw,52px);
  margin-top:26px;
  padding:clamp(22px,3vw,36px);
  border-radius:18px;
  background:#fff;
  scroll-margin-top:110px;
}
.mx-occupation-intro { grid-area:intro; }
.mx-occupation-intro p { margin:0; }
.mx-occupation-list { display:grid; gap:12px; grid-area:list; margin:0; }
.mx-occupation-list>div {
  display:grid;
  grid-template-columns:minmax(6.4em,.68fr) minmax(0,1.32fr);
  gap:8px;
  font-size:var(--home-body-size);
  line-height:1.65;
}
.mx-occupation-list dt { font-weight:700; color:var(--home-ink); }
.mx-occupation-list dd { margin:0; color:var(--home-copy); }
.mx-occupation-intro .mx-sector-link { display:inline-flex; margin-top:14px; }
.mx-occupation-feature:target,
.mx-service-route:target { outline:2px solid #7da8ba; outline-offset:4px; }

/* Tool categories read as two catalogue covers with distinct colour accents. */
.home-page #assessment-tools .entry-grid { gap:clamp(16px,2.3vw,28px); }
.home-page #assessment-tools .entry {
  --tool-accent:var(--home-sky);
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto 1fr;
  min-height:0;
  overflow:hidden;
  border:1px solid #d7e6ef;
  border-radius:16px;
  box-shadow:none;
  background:#fff;
}
.home-page #assessment-tools .entry:nth-child(2) {
  --tool-accent:var(--home-mint);
  border-color:#d6e6dc;
}
.home-page #assessment-tools .entry img {
  grid-column:1;
  grid-row:1;
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2.25;
  object-fit:cover;
  object-position:center 48%;
  background:var(--tool-accent);
}
.home-page #assessment-tools .entry-copy {
  grid-column:1;
  grid-row:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(19px,2.6vw,32px);
}
.home-page #assessment-tools .entry h3 { margin:0 0 8px; font-size:clamp(22px,2vw,27px); }
.home-page #assessment-tools .entry p { margin:0 0 13px; font-size:var(--home-body-size); }
.home-page #assessment-tools .category-list { gap:6px; margin:0 0 17px; }
.home-page #assessment-tools .category-list a { border:0; background:var(--tool-accent); color:#426273; }
.home-page #assessment-tools .entry .text-link {
  margin-top:auto;
  padding:7px 12px;
  border-radius:7px;
  background:var(--tool-accent);
  font-size:14px;
}

/* Reports and follow-up use the actual product image and a quiet inset. */
.home-page .report-layout {
  grid-template-columns:minmax(0,4fr) minmax(0,6fr);
  align-items:center;
  gap:clamp(20px,3vw,38px);
}
.home-page .report-copy {
  order:0;
  width:100%;
  padding:clamp(16px,2.5vw,28px);
  border-radius:15px;
  background:#fff;
}
.home-page .report-image {
  border:clamp(5px,.65vw,8px) solid #fff;
  border-radius:15px;
  outline:0;
  box-shadow:0 12px 30px #244a4313;
}
.home-page .report-image .lightbox-trigger { background:#fff; }
.home-page .report-versions { grid-template-columns:1fr; gap:8px; margin:0 0 12px; }
.home-page .report-version { border:0; padding:12px 14px; border-radius:9px; background:#edf5f8; }
.home-page .report-version:nth-child(2) { background:#edf5f0; }
.home-page .report-copy .home-note { margin:0 0 4px; }
.home-page .mx-followup {
  grid-template-columns:1fr;
  gap:12px;
  margin-top:16px;
  padding:16px 0 0;
  border-top:1px solid var(--home-seam);
}
.home-page .path ol,
.home-page .mx-followup ol { counter-reset:home-step; }
.home-page .path li,
.home-page .mx-followup li {
  counter-increment:home-step;
  color:var(--home-copy);
  padding:0;
}
.home-page .path li::before,
.home-page .mx-followup li::before {
  content:counter(home-step) / "";
  position:static;
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  margin-bottom:5px;
  border-radius:50%;
  background:#e4f1ef;
  color:#315f65;
  font-size:11px;
  font-weight:650;
}
.home-page .path li::after,
.home-page .mx-followup li::after { display:none; }

/* Sign-up, workbench and delivery keep the actions clearly grouped. */
.home-page .paths { gap:clamp(18px,3vw,30px); }
.home-page .path-enterprise { grid-column:1 / -1; }
.home-page .path {
  display:flex;
  flex-direction:column;
  padding:clamp(20px,3vw,34px);
  border:0;
  border-radius:16px;
  background:#fff;
}
.home-page .path > p { flex:1; }
.home-page :is(.path,.mx-followup) ol {
  gap:0;
  margin:18px 0 22px;
  padding:14px 0;
  border-radius:11px;
  background:#edf5f8;
}
.home-page :is(.path:nth-child(2),.mx-followup) ol { background:#edf5f0; }
.home-page .mx-followup ol { margin:0; }
.home-page :is(.path,.mx-followup) li {
  position:relative;
  text-align:center;
  padding-inline:3px;
  font-weight:600;
}
.home-page :is(.path,.mx-followup) li::before {
  position:relative;
  z-index:1;
  width:28px;
  height:28px;
  margin:0 auto 7px;
  background:#fff;
  border:1px solid #acc9d4;
}
.home-page :is(.path,.mx-followup) li:not(:last-child)::after {
  content:"";
  position:absolute;
  display:block;
  top:14px;
  left:50%;
  width:100%;
  height:1px;
  background:#acc9d4;
}
.home-page .path-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; }
.mx-platform-showcase {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(12px,1.6vw,20px);
}
.mx-platform-panel {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  padding:clamp(14px,1.6vw,20px);
  border:1px solid #dbe7ec;
  border-radius:14px;
  background:#fff;
}
.mx-platform-panel > p { margin:0 0 12px; }
.home-page .mx-platform-image { width:100%; border-width:0; outline:0; box-shadow:none; }
.mx-platform-admin .mx-platform-image { margin:auto 0; }
.home-page .mx-platform-admin .mx-platform-caption { margin:8px 0 0; }
.mx-platform-mobile .lightbox-trigger {
  width:min(100%,130px);
  margin:0 auto;
  overflow:hidden;
  border:1px solid #dbe7ec;
  border-radius:12px;
}
.mx-platform-mobile img { display:block; width:100%; height:auto; }
.home-page .mx-platform-flow {
  border:0;
  border-radius:10px;
  background:var(--home-sky);
  padding-inline:8px;
}
.home-page .mx-platform-flow span { color:var(--home-copy); }
.mx-platform-section .path-actions { margin-top:14px; }
.home-page .home-delivery-wrap .mx-delivery-section { padding:clamp(44px,5.6vw,75px) 0 36px; background:transparent; }
.home-page .mx-delivery-grid { gap:clamp(14px,2.3vw,26px); border:0; }
.home-page .mx-delivery-grid > article {
  padding:clamp(19px,2.8vw,32px);
  border:1px solid #d6e4eb;
  border-radius:16px;
  background:#fff;
}
.home-page .mx-delivery-symbol { background:#ddebf7; color:#416e87; }
.home-page .mx-delivery-grid article:nth-child(2) .mx-delivery-symbol { background:#e4f1eb; color:#326c59; }
.home-page .home-delivery-wrap .cta { background:transparent; padding:0 0 clamp(40px,5vw,64px); }
.home-page .cta-inner {
  padding:clamp(21px,3.4vw,43px);
  border-radius:18px;
  background:#184957;
}
.home-page .cta-inner h2 { color:#fff; }
.home-page .cta-inner p { color:#e3f0f2; }

@media(max-width:1000px) {
  .home-page .hero-grid { min-height:495px; }
}
@media(max-width:1060px) {
  .home-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:960px) {
  .mx-audience-people ul { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .mx-platform-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mx-platform-admin { grid-column:1/-1; }
}
@media(max-width:760px) {
  .home-page .mx-research-grid { grid-template-columns:1fr; }
}
@media(max-width:680px) {
  .home-page { --home-item-size:16px; --home-body-size:14px; --home-note-size:12px; }
  .home-page .hero-grid { min-height:0; padding:42px 0 26px; }
  .home-highlights { grid-template-columns:1fr; gap:9px; }
  .home-page #assessment-system .methods { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  .home-page .method-top { flex-direction:column; align-items:flex-start; }
  .home-page .method-icon { width:32px; height:32px; }
  .home-page .mx-sectors { gap:21px; }
  .mx-occupation-feature { grid-template-columns:1fr; grid-template-areas:"intro" "list"; }
}
@media(max-width:420px) {
  .mx-platform-showcase { grid-template-columns:minmax(0,1fr); }
  .home-page .report-versions { gap:8px; }
  .home-page .report-version { padding:10px; }
}
