/* Public programme/research layouts. Loaded only by the modern public shell.
   Text inherits the site's approved typeface; report renderers are not in scope. */
.cexam-public-modern .pf-program-page { min-width: 0; }
.cexam-public-modern #ma-home { direction: ltr; background: transparent; color: var(--cexam-page-ink); font-family: inherit; --ma-muted: var(--cexam-surface-label); }
.cexam-public-modern #ma-home .container { width: 100%; max-width: none; padding: 0; }
.cexam-public-modern #ma-home .ma-section { margin-top: 38px; padding: 0; }
.cexam-public-modern #ma-home .ma-section-sm { margin-top: 30px; }
.cexam-public-modern #ma-home .ma-title-lg { color: var(--cexam-surface-value); font-size: clamp(23px, 2.1vw, 31px); line-height: 1.3; font-weight: 750; }
.cexam-public-modern #ma-home .ma-topbar { padding: 0 0 20px !important; background: transparent; }
.cexam-public-modern #ma-home .ma-flag-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 15px; background: var(--cexam-surface-soft); border: 1px solid var(--cexam-surface-border); border-radius: 30px; color: var(--cexam-surface-value); font-size: 14px; font-weight: 650; text-decoration: none; }
.cexam-public-modern #ma-home .ma-flag-img { display: block; width: 29px; height: 29px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.cexam-public-modern #ma-home .ma-flag-img img { width: 100%; height: 100%; object-fit: contain; }
.cexam-public-modern #ma-home .ma-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); align-items: center; gap: 30px; overflow: hidden; }
.cexam-public-modern #ma-home .ma-hero-copy { min-width: 0; }
.cexam-public-modern #ma-home .ma-hero-image { margin: 0; min-width: 0; padding: 10px; border: 1px solid var(--cexam-surface-border); border-radius: 20px; background: #fff; box-shadow: 0 18px 34px #284b7012; }
.cexam-public-modern #ma-home .ma-hero-image img { width: 100%; height: auto; display: block; border-radius: 12px; object-fit: contain; }
.cexam-public-modern #ma-home .ma-bullets { list-style: none; padding: 0; margin: 0; display: grid; gap: 17px; }
.cexam-public-modern #ma-home .ma-bullets li { font-size: 16px; line-height: 1.65; display: flex; gap: 11px; color: var(--cexam-surface-label); padding: 0; }
.cexam-public-modern #ma-home .ma-bullets li:first-child { font-size: clamp(25px, 2.4vw, 37px); font-weight: 800; line-height: 1.25; color: var(--cexam-surface-value); letter-spacing: -.025em; }
.cexam-public-modern #ma-home .ma-bullets .dot { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--cexam-surface-accent); margin-top: 10px; }
.cexam-public-modern #ma-home .ma-bullets li:first-child .dot { display: none; }
.cexam-public-modern #ma-home .ma-callout { padding: 25px; border: 1px solid var(--cexam-surface-border); border-radius: 20px; background: var(--cexam-surface-soft); }
.cexam-public-modern #ma-home .ma-callout h5 { font-weight: 750; color: var(--cexam-surface-value); font-size: clamp(19px, 1.9vw, 26px); line-height: 1.45; }
.cexam-public-modern #ma-home .ma-callout p { color: var(--cexam-surface-label); }
.cexam-public-modern #ma-home .ma-illu-img { display: block; width: 100%; height: auto; max-height: 300px; object-fit: contain; border-radius: 16px; }
.cexam-public-modern #ma-home .ma-features { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 15px; }
.cexam-public-modern #ma-home :is(.ma-feature,.ma-step-card,.ma-scard) { min-width: 0; border: 1px solid var(--cexam-surface-border); border-radius: 18px; padding: 22px; background: var(--cexam-surface-soft); box-shadow: none; }
.cexam-public-modern #ma-home .ma-feature { border-top: 3px solid var(--cexam-surface-accent); }
.cexam-public-modern #ma-home .ma-feature:nth-child(even) { border-top-color: var(--cexam-surface-lavender-accent); }
.cexam-public-modern #ma-home :is(.ma-ico,.ma-step-icon,.ma-sico) { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 14px; background: var(--cexam-surface-sky); border: 1px solid var(--cexam-surface-border); }
.cexam-public-modern #ma-home :is(.ma-ico,.ma-step-icon,.ma-sico) img { width: 28px; height: 28px; object-fit: contain; }
.cexam-public-modern #ma-home :is(.ma-feature h6,.ma-step-card h5,.ma-scard h6) { font-weight: 750; color: var(--cexam-surface-value); line-height: 1.4; margin: 18px 0 9px; font-size: 17px; }
.cexam-public-modern #ma-home :is(.ma-feature p,.ma-step-card p,.ma-scard p) { color: var(--cexam-surface-label); font-size: 15px; line-height: 1.7; margin: 0; }
.cexam-public-modern #ma-home .journey { padding: 28px; border-radius: 22px; background: var(--cexam-surface-sky); }
.cexam-public-modern #ma-home .ma-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.cexam-public-modern #ma-home .ma-step-card { position: relative; background: var(--cexam-surface-canvas); padding: 25px; }
.cexam-public-modern #ma-home .ma-step-num { position: absolute; right: 22px; top: 22px; font-size: 34px; font-weight: 800; line-height: 1; color: #a7b5d7; }
.cexam-public-modern #ma-home .ma-step-card a { display: inline-block; margin-top: 16px; color: var(--cexam-surface-value); }
.cexam-public-modern #ma-home .ma-services h5 { font-size: 20px; font-weight: 750; color: var(--cexam-surface-value); margin-bottom: 18px; }
.cexam-public-modern #ma-home .ma-sgrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.cexam-public-modern #ma-home .ma-scard { display: flex; align-items: flex-start; gap: 15px; padding: 19px; }
.cexam-public-modern #ma-home .ma-scard>div:last-child { min-width: 0; }
.cexam-public-modern #ma-home .ma-scard h6 { margin-top: 0; }
.cexam-public-modern #ma-home .ma-sico { width: 38px; height: 38px; flex-basis: 38px; border-radius: 11px; }
.cexam-public-modern #ma-home .ma-sico img { width: 23px; height: 23px; }
.cexam-public-modern #ma-home .ma-accordion .accordion-item { border: 1px solid var(--cexam-surface-border); border-radius: 14px; overflow: hidden; background: var(--cexam-surface-canvas); }
.cexam-public-modern #ma-home .ma-accordion .accordion-button { font-family: inherit; line-height: 1.5; font-weight: 650; color: var(--cexam-surface-value); padding: 19px 22px; background: var(--cexam-surface-soft); box-shadow: none; }
.cexam-public-modern #ma-home .ma-accordion .accordion-button:not(.collapsed) { background: var(--cexam-surface-sky); }
.cexam-public-modern #ma-home .ma-accordion .accordion-button::after { flex-shrink: 0; }
.cexam-public-modern #ma-home .ma-accordion .accordion-body { padding: 22px; font-size: 16px; line-height: 1.8; color: var(--cexam-surface-label); }
.cexam-public-modern #ma-home .ma-qico { width: 22px; height: 22px; margin-right: 11px; flex-shrink: 0; }
.cexam-public-modern #ma-home .ma-cta { padding: 34px; border: 1px solid var(--cexam-surface-border); border-radius: 22px; background: var(--cexam-surface-lavender); color: var(--cexam-surface-value); text-align: center; }
.cexam-public-modern #ma-home .ma-cta h3 { font-weight: 750; font-size: clamp(24px, 2vw, 31px); }
.cexam-public-modern #ma-home .ma-cta p { color: var(--cexam-surface-label); max-width: none; margin-left: auto; margin-right: auto; }
.cexam-public-modern #ma-home :is(.btn-primary,.btn-light,.btn-outline-light) { display: inline-flex; align-items: center; justify-content: center; white-space: normal; min-height: 44px; background: var(--cexam-ui-blue-background); color: var(--cexam-ui-blue-ink); border: 1px solid var(--cexam-ui-blue-border); border-radius: 11px; font-size: 15px; font-weight: 650; padding: 11px 19px; line-height: 1.4; text-decoration: none; }
.cexam-public-modern #ma-home .btn-outline-light { background: var(--cexam-surface-canvas); color: var(--cexam-surface-value); border-color: #b6c5e2; }

/* Original testimonial and explanatory report images stay intact. */
.cexam-public-modern .pf-testimonial-intro { margin: 32px 0; text-align: center; }
.cexam-public-modern .pf-testimonial-intro p { margin: 0; font-size: 18px; line-height: 1.8; text-wrap: pretty; }
.cexam-public-modern .pf-testimonial-feature { margin: 0; }
.cexam-public-modern .pf-document-card { margin: 0; min-width: 0; padding: 15px; }
.cexam-public-modern .pf-document-image { display: flex; align-items: center; justify-content: center; background: white; border: 1px solid var(--cexam-surface-border); border-radius: 13px; overflow: hidden; }
.cexam-public-modern .pf-document-image img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.cexam-public-modern .pf-testimonial-gallery { gap: 28px; margin-top: 0; }
.cexam-public-modern .pf-testimonial-document { margin: 0; min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.cexam-public-modern .pf-testimonial-document a { display: block; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cexam-public-modern .pf-testimonials .pf-testimonial-document img { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: contain; border: 0; border-radius: 0; }
.cexam-public-modern .pf-document-card figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 3px 2px; font-size: 14px; color: var(--cexam-surface-label); line-height: 1.5; }
.cexam-public-modern .pf-document-card figcaption a { display: inline-flex; gap: 8px; align-items: center; color: var(--cexam-surface-value); font-weight: 650; text-decoration: none; }
.cexam-public-modern .pf-document-card figcaption a:hover { text-decoration: underline; }
.cexam-public-modern .pf-report-guide .pf-hero h2 { max-width: none; }
.cexam-public-modern .pf-report-example { max-width: 1060px; margin: 0 auto; }
.cexam-public-modern .pf-report-example .pf-document-image img { max-height: 700px; }
.cexam-public-modern .pf-report-guide .pf-card ul { padding-left: 21px; margin: 16px 0 0; }
.cexam-public-modern .pf-report-guide .pf-card li { padding-left: 5px; margin-top: 13px; line-height: 1.8; }

/* Research entry and library reuse the same controls, palette and reading rhythm. */
.cexam-public-modern .pf-research-access { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 24px; align-items: stretch; }
.cexam-public-modern .pf-research-access .pf-hero { display: flex; flex-direction: column; justify-content: center; }
.cexam-public-modern .pf-research-access-form { display: flex; flex-direction: column; justify-content: center; }
.cexam-public-modern .pf-research-access-form form { display: grid; gap: 13px; margin: 12px 0 22px; }
.cexam-public-modern .pf-research-access-form label { font-size: 15px; font-weight: 650; color: var(--cexam-surface-label); }
.cexam-public-modern .pf-research-access-form .form-control { width: 100%; min-height: 48px; border-radius: 11px; font-family: inherit; padding: 12px 14px; }
.cexam-public-modern .pf-research-access-form button { justify-self: start; }
.cexam-public-modern .pf-research-access-form .pf-note { margin: 0; font-size: 14px; }
.cexam-public-modern .pf-research-library { margin-top: 24px; }
.cexam-public-modern .pf-research-library>.row { margin-bottom: 20px; --bs-gutter-y: 20px; }
.cexam-public-modern .pf-research-library>.row>[class*="col-"] { display: flex; }
.cexam-public-modern .pf-research-library .partner_item_col { width: 100%; height: 100%; margin: 0; padding: 24px; border: 1px solid var(--cexam-surface-border); border-radius: 18px; background: var(--cexam-surface-soft); box-shadow: none; }
.cexam-public-modern .pf-research-library .partner_item_col :is(h4,p) { color: var(--cexam-surface-value); font-family: inherit; }
.cexam-public-modern .pf-research-library .partner_item_col h4 { font-size: 21px; font-weight: 750; line-height: 1.4; margin: 0 0 13px; }
.cexam-public-modern .pf-research-library .partner_item_col p { font-size: 16px !important; color: var(--cexam-surface-label); line-height: 1.8; margin: 0 0 17px; }
.cexam-public-modern .pf-research-logo { max-height: 60px; }
.cexam-public-modern .pf-research-term { font-weight: 700; text-decoration: underline; }
.cexam-public-modern .pf-research-acknowledgements { list-style: none; }
.cexam-public-modern .pf-research-library .website-btn { margin: 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; }
.cexam-public-modern .pf-research-library .website-btn br { display: none; }
.cexam-public-modern .pf-research-library .site_btn { display: inline-flex; gap: 8px; align-items: center; justify-content: center; white-space: normal; font-size: 15px; line-height: 1.5; padding: 11px 18px; min-height: 44px; border-radius: 11px; max-width: 100%; }
.cexam-public-modern .pf-research-library .our_team { justify-content: flex-start !important; }
.cexam-public-modern .pf-research-library .team-item { width: 100%; padding: 23px; border: 1px solid var(--cexam-surface-border); border-radius: 18px; background: var(--cexam-surface-soft); box-shadow: none; margin: 0; }
.cexam-public-modern .pf-research-library .our_team figure { display: none; }
.cexam-public-modern .pf-research-library .team-item::before { display: none; }
.cexam-public-modern .pf-research-library .team-item h3 { position: static; display: block; text-transform: none; border: 0; background: none; padding: 0; font-size: 19px; line-height: 1.5; font-weight: 750; color: var(--cexam-surface-value); margin: 0 0 12px; }
.cexam-public-modern .pf-research-library .team-item h3 img { width: 25px; height: auto; vertical-align: middle; margin-left: 7px; }
.cexam-public-modern .pf-research-library .team-item p { padding: 0 !important; min-height: 0; color: var(--cexam-surface-label); font-size: 15px !important; line-height: 1.8; margin: 0; }
.cexam-public-modern .pf-research-library .decor_heading { margin: 30px 0 22px; }
.cexam-public-modern .pf-research-library .decor_heading br { display: none; }
.cexam-public-modern .pf-research-library .me-info-col { width: 100%; margin-bottom: 20px; }
.cexam-public-modern .pf-research-library .me-info-col h2 { margin-top: 0; text-align: left; padding: 0; font-size: 22px; }
.cexam-public-modern .pf-research-library .me-info-col li { font-size: 15px; line-height: 1.8; margin: 10px 0; }
.cexam-public-modern .pf-research-library>.row:last-child>[class*="col-"] { display: block; width: 100%; }

/* Long research documents have their own navigable reading column. */
.cexam-public-modern .pf-study-layout { display: grid; grid-template-columns: minmax(210px,.65fr) minmax(0,2.35fr); gap: 25px; align-items: start; }
.cexam-public-modern .pf-study-nav { position: sticky; top: 120px; }
.cexam-public-modern .pf-study-nav a { display: block; padding: 12px 0; border-top: 1px solid var(--cexam-surface-divider); color: var(--cexam-surface-value); text-decoration: none; font-size: 14px; font-weight: 650; line-height: 1.5; }
.cexam-public-modern .pf-study-nav a:hover { color: var(--cexam-ui-blue-a); text-decoration: underline; }
.cexam-public-modern .pf-study-content { min-width: 0; }
.cexam-public-modern .pf-study-section { margin-bottom: 22px; scroll-margin-top: 130px; }
.cexam-public-modern .pf-study-section h2 { border-bottom: 1px solid var(--cexam-surface-divider); padding-bottom: 17px; margin-bottom: 23px; color: var(--cexam-surface-value); }
.cexam-public-modern .pf-study-section h3 { color: var(--cexam-surface-value); font-size: 21px; font-weight: 750; line-height: 1.45; margin: 28px 0 14px; }
.cexam-public-modern .pf-study-section h4 { font-size: 17px; font-weight: 500; line-height: 1.8; margin: 16px 0; color: var(--cexam-surface-label); }
.cexam-public-modern .pf-study-section h5 { font-size: 16px; font-weight: 700; line-height: 1.7; margin: 20px 0 12px; color: var(--cexam-surface-value); }
.cexam-public-modern .pf-study-section :is(p,li) { color: var(--cexam-surface-label); font-size: 16px !important; line-height: 1.85; }
.cexam-public-modern .pf-study-section ul { padding-left: 23px; margin: 14px 0 20px; }
.cexam-public-modern .pf-study-section li { padding-left: 3px; margin: 10px 0; }
.cexam-public-modern .pf-study-section .pf-study-table-item { list-style: none; padding-left: 0; }
.cexam-public-modern .pf-study-section .exam-section-overview { margin-top: 20px; max-width: 100%; overflow-x: auto; border-radius: 12px; border: 1px solid var(--cexam-surface-border); }
.cexam-public-modern .pf-study-section table { width: 100%; border-collapse: collapse; margin: 0; }
.cexam-public-modern .pf-study-section table :is(td,th) { font-size: 14px; line-height: 1.6; padding: 13px; border: 1px solid var(--cexam-surface-border); text-align: left; color: var(--cexam-surface-value); }
.cexam-public-modern .pf-study-section table th { background: var(--cexam-surface-table-head); font-weight: 700; }
.cexam-public-modern .pf-study-section table td { background: var(--cexam-surface-canvas); }
.cexam-public-modern .pf-anova .pf-card h3 { font-size: 21px; line-height: 1.4; }
.cexam-public-modern .pf-research-downloads { padding: 28px; }

@media (max-width: 1199px) {
  .cexam-public-modern #ma-home .ma-features { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cexam-public-modern #ma-home .ma-sgrid { grid-template-columns: minmax(0,1fr); }
  .cexam-public-modern .pf-study-layout { grid-template-columns: minmax(180px,.7fr) minmax(0,2.3fr); gap: 18px; }
}
@media (max-width: 991px) {
  .cexam-public-modern #ma-home .ma-hero { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .cexam-public-modern #ma-home .ma-steps { grid-template-columns: minmax(0,1fr); }
  .cexam-public-modern .pf-research-access { grid-template-columns: minmax(0,1fr); }
  .cexam-public-modern .pf-study-layout { grid-template-columns: minmax(0,1fr); }
  .cexam-public-modern .pf-study-nav { position: static; }
}
@media (max-width: 767px) {
  .cexam-public-modern #ma-home .ma-features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cexam-public-modern #ma-home .ma-feature { padding: 17px; }
  .cexam-public-modern #ma-home .ma-section { margin-top: 28px; }
  .cexam-public-modern #ma-home :is(.ma-callout,.journey,.ma-cta) { padding: 20px; }
  .cexam-public-modern #ma-home .ma-flag-pill { font-size: 13px; padding: 7px 11px; }
  .cexam-public-modern #ma-home .ma-accordion .accordion-button { padding: 16px; }
  .cexam-public-modern #ma-home .ma-accordion .accordion-body { padding: 18px; }
  .cexam-public-modern .pf-document-card { padding: 10px; }
  .cexam-public-modern .pf-research-library .partner_item_col { padding: 21px; }
  .cexam-public-modern .pf-study-section table thead { display: none; }
  .cexam-public-modern .pf-study-section table tr { display: block; border-bottom: 1px solid var(--cexam-surface-border); }
  .cexam-public-modern .pf-study-section table td { display: flex; gap: 16px; justify-content: space-between; border: 0; text-align: right; padding: 10px 13px; }
  .cexam-public-modern .pf-study-section table td::before { content: attr(data-label); position: static; text-align: left; font-weight: 650; flex: 1; width: auto; }
  .cexam-public-modern .pf-study-section table td:last-child { padding-bottom: 15px; }
}
@media (max-width: 479px) {
  .cexam-public-modern #ma-home .ma-features { grid-template-columns: minmax(0,1fr); }
  .cexam-public-modern #ma-home .ma-feature { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 0 15px; }
  .cexam-public-modern #ma-home .ma-feature h6 { margin-top: 0; align-self: center; }
  .cexam-public-modern #ma-home .ma-feature p { grid-column: 1/-1; margin-top: 12px; }
}
