/* Mereka AI Lab: shared styles. Light theme only.

   FLUID SCALING RULE (applies to every page)
   The whole page scales with the screen. One root size drives everything:
     html font-size = 16px at a 1440px screen, grows to ~19px at 2000px, caps at 22px,
     and never drops below 14px on phones.
   Every size below (type, spacing, logos, icons, buttons, radii, container width) is in rem,
   so it grows and shrinks with that root. Only these stay in px on purpose:
     hairline borders (1-2px), the 44px minimum tap target, and media-query breakpoints.
   When building a new page: use rem or the tokens below. Never hard-code px sizes. */

html { font-size: clamp(14px, calc(9px + 0.5vw), 22px); }

:root {
  --anchor: #1f3f7c;
  --teal: #1fa3a6;
  --teal-ink: #157578;
  --anchor-700: #142a59;
  --teal-600: #157578;
  --horizon: #5c7db8;
  --deep: #1a1623;
  --ink: #1a1623;
  --grey: #f5f6f7;
  --border: #e3e0e7;
  --muted: #6b6678;
  --white: #ffffff;
  --horizon-ink: #3e5e98;
  --s-1: .25rem; --s-2: .5rem; --s-3: .875rem; --s-4: 1.25rem; --s-5: 1.75rem;
  --s-6: 2.5rem; --s-7: 3.5rem; --s-8: 5rem; --s-9: 6.875rem; --s-10: 8.75rem;
  /* SPACING STANDARD (matched to oriental.mereka.io). Every page uses these; do not hard-code spacing.
     section-y   : space above and below each major section
     space-block : gap between stacked text blocks (heading > paragraph > quote > buttons)
     space-label : gap between an eyebrow label and the heading under it
     space-para  : gap between two paragraphs in the same block
     measure     : max line length for body copy
     shell-x     : left/right page margin (scales with screen width)
     maxw        : max content width (71rem = 1136px at 1440, ~1350px at 2000, so margins match Oriental's 318px there)
     nav-x       : header side margin */
  --section-y: var(--s-10);
  --space-block: 3rem;
  --space-label: 2.5rem;
  --space-para: 1.25em;
  --measure: 53.75rem;
  --card-pad: var(--s-6);
  --grid-gap: var(--s-6);
  --shell-x: clamp(1.25rem, 8vw, 10rem);
  --nav-h: 5.125rem;
  --nav-x: 2.5rem;
  --maxw: 71rem;
  /* TYPE SCALE (sizes at a 1440px screen in brackets; all scale with the root).
     Use the element (h1-h6) for document structure. If a heading must LOOK like another level,
     keep the correct element and add the class: <h3 class="h5">. Never set heading font-size per page.
     H1 page / hero title           5.75rem (92px)  Poppins 800
     H2 section title               4rem    (64px)  Poppins 800
     H3 sub-section title           2.5rem  (40px)  Poppins 700
     H4 large card title            1.75rem (28px)  Poppins 700
     H5 small card / list title     1.375rem(22px)  Poppins 600
     H6 minor heading               1.125rem(18px)  Poppins 600
     H7 eyebrow label (class .h7)   .8125rem(13px)  Inter 600, uppercase, tracked */
  --h1: 5.75rem; --h2: 4rem; --h3: 2.5rem; --h4: 1.75rem; --h5: 1.375rem; --h6: 1.125rem; --h7: .8125rem;
  /* BODY TEXT SCALE (Inter). Only these sizes for non-heading text; never hard-code a font-size.
     text-lg  lead / intro paragraphs          1.3rem  (21px)
     text-md  body copy, nav links, list items 1.05rem (17px)
     text-sm  card copy, footer, captions      .9rem   (14px)
     text-xs  badges, chips, sub-labels        .78rem  (12.5px)
     text-btn every button                     1rem    (16px) */
  --text-lg: 1.3rem; --text-md: 1.05rem; --text-sm: .9rem; --text-xs: .78rem; --text-btn: 1rem;
  --radius: 1.125rem;
  --radius-sm: .75rem;
  --shadow: 0 1.125rem 3.125rem rgba(26,22,35,.10);
  --shadow-sm: 0 .375rem 1.25rem rgba(26,22,35,.07);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--white); }
body { margin: 0; background: var(--white); font-family: Inter, system-ui, sans-serif; font-size: var(--text-md); line-height: 1.7; color: var(--ink); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: var(--anchor); }
a:hover { color: var(--teal-ink); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: Poppins, sans-serif; margin: 0; color: inherit; text-wrap: balance; }
h1, .h1 { font-size: var(--h1); font-weight: 700; line-height: 1; letter-spacing: -0.025em; }
h2, .h2 { font-size: var(--h2); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; }
h3, .h3 { font-size: var(--h3); font-weight: 700; line-height: 1.15; letter-spacing: -0.015em; }
h4, .h4 { font-size: var(--h4); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
h5, .h5 { font-size: var(--h5); font-weight: 700; line-height: 1.3; letter-spacing: 0; }
h6, .h6 { font-size: var(--h6); font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.h7 { font-family: Inter, sans-serif; font-size: var(--h7); font-weight: 600; line-height: 1.4; letter-spacing: .2em; text-transform: uppercase; }
p { margin: 0; }
p + p { margin-top: var(--space-para); }
.stack > * + * { margin-top: var(--space-block); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }

/* Content is at most --maxw wide; side margins scale with the screen. */
.shell { max-width: calc(var(--maxw) + 2 * var(--shell-x)); margin: 0 auto; padding: 0 var(--shell-x); }
.section { padding: var(--section-y) 0; }
.section-grey { background: var(--grey); }
.section-dark { background: var(--ink); color: var(--white); }
.lead { font-size: var(--text-lg); line-height: 1.7; color: var(--muted); max-width: var(--measure); }
.section-dark .lead { color: rgba(255,255,255,.78); }

/* Standard section heading block, used on every page:
   <div class="section-head"><p class="marker">Label</p><h2>Title</h2><p class="lead">Intro</p></div> */
.section-head { margin-bottom: calc(var(--space-block) * 1.25); }
.section-head .lead { margin-top: var(--space-block); max-width: 46ch; }

/* Section marker: teal line + label */
.marker { display: flex; align-items: center; gap: var(--s-3); font-family: Inter, sans-serif; font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--teal-ink); margin-bottom: var(--space-label); }
.marker::before { content: ""; width: 2.5rem; height: 1px; background: var(--teal); }
.section-dark .marker { color: #6cc7c8; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: max(44px, 3rem); font-family: Inter, sans-serif; font-size: var(--text-btn); font-weight: 600; text-decoration: none; cursor: pointer; transition: transform .15s ease, background .15s ease, color .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--anchor); color: #fff; border: none; padding: .875rem 2rem; border-radius: .625rem; }
.btn-primary:hover { background: #142a59; color: #fff; }
.btn-ghost { background: transparent; color: var(--anchor); border: 2px solid var(--anchor); padding: .75rem 1.875rem; border-radius: .625rem; }
.btn-ghost:hover { background: var(--anchor); color: #fff; }
.btn-dark { background: var(--ink); color: #fff; border: none; padding: .875rem 2rem; border-radius: .625rem; }
.btn-dark:hover { background: #000; color: #fff; }
.btn-teal { background: var(--teal); color: #fff; border: none; padding: .875rem 2rem; border-radius: .625rem; }
.btn-teal:hover { background: var(--teal-ink); color: #fff; }

/* Button rows: ALWAYS left-aligned, on every page. Never centre buttons.
   <div class="btn-row"><a class="btn btn-primary">...</a><a class="btn btn-ghost">...</a></div> */
.btn-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 1.125rem; margin-top: var(--space-block); }
.btn-pill { border-radius: 999px; }

.badge { display: inline-flex; align-items: center; gap: .375rem; font-size: var(--text-xs); font-weight: 600; padding: .25rem .75rem; border-radius: 999px; background: rgba(31,163,166,.12); color: var(--teal-ink); }

/* Navigation */
.nav { position: sticky; top: 0; z-index: 50; height: var(--nav-h); background: rgba(255,255,255,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--border); }
.nav .shell { max-width: none; padding: 0 var(--nav-x); height: var(--nav-h); display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); }
.brand { display: flex; align-items: center; text-decoration: none; }
.brand img { height: 1.625rem; width: auto; }
.nav-right { display: flex; align-items: center; gap: var(--s-5); }
.nav-links { display: flex; align-items: center; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.nav-item { position: relative; }
.nav-link { display: inline-flex; align-items: center; gap: .375rem; min-height: 44px; padding: 0 .375rem; font-family: Inter, sans-serif; font-size: var(--text-md); font-weight: 500; color: var(--ink); text-decoration: none; background: none; border: none; cursor: pointer; border-radius: .5rem; }
.mereka-mark { display: inline-flex; align-items: center; padding: .5rem; margin: -.5rem; border-radius: .625rem; text-decoration: none; }
.mereka-mark img { display: block; height: 1.5rem; width: auto; }
.mereka-mark:hover { background: var(--grey); }
.dropdown a.dropdown-lead { grid-column: 1 / -1; background: var(--grey); margin-bottom: .25rem; }
.nav-link, .nav-cta { white-space: nowrap; }
@media (max-width: 1100px) { .nav-links { gap: .25rem; } .nav-right { gap: var(--s-3); } .nav-cta { margin-left: 0; padding: .75rem 1.25rem; } }
@media (max-width: 1100px) { .nav .brand { flex-shrink: 0; } .nav-links { gap: 0; } .nav-link { padding: 0 .3rem; } .nav-cta { padding: .75rem 1rem; } .nav .shell { padding: 0 1.25rem; } }
.mereka-mark { flex-shrink: 0; }

.nav-link:hover, .nav-item:focus-within > .nav-link { color: var(--anchor); background: var(--grey); }
.nav-link svg { width: .875rem; height: .875rem; transition: transform .15s ease; }
.nav-item:hover .nav-link svg, .nav-item:focus-within .nav-link svg { transform: rotate(180deg); }
.nav-cta { margin-left: var(--s-3); min-height: max(44px, 3rem); padding: .75rem 1.75rem; font-size: var(--text-btn); border-radius: 999px; }
.dropdown { position: absolute; top: calc(100% + .375rem); left: 0; min-width: 15rem; padding: var(--s-2); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(.375rem); transition: opacity .15s ease, transform .15s ease, visibility .15s; }
.dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -.625rem; height: .625rem; }
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-wide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; min-width: 31.25rem; left: -7.5rem; }
.dropdown a { display: flex; flex-direction: column; padding: .625rem .875rem; border-radius: .5rem; text-decoration: none; color: var(--ink); font-size: var(--text-sm); font-weight: 500; line-height: 1.35; }
.dropdown a small { font-size: var(--text-xs); font-weight: 400; color: var(--muted); }
.dropdown a:hover { background: var(--grey); color: var(--anchor); }

.mnav { display: none; }
.mnav summary { list-style: none; display: flex; align-items: center; justify-content: center; width: max(44px, 2.75rem); height: max(44px, 2.75rem); border-radius: .625rem; cursor: pointer; color: var(--ink); }
.mnav summary svg { width: 1.5rem; height: 1.5rem; }
.mnav summary::-webkit-details-marker { display: none; }
.mnav summary:hover { background: var(--grey); }
.mnav-panel { position: absolute; left: 0; right: 0; top: var(--nav-h); background: var(--white); border-bottom: 1px solid var(--border); box-shadow: var(--shadow); padding: var(--s-4) var(--shell-x) var(--s-6); max-height: calc(100vh - var(--nav-h)); overflow-y: auto; }
.mnav-group { padding: var(--s-3) 0; border-bottom: 1px solid var(--border); }
.mnav-group p { font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: .375rem; }
.mnav-group a { display: flex; align-items: center; min-height: 44px; text-decoration: none; color: var(--ink); font-weight: 500; }
.mnav-panel .btn { width: 100%; margin-top: var(--s-4); }

/* Filter / tag chips (pill buttons or links) */
.chip { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.25rem; padding: 0 var(--s-3); border: 1px solid var(--border); border-radius: 999px; background: var(--white); font-family: Inter, sans-serif; font-size: var(--text-sm); font-weight: 500; color: var(--ink); text-decoration: none; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.chip:hover { border-color: var(--anchor); color: var(--anchor); }
.chip small { font-size: var(--text-xs); color: var(--muted); }
.chip-on { background: var(--anchor); border-color: var(--anchor); color: #fff; }
.chip-on:hover { color: #fff; }
.chip-on small { color: rgba(255,255,255,.75); }

/* Role / function / category label on a card: H7 style in teal. <p class="h7 card-label">Sales</p> */
.card-label { color: var(--teal-ink); margin: 0; }

/* Big number + caption */
.stat strong { display: block; font-family: Poppins, sans-serif; font-size: var(--h4); font-weight: 700; line-height: 1.1; color: var(--anchor); }
.stat span { font-size: var(--text-sm); color: var(--muted); }

/* Cards */
.card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--card-pad); box-shadow: var(--shadow-sm); }

/* ===== Interior page building blocks (programme, hub and product pages) ===== */

/* Breadcrumb, first thing under the header on every interior page */
.crumbs { padding: var(--s-3) 0; border-bottom: 1px solid var(--border); font-size: var(--text-xs); color: var(--muted); }
.crumbs ol { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; }
.crumbs li + li::before { content: "/"; margin-right: var(--s-2); color: var(--muted); }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--anchor); }

/* Consecutive white sections are separated by a hairline, like the reference design */
main > .section:not(.section-grey):not(.section-dark) + .section:not(.section-grey):not(.section-dark) { border-top: 1px solid var(--border); }

/* ===== Reference components (ported from the approved reference design) =====
   Layout, colours, borders, radii and component spacing follow the reference exactly.
   Type sizes use our tokens only; px are converted to rem. Rules prefixed .pg-<page> apply to one page only
   (each interior page wraps its content in <main class="pg-<page>">). */
.pg-ai-foundation .page-hero, .pg-architect .page-hero, .pg-custom-solutions .page-hero, .pg-integrator .page-hero, .pg-practitioner .page-hero, .pg-workflow-integration .page-hero, .pg-prompts .page-hero, .pg-specialist .page-hero, .pg-strategic-leadership .page-hero, .pg-tool-deep-dives .page-hero, .pg-prompt-library .page-hero, .pg-industry-credentials .page-hero, .pg-partners .page-hero { padding: 2.5rem 0 3rem; }
.pg-ai-transformation .page-hero { padding: 4.5rem 0 3.5rem; border-bottom: 1px solid var(--border); }
.pg-corporate-training .page-hero { padding: 5rem 0 4.5rem; background: linear-gradient(135deg, rgba(31,63,124,0.04) 0%, rgba(31,163,166,0.07) 40%, rgba(31,63,124,0.05) 70%, rgba(255,255,255,0) 100%); }
.page-hero-inner { display: flex; gap: 3rem; align-items: flex-start; }
.page-hero-content { flex: 1; min-width: 0; }
.page-hero-sidebar { width: 21.25rem; flex-shrink: 0; }
.pg-ai-foundation .level-badge, .pg-architect .level-badge, .pg-specialist .level-badge, .pg-tool-deep-dives .level-badge, .pg-prompt-library .level-badge, .pg-industry-credentials .level-badge, .pg-partners .level-badge { display: inline-flex; align-items: center; gap: .375rem; font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--teal-ink); background: rgba(31,163,166,0.08); padding: .375rem .875rem; border-radius: 999px; margin-bottom: 1rem; }
.pg-custom-solutions .level-badge { display: inline-flex; align-items: center; gap: .375rem; font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--blue-600, #3e5e98); background: rgba(31,63,124,0.1); padding: .375rem .875rem; border-radius: 999px; margin-bottom: 1rem; }
.pg-integrator .level-badge, .pg-practitioner .level-badge, .pg-workflow-integration .level-badge { display: inline-flex; align-items: center; gap: .375rem; font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--anchor); background: rgba(31,63,124,0.08); padding: .375rem .875rem; border-radius: 999px; margin-bottom: 1rem; }
.pg-strategic-leadership .level-badge { display: inline-flex; align-items: center; gap: .375rem; font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--ink); background: rgba(26,22,35,0.06); padding: .375rem .875rem; border-radius: 999px; margin-bottom: 1rem; }
.pg-ai-foundation .page-hero h1, .pg-architect .page-hero h1, .pg-custom-solutions .page-hero h1, .pg-integrator .page-hero h1, .pg-practitioner .page-hero h1, .pg-workflow-integration .page-hero h1, .pg-prompts .page-hero h1, .pg-specialist .page-hero h1, .pg-strategic-leadership .page-hero h1, .pg-tool-deep-dives .page-hero h1, .pg-prompt-library .page-hero h1, .pg-industry-credentials .page-hero h1, .pg-partners .page-hero h1 { font-family: Poppins, sans-serif; font-size: var(--h1); letter-spacing: -0.03em; text-wrap: balance; font-weight: 700; line-height: 1.15; color: var(--ink); margin: 0 0 1rem; }
.pg-ai-transformation .page-hero h1 { font-family: Poppins, sans-serif; font-size: var(--h1); font-weight: 700; line-height: 1.0; letter-spacing: -0.03em; color: var(--ink); margin: 0 0 1rem; }
.pg-corporate-training .page-hero h1 { font-family: Poppins, sans-serif; font-size: var(--h1); font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; color: var(--ink); margin: 0 0 1.25rem; text-wrap: balance; }
.pg-ai-foundation .page-hero .subtitle, .pg-architect .page-hero .subtitle, .pg-custom-solutions .page-hero .subtitle, .pg-integrator .page-hero .subtitle, .pg-practitioner .page-hero .subtitle, .pg-workflow-integration .page-hero .subtitle, .pg-specialist .page-hero .subtitle, .pg-strategic-leadership .page-hero .subtitle, .pg-tool-deep-dives .page-hero .subtitle, .pg-prompt-library .page-hero .subtitle, .pg-industry-credentials .page-hero .subtitle, .pg-partners .page-hero .subtitle { font-size: var(--text-lg); line-height: 1.6; color: var(--muted); margin: 0 0 1.75rem; max-width: 35rem; }
.pg-ai-transformation .page-hero .subtitle { font-size: var(--text-lg); line-height: 1.6; color: var(--muted); max-width: 37.5rem; margin: 0; }
.pg-corporate-training .page-hero .subtitle { font-size: var(--text-lg); line-height: 1.6; color: var(--muted); margin: 0 auto; max-width: 36.25rem; }
.pg-prompts .page-hero .subtitle { font-size: var(--text-lg); line-height: 1.6; color: var(--muted); margin: 0 0 1.75rem; max-width: 40rem; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-bottom: 1.75rem; }
.hero-meta-item { display: flex; align-items: center; gap: .5rem; font-size: var(--text-sm); color: var(--ink); font-weight: 500; }
.hero-meta-item .icon { width: 1.25rem; height: 1.25rem; display: flex; align-items: center; justify-content: center; color: var(--teal-ink); }
.hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.pricing-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 1.125rem; padding: 2rem; box-shadow: 0 .375rem 1.25rem rgba(26,22,35,.07); }
.pricing-card h3 { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--muted); margin: 0 0 1rem; }
.price-row { display: flex; justify-content: space-between; align-items: baseline; padding: .625rem 0; border-bottom: 1px solid var(--border); }
.price-row:last-of-type { border-bottom: none; }
.price-label { font-size: var(--text-sm); color: var(--ink); }
.price-value { font-family: Poppins, sans-serif; font-size: var(--text-md); font-weight: 700; color: var(--anchor); }
.pricing-note { font-size: var(--text-xs); color: var(--muted); margin-top: .875rem; padding-top: .875rem; border-top: 1px solid var(--border); line-height: 1.5; }
.pricing-badges { display: flex; gap: .5rem; margin-top: 1rem; flex-wrap: wrap; }
.pricing-badge { display: inline-flex; align-items: center; gap: .25rem; font-size: var(--text-xs); font-weight: 600; color: var(--teal-ink); background: rgba(31,163,166,0.06); padding: .25rem .625rem; border-radius: 999px; }
.modules-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: 1rem; }
.module-card { background: var(--grey); border-radius: .75rem; padding: 1.5rem; transition: box-shadow .25s; }
.module-card:hover { box-shadow: 0 .375rem 1.25rem rgba(26,22,35,.07); }
.module-num { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; color: var(--teal-ink); text-transform: uppercase; margin-bottom: .5rem; }
.module-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.module-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0; }
.pg-ai-foundation .module-tag { display: inline-block; font-size: var(--text-xs); font-weight: 600; color: var(--blue-600, #3e5e98); background: rgba(31,63,124,0.1); padding: .1875rem .5rem; border-radius: .25rem; margin-top: .625rem; }
.outcomes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr)); gap: .75rem; }
.outcome-item { display: flex; gap: .625rem; align-items: flex-start; padding: .75rem 1rem; background: var(--grey); border-radius: .75rem; font-size: var(--text-sm); line-height: 1.5; color: var(--ink); }
.outcome-icon { color: var(--teal-ink); flex-shrink: 0; margin-top: 2px; }
.agenda-list { display: flex; flex-direction: column; gap: 0; max-width: 42.5rem; }
.agenda-item { display: flex; gap: 1.25rem; padding: 1.125rem 0; border-bottom: 1px solid var(--border); }
.agenda-item:last-child { border-bottom: none; }
.agenda-time { font-family: Poppins, sans-serif; font-size: var(--text-xs); font-weight: 700; color: var(--anchor); white-space: nowrap; min-width: 7.5rem; }
.pg-ai-foundation .agenda-content h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .25rem; }
.pg-ai-transformation .agenda-content h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .25rem; }
.pg-ai-foundation .agenda-content p { font-size: var(--text-xs); color: var(--muted); margin: 0; line-height: 1.5; }
.pg-ai-transformation .agenda-content p { font-size: var(--text-xs); line-height: 1.55; color: var(--muted); margin: 0; }
.audience-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; }
.audience-card { background: var(--grey); border-radius: .75rem; padding: 1.25rem; }
.audience-card h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .375rem; }
.audience-card p { font-size: var(--text-xs); line-height: 1.5; color: var(--muted); margin: 0; }
.includes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); gap: 1rem; }
.include-item { display: flex; gap: .75rem; align-items: flex-start; }
.include-icon { width: 2.25rem; height: 2.25rem; border-radius: .75rem; background: rgba(31,163,166,0.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--teal-ink); }
.include-text h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .1875rem; }
.include-text p { font-size: var(--text-xs); color: var(--muted); margin: 0; line-height: 1.5; }
@media (max-width: 768px) {
  .page-hero-inner { flex-direction: column; gap: 2rem; }
  .page-hero-sidebar { width: 100%; }
  .modules-grid { grid-template-columns: 1fr; }
  .outcomes-grid { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: 1fr; }
  .includes-grid { grid-template-columns: 1fr; }
  .agenda-item { flex-direction: column; gap: .375rem; }
  .agenda-time { min-width: auto; }
  .hero-meta { gap: .75rem; }
}
@media (max-width: 480px) {
  .pg-ai-foundation .page-hero, .pg-architect .page-hero, .pg-custom-solutions .page-hero, .pg-integrator .page-hero, .pg-practitioner .page-hero, .pg-workflow-integration .page-hero, .pg-prompts .page-hero, .pg-specialist .page-hero, .pg-strategic-leadership .page-hero, .pg-tool-deep-dives .page-hero, .pg-prompt-library .page-hero, .pg-industry-credentials .page-hero, .pg-partners .page-hero { padding: 1.5rem 0 2rem; }
  .pg-corporate-training .page-hero { padding: 2.5rem 0 2.25rem; }
  .pricing-card { padding: 1.25rem; }
}
.pg-ai-transformation .hero-pills { display: flex; flex-wrap: wrap; gap: .625rem; margin-top: 1.25rem; }
.pg-corporate-training .hero-pills { display: flex; gap: .625rem; flex-wrap: wrap; justify-content: center; align-items: center; margin-top: 2.25rem; }
.pg-public-training .hero-pills { display: flex; gap: .625rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.pg-ai-transformation .hero-pill { display: inline-flex; align-items: center; gap: .375rem; padding: .625rem 1.125rem; border-radius: 999px; font-size: var(--text-sm); font-weight: 600; background: var(--grey); color: var(--ink); border: 1px solid var(--border); }
.pg-corporate-training .hero-pill, .pg-public-training .hero-pill { display: inline-flex; align-items: center; background: #fff; border: 1px solid var(--border); border-radius: 999px; padding: .625rem 1.25rem; font-size: var(--text-sm); font-weight: 600; color: var(--ink); box-shadow: 0 2px .5rem rgba(0,0,0,0.04); }
.pg-ai-transformation .hero-pill svg { width: .875rem; height: .875rem; color: var(--teal-ink); }
.pg-ai-transformation .hero-pill-cta { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.5rem; border-radius: 999px; font-size: var(--text-sm); font-weight: 700; background: var(--teal); color: #fff; text-decoration: none; transition: opacity .25s, transform .15s; }
.pg-corporate-training .hero-pill-cta { display: inline-flex; align-items: center; gap: .5rem; font-family: inherit; font-weight: 600; font-size: var(--text-sm); padding: .625rem 1.5rem; border-radius: 999px; cursor: pointer; border: none; text-decoration: none; color: #fff; background: linear-gradient(135deg, var(--anchor) 0%, var(--teal) 100%); transition: opacity .25s, transform .15s; }
.hero-pill-cta:hover { opacity: 0.9; transform: translateY(-1px); }
.journey-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr)); gap: 2rem; }
.journey-card { background: #fff; border: 1px solid var(--border); border-radius: 1.125rem; padding: 2rem; position: relative; }
.journey-card .phase-num { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--ink); color: #fff; font-family: Poppins, sans-serif; font-size: var(--text-sm); font-weight: 700; margin-bottom: 1rem; }
.journey-card.phase-active .phase-num { background: var(--teal); }
.journey-card.phase-post .phase-num { background: var(--anchor); }
.journey-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .5rem; }
.journey-card .phase-when { letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--teal-ink); margin-bottom: .75rem; }
.journey-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0 0 1rem; }
.journey-card ul { list-style: none; padding: 0; margin: 0; }
.journey-card ul li { font-size: var(--text-xs); line-height: 1.5; color: var(--muted); padding: .3125rem 0 .3125rem 1.25rem; position: relative; }
.journey-card ul li::before { content: ''; position: absolute; left: 0; top: .75rem; width: .375rem; height: .375rem; border-radius: 50%; background: var(--teal); }
.delivery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16.25rem, 1fr)); gap: 1.5rem; }
.delivery-card { background: var(--grey); border-radius: 1.125rem; padding: 2rem; }
.delivery-card h4 { margin-bottom: .5rem; }
.delivery-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0; }
.delivery-icon { width: 2.5rem; height: 2.5rem; border-radius: .5rem; background: var(--white); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; color: var(--teal-ink); }
.risk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr)); gap: 1.5rem; }
.risk-card { display: flex; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.risk-card:last-child { border-bottom: none; }
.risk-num { flex-shrink: 0; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: rgba(31,163,166,0.1); color: var(--teal-ink); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-size: var(--text-xs); font-weight: 700; }
.risk-card h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .25rem; }
.risk-card p { font-size: var(--text-xs); line-height: 1.55; color: var(--muted); margin: 0; }
.track-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: 2rem; margin-bottom: 3rem; }
.track-stat { text-align: center; padding: 2rem 1.25rem; background: var(--grey); border-radius: 1.125rem; }
.track-stat b { display: block; font-family: Poppins, sans-serif; font-size: var(--h3); font-weight: 700; color: var(--ink); line-height: 1.1; margin-bottom: .5rem; }
.track-stat span { font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.showcase { padding: 4rem 0 3.5rem; background: var(--grey); border-top: 1px solid var(--border); }
.showcase .shell { text-align: left; }
.showcase h2 { margin: 0 0 1.5rem; }
.showcase .lead { margin-bottom: 3rem; }
.showcase-timeline { max-width: 45rem; margin: 0 auto 3rem; text-align: left; }
.showcase-step { display: flex; gap: 1.25rem; position: relative; padding-bottom: 2rem; }
.showcase-step:last-child { padding-bottom: 0; }
.showcase-step-rail { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; width: 2.5rem; }
.showcase-step-num { width: 2.5rem; height: 2.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-size: var(--text-md); font-weight: 700; color: #fff; background: var(--ink); flex-shrink: 0; }
.showcase-step:nth-child(2) .showcase-step-num { background: var(--teal); }
.showcase-step-line { flex: 1; width: 2px; background: var(--border); margin-top: .375rem; }
.showcase-step:last-child .showcase-step-line { display: none; }
.showcase-step-content { padding-top: .5rem; }
.showcase-step-content h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .375rem; }
.showcase-step:nth-child(2) .showcase-step-content h3 { color: var(--teal-ink); }
.showcase-step-content p { font-size: var(--text-xs); line-height: 1.65; color: var(--muted); margin: 0; }
.showcase-footer { background: var(--white); border: 1px solid var(--border); border-radius: 1.125rem; padding: 2rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; text-align: left; max-width: 45rem; margin: 0 auto; }
.showcase-footer p { font-size: var(--text-sm); line-height: 1.6; color: var(--muted); margin: 0; }
.showcase-footer strong { color: var(--ink); font-weight: 700; }
.showcase-footer .hero-pill-cta { flex-shrink: 0; padding: .75rem 1.75rem; }
.agenda-timeline { max-width: 45rem; margin: 0 auto; }
.agenda-block { display: flex; gap: 1.25rem; padding-bottom: 1.5rem; position: relative; }
.agenda-block:last-child { padding-bottom: 0; }
.agenda-rail { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; width: 2.75rem; }
.agenda-dot { width: .75rem; height: .75rem; border-radius: 50%; background: var(--teal); flex-shrink: 0; margin-top: .375rem; }
.agenda-line { flex: 1; width: 2px; background: var(--border); margin-top: .375rem; }
.agenda-block:last-child .agenda-line { display: none; }
.pg-ai-transformation .agenda-content .agenda-time { letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--teal-ink); margin-bottom: .25rem; }
.eval-pipeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.eval-stage { background: var(--grey); border-radius: 1.125rem; padding: 2rem; position: relative; }
.eval-stage .eval-when { letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--teal-ink); margin-bottom: .5rem; }
.eval-stage h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .5rem; }
.eval-stage p { font-size: var(--text-xs); line-height: 1.55; color: var(--muted); margin: 0; }
@media (max-width: 700px) {
  .pg-ai-transformation .page-hero { padding: 3.5rem 0 3rem; }
  .pg-ai-transformation .hero-pills { gap: .5rem; }
  .pg-ai-transformation .hero-pill { padding: .5rem .875rem; }
  .journey-grid { grid-template-columns: 1fr; }
  .delivery-grid { grid-template-columns: 1fr; }
  .risk-grid { grid-template-columns: 1fr; }
  .track-stats { grid-template-columns: repeat(2, 1fr); }
  .eval-pipeline { grid-template-columns: 1fr; }
  .pg-ai-transformation .showcase { padding: 3rem 0 2.5rem; }
  .pg-ai-transformation .showcase-footer { flex-direction: column; text-align: center; padding: 1.5rem 1.25rem; }
}
.trust-strip { padding: 1.25rem 0; border-bottom: 1px solid var(--border); text-align: center; }
.trust-strip .shell { max-width: 1180px; }
.trust-label { letter-spacing: .2em; font-size: var(--h7); font-weight: 600; text-transform: uppercase; color: var(--muted); margin-bottom: .75rem; }
.trust-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.5rem 2rem; }
.trust-name { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); opacity: 0.55; white-space: nowrap; transition: opacity .25s cubic-bezier(.2,.7,.2,1); }
.trust-name:hover { opacity: 0.85; }
@media (max-width: 700px) {
  .trust-logos { gap: 1rem 1.5rem; }
}
.pg-corporate-training .page-hero .shell { max-width: 50rem; margin: 0 auto; text-align: center; }
.hero-label { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--anchor); margin: 0 0 1.25rem; }
.hero-label span { color: var(--muted); margin: 0 .5rem; }
.hero-pill-pricing { background: rgba(31,163,166,0.10); border: 1px solid rgba(31,163,166,0.2); color: var(--teal-ink); font-weight: 600; }
.hero-ctas { display: flex; gap: .875rem; flex-wrap: wrap; }
.hero-cta-primary { display: inline-flex; align-items: center; gap: .5rem; font-family: inherit; font-weight: 600; font-size: var(--text-md); padding: .875rem 2rem; border-radius: 999px; cursor: pointer; border: none; text-decoration: none; color: #fff; background: linear-gradient(135deg, var(--anchor) 0%, var(--teal) 100%); transition: opacity .25s, transform .15s; }
.hero-cta-primary:hover { opacity: 0.9; transform: translateY(-1px); }
.hero-cta-secondary { display: inline-flex; align-items: center; gap: .5rem; font-family: inherit; font-weight: 600; font-size: var(--text-md); padding: .875rem 2rem; border-radius: 999px; cursor: pointer; border: 1.5px solid var(--border); text-decoration: none; color: var(--ink); background: transparent; transition: border-color .25s, transform .15s; }
.hero-cta-secondary:hover { border-color: var(--ink); transform: translateY(-1px); }
.pg-corporate-training .tier { margin-bottom: 3rem; border: 1.5px solid var(--border); border-radius: 1.125rem; padding: 2rem; background: var(--white); position: relative; }
.pg-corporate-training .tier:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
}
.tier-icon { width: 2.75rem; height: 2.75rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; margin-bottom: .75rem; }
.tier-desc { font-size: var(--text-xs); color: var(--muted); display: none; }
.pg-corporate-training .prog-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 1.125rem; padding: 2rem; text-decoration: none; color: inherit; transition: box-shadow .25s cubic-bezier(.2,.7,.2,1), transform .25s cubic-bezier(.2,.7,.2,1); display: flex; flex-direction: column; }
.pg-public-training .prog-card { display: flex; border: 1.5px solid var(--border); border-radius: 1.125rem; overflow: hidden; transition: box-shadow .25s cubic-bezier(.2,.7,.2,1); background: var(--white); }
.pg-corporate-training .prog-card:hover { box-shadow: 0 1.125rem 3.125rem rgba(26,22,35,.10); transform: translateY(-2px); }
.pg-public-training .prog-card:hover { box-shadow: 0 1.125rem 3.125rem rgba(26,22,35,.10); }
.pg-corporate-training .prog-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.pg-public-training .prog-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .625rem; }
.pg-corporate-training .prog-price { font-family: Poppins, sans-serif; font-size: var(--text-md); font-weight: 700; color: var(--anchor); }
.pg-public-training .prog-price { text-align: right; }
.prog-price .from { font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.path-visual { display: flex; align-items: center; gap: 0; overflow-x: auto; padding: .75rem 0 1.25rem; margin-bottom: 1.5rem; }
.path-step { display: flex; align-items: center; gap: 0; flex-shrink: 0; }
.path-dot { width: 2.25rem; height: 2.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-size: var(--text-xs); font-weight: 700; color: #fff; flex-shrink: 0; }
.path-dot.teal { background: var(--teal); }
.path-dot.anchor { background: var(--anchor); }
.path-line { width: 2.5rem; height: 2px; background: var(--border); flex-shrink: 0; }
.pg-corporate-training .cert-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.pg-public-training .cert-logos { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.pg-corporate-training .cert-logos img { height: 1.75rem; width: auto; object-fit: contain; opacity: 0.85; }
.pg-public-training .cert-logos img { height: 1.75rem; opacity: 0.7; transition: opacity .25s; }
.why-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.5rem; }
.why-card { text-align: center; padding: 2rem 1.5rem; }
.why-icon { width: 3rem; height: 3rem; border-radius: .75rem; background: rgba(31,163,166,0.08); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; color: var(--teal-ink); }
.why-card h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); line-height: 1.3; color: var(--ink); margin: 0 0 .5rem; }
.why-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0; }
@media (max-width: 768px) {
  .pg-corporate-training .page-hero { padding: 3.5rem 0 3rem; }
  .pg-corporate-training .hero-pills, .pg-public-training .hero-pills { gap: .5rem; }
  .pg-corporate-training .hero-pill, .pg-public-training .hero-pill { padding: .5rem .875rem; }
  .hero-ctas { gap: .625rem; }
  .hero-cta-primary, .hero-cta-secondary { padding: .75rem 1.5rem; }
  .pg-corporate-training .showcase { padding: 3rem 0 2.5rem; }
  .pg-corporate-training .showcase .subtitle { margin-bottom: 2rem; }
  .pg-corporate-training .showcase-footer { flex-direction: column; text-align: center; padding: 1.5rem 1.25rem; }
  .pg-corporate-training .tier { padding: 1.25rem; }
  .path-visual { gap: 0; }
  .path-line { width: 1.5rem; }
}
.proof-pipeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-bottom: 2.25rem; position: relative; }
.proof-pipeline::before { content: ""; position: absolute; top: 1.75rem; left: 12%; right: 12%; height: 2px; background: var(--border); z-index: 0; }
.pipe-stage { text-align: center; position: relative; z-index: 1; }
.pipe-num { width: 3.25rem; height: 3.25rem; border-radius: 50%; background: var(--white); border: 2px solid var(--border); display: flex; align-items: center; justify-content: center; margin: 0 auto .625rem; font-family: Poppins, sans-serif; font-size: 1.0625rem; font-weight: 700; color: var(--muted); transition: all .25s cubic-bezier(.2,.7,.2,1); }
.pipe-stage.included .pipe-num { border-color: var(--teal); background: linear-gradient(135deg, rgba(31,163,166,0.08), rgba(31,63,124,0.08)); color: var(--teal-ink); }
.pipe-stage.optional .pipe-num { border-style: dashed; border-color: var(--blue-600, #3e5e98); color: var(--blue-600, #3e5e98); }
.pipe-when { letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.pipe-name { font-family: Poppins, sans-serif; font-size: var(--text-xs); font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.pipe-n { font-size: var(--text-xs); color: var(--muted); }
.pipe-detail { font-size: var(--text-xs); color: var(--muted); line-height: 1.5; margin-top: .375rem; padding: 0 .25rem; }
.pipe-badge { display: inline-block; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; padding: 2px .5rem; border-radius: 999px; margin-top: .375rem; }
.pipe-badge.included { color: var(--teal-ink); background: rgba(31,163,166,0.10); }
.pipe-badge.optional { color: var(--blue-600, #3e5e98); background: rgba(31,63,124,0.12); }
.pg-corporate-training .proof-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.pg-corporate-training .proof-stats { margin-top: 0; }
.ps { background: var(--white); border: 1px solid var(--border); border-radius: .75rem; padding: 1.375rem 1rem; text-align: center; }
.ps b { display: block; font-size: var(--h3); font-weight: 700; font-family: Poppins, sans-serif; background: linear-gradient(135deg, var(--anchor), var(--teal)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: .375rem; line-height: 1.1; }
.ps span { font-size: var(--text-xs); color: var(--muted); line-height: 1.4; display: block; }
.ps .ps-n { display: block; font-size: var(--text-xs); color: var(--muted); opacity: 0.6; margin-top: .25rem; }
.ps .ps-source { display: inline-block; letter-spacing: .2em; font-size: var(--h7); font-weight: 600; text-transform: uppercase; color: var(--teal-ink); background: rgba(31,163,166,0.08); padding: 2px .5rem; border-radius: 999px; margin-top: .5rem; }
.proof-subhead { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--muted); margin: 3rem 0 1.25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.proof-subhead:first-of-type { margin-top: 0; }
.proof-method-note { text-align: center; font-size: var(--text-sm); color: var(--muted); line-height: 1.6; padding: 1.25rem 1.75rem; margin-bottom: 0; background: linear-gradient(135deg, rgba(31,163,166,0.04), rgba(31,63,124,0.04)); border-radius: .75rem; border: 1px solid var(--border); }
.proof-method-note strong { color: var(--ink); font-weight: 600; }
.proof-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.pt-card { display: grid; grid-template-columns: .25rem 1fr; background: var(--white); border: 1px solid var(--border); border-radius: .75rem; overflow: hidden; transition: box-shadow .25s cubic-bezier(.2,.7,.2,1), transform .25s cubic-bezier(.2,.7,.2,1); }
.pt-card:hover { box-shadow: 0 .25rem 1.25rem rgba(0,0,0,0.06); transform: translateY(-2px); }
.pt-accent { background: linear-gradient(to bottom, var(--teal), var(--anchor)); }
.pt-body { padding: 1.375rem 1.5rem; }
.pt-client { font-family: Poppins, sans-serif; font-size: var(--text-sm); font-weight: 700; color: var(--ink); margin-bottom: .5rem; }
.pt-body blockquote { margin: 0; font-size: var(--text-sm); line-height: 1.65; color: var(--muted); font-style: italic; }
.pt-body cite { display: block; font-style: normal; font-size: var(--text-xs); color: var(--muted); margin-top: .75rem; padding-top: .625rem; border-top: 1px solid var(--border); }
.pt-body cite strong { color: var(--ink); font-weight: 600; }
.pt-metric { display: inline-block; font-size: var(--text-xs); font-weight: 700; color: var(--teal-ink); background: rgba(31,163,166,0.08); padding: .1875rem .625rem; border-radius: 999px; margin-top: .625rem; }
@media (max-width: 900px) {
  .proof-testimonials { grid-template-columns: 1fr; }
  .proof-pipeline { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
  .proof-pipeline::before { display: none; }
}
@media (max-width: 700px) {
  .proof-pipeline { grid-template-columns: 1fr; gap: 1rem; }
  .proof-stats { grid-template-columns: repeat(2, 1fr); }
}
.process-strip { padding: 3rem 0; text-align: center; }
.process-label { letter-spacing: .2em; font-size: var(--h7); font-weight: 600; text-transform: uppercase; color: var(--muted); margin-bottom: 1.5rem; }
.process-steps { display: flex; align-items: flex-start; justify-content: center; gap: 0; max-width: 43.75rem; margin: 0 auto; }
.pg-corporate-training .process-step { flex: 1; position: relative; text-align: center; padding: 0 .75rem; }
.pg-custom-solutions .process-step { display: flex; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid var(--border); counter-increment: step-counter; }
.pg-corporate-training .process-step::after { content: ''; position: absolute; top: 1rem; right: -2px; width: calc(100% - 2.75rem); height: 2px; background: var(--border); z-index: 0; }
.pg-corporate-training .process-step:last-child::after { display: none; }
.process-num { width: 2rem; height: 2rem; border-radius: 50%; background: var(--anchor); color: var(--white); font-family: Poppins, sans-serif; font-size: var(--text-xs); font-weight: 700; display: inline-flex; align-items: center; justify-content: center; margin-bottom: .5rem; position: relative; z-index: 1; }
.process-name { font-family: Poppins, sans-serif; font-size: var(--text-xs); font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.process-time { font-size: var(--text-xs); color: var(--muted); }
@media (max-width: 480px) {
  .process-steps { flex-wrap: wrap; gap: 1rem 0; }
  .pg-corporate-training .process-step { flex: 0 0 50%; }
  .pg-corporate-training .process-step:nth-child(2)::after { display: none; }
}
.free-programmes-section { background: #fff; padding-block: var(--sec-y); }
.free-prog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.free-prog-card { display: flex; flex-direction: column; justify-content: space-between; padding: 1.75rem 1.5rem 1.5rem; background: #fff; border: 1px solid var(--border); border-radius: .75rem; text-decoration: none; transition: all .25s cubic-bezier(.2,.7,.2,1); position: relative; }
.free-prog-card:hover { border-color: var(--teal); box-shadow: 0 .25rem 1.25rem rgba(31,163,166,0.08); transform: translateY(-.1875rem); }
.free-prog-card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: .875rem; }
.free-prog-card-header h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0; line-height: 1.35; flex: 1; }
.free-prog-partner-logo { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-alt, #f5f6f7); border-radius: .5rem; padding: .3125rem .625rem; }
.free-prog-partner-logo img { height: 1.25rem; display: block; }
.free-prog-desc { font-size: var(--text-sm); line-height: 1.7; color: var(--muted); margin: 0 0 1.25rem; flex: 1; }
.free-prog-meta { display: flex; align-items: center; justify-content: space-between; padding-top: 1rem; border-top: 1px solid var(--border); }
.free-prog-status { letter-spacing: .2em; font-size: var(--h7); font-weight: 600; text-transform: uppercase; color: var(--teal-ink); display: flex; align-items: center; gap: .375rem; }
.free-prog-status .status-dot { width: .375rem; height: .375rem; border-radius: 50%; background: var(--teal); display: inline-block; animation: nodePulse 2s ease-in-out infinite; }
.free-prog-arrow { font-size: var(--text-md); color: var(--muted); transition: color .25s, transform .25s; }
.free-prog-card:hover .free-prog-arrow { color: var(--teal-ink); transform: translateX(.1875rem); }
@media (max-width: 700px) {
  .free-prog-grid { grid-template-columns: 1fr; gap: 1rem; }
  .free-prog-card { padding: 1.375rem 1.125rem 1.125rem; }
  .free-prog-partner-logo img { height: 1rem; }
}
.dept-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: 1rem; }
.dept-card { background: var(--grey); border-radius: .75rem; padding: 1.5rem; transition: box-shadow .25s; }
.dept-card:hover { box-shadow: 0 .375rem 1.25rem rgba(26,22,35,.07); }
.dept-icon { width: 2.25rem; height: 2.25rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; margin-bottom: .75rem; color: #fff; }
.dept-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.dept-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0; }
.process-list { display: flex; flex-direction: column; gap: 0; max-width: 43.75rem; counter-reset: step-counter; }
.pg-custom-solutions .process-step:last-child { border-bottom: none; }
.pg-custom-solutions .step-num { width: 2.5rem; height: 2.5rem; border-radius: .75rem; background: rgba(31,163,166,0.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: Poppins, sans-serif; font-size: var(--text-md); font-weight: 700; color: var(--teal-ink); }
.pg-prompts .step-num, .pg-public-training .step-num { font-family: Poppins, sans-serif; font-size: 2rem; font-weight: 700; color: rgba(31,163,166,0.15); line-height: 1; margin-bottom: .75rem; }
.pg-tool-deep-dives .step-num, .pg-prompt-library .step-num, .pg-industry-credentials .step-num, .pg-partners .step-num { font-family: Poppins, sans-serif; font-size: 2rem; font-weight: 700; color: rgba(31,163,166,0.15); margin-bottom: .75rem; line-height: 1; }
.pg-custom-solutions .step-content h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .375rem; }
.pg-custom-solutions .step-content p { font-size: var(--text-xs); color: var(--muted); margin: 0; line-height: 1.6; }
.step-meta { display: inline-block; font-size: var(--text-xs); font-weight: 600; color: var(--blue-600, #3e5e98); background: rgba(31,63,124,0.1); padding: .1875rem .5rem; border-radius: .25rem; margin-top: .5rem; }
@media (max-width: 768px) {
  .dept-grid { grid-template-columns: 1fr; }
  .pg-custom-solutions .process-step { flex-direction: column; gap: .75rem; }
}
.prereq-badge { display: inline-flex; align-items: center; gap: .25rem; font-size: var(--text-xs); font-weight: 600; color: var(--anchor); background: rgba(31,63,124,0.06); padding: .25rem .625rem; border-radius: 999px; }
.hero-stats { display: flex; gap: 2rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.hero-stat { display: flex; flex-direction: column; }
.hero-stat-num { font-family: Poppins, sans-serif; font-size: var(--h4); font-weight: 700; color: var(--anchor); line-height: 1.1; }
.hero-stat-label { font-size: var(--text-xs); color: var(--muted); margin-top: 2px; }
.categories-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(21.25rem, 1fr)); gap: 1rem; }
.category-card { background: var(--grey); border-radius: .75rem; padding: 2rem; transition: box-shadow .25s, transform .25s cubic-bezier(.2,.7,.2,1); cursor: default; }
.category-card:hover { box-shadow: 0 .375rem 1.25rem rgba(26,22,35,.07); transform: translateY(-2px); }
.category-icon { width: 2.75rem; height: 2.75rem; border-radius: .75rem; background: rgba(31,163,166,0.08); display: flex; align-items: center; justify-content: center; color: var(--teal-ink); margin-bottom: 1rem; }
.category-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.category-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0 0 .75rem; }
.category-count { display: inline-flex; align-items: center; gap: .25rem; font-size: var(--text-xs); font-weight: 600; color: var(--blue-600, #3e5e98); background: rgba(31,63,124,0.1); padding: .25rem .625rem; border-radius: .25rem; }
.pg-prompts .steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; counter-reset: step; }
.pg-public-training .steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.pg-tool-deep-dives .steps-grid, .pg-prompt-library .steps-grid, .pg-industry-credentials .steps-grid, .pg-partners .steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; counter-reset: step; }
.pg-prompts .step-card { position: relative; background: var(--grey); border-radius: .75rem; padding: 2rem; counter-increment: step; }
.pg-public-training .step-card { position: relative; background: var(--grey); border-radius: .75rem; padding: 2rem 1.5rem; }
.pg-tool-deep-dives .step-card, .pg-prompt-library .step-card, .pg-industry-credentials .step-card, .pg-partners .step-card { text-align: center; padding: 2rem 1.5rem; background: var(--grey); border-radius: .75rem; counter-increment: step; position: relative; }
.pg-prompts .step-card h3, .pg-public-training .step-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.pg-prompts .step-card p, .pg-public-training .step-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0; }
.pg-tool-deep-dives .step-card p, .pg-prompt-library .step-card p, .pg-industry-credentials .step-card p, .pg-partners .step-card p { font-size: var(--text-xs); line-height: 1.5; color: var(--muted); margin: 0; }
@media (max-width: 768px) {
  .categories-grid { grid-template-columns: 1fr; }
  .pg-prompts .steps-grid, .pg-public-training .steps-grid { grid-template-columns: 1fr; }
  .pg-tool-deep-dives .steps-grid, .pg-prompt-library .steps-grid, .pg-industry-credentials .steps-grid, .pg-partners .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-stats { gap: 1.25rem; }
}
.hub-hero { padding: 5rem 0 4.5rem; background: linear-gradient(135deg, rgba(31,163,166,0.06) 0%, rgba(31,63,124,0.05) 40%, rgba(31,63,124,0.04) 70%, rgba(255,255,255,0) 100%); }
.hub-hero .shell { max-width: 50rem; margin: 0 auto; }
.hub-hero h1 { font-family: Poppins, sans-serif; font-size: var(--h1); font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; color: var(--ink); margin: 0 0 1.25rem; text-wrap: balance; }
.hub-hero .subtitle { font-size: var(--text-lg); line-height: 1.6; color: var(--muted); margin: 0 0 2.25rem; max-width: 36.25rem; }
.prog-cards { display: flex; flex-direction: column; gap: 1.5rem; }
.prog-card-accent { width: .375rem; flex-shrink: 0; }
.prog-card-accent.teal { background: var(--teal); }
.prog-card-accent.anchor { background: var(--anchor); }
.prog-card-body { flex: 1; padding: 2rem 2rem; display: flex; gap: 2.5rem; align-items: flex-start; }
.prog-card-content { flex: 1; min-width: 0; }
.prog-card-badge { display: inline-flex; align-items: center; gap: .3125rem; font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; padding: .25rem .75rem; border-radius: 999px; margin-bottom: .75rem; }
.prog-card-badge.teal { color: var(--teal-ink); background: rgba(31,163,166,0.08); }
.prog-card-badge.anchor { color: var(--anchor); background: rgba(31,63,124,0.08); }
.prog-card-desc { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0 0 1.125rem; }
.prog-card-meta { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.125rem; }
.prog-card-meta-item { display: flex; align-items: center; gap: .375rem; font-size: var(--text-xs); font-weight: 500; color: var(--ink); }
.prog-card-meta-item .icon { color: var(--teal-ink); display: flex; }
.prog-modules { display: flex; flex-wrap: wrap; gap: .375rem; margin-bottom: 1.25rem; }
.prog-module-tag { font-size: var(--text-xs); font-weight: 500; color: var(--muted); background: var(--grey); padding: .25rem .625rem; border-radius: .25rem; }
.prog-card-pricing { width: 13.75rem; flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; padding-top: .25rem; }
.prog-price-amount { font-family: Poppins, sans-serif; font-size: var(--h4); font-weight: 700; color: var(--anchor); line-height: 1.1; }
.prog-price-unit { font-size: var(--text-xs); color: var(--muted); margin-top: 2px; }
.prog-card-pricing .btn { white-space: nowrap; }
.faq-list { max-width: 45rem; display: flex; flex-direction: column; gap: 0; }
.faq-item { padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.faq-item:first-child { padding-top: 0; }
.faq-item:last-child { border-bottom: none; }
.faq-q { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; cursor: pointer; display: flex; align-items: center; gap: .625rem; }
.faq-q .chevron { color: var(--teal-ink); transition: transform .25s; flex-shrink: 0; }
.faq-a { font-size: var(--text-sm); line-height: 1.7; color: var(--muted); margin: 0; padding-left: 1.625rem; }
@media (max-width: 768px) {
  .hub-hero { padding: 3.5rem 0 3rem; }
  .prog-card-body { flex-direction: column; gap: 1.25rem; padding: 1.5rem 1.25rem; }
  .prog-card-pricing { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; }
  .pg-public-training .prog-price { text-align: left; }
}
@media (max-width: 480px) {
  .hub-hero { padding: 2.5rem 0 2.25rem; }
}
.tdd-header { margin-bottom: 1.25rem; }
.tdd-header h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.tdd-subtitle { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0 0 .625rem; }
.tdd-modules { font-size: var(--text-xs); color: var(--muted); line-height: 1.6; margin: 0 0 1.25rem; }
.tdd-modules strong { color: var(--ink); font-weight: 600; }
.tdd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-bottom: 1rem; }
.tdd-card { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; cursor: pointer; transition: box-shadow .25s cubic-bezier(.2,.7,.2,1), border-color .25s; position: relative; text-decoration: none; }
.tdd-card:hover { border-color: var(--teal); box-shadow: 0 .25rem 1rem rgba(31,163,166,0.08); }
.tdd-icon { width: 2.25rem; height: 2.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; }
.tdd-card-body { flex: 1; min-width: 0; }
.tdd-card-name { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .1875rem; }
.tdd-card-desc { font-size: var(--text-xs); color: var(--muted); line-height: 1.5; margin: 0; }
.tdd-chevron { position: absolute; top: 1rem; right: .875rem; color: var(--muted); opacity: 0.4; transition: opacity .25s, color .25s; }
.tdd-card:hover .tdd-chevron { opacity: 1; color: var(--teal-ink); }
.tdd-note { font-size: var(--text-xs); color: var(--muted); line-height: 1.6; margin: 0; font-style: italic; }
@media (max-width: 768px) {
  .tdd-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .tdd-grid { grid-template-columns: 1fr; }
}
.cert-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.cert-card { padding: 2rem; border: 1.5px solid var(--border); border-radius: 1.125rem; background: var(--white); transition: box-shadow .25s cubic-bezier(.2,.7,.2,1); display: flex; flex-direction: column; }
.cert-card:hover { box-shadow: 0 .375rem 1.25rem rgba(26,22,35,.07); }
.cert-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .75rem; }
.cert-card-desc { font-size: var(--text-xs); line-height: 1.7; color: var(--muted); margin: 0; flex-grow: 1; }
.pg-public-training .cert-logos img:hover { opacity: 1; }
@media (max-width: 768px) {
  .cert-grid { grid-template-columns: 1fr; }
}
.xref-banner { background: var(--grey); border-radius: 1.125rem; padding: 3rem 4rem; margin: 4rem 0; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.xref-banner h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.xref-banner p { font-size: var(--text-sm); line-height: 1.7; color: var(--muted); margin: 0; max-width: 36.25rem; }
.xref-banner .btn-teal { flex-shrink: 0; white-space: nowrap; }
@media (max-width: 768px) {
  .xref-banner { flex-direction: column; text-align: center; align-items: stretch; padding: 2rem 1.5rem; }
  .xref-banner .btn-teal { align-self: center; }
}
.prereq-note { display: flex; align-items: center; gap: .375rem; font-size: var(--text-xs); color: var(--anchor); font-weight: 600; margin-top: .875rem; padding-top: .875rem; border-top: 1px solid var(--border); }
.lenses-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.lens-card { background: var(--grey); border-radius: .75rem; padding: 2rem; position: relative; overflow: hidden; }
.lens-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: .1875rem; }
.lens-card:nth-child(1)::before { background: var(--anchor); }
.lens-card:nth-child(2)::before { background: var(--teal); }
.lens-card:nth-child(3)::before { background: var(--ink); }
.lens-num { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; margin-bottom: .625rem; }
.lens-card:nth-child(1) .lens-num { color: var(--anchor); }
.lens-card:nth-child(2) .lens-num { color: var(--teal-ink); }
.lens-card:nth-child(3) .lens-num { color: var(--ink); }
.lens-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.lens-card p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin: 0; }
@media (max-width: 768px) {
  .lenses-grid { grid-template-columns: 1fr; }
}
.tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(21.25rem, 1fr)); gap: 1.25rem; }
.tool-card { border-radius: 1.125rem; padding: 2rem; transition: box-shadow .25s, transform .25s cubic-bezier(.2,.7,.2,1); position: relative; overflow: hidden; }
.tool-card:hover { box-shadow: 0 1.125rem 3.125rem rgba(26,22,35,.10); transform: translateY(-2px); }
.tool-card-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.tool-icon { width: 2.5rem; height: 2.5rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1rem; color: #fff; flex-shrink: 0; }
.tool-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin: 0; }
.tool-card .tool-tagline { font-size: var(--text-xs); color: var(--muted); margin: 0 0 .875rem; line-height: 1.5; }
.tool-skills { display: flex; flex-direction: column; gap: .5rem; }
.tool-skill { display: flex; align-items: center; gap: .5rem; font-size: var(--text-xs); line-height: 1.4; }
.tool-skill .dot { width: .375rem; height: .375rem; border-radius: 50%; flex-shrink: 0; }
.tool-card.custom { background: rgba(31,163,166,0.05); border: 1.5px solid rgba(31,163,166,0.15); }
.tool-card.custom h3 { color: var(--teal-ink); }
.tool-card.custom .tool-icon { background: var(--teal); }
.tool-card.custom .dot { background: var(--teal); }
.pg-tool-deep-dives .step-card h4, .pg-prompt-library .step-card h4, .pg-industry-credentials .step-card h4, .pg-partners .step-card h4 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
@media (max-width: 768px) {
  .tools-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .pg-tool-deep-dives .steps-grid, .pg-prompt-library .steps-grid, .pg-industry-credentials .steps-grid, .pg-partners .steps-grid { grid-template-columns: 1fr; }
}
@keyframes nodePulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(0.8); } }

/* Heading-order aliases: same look for headings moved up one level (generated) */
.pricing-card h2 { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--muted); margin: 0 0 1rem; }
.module-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.pg-ai-foundation .agenda-content h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .25rem; }
.pg-ai-transformation .agenda-content h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .25rem; }
.audience-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .375rem; }
.include-text h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .1875rem; }
.journey-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .5rem; }
.delivery-card h3 { margin-bottom: .5rem; }
.risk-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .25rem; }
.showcase-step-content h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .375rem; }
.showcase-step:nth-child(2) .showcase-step-content h2 { color: var(--teal-ink); }
.eval-stage h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin-bottom: .5rem; }
.pg-corporate-training .prog-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.pg-public-training .prog-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .625rem; }
.why-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); line-height: 1.3; color: var(--ink); margin: 0 0 .5rem; }
.free-prog-card-header h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0; line-height: 1.35; flex: 1; }
.dept-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.pg-custom-solutions .step-content h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .375rem; }
.category-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.pg-prompts .step-card h2, .pg-public-training .step-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.tdd-header h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.cert-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .75rem; }
.xref-banner h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.lens-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.tool-card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); margin: 0; }
.tool-card.custom h2 { color: var(--teal-ink); }
.pg-tool-deep-dives .step-card h3, .pg-prompt-library .step-card h3, .pg-industry-credentials .step-card h3, .pg-partners .step-card h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); margin: 0 0 .5rem; }
.module-card h3 { margin: 0 0 .5rem; color: var(--ink); font-size: var(--h6); font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.pair-card h2 { margin: 0 0 .5rem; color: var(--anchor); }
.sched-row h2 { margin: 0 0 .25rem; }
.format-card h2 { margin: 0 0 1rem; color: var(--anchor); }

/* Standards on top of the reference: everything is left-aligned like every other section (headings, text and buttons
   never centred). Diagrams and stat tiles keep their centred content. */
.pg-corporate-training .page-hero .shell, .hub-hero .shell { max-width: calc(var(--maxw) + 2 * var(--shell-x)); margin: 0 auto; text-align: left; }
.pg-corporate-training .page-hero .subtitle { margin: 0; }
.pg-corporate-training .hero-pills { justify-content: flex-start; }
.trust-strip { text-align: left; }
.trust-logos { justify-content: flex-start; }
.process-strip { text-align: left; }
.process-steps { justify-content: flex-start; margin: 0; }
.proof-method-note { text-align: left; }
.showcase-footer { text-align: left; }
@media (max-width: 768px) {
  .showcase-footer, .pg-corporate-training .showcase-footer, .pg-ai-transformation .showcase-footer { text-align: left; align-items: flex-start; }
  .xref-banner { text-align: left; align-items: flex-start; }
}
/* Hierarchy rule: card, row and step titles inside interior sections use the H6 size unless a component sets one. */
:where(main[class^="pg-"]) h3, :where(main[class^="pg-"]) h4 { font-size: var(--h6); font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.price-value { white-space: nowrap; }
.proof-stats > * { min-width: 0; }
@media (max-width: 768px) {
  .proof-stats, .pg-corporate-training .proof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-source { letter-spacing: .08em; }
}
/* Official tool logos in the tool tiles (Tool Deep Dives, public training) */
.tdd-icon.has-logo, .tool-card .tool-icon.has-logo, .tool-card[class] .tool-icon.has-logo { background: var(--white); border: 1px solid var(--border); }
.tdd-icon.has-logo img { width: 1.375rem; height: 1.375rem; object-fit: contain; }
.tool-icon.has-logo img { width: 1.625rem; height: 1.625rem; object-fit: contain; }
/* Corporate training "Trusted by": the same 10 client logos as the homepage, area-balanced (--lh), smaller scale */
.trust-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem 2rem; list-style: none; margin: 0; padding: 0; justify-content: stretch; }
.trust-logo { display: flex; align-items: center; justify-content: center; height: 3.25rem; }
.trust-logo img { height: calc(var(--lh) * .7rem); width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 768px) { .trust-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.trust-strip .shell { max-width: calc(var(--maxw) + 2 * var(--shell-x)); }
/* Strategic AI Leadership: one block of module cards per course */
.course-title { margin: var(--space-block) 0 .5rem; color: var(--teal-ink); font-size: var(--h6); font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.section-head + .course-title { margin-top: 0; }
.course-room, .course-note { max-width: var(--measure); margin: 0 0 1.25rem; font-size: var(--text-sm); color: var(--muted); }
.course-note { margin-top: 1.5rem; }
.module-card h4 { margin: 0 0 .5rem; color: var(--ink); font-size: var(--h6); font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.lens-card p strong { color: var(--ink); }
.price-row { gap: 1rem; }
.addon-price { margin-top: .75rem; font-family: Poppins, sans-serif; font-weight: 700; color: var(--anchor); }
.delivery-card .addon-price { font-size: var(--text-sm); color: var(--anchor); }
.agenda-list + .course-title { margin-top: var(--space-block); }

/* ---- Designer review fixes (4 Nov 2026) ---- */
/* A1: space before the closing band on public training */
.free-programmes-section { padding-bottom: var(--section-y); }
/* A2: cards on a grey section are white, so they stay visible */
section[style*="--grey"] .delivery-card, .section-grey .delivery-card { background: var(--white); }
/* A3: Showcase Day steps are left-aligned like every other section */
.showcase-timeline, .agenda-timeline { margin-left: 0; margin-right: 0; }
/* B: grids fit their item count, so no card sits alone on the last row (desktop) */
.delivery-grid { grid-template-columns: repeat(auto-fit, minmax(16.25rem, 1fr)); }
@media (min-width: 1024px) {
  .modules-grid:has(> :nth-child(4):last-child), .modules-grid:has(> :nth-child(7):last-child),
  .modules-grid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .outcomes-grid:has(> :nth-child(4):last-child), .outcomes-grid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* D5: information tags in heroes are plain facts, not button-shaped pills */
main[class^="pg-"] .hero-pill { background: none; border: 0; padding: 0; border-radius: 0; box-shadow: none; font-size: var(--text-sm); font-weight: 600; color: var(--ink); gap: .375rem; }
main[class^="pg-"] .hero-pill:not(:has(svg))::before { content: "\2713"; color: var(--teal-ink); font-weight: 700; }
main[class^="pg-"] .hero-pill svg { color: var(--teal-ink); }
main[class^="pg-"] .hero-pills { gap: .5rem 1.5rem; }
/* D6: pricing notes as short separate lines */
.pricing-notes { list-style: none; margin: 1rem 0 0; padding: 0; }
.pricing-notes li { padding: .4rem 0; border-top: 1px solid var(--border); font-size: var(--text-xs); line-height: 1.5; color: var(--muted); }
/* D7: price label with the duration underneath */
.price-label small { display: block; font-size: var(--text-xs); color: var(--muted); }
.showcase .showcase-footer { margin-left: 0; margin-right: 0; }
/* Item 4: corporate training on phones, one level of cards only (group frame drops away) */
@media (max-width: 768px) {
  .pg-corporate-training .tier { border: 0; padding: 0; background: none; border-radius: 0; }
  .pg-corporate-training .tier + .tier { margin-top: 1rem; }
}

/* ---- Adopted from ailab.mereka.dev (4 Nov 2026) ---- */
.pair-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.pair-card { background: var(--grey); border-radius: 1.125rem; padding: 2rem; }
.pair-card h3 { margin: 0 0 .5rem; color: var(--anchor); }
.pair-card p { margin: 0; font-size: var(--text-sm); line-height: 1.65; color: var(--muted); }
.pair-closing { margin: 1.5rem 0 0; font-weight: 600; color: var(--ink); max-width: var(--measure); }
.sched-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.sched-row { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.sched-row h3 { margin: 0 0 .25rem; }
.sched-row p { margin: 0; font-size: var(--text-xs); color: var(--muted); }
.sched-row .btn { flex-shrink: 0; }
.sched-main { min-width: 0; }
.sched-dates { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.sched-date { display: inline-flex; align-items: baseline; gap: .375rem; min-height: 44px; box-sizing: border-box; padding: .625rem .875rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--white); color: var(--ink); text-decoration: none; font-size: var(--text-xs); }
.sched-date:hover { border-color: var(--teal-ink); background: var(--teal-50, #e6f5f5); color: var(--ink); }
.sched-date:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; }
.sched-day { font-weight: 600; color: var(--teal-ink); }
.sched-dm { font-weight: 600; }
.sched-time { color: var(--muted); }
.sched-invoice { margin: var(--s-3) 0 0; font-size: var(--text-xs); }
.sched-invoice a { color: var(--blue-700, #1f3f7c); font-weight: 600; }
.sched-help .btn-row { flex-shrink: 0; margin: 0; }
.sched-soon { margin: var(--s-2) 0 0; font-size: var(--text-xs); color: var(--muted); }
.sched-help { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2rem; padding: 1.5rem 2rem; border-radius: 1.125rem; background: var(--grey); }
.sched-help p { margin: 0; font-size: var(--text-sm); color: var(--muted); max-width: 40rem; }
.sched-help strong { color: var(--ink); }
.tdd-card { position: relative; flex-wrap: wrap; }
.tdd-action { flex-basis: 100%; padding-left: 3rem; font-size: var(--text-xs); font-weight: 600; color: var(--teal-ink); }
.tool-actions { margin-top: 1.25rem; }
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; border-top: 1px solid var(--border); }
.faq-d { border-bottom: 1px solid var(--border); }
.faq-d summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 44px; padding: 1rem 0; cursor: pointer; list-style: none; font-family: Poppins, sans-serif; font-size: var(--h6); font-weight: 700; color: var(--ink); }
.faq-d summary::-webkit-details-marker { display: none; }
.faq-d summary::after { content: "+"; color: var(--teal-ink); font-size: var(--h5); }
.faq-d[open] summary::after { content: "\2212"; }
.faq-d p { margin: 0 0 1rem; font-size: var(--text-sm); line-height: 1.65; color: var(--muted); }
.format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.format-card { display: flex; flex-direction: column; border: 1.5px solid var(--border); border-radius: 1.125rem; padding: 2rem; }
.format-card h3 { margin: 0 0 1rem; color: var(--anchor); }
.format-card ul { margin: 0 0 1.5rem; padding-left: 1.1rem; font-size: var(--text-sm); color: var(--ink); line-height: 1.7; }
.format-card dl { margin: auto 0 0; }
.format-card dl div { display: flex; justify-content: space-between; padding: .6rem 0; border-top: 1px solid var(--border); font-size: var(--text-sm); }
.format-card dt { color: var(--muted); }
.format-card dd { margin: 0; font-family: Poppins, sans-serif; font-weight: 700; color: var(--anchor); }
.format-card .btn-row { margin-top: 1.25rem; }
.familiar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.familiar li { padding: 1.25rem 1.5rem; border-left: 3px solid var(--teal); background: var(--grey); border-radius: 0 .75rem .75rem 0; font-size: var(--text-sm); color: var(--ink); }
.prog-card-pricing .btn + .btn { margin-top: .5rem; }
@media (max-width: 768px) {
  .pair-grid, .faq-grid, .format-grid, .familiar { grid-template-columns: minmax(0, 1fr); }
  .sched-row, .sched-help { flex-direction: column; align-items: flex-start; }
  .sched-row .btn, .sched-help .btn { width: 100%; }
}
.tdd-action { display: block; text-align: left; }
.prog-card-pricing { display: flex; flex-direction: column; align-items: stretch; }
.prog-card-pricing .btn { justify-content: center; }
@media (max-width: 768px) { .prog-card-pricing { width: 100%; } .prog-card-pricing .btn { white-space: normal; } }
.tdd-action { padding-left: 0; margin-top: .375rem; }

/* Closing call to action: every page ends with this band, just before the footer */
.cta-band { padding: var(--section-y) 0; background: linear-gradient(120deg, #142a59 0%, var(--anchor) 55%, #157578 100%); color: #fff; }
.cta-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); max-width: 46rem; }
.cta-contact { display: flex; flex-direction: column; gap: .375rem; min-height: 44px; padding: var(--s-4) var(--s-5); border-radius: var(--radius-sm); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; text-decoration: none; transition: background .15s ease; }
.cta-contact:hover { background: rgba(255,255,255,.14); color: #fff; }
.cta-contact .h7 { color: rgba(255,255,255,.75); }
.cta-contact strong { font-size: var(--text-md); font-weight: 600; }
.btn-light { background: #fff; color: var(--anchor); border: none; padding: .875rem 2rem; border-radius: .625rem; }
.btn-light:hover { background: #ecf0f8; color: var(--anchor); }
.cta-badge { width: 6.5rem; height: 6.5rem; margin-top: var(--space-block); }

/* Footer */
.footer { background: var(--deep); color: rgba(255,255,255,.72); padding: var(--s-9) 0 var(--s-6); font-size: var(--text-sm); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.footer-brand img { height: 1.875rem; width: auto; filter: brightness(0) invert(1); }
.footer-brand p { margin-top: var(--s-4); max-width: 30ch; }
.footer h3, .footer .footer-h { font-family: Inter, sans-serif; font-size: var(--h7); font-weight: 600; line-height: 1.4; letter-spacing: .2em; text-transform: uppercase; color: #fff; margin-bottom: var(--s-3); }
.footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .375rem; }
.footer a { color: rgba(255,255,255,.72); text-decoration: none; }
.footer a:hover { color: #fff; }
.footer-base { margin-top: var(--s-8); padding-top: var(--s-5); border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); font-size: var(--text-xs); color: rgba(255,255,255,.55); }

/* Responsive: layout changes only. Sizes already scale via the root size. */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .mnav { display: block; }
  .nav-right { gap: var(--s-2); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root { --h1: 4.6rem; --h2: 3.25rem; --h3: 2.1rem; }
}
@media (max-width: 768px) {
  :root { --section-y: var(--s-8); --space-block: 2.25rem; --space-label: 1.75rem; --card-pad: var(--s-5); --grid-gap: var(--s-5); --nav-h: 4.25rem; --nav-x: 1.25rem; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .cta-contacts { grid-template-columns: minmax(0, 1fr); }
  :root { --h1: 3.8rem; --h2: 2.75rem; --h3: 1.85rem; --h4: 1.5rem; }
}
@media (max-width: 480px) {
  html { font-size: clamp(14px, calc(12px + 0.6vw), 16px); }
  :root { --section-y: var(--s-7); --space-block: 1.75rem; --space-label: 1.25rem; --shell-x: 1.25rem; --nav-x: 1.25rem; --card-pad: var(--s-4); }
  :root { --text-lg: 1.12rem; --text-md: 1rem; --h1: 3rem; --h2: 2.3rem; --h3: 1.6rem; --h4: 1.35rem; --h5: 1.2rem; --h6: 1.05rem; }
  .btn { width: 100%; }
}

/* Pathway cards (corporate training, agreed 4 Nov 2026; pattern from ibm-dta.com #pathways).
   One card per tier: a coloured band (icon, H7 audience, H6 tier name, one line), then compact level rows
   (chip, H6 programme name, outcome line, facts, price, arrow). Band colours all give 4.5:1+ with white text. */
.paths { display: grid; gap: var(--s-5); }
.path { --band: var(--anchor); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.path-fluency { --band: var(--teal-ink); }
.path-workflow { --band: var(--anchor); }
.path-native { --band: var(--horizon-ink); }
.path-leadership { --band: var(--ink); }
.path-credentials { --band: var(--teal-900, #0c4a4c); }
.path-band { display: flex; align-items: flex-start; gap: var(--s-4); padding: var(--s-5) var(--card-pad); background: var(--band); color: var(--white); }
.path-icon { flex: none; width: 2.75rem; height: 2.75rem; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.16); }
.path-icon svg { width: 1.375rem; height: 1.375rem; }
.path-head { min-width: 0; }
.path-audience { color: rgba(255,255,255,.85); margin-bottom: var(--s-2); }
.path-name { color: var(--white); }
.path-intro { margin-top: var(--s-1); font-size: var(--text-sm); line-height: 1.6; color: rgba(255,255,255,.88); max-width: var(--measure); }
.path-steps { list-style: none; margin: 0; padding: var(--s-4) var(--card-pad) var(--card-pad); display: grid; gap: var(--s-3); }
.path-step { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 13rem 9.5rem 1.25rem; align-items: center; gap: var(--s-4); padding: var(--s-4) var(--s-5); background: var(--grey); border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; transition: background .15s ease; }
a.path-step:hover { background: #e3e0e7; color: var(--ink); }
a.path-step:hover .path-go { transform: translateX(.1875rem); }
.path-chip { justify-self: start; font-size: var(--text-xs); font-weight: 600; line-height: 1.3; padding: .3rem .625rem; border-radius: 999px; background: var(--white); color: var(--band); border: 1px solid var(--border); }
.path-main { min-width: 0; display: grid; gap: .25rem; }
.path-main h4 { color: var(--ink); }
.path-out { font-size: var(--text-xs); line-height: 1.55; color: var(--muted); }
.path-facts { display: grid; gap: .125rem; font-size: var(--text-xs); line-height: 1.45; color: var(--muted); }
.path-price { font-family: Poppins, sans-serif; font-size: var(--text-md); font-weight: 700; color: var(--anchor); text-align: right; line-height: 1.3; }
.path-price .from { font-family: Inter, sans-serif; font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.path-go { color: var(--band); display: flex; transition: transform .15s ease; }
.path-go svg { width: 1.125rem; height: 1.125rem; }
.path-price-ask { font-family: Inter, sans-serif; font-size: var(--text-xs); font-weight: 600; }
.path-logos { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); margin-top: var(--s-2); }
.path-logos img { height: 1.5rem; width: auto; object-fit: contain; }
@media (max-width: 900px) {
  .path-step, div.path-step { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "chip chip" "main main" "facts facts" "price go"; gap: var(--s-2) var(--s-4); }
  .path-chip { grid-area: chip; } .path-main { grid-area: main; } .path-facts { grid-area: facts; }
  .path-price { grid-area: price; text-align: left; } .path-go { grid-area: go; }
  .path-facts { display: flex; flex-wrap: wrap; gap: .125rem var(--s-3); }
}
@media (max-width: 480px) {
  .path-band { flex-direction: column; gap: var(--s-3); }
  .path-steps { padding: var(--s-3); }
  .path-step { padding: var(--s-4); }
}

/* Contrast bands (agreed 4 Nov 2026): the proof section sits on grey; cards on grey are white. */
.section-grey { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.section-grey .proof-method-note { background: var(--white); }
.pg-corporate-training .showcase { background: var(--white); }
/* AI Foundation format cards: prices live in the hero pricing card only (agreed 4 Nov 2026); buttons sit on one line across cards. */
.format-card { display: flex; flex-direction: column; }
.format-card .btn-row { margin-top: auto; padding-top: var(--space-block); }

/* Product page fixes (agreed 4 Nov 2026, product page review) */
/* Pricing card label: styled like the old h2, but not a section heading */
.pricing-card .pricing-title { font-family: Poppins, sans-serif; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; color: var(--muted); margin: 0 0 1rem; }
/* Proof band on every product page */
.proof-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.proof-testimonials.proof-two { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--s-6); }
@media (max-width: 768px) { .proof-testimonials.proof-two { grid-template-columns: minmax(0, 1fr); } }
/* Outcomes as a sub-block of the curriculum section */
.proof-subhead.outcomes-subhead { margin-top: var(--s-7); }
/* Where to go next */
.path-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.path-link { position: relative; display: grid; gap: var(--s-2); padding: var(--card-pad); padding-right: calc(var(--card-pad) + 2rem); background: var(--grey); border-radius: var(--radius); color: var(--ink); text-decoration: none; transition: background .15s ease; }
.path-link:hover { background: #e3e0e7; color: var(--ink); }
.path-link .card-label { color: var(--teal-ink); }
.path-link p:not(.card-label) { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); }
.path-link-go { position: absolute; right: var(--card-pad); top: 50%; transform: translateY(-50%); color: var(--anchor); display: flex; }
.path-link-go svg { width: 1.125rem; height: 1.125rem; }
@media (max-width: 768px) { .path-nav { grid-template-columns: minmax(0, 1fr); } }
/* Strategic AI Leadership: each course opens on tap */
.course-block { border-top: 1px solid var(--border); }
.course-block:last-of-type { border-bottom: 1px solid var(--border); }
.course-block > summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s-2) var(--s-4); padding: var(--s-5) 2.25rem var(--s-5) 0; position: relative; min-height: 44px; }
.course-block > summary::-webkit-details-marker { display: none; }
.course-block > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-family: Poppins, sans-serif; font-size: var(--h5); font-weight: 700; color: var(--anchor); }
.course-block[open] > summary::after { content: "\2212"; }
.course-block > summary .course-title { margin: 0; }
.course-meta { font-size: var(--text-xs); font-weight: 600; color: var(--muted); }
.course-block[open] { padding-bottom: var(--s-6); }
/* Custom Solutions department icons: one palette colour */
.dept-icon { background: rgba(31,163,166,.12); color: var(--teal-ink); }
/* Tool Deep Dives cards: white tiles, our palette; the official logo carries the brand */
.tool-card.gemini, .tool-card.claude-tool, .tool-card.copilot, .tool-card.chatgpt, .tool-card.canva, .tool-card.custom { background: var(--white); border: 1px solid var(--border); }
.tool-card.gemini h3, .tool-card.claude-tool h3, .tool-card.copilot h3, .tool-card.chatgpt h3, .tool-card.canva h3, .tool-card.custom h3 { color: var(--ink); }
.tool-card.gemini .dot, .tool-card.claude-tool .dot, .tool-card.copilot .dot, .tool-card.chatgpt .dot, .tool-card.canva .dot, .tool-card.custom .dot { background: var(--teal); }
/* Corporate training: full-width "How it works" */
.steps4 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--grid-gap); position: relative; }
.steps4::before { content: ""; position: absolute; left: 1.25rem; right: 12%; top: 1.25rem; height: 2px; background: var(--border); }
.step4 { position: relative; display: grid; gap: var(--s-2); }
.step4-num { width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--anchor); color: var(--white); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-size: var(--text-sm); font-weight: 700; margin-bottom: var(--s-2); }
.step4 p { font-size: var(--text-sm); color: var(--muted); }
@media (max-width: 768px) { .steps4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .steps4::before { display: none; } }
/* Corporate training add-ons: one hairline grid */
.addon-grid { gap: 0; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.addon-grid .delivery-card { background: var(--white); border-radius: 0; }
.addon-grid .delivery-card + .delivery-card { border-left: 1px solid var(--border); }
@media (max-width: 768px) { .addon-grid { grid-template-columns: minmax(0, 1fr); } .addon-grid .delivery-card + .delivery-card { border-left: 0; border-top: 1px solid var(--border); } }

/* Workflow Integration (L2 to L5 on one page, agreed 4 Nov 2026) */
section[id], .level-block { scroll-margin-top: var(--nav-h); }
.level-block .hero-meta { margin-bottom: var(--s-4); }
.level-price { font-family: Poppins, sans-serif; font-size: var(--text-md); font-weight: 700; color: var(--anchor); margin: 0 0 var(--s-6); display: flex; flex-wrap: wrap; align-items: baseline; gap: .375rem; }
.level-price .from { font-family: Inter, sans-serif; font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.level-price-note { font-family: Inter, sans-serif; font-size: var(--text-xs); font-weight: 500; color: var(--muted); margin-right: var(--s-4); }
.level-block .proof-subhead.outcomes-subhead { margin-top: var(--s-7); }
.level-more { margin-top: var(--s-6); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.level-more > summary { list-style: none; cursor: pointer; position: relative; padding: var(--s-4) 2.25rem var(--s-4) 0; min-height: 44px; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--anchor); }
.level-more > summary::-webkit-details-marker { display: none; }
.level-more > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: var(--h5); }
.level-more[open] > summary::after { content: "\2212"; }
.level-more[open] { padding-bottom: var(--s-6); }
.level-more .proof-subhead:first-of-type { margin-top: var(--s-4); }
.section-grey .module-card, .section-grey .outcome-item, .section-grey .audience-card, .section-grey .dept-card, .section-grey .familiar li { background: var(--white); }

/* ==========================================================================
   Brand design layer (agreed 4 Nov 2026, Mereka Visual Guideline 2026, FOB AI Lab)
   Palette: Anchor Blue primary, Strategy Teal secondary, Sprout Green accent (<10%),
   neutrals White, Grey, Off Black. Shades come only from the guideline's tint scales.
   ========================================================================== */
:root {
  --blue-50: #ECF0F8; --blue-100: #CDD7EA; --blue-200: #93A8CE; --blue-300: #5C7DB8; --blue-600: #3E5E98; --blue-700: #1F3F7C; --blue-900: #142A59;
  --teal-50: #E6F5F5; --teal-100: #C2E7E7; --teal-200: #6CC7C8; --teal-400: #1FA3A6; --teal-700: #157578; --teal-900: #0C4A4C;
  --sprout-50: #F6FAEC; --sprout: #ECF4D6; --sprout-200: #DBE9B4;
  --grey-200: #E3E0E7; --grey-600: #6B6678; --grey-800: #3A3547;
  /* page accent: set per page below; defaults to AI Lab primary */
  --accent: var(--blue-700); --accent-ink: var(--blue-700); --accent-50: var(--blue-50); --accent-100: var(--blue-100); --accent-200: var(--blue-200);
}
/* Brand neutrals replace the older off-guideline greys */
:root { --muted: #6B6678; --border: #E3E0E7; --teal-ink: #157578; }

/* Page colour identity: each page takes its tier colour */
.pg-ai-foundation, .pg-tool-deep-dives, .pg-public-training, .pg-prompt-library { --accent: var(--teal-400); --accent-ink: var(--teal-700); --accent-50: var(--teal-50); --accent-100: var(--teal-100); --accent-200: var(--teal-200); }
.pg-workflow-integration, .pg-corporate-training, .pg-partners { --accent: var(--blue-700); --accent-ink: var(--blue-700); --accent-50: var(--blue-50); --accent-100: var(--blue-100); --accent-200: var(--blue-200); }
.pg-ai-transformation { --accent: var(--blue-600); --accent-ink: var(--blue-600); --accent-50: var(--blue-50); --accent-100: var(--blue-100); --accent-200: var(--blue-200); }
.pg-industry-credentials { --accent: var(--teal-900); --accent-ink: var(--teal-900); --accent-50: var(--teal-50); --accent-100: var(--teal-100); --accent-200: var(--teal-200); }
.pg-strategic-leadership { --accent: var(--blue-900); --accent-ink: var(--blue-900); --accent-50: var(--blue-50); --accent-100: var(--blue-100); --accent-200: var(--blue-200); }

/* Tier band colours from the tint scales (gold removed: not in the guideline) */
.path-fluency { --band: var(--teal-700); }
.path-workflow { --band: var(--blue-700); }
.path-native { --band: var(--blue-600); }
.path-leadership { --band: var(--blue-900); }
.path-credentials { --band: var(--teal-900); }

/* Hero: tinted ground with floating-dot micro-geometry (guideline: iconography accents) */
main[class^="pg-"] .page-hero, main[class^="pg-"] .hub-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--accent-50) 0%, var(--white) 100%); }
main[class^="pg-"] .page-hero::before, main[class^="pg-"] .hub-hero::before {
  content: ""; position: absolute; inset: 0 0 0 auto; width: 46%; pointer-events: none;
  background-image: radial-gradient(circle, var(--accent-100) 0.16rem, transparent 0.17rem);
  background-size: 1.75rem 1.75rem;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 55%); mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
}
main[class^="pg-"] .page-hero > .shell, main[class^="pg-"] .hub-hero > .shell { position: relative; }
.node-accent { position: absolute; border-radius: 50%; pointer-events: none; }
.page-hero .level-badge { background: var(--white); color: var(--accent-ink); border: 1px solid var(--accent-100); }
.marker { color: var(--accent-ink); }
.marker::before { background: var(--accent); }

/* Photos: real sessions, rounded, never stretched */
.photo-strip { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--s-4); margin-top: var(--s-7); }
.photo-strip figure, .photo-band figure { margin: 0; position: relative; border-radius: var(--radius); overflow: hidden; background: var(--accent-50); }
.photo-strip img, .photo-band img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 3 / 2; }
.photo-strip figure:nth-child(2) img { aspect-ratio: auto; position: absolute; inset: 0; } /* second photo fills the row set by the first (3:2); never sets the row height itself */
.photo-strip figcaption, .photo-band figcaption { position: absolute; left: var(--s-3); bottom: var(--s-3); max-width: calc(100% - 2 * var(--s-3)); padding: .375rem .75rem; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ink); font-size: var(--text-xs); font-weight: 600; }
@media (max-width: 768px) { .photo-strip { grid-template-columns: minmax(0, 1fr); } .photo-strip figure:nth-child(2) { display: none; } }

/* Icon badges: glyphy, heavy monolinear, rounded terminals */
.ico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.75rem; height: 2.75rem; border-radius: .875rem; background: var(--accent-50); color: var(--accent-ink); }
.ico svg { width: 1.375rem; height: 1.375rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.module-card .ico, .audience-card .ico { margin-bottom: var(--s-4); }
.module-card { background: var(--white); border: 1px solid var(--border); }
.module-card:hover { border-color: var(--accent-100); box-shadow: var(--shadow-sm); }
.module-num { color: var(--accent-ink); }
.audience-card { background: var(--accent-50); }
.include-icon { background: var(--accent-50); color: var(--accent-ink); }
.include-icon svg { stroke-width: 2.4; }
.outcome-icon { color: var(--accent-ink); }
.outcome-item { background: var(--white); border: 1px solid var(--border); }

/* Sprout Green: single sharp accent, under 10% of a page */
.sprout-tag, .module-tag.sprout-tag { background: var(--sprout); color: var(--ink); }
.hero-highlight { background: linear-gradient(transparent 68%, var(--sprout) 68%); }

/* Where to go next cards take the page tint */
.path-link { background: var(--accent-50); }
.path-link:hover { background: var(--accent-100); }
.path-link .card-label { color: var(--accent-ink); }

/* Closing band: brand blues only */
.cta-band { background: linear-gradient(120deg, var(--blue-900) 0%, var(--blue-700) 55%, var(--teal-700) 100%); }
.step-card .ico, .risk-card .ico, .delivery-card .ico, .pair-card .ico, .lens-card .ico { margin-bottom: var(--s-4); }

/* Closing band: a faded session photo behind the gradient, as on the homepage (agreed 4 Nov 2026) */
.cta-band { position: relative; overflow: hidden; }
.cta-band .band-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .18; pointer-events: none; }
.cta-band > .shell { position: relative; }

/* Stat tiles: 2 per row on tablets and phones (fixes the 4-across rule above) */
@media (max-width: 768px) { .proof-stats, .pg-corporate-training .proof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Case studies (template and collection, agreed 5 Nov 2026) */
.pg-case-study { --accent: var(--blue-700); --accent-ink: var(--blue-700); --accent-50: var(--blue-50); --accent-100: var(--blue-100); --accent-200: var(--blue-200); }
.pg-case-study .page-hero { padding: var(--s-8) 0 var(--s-7); }
.pg-case-study .page-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--s-7); align-items: start; }
.pg-case-study .page-hero h1 { margin: var(--s-4) 0 var(--s-4); }
.pg-case-study .level-badge { display: inline-flex; font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; padding: .4rem .8rem; border-radius: 999px; }
.pg-case-study .subtitle { font-size: var(--text-lg); line-height: 1.6; color: var(--muted); max-width: 46ch; }
.cs-meta { margin-top: var(--s-4); font-size: var(--text-sm); color: var(--muted); }
.glance-card .price-row { flex-direction: column; align-items: flex-start; gap: .125rem; }
.glance-card .price-label { font-size: var(--text-xs); color: var(--muted); }
.glance-value { font-size: var(--text-sm); font-weight: 600; color: var(--ink); }
.cs-stats { display: grid; gap: var(--s-3); margin-top: var(--s-4); }
.cs-stat { padding: var(--s-3) var(--s-4); border-radius: var(--radius-sm); background: var(--accent-50); }
.cs-stat b { display: block; font-family: Poppins, sans-serif; font-size: var(--h5); font-weight: 700; color: var(--blue-700); line-height: 1.2; }
.cs-stat span { font-size: var(--text-xs); color: var(--muted); line-height: 1.45; }
.cs-hero-photo { margin: var(--s-7) 0 0; border-radius: var(--radius); overflow: hidden; }
.cs-hero-photo img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.cs-article { max-width: var(--measure); }
.cs-article > * + * { margin-top: var(--s-4); }
.cs-article h2.h3 { margin-top: var(--s-7); }
.cs-article h3.h6 { margin-top: var(--s-5); }
.cs-article p, .cs-article li { font-size: var(--text-md); line-height: 1.75; color: var(--grey-800); }
.cs-intro { font-size: var(--text-lg) !important; line-height: 1.65 !important; color: var(--ink) !important; }
.cs-list { padding-left: 1.25rem; display: grid; gap: var(--s-2); }
.cs-list li::marker { color: var(--teal-400); }
.cs-steps { list-style: none; padding: 0; counter-reset: s; display: grid; gap: var(--s-5); }
.cs-steps li { counter-increment: s; position: relative; padding-left: 3.25rem; }
.cs-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--blue-700); color: var(--white); display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--text-sm); }
.cs-steps li h3 { margin-top: 0 !important; margin-bottom: var(--s-2); }
.cs-steps li > * + * { margin-top: var(--s-3); }
.cs-quote { margin: var(--s-4) 0; padding: var(--s-4) var(--s-5); border-left: 3px solid var(--teal-400); background: var(--teal-50); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-size: var(--text-md); font-style: italic; line-height: 1.65; color: var(--ink); }
.cs-quote cite { display: block; margin-top: var(--s-2); font-style: normal; font-size: var(--text-xs); font-weight: 600; color: var(--teal-700); }
.cs-table { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.cs-table table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.cs-table th, .cs-table td { text-align: left; padding: .75rem 1rem; border-bottom: 1px solid var(--border); vertical-align: top; }
.cs-table thead th { background: var(--blue-50); font-size: var(--text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-700); }
.cs-table tbody th { font-weight: 600; color: var(--ink); }
.cs-table tbody tr:last-child th, .cs-table tbody tr:last-child td { border-bottom: 0; }
.cs-source { font-size: var(--text-xs) !important; color: var(--grey-800) !important; padding: .4rem .7rem; border: 1px dashed var(--grey-600); border-radius: .5rem; background: var(--sprout-50); display: inline-block; }
.cs-source span { font-weight: 600; }
.cs-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.cs-points > div { padding: var(--s-5); border-radius: var(--radius-sm); background: var(--grey); }
.cs-points h3 { margin-top: 0 !important; margin-bottom: var(--s-2); }
.cs-points p { font-size: var(--text-sm) !important; line-height: 1.6 !important; }
.cs-takeaways { margin-top: var(--s-7) !important; padding: var(--s-6); border-radius: var(--radius); background: var(--blue-50); }
.cs-takeaways ul { list-style: none; padding: 0; margin: var(--s-4) 0 0; display: grid; gap: var(--s-3); }
.cs-takeaways li { display: flex; gap: var(--s-3); align-items: flex-start; }
.cs-takeaways svg { flex: none; width: 1.25rem; height: 1.25rem; margin-top: .3rem; color: var(--teal-700); }
.cs-sources { margin-top: var(--s-6) !important; padding-top: var(--s-4); border-top: 1px solid var(--border); }
.cs-sources h2 { color: var(--muted); }
.cs-sources p { font-size: var(--text-sm) !important; padding: .5rem .75rem; border: 1px dashed var(--grey-600); border-radius: .5rem; background: var(--sprout-50); }
.cs-cta-card { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: var(--s-6); align-items: end; padding: var(--s-6); border-radius: var(--radius); background: var(--white); border: 1px solid var(--border); }
.cs-cta-card h2 { margin: var(--s-2) 0 var(--s-3); }
.cs-cta-card p:not(.card-label) { font-size: var(--text-sm); color: var(--muted); max-width: 46ch; }
.cs-cta-card .btn-row { margin-top: 0; }
.cs-more-title { margin: var(--s-7) 0 var(--s-4); }
.cs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: var(--s-4); }
.pg-case-studies .cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cs-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); color: var(--ink); text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.cs-card:hover { box-shadow: var(--shadow-sm); transform: translateY(-2px); color: var(--ink); }
.cs-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cs-card-body { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-5); flex: 1; }
.cs-card-body p { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); }
.cs-card-meta { font-size: var(--text-xs); color: var(--muted); }
.cs-card-link { margin-top: auto; padding-top: var(--s-3); display: inline-flex; align-items: center; gap: .375rem; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
.cs-card-link svg { width: .875rem; height: .875rem; }
@media (max-width: 900px) { .pg-case-study .page-hero-inner, .cs-cta-card { grid-template-columns: minmax(0, 1fr); } .cs-hero-photo img { aspect-ratio: 16 / 9; } }
@media (max-width: 768px) { .cs-points, .pg-case-studies .cs-grid { grid-template-columns: minmax(0, 1fr); } }

/* Main menu (agreed 5 Nov 2026): Corporate training mega menu by tier, Public sessions, Case studies, Book a discovery call */
.nav .shell { position: relative; }
.nav-mega-item { position: static; }
.dropdown.mega { left: var(--nav-x); right: var(--nav-x); top: calc(100% - .25rem); min-width: 0; max-width: calc(var(--maxw) + 4rem); margin: 0 auto; padding: var(--s-5) var(--s-5) var(--s-4); border-radius: 0 0 var(--radius) var(--radius); }
.mega-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.mega-col { display: flex; flex-direction: column; gap: .125rem; }
.mega-tier { color: var(--teal-700); padding-bottom: var(--s-2); margin-bottom: var(--s-2); border-bottom: 2px solid var(--blue-700); }
.mega-tier + a { margin-top: 0; }
.mega-col a + .mega-tier { margin-top: var(--s-4); }
.mega-fluency { border-bottom-color: var(--teal-700); }
.mega-workflow { border-bottom-color: var(--blue-700); }
.mega-leadership { border-bottom-color: var(--blue-900); }
.mega-credentials { border-bottom-color: var(--teal-900); }
.mega-native { border-bottom-color: var(--blue-600); }
.dropdown.mega a { font-family: Poppins, sans-serif; font-size: var(--text-sm); font-weight: 700; }
.dropdown.mega a small { font-family: Inter, sans-serif; margin-top: .125rem; }
.dropdown.mega a[aria-current="page"] { background: var(--blue-50); color: var(--anchor); }
.mega-foot { display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); margin-top: var(--s-4); padding-top: var(--s-3); border-top: 1px solid var(--border); font-size: var(--text-sm); }
.dropdown.mega .mega-foot a { display: inline-flex; padding: .5rem .25rem; font-family: Inter, sans-serif; color: var(--anchor); }
.mega-foot span { display: inline-flex; align-items: center; gap: .375rem; font-weight: 600; color: var(--teal-700); }
.mega-foot svg { width: 1rem; height: 1rem; }
.nav-link.is-current { color: var(--anchor); box-shadow: inset 0 -2px 0 var(--teal); border-radius: 0; }
.mnav-acc > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: var(--s-2) 0; border-bottom: 1px solid var(--border); font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); cursor: pointer; }
.mnav-acc > summary::-webkit-details-marker { display: none; }
.mnav-acc > summary svg { width: 1rem; height: 1rem; transition: transform .15s ease; }
.mnav-acc[open] > summary svg { transform: rotate(180deg); }
.mnav-acc .mnav-group { border-bottom: 1px solid var(--border); }
.mnav-acc .mnav-group p { color: var(--teal-700); margin-top: var(--s-3); }
.mnav-group a[aria-current="page"], .mnav-top[aria-current="page"] { color: var(--anchor); font-weight: 600; }
.mnav-compare { color: var(--anchor) !important; font-weight: 600 !important; }
.mnav-top { display: flex; align-items: center; min-height: 44px; padding: var(--s-2) 0; border-bottom: 1px solid var(--border); font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: var(--ink); text-decoration: none; }
@media (max-width: 1100px) { .mega-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mnav .mnav-acc > summary { width: auto; height: auto; justify-content: space-between; border-radius: 0; color: var(--ink); }
.mnav .mnav-acc > summary:hover { background: none; color: var(--anchor); }
.mnav .mnav-acc > summary svg { width: 1rem; height: 1rem; }

/* ==========================================================================
   Prompt library (5 Nov 2026): collection page and role pages
   ========================================================================== */
.pl-tags { margin-top: var(--s-5); }
.pg-prompt-library .page-hero .btn-row { margin-top: var(--s-6); }
.pl-list { display: grid; gap: var(--s-4); }
.pl-card { display: grid; gap: var(--s-3); padding: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); scroll-margin-top: 6rem; }
.pl-card > * { margin: 0; }
.pl-card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
.pl-card-head .card-label { margin: 0; }
.pl-badge { flex: none; font-size: var(--text-xs); font-weight: 600; padding: .25rem .625rem; border-radius: 999px; background: var(--sprout); color: var(--ink); }
.pl-task { font-size: var(--text-xs); color: var(--muted); }
.pl-inds { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.pl-inds li { font-size: var(--text-xs); font-weight: 600; padding: .25rem .625rem; border-radius: .5rem; background: var(--teal-50, #e6f5f5); color: var(--teal-ink); }
.pl-prompt { margin: 0; padding: var(--s-4); border-radius: .75rem; background: var(--grey, #f5f6f7); color: var(--ink); font-family: Inter, sans-serif; font-size: var(--text-sm); line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 53.75rem; }
.pl-tip { font-size: var(--text-xs); color: var(--muted); max-width: 53.75rem; }
.pl-tip strong { color: var(--ink); }
.pl-card .btn-row { margin: 0; }
.pl-open { display: grid; gap: var(--s-3); }
.pl-open[hidden], .pl-locked[hidden], .pl-inds[hidden], .pl-done[hidden], .pg-prompt-library [hidden] { display: none !important; }
.pl-locked { display: flex; align-items: center; gap: var(--s-3); min-height: 44px; padding: var(--s-3) var(--s-4); border: 1px dashed var(--accent-200, #6cc7c8); border-radius: .75rem; background: var(--accent-50, #e6f5f5); color: var(--ink); font-size: var(--text-sm); font-weight: 600; text-decoration: none; }
.pl-locked:hover { background: var(--accent-100, #c2e7e7); color: var(--ink); }
.pl-lock-ico svg, .pl-done-ico svg { width: 1.25rem; height: 1.25rem; display: block; color: var(--teal-ink); }
.pl-form { display: grid; gap: var(--s-4); max-width: 53.75rem; padding: var(--s-6); border-radius: var(--radius); background: var(--white); border: 1px solid var(--border); }
.pl-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.pl-field { display: grid; gap: .375rem; font-size: var(--text-sm); font-weight: 600; color: var(--ink); }
.pl-field input { min-height: 44px; box-sizing: border-box; width: 100%; padding: .625rem .875rem; border: 1px solid var(--border); border-radius: .625rem; background: var(--white); color: var(--ink); font: inherit; font-weight: 400; font-size: var(--text-body, 1.05rem); }
.pl-field input:focus-visible, .pl-check input:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; border-color: var(--teal-ink); }
.pl-check { display: flex; align-items: flex-start; gap: var(--s-3); font-size: var(--text-sm); color: var(--ink); }
.pl-check input { flex: none; width: 1.25rem; height: 1.25rem; margin: .125rem 0 0; accent-color: var(--blue-700, #1f3f7c); }
.pl-check a { color: var(--blue-700, #1f3f7c); }
.pl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pl-error { margin: 0; padding: var(--s-3) var(--s-4); border-radius: .625rem; background: var(--sprout-50, #f6faec); border: 1px solid var(--sprout-200, #dbe9b4); font-size: var(--text-sm); color: var(--ink); }
.pl-form .btn-row { margin: 0; }
.pl-done { display: flex; gap: var(--s-4); align-items: flex-start; max-width: 53.75rem; padding: var(--s-5); border-radius: var(--radius); background: var(--white); border: 1px solid var(--border); }
.pl-done h3 { margin: 0 0 .25rem; }
.pl-done p { margin: 0; font-size: var(--text-sm); color: var(--muted); }
.pl-roles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-4); }
.pl-roles-9 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pl-role { position: relative; display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5) var(--s-5) var(--s-7); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); color: var(--ink); text-decoration: none; }
.pl-role:hover { border-color: var(--accent-200, #6cc7c8); box-shadow: var(--shadow-sm); color: var(--ink); }
.pl-role .ico { margin-bottom: var(--s-2); }
.pl-role h3 { margin: 0; }
.pl-role p { margin: 0; font-size: var(--text-xs); color: var(--muted); }
.pl-role-go { display: flex; color: var(--teal-ink); }
.pl-role .pl-role-go { position: absolute; right: var(--s-5); bottom: var(--s-5); }
.pl-role-go svg { width: 1rem; height: 1rem; }
.pl-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-bottom: var(--s-5); }
.pl-chip { min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--border); border-radius: 999px; background: var(--white); color: var(--ink); font: inherit; font-size: var(--text-sm); font-weight: 600; cursor: pointer; }
.pl-chip:hover { border-color: var(--blue-700, #1f3f7c); }
.pl-chip[aria-pressed="true"] { background: var(--blue-700, #1f3f7c); border-color: var(--blue-700, #1f3f7c); color: var(--white); }
.pl-chip:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; }
.pl-index { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.pl-index-row { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-4) var(--s-5); border-radius: .875rem; background: var(--white); border: 1px solid var(--border); color: var(--ink); text-decoration: none; }
.pl-index-row:hover { border-color: var(--accent-200, #6cc7c8); color: var(--ink); }
.pl-index-main { flex: 1; min-width: 0; display: grid; gap: .25rem; }
.pl-index-main .card-label { margin: 0; }
.pl-index-title { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); line-height: 1.35; }
.pl-index-task { font-size: var(--text-xs); color: var(--muted); }
@media (max-width: 900px) { .pl-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pl-roles-9 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .pl-fields { grid-template-columns: minmax(0, 1fr); } .pl-form { padding: var(--s-5); } .pl-index-row { flex-wrap: wrap; } }
@media (max-width: 480px) { .pl-card { padding: var(--s-4); } .pl-role { padding: var(--s-4) var(--s-4) var(--s-6); } }

.pl-tags svg { width: 1rem; height: 1rem; flex: none; color: var(--teal-700, #157578); }
.pl-tags li { display: inline-flex; align-items: center; gap: .375rem; }
.pl-tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--text-sm); font-weight: 600; color: var(--ink); }

/* Mereka secondary (horizontal) logo, per the Visual Guideline: header (full colour) and footer (white-out). Clear space kept by padding and gaps. */
.footer-mereka { display: inline-flex; margin-top: var(--s-4); padding: .375rem 0; }
.footer-mereka img { display: block; height: 1.5rem; width: auto; }

/* Closing band, design A (agreed 5 Nov 2026): heading block, three steps, one action row with the HRD Corp badge, contact line. */
.cta-band .band-bg { opacity: .12; filter: grayscale(.35); }
.cta-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
.cta-step { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5); border-radius: var(--radius); background: rgba(20,42,89,.55); border: 1px solid rgba(255,255,255,.16); }
.cta-step > * { margin: 0; }
.cta-step .ico { background: rgba(255,255,255,.1); color: #6cc7c8; margin-bottom: var(--s-2); }
.cta-step .card-label { color: #6cc7c8; }
.cta-step h3 { color: #fff; }
.cta-step p:last-child { font-size: var(--text-xs); color: rgba(255,255,255,.78); }
.cta-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-5); margin-top: var(--space-block); }
.cta-actions .btn-row { margin: 0; }
.cta-band .btn-ghost { color: #fff; border-color: rgba(255,255,255,.7); }
.cta-band .btn-ghost:hover { background: #fff; color: var(--anchor); border-color: #fff; }
.cta-actions .cta-badge { width: 5rem; height: 5rem; margin: 0; }
.cta-note { margin: var(--s-4) 0 0; font-size: var(--text-sm); color: rgba(255,255,255,.78); }
@media (max-width: 768px) { .cta-steps { grid-template-columns: minmax(0, 1fr); } .cta-actions { align-items: flex-start; } }
.home-prompts .pl-index { margin-bottom: var(--space-block); max-width: 53.75rem; }
#case-studies .cs-grid { margin-bottom: var(--space-block); }

.dept-tasks { margin: 0; padding-left: 1.1rem; display: grid; gap: .25rem; font-size: var(--text-xs); color: var(--muted); }
.dept-includes { margin: 0 0 var(--s-5); font-size: var(--text-sm); color: var(--ink); max-width: 53.75rem; }

/* Industry Credentials page (5 Nov 2026): Microsoft certifications */
.cred-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.cred-path { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-6); border-radius: var(--radius); background: var(--accent-50); }
.cred-path > * { margin: 0; }
.cred-path .ico { background: var(--white); margin-bottom: var(--s-2); }
.cred-path p:last-child { font-size: var(--text-sm); color: var(--muted); }
.cred-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-4); }
.cred-step { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5); border-radius: var(--radius); background: var(--white); border: 1px solid var(--border); }
.cred-step > * { margin: 0; }
.cred-step .ico { margin-bottom: var(--s-2); }
.cred-step p:last-child { font-size: var(--text-xs); color: var(--muted); }
.cert-tracks { display: grid; gap: var(--s-3); }
.cert-track { border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.cert-track > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: var(--s-4); min-height: 44px; padding: var(--s-4) var(--s-5); }
.cert-track > summary::-webkit-details-marker { display: none; }
.cert-track > summary:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; border-radius: var(--radius); }
.cert-track-head { flex: 1; min-width: 0; display: grid; gap: .25rem; }
.cert-track-head .card-label, .cert-track-head h3 { margin: 0; }
.cert-track-price { font-size: var(--text-sm); font-weight: 600; color: var(--ink); white-space: nowrap; }
.cert-chev { display: flex; color: var(--accent-ink); transition: transform .2s; }
.cert-chev svg { width: 1.25rem; height: 1.25rem; }
.cert-track[open] .cert-chev { transform: rotate(180deg); }
.cert-grid { list-style: none; margin: 0; padding: 0 var(--s-5) var(--s-5); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
.cert-card { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-4); border-radius: .875rem; background: var(--grey, #f5f6f7); }
.cert-card > * { margin: 0; }
.cert-code { justify-self: start; font-size: var(--text-xs); font-weight: 700; letter-spacing: .04em; padding: .2rem .6rem; border-radius: 999px; background: var(--white); color: var(--accent-ink); border: 1px solid var(--accent-100); }
.cert-who { font-size: var(--text-xs); color: var(--ink); }
.cert-what { font-size: var(--text-xs); color: var(--muted); }
.cert-meta { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); font-size: var(--text-xs); color: var(--muted); }
.cert-meta li { padding: .15rem .5rem; border-radius: .375rem; background: var(--white); }
.cert-meta .cert-rep { background: var(--sprout); color: var(--ink); }
.cert-note { margin: var(--s-5) 0 0; font-size: var(--text-xs); color: var(--muted); max-width: 53.75rem; }
.cred-table-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--border); background: var(--white); max-width: 53.75rem; }
.cred-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.cred-table th, .cred-table td { padding: var(--s-3) var(--s-4); text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
.cred-table thead th { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .12em; color: var(--muted); font-weight: 600; }
.cred-table tbody th { font-weight: 600; color: var(--ink); }
.cred-table tbody th span { display: block; font-weight: 400; font-size: var(--text-xs); color: var(--muted); margin-top: .25rem; }
.cred-table td { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cred-table tr:last-child th, .cred-table tr:last-child td { border-bottom: 0; }
.cred-notes { margin: var(--s-4) 0 var(--space-block); padding-left: 1.1rem; display: grid; gap: .25rem; font-size: var(--text-xs); color: var(--muted); max-width: 53.75rem; }
.pg-industry-credentials .path-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.pg-industry-credentials .path-link { position: relative; display: grid; gap: var(--s-2); padding: var(--s-5) var(--s-5) var(--s-7); border-radius: var(--radius); text-decoration: none; color: var(--ink); }
.pg-industry-credentials .path-link > * { margin: 0; }
.pg-industry-credentials .path-link p { font-size: var(--text-xs); color: var(--muted); }
.pg-industry-credentials .path-link-go { position: absolute; right: var(--s-5); bottom: var(--s-5); display: flex; color: var(--accent-ink); }
.pg-industry-credentials .path-link-go svg { width: 1rem; height: 1rem; }
@media (max-width: 900px) { .cred-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .cred-paths, .cert-grid, .pg-industry-credentials .path-links { grid-template-columns: minmax(0, 1fr); } .cred-steps { grid-template-columns: minmax(0, 1fr); } .cert-track-price { display: none; } }

/* Corporate training: HRD Corp claim rules (confirmed by the user, 5 Nov 2026) */
.hrd-block { margin-top: var(--space-block); padding: var(--s-6); border-radius: var(--radius); background: var(--grey, #f5f6f7); }
.hrd-block > h3 { margin: 0 0 var(--s-2); }
.hrd-intro { margin: 0 0 var(--s-5); font-size: var(--text-sm); color: var(--muted); max-width: 53.75rem; }
.hrd-rules { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.hrd-rule { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5); border-radius: var(--radius); background: var(--white); }
.hrd-rule > * { margin: 0; }
.hrd-rule .ico { margin-bottom: var(--s-2); }
.hrd-rule p { font-size: var(--text-xs); color: var(--muted); }
@media (max-width: 900px) { .hrd-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .hrd-rules { grid-template-columns: minmax(0, 1fr); } .hrd-block { padding: var(--s-5); } }
.cred-step .step-sub { font-size: var(--text-xs); font-weight: 600; color: var(--accent-ink); }

/* Partner with us page (5 Nov 2026) */
.partner-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
.partner-card { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-6); border-radius: var(--radius); background: var(--accent-50); }
.partner-card > * { margin: 0; }
.partner-card .ico { background: var(--white); }
.partner-lead { font-size: var(--text-sm); color: var(--ink); }
.partner-list { list-style: none; padding: 0; display: grid; gap: var(--s-2); font-size: var(--text-xs); color: var(--muted); flex: 1; }
.partner-list li { display: flex; gap: .5rem; align-items: flex-start; }
.partner-list svg { flex: none; width: 1rem; height: 1rem; margin-top: .1rem; color: var(--teal-ink); }
.partner-card .btn-row { margin: var(--s-2) 0 0; }
.partner-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .partner-cards { grid-template-columns: minmax(0, 1fr); } .partner-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .partner-steps { grid-template-columns: minmax(0, 1fr); } }

/* Client case study drafts (5 Nov 2026): placeholders for figures still to collect */
.cs-stat.is-pending { background: var(--sprout-50); border: 1px dashed var(--grey-600); }
.cs-stat.is-pending b { color: var(--grey-800); }
.cs-todo { display: block !important; }
.cs-collect { margin-top: var(--s-4); padding: var(--s-3) var(--s-4); border: 1px dashed var(--grey-600); border-radius: .5rem; background: var(--sprout-50); }
.cs-collect ul { margin-top: var(--s-2); font-size: var(--text-sm); }

/* AI Workspace Setup (corporate training, 5 Nov 2026) */
.ws-tools { list-style: none; padding: 0; margin: 0 0 var(--s-5); display: flex; flex-wrap: wrap; gap: var(--s-3); }
.ws-tools li { display: flex; align-items: center; justify-content: center; width: 4.5rem; height: 4.5rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.ws-tools img { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.ws-list { list-style: none; padding: 0; margin: var(--s-3) 0 var(--s-5); display: grid; gap: var(--s-2); max-width: 53.75rem; }
.ws-list li { display: flex; gap: .6rem; align-items: flex-start; }
.ws-list svg { width: 1.1rem; height: 1.1rem; flex: none; margin-top: .25rem; color: var(--teal-700); }
#workspace-setup .delivery-card { background: var(--white); }
.pg-case-studies .cs-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .pg-case-studies .cs-grid-3 { grid-template-columns: minmax(0, 1fr); } }

/* Header menu v2 (5 Nov 2026): Resources and Work with us dropdowns */
.nav-res .dropdown, .nav-work .dropdown, .nav-pub .dropdown { min-width: 17rem; }
.nav-work .dropdown { left: auto; right: 0; }
.nav-item > button.nav-link.is-current { color: var(--anchor); box-shadow: inset 0 -2px 0 var(--teal); border-radius: 0; }
@media (min-width: 901px) and (max-width: 1000px) { .nav-cta-long { display: none; } }

/* In the news page and cited figures (5 Nov 2026) */
.news-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-4); }
.news-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 53.75rem; }
.news-stat { display: flex; flex-direction: column; gap: .4rem; padding: var(--s-4); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.news-stat b { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h4); line-height: 1.1; color: var(--anchor); }
.news-stat span { font-size: var(--text-sm); color: var(--ink); line-height: 1.5; }
.news-stat small { font-size: var(--text-xs); color: var(--muted); }
.section-grey .lens-card { background: var(--white); }
.cite-note { margin-top: var(--s-4); max-width: 53.75rem; font-size: var(--text-xs); color: var(--muted); line-height: 1.6; }
.cite-note a { color: var(--blue-700); }
.workflow-first { margin-top: var(--space-block); max-width: 53.75rem; }
.workflow-first > p { margin-top: var(--s-3); }
.news-year { margin-top: var(--space-block); }
.news-year:first-of-type { margin-top: 0; }
.news-list { list-style: none; padding: 0; margin: var(--s-3) 0 0; border-top: 1px solid var(--border); }
.news-item { padding: var(--s-4) 0; border-bottom: 1px solid var(--border); max-width: 53.75rem; }
.news-item h3 { margin-top: var(--s-2); }
.news-item h3 a { color: var(--ink); text-decoration: none; }
.news-item h3 a:hover { color: var(--anchor); text-decoration: underline; }
.news-item > p { margin-top: var(--s-2); font-size: var(--text-sm); color: var(--muted); }
.news-link { display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); text-decoration: none; }
.news-link svg { width: .9rem; height: .9rem; }
@media (max-width: 900px) { .news-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .news-stats, .news-stats-2 { grid-template-columns: minmax(0, 1fr); } }

/* Design review fixes, batch 1 (5 Nov 2026) */
.btn { border-radius: 999px; }
.btn-light, .btn-light.btn-pill { border-radius: 999px; }
.section-dark .marker::before, .cta-band .marker::before { background: #6cc7c8; }
main[class^="pg-"]:not(.pg-case-study) .page-hero h1, main[class^="pg-"] .hub-hero h1 { margin-bottom: var(--space-block); }
.nav-cta { gap: .25em; }
.pl-check { min-height: 44px; align-items: center; }
.pl-check input { margin: 0; }
.tool-skill { display: flex; align-items: flex-start; gap: .5rem; }
.tool-skill .dot { flex: none; margin-top: .55em; }
.tool-card { display: flex; flex-direction: column; }
.tool-card .tool-actions { margin-top: auto; padding-top: var(--s-4); }
.tool-card.custom .tool-icon { background: var(--teal-50); color: var(--teal-ink); }
.journey-card .phase-num, .journey-card.phase-active .phase-num, .journey-card.phase-post .phase-num { background: #3e5e98; color: #fff; }
.pricing-badge { background: none; padding: 0; border-radius: 0; }
.ps .ps-source { background: none; padding: 0; border-radius: 0; white-space: nowrap; }
.pg-public-training .cert-grid { padding-inline: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cert-grid:has(> .cert-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cs-cta-card { grid-template-columns: minmax(0, 1fr); align-items: start; }
.cs-cta-card h2 { max-width: none; }
.step-num { color: var(--teal-ink) !important; }
@media (max-width: 768px) {
  .pg-corporate-training .path { border: 0; border-radius: 0; background: none; }
  .pg-corporate-training .path-steps { padding: var(--s-3) 0 0; }
}
@media (max-width: 700px) { .cert-track-price { display: block; white-space: normal; } .pg-public-training .cert-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .cta-band .btn-row .btn { width: 100%; } }

/* Design review fixes, batch 1b: credentials track price on phones */
@media (max-width: 700px) { .cert-track > summary { flex-wrap: wrap; } .cert-track-price { order: 3; flex-basis: 100%; padding-left: calc(2.75rem + var(--s-4)); } }

/* Levels ladder (5 Nov 2026): the six levels as one ladder, grouped like the menu */
.ladder { display: grid; grid-template-columns: 1fr 4fr 1fr; gap: var(--s-3); margin-bottom: var(--s-6); }
.ladder-label { color: var(--muted); padding-bottom: var(--s-2); margin-bottom: var(--s-3); border-bottom: 2px solid var(--lg); }
.lg-1 { --lg: var(--teal-ink); } .lg-2 { --lg: var(--anchor); } .lg-3 { --lg: #142a59; }
.ladder-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 1), minmax(0, 1fr)); gap: var(--s-3); }
.lg-2 .ladder-steps { --n: 4; }
.ladder-steps a { display: grid; gap: .25rem; align-content: start; height: 100%; min-height: 44px; padding: var(--s-4); border-radius: var(--radius); background: var(--grey); color: var(--ink); text-decoration: none; }
.ladder-steps a:hover { background: #e3e0e7; color: var(--ink); }
.ladder-num { width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--lg); color: #fff; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--text-sm); margin-bottom: var(--s-2); }
.ladder-name { font-family: Poppins, sans-serif; font-weight: 700; font-size: 1.125rem; line-height: 1.3; }
.ladder-meta { font-size: var(--text-xs); color: var(--muted); line-height: 1.45; }
@media (max-width: 900px) { .ladder { grid-template-columns: minmax(0, 1fr); } .lg-2 .ladder-steps { --n: 2; } }
@media (max-width: 480px) { .lg-2 .ladder-steps { --n: 1; } }
@media (max-width: 700px) { .ladder { gap: var(--s-2); } .ladder-steps { gap: var(--s-2); } .lg-2 .ladder-steps { --n: 1; } .ladder-steps a { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--s-3); row-gap: 0; align-items: center; padding: var(--s-3) var(--s-4); } .ladder-num { grid-row: span 2; margin: 0; } .ladder-label { margin-bottom: var(--s-2); } }


/* ===== Programme pages rework (5 Nov 2026, flow review; tools/programme_rework.py) ===== */
/* Ticked hero line (plain ticked text, not a pill), as the homepage hero tags */
.prog-ticks { list-style: none; margin: var(--s-5) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--text-sm); font-weight: 600; color: var(--ink); max-width: 35rem; }
.prog-ticks li { display: flex; align-items: flex-start; gap: .375rem; }
.prog-ticks svg { width: 1rem; height: 1rem; flex: none; margin-top: .2em; color: var(--teal-ink); }

/* Compact proof band: one testimonial, two-tile variant, case study link card */
.proof-testimonials.proof-one { grid-template-columns: minmax(0, 1fr); max-width: var(--measure); margin-top: var(--s-6); }
.proof-stats.proof-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 36rem; }
.path-link.proof-case { margin-top: var(--s-6); max-width: var(--measure); }
.section-grey .path-link.proof-case { background: var(--white); border: 1px solid var(--border); }
.section-grey .path-link.proof-case:hover { background: var(--white); border-color: var(--accent-ink, var(--anchor)); }

/* Three-card audience grids (no lone card on the last row) */
.audience-grid.audience-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 768px) { .audience-grid.audience-3 { grid-template-columns: minmax(0, 1fr); } }

/* AI Foundation: compact format cards */
.format-card h3.h6 { margin: 0 0 var(--s-2); }
.format-card .format-line { margin: 0 0 var(--s-2); font-size: var(--text-sm); color: var(--muted); line-height: 1.6; }

/* AI Practitioner to AI Architect: level chooser, pathway rows without prices */
.level-chooser { list-style: none; margin: 0 0 var(--space-block); padding: 0; max-width: var(--measure); border-top: 1px solid var(--border); }
.level-chooser li { border-bottom: 1px solid var(--border); }
.level-chooser a { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .375rem; min-height: 44px; padding: var(--s-2) 0; font-size: var(--text-md); color: var(--ink); text-decoration: none; }
.level-chooser a strong { font-weight: 600; color: var(--accent-ink, var(--anchor)); text-decoration: underline; text-underline-offset: .2em; }
.level-chooser a:hover strong { color: var(--teal-ink); }
.pg-workflow-integration .path-step { grid-template-columns: 8.5rem minmax(0, 1fr) 13rem 1.25rem; }
@media (max-width: 900px) { .pg-workflow-integration .path-step { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "chip go" "main main" "facts facts"; } }
.next-note { margin-top: var(--s-5); }

/* AI Transformation: risk table */
.risk-table { max-width: var(--measure); }
.risk-table tbody th span { display: block; margin-top: .25rem; font-weight: 400; color: var(--muted); }
.risk-table th, .risk-table td { width: 50%; }

/* ---------- Resources rework (5 Nov 2026): case studies and prompt library. Pairs with tools/resources_rework.py ---------- */

/* Case studies: hero gap, one placeholder style, pull quotes, one card style */
.pg-case-study .cs-article-section { padding-top: var(--space-block); }
.cs-pending { display: inline-block; padding: .125rem .5rem; border: 1px dashed var(--grey-600); border-radius: .5rem; background: var(--sprout-50); font-size: var(--text-xs); font-weight: 600; color: var(--grey-800); }
.cs-stat.is-pending b { font-family: Inter, sans-serif; font-size: var(--text-sm); }
.cs-sources h2 { margin-bottom: var(--s-4); }
.cs-quote { font-size: var(--text-lg); line-height: 1.55; padding: var(--s-5) var(--s-6); border-left-width: 4px; }
.cs-quote cite { margin-top: var(--s-3); font-size: var(--text-sm); }
.cs-card img { aspect-ratio: 3 / 2; }
.cs-card-progs { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-2); }
.cs-prog { display: inline-block; padding: .25rem .625rem; border-radius: 999px; background: var(--blue-50); color: var(--blue-700); font-size: var(--text-xs); font-weight: 600; line-height: 1.4; }
@media (min-width: 901px) { .pg-case-studies .cs-grid-3 .card-label { min-height: 3em; } }

/* Prompt library: title index */
.pl-toc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--s-4) var(--s-6); margin: 0 0 var(--space-block); padding: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.pl-toc .h7 { margin: 0 0 var(--s-3); color: var(--teal-ink); }
.pl-toc ol { margin: 0; padding-left: 1.5rem; display: grid; gap: var(--s-3); font-size: var(--text-sm); }
.pl-toc > div:last-child ol { display: block; columns: 2; column-gap: var(--s-6); }
.pl-toc > div:last-child li { break-inside: avoid; margin-bottom: var(--s-3); }
.pl-toc li::marker { color: var(--muted); }
.pl-toc a { display: inline; padding: .7rem 0; line-height: 1.5; color: var(--ink); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: .2em; }
.pl-toc a:hover { color: var(--teal-ink); text-decoration-color: currentColor; }
.pl-toc li { line-height: 1.4; }
.pl-toc-lock { display: inline-flex; vertical-align: -.1em; margin-left: .375rem; color: var(--teal-ink); }
.pl-toc-lock svg { width: .9rem; height: .9rem; }
.pl-toc-lock[hidden] { display: none !important; }

/* Prompt library: three distinct badges */
.pl-badge { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid transparent; }
.pl-badge[data-kind="free"] { background: var(--sprout); color: var(--ink); border-color: var(--sprout-200, #dbe9b4); }
.pl-badge[data-kind="signup"] { background: var(--white); color: var(--teal-ink); border-color: var(--teal-ink); }
.pl-badge[data-kind="unlocked"] { background: var(--blue-700); color: var(--white); border-color: var(--blue-700); }
.pl-badge-lock { display: inline-flex; }
.pl-badge-lock svg { width: .85rem; height: .85rem; }

/* Prompt library: prompt block with copy at the top and a collapse toggle */
.pl-prompt-box { display: grid; border-radius: .75rem; background: var(--grey); overflow: hidden; }
.pl-prompt-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-2) var(--s-2) 0 var(--s-4); }
.pl-prompt-bar .h7 { margin: 0; color: var(--muted); }
.pl-copy { min-width: 9.5rem; min-height: 44px; background: var(--white); }
.pl-prompt-box .pl-prompt { max-width: none; border-radius: 0; background: transparent; }
.pl-prompt[data-open="false"] { max-height: calc(1.65em * 6 + var(--s-4) * 2); overflow: hidden; -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
.pl-more { justify-self: start; min-height: 44px; margin: 0 0 var(--s-2) var(--s-2); padding: 0 var(--s-3); border: 0; border-radius: 999px; background: transparent; color: var(--teal-ink); font: inherit; font-size: var(--text-sm); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.pl-more:hover { background: var(--white); }
.pl-more:focus-visible, .pl-copy:focus-visible, .pl-toc a:focus-visible, .pl-rolechip:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; }

/* Prompt library: locked rows (solid, not a placeholder) */
.pl-locked { justify-content: flex-start; border: 1px solid var(--border); border-style: solid; background: var(--white); color: var(--ink); }
.pl-locked:hover { background: var(--teal-50, #e6f5f5); border-color: var(--teal-ink); color: var(--ink); }
.pl-locked-cta { margin-left: auto; padding: .25rem .875rem; border-radius: 999px; border: 1px solid var(--blue-700); color: var(--blue-700); font-size: var(--text-xs); font-weight: 600; }
.pl-form { scroll-margin-top: 7rem; }

/* Prompt library: sign-up errors and next step */
.pl-error { display: flex; align-items: flex-start; gap: var(--s-2); background: var(--white); border: 2px solid var(--ink); color: var(--ink); font-weight: 600; }
.pl-error-ico svg { display: block; width: 1.25rem; height: 1.25rem; color: var(--ink); }
.pl-field input[aria-invalid="true"] { border: 2px solid var(--ink); background: var(--grey); }
.pl-check input[aria-invalid="true"] { outline: 2px solid var(--ink); outline-offset: 2px; }
.pl-next { margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--border); }
.pl-done .pl-next p { color: var(--ink); }
.pl-next .btn-row { margin-top: var(--s-4); }

/* Prompt library: other roles as one row of chips */
.pl-rolechips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.pl-rolechip { display: inline-flex; align-items: center; gap: var(--s-2); min-height: 44px; padding: .375rem 1rem .375rem .5rem; border: 1px solid var(--border); border-radius: 999px; background: var(--white); color: var(--ink); font-size: var(--text-sm); font-weight: 600; text-decoration: none; }
.pl-rolechip:hover { border-color: var(--blue-700); color: var(--ink); }
.pl-rolechip .ico { width: 1.75rem; height: 1.75rem; margin: 0; }
.pl-rolechip .ico svg { width: 1rem; height: 1rem; }

@media (max-width: 700px) {
  .pl-toc { grid-template-columns: minmax(0, 1fr); padding: var(--s-4); }
  .pl-toc > div:last-child ol { columns: 1; }
  .pl-prompt-bar { padding-left: var(--s-3); }
  .pl-locked { flex-wrap: wrap; }
}


/* Flow review, hub pages (5 Nov 2026) */
.proof-stats.proof-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 36rem; margin-bottom: var(--space-block); }
.pair-grid.pair-one { grid-template-columns: minmax(0, 1fr); max-width: 53.75rem; }
.page-hero .hero-pills .btn-ghost { background: #fff; }

/* Discovery-call form in the closing band (5 Nov 2026) */
[id] { scroll-margin-top: calc(var(--nav-h) + 1rem); }
.cta-band .call-form { margin-top: var(--space-block); color: var(--ink); }
.call-form-intro { font-size: var(--text-sm); color: var(--muted); margin: -.5rem 0 0; }
.pl-field select { min-height: 44px; box-sizing: border-box; width: 100%; padding: .625rem .875rem; border: 1px solid var(--border); border-radius: .625rem; font: inherit; font-weight: 400; color: var(--ink); background: #fff; }
.pl-field select:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; border-color: var(--teal-ink); }
.call-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.call-form .pl-error { color: var(--ink); border-left: 3px solid var(--anchor); padding-left: .75rem; font-size: var(--text-sm); font-weight: 600; margin: 0; }
.cta-band .call-sent { margin-top: var(--space-block); max-width: 53.75rem; padding: var(--s-6); border-radius: var(--radius); background: #fff; color: var(--ink); }
.cta-band .call-sent p { color: var(--muted); margin: .5rem 0 0; }
.cta-band .call-or { margin: var(--space-block) 0 var(--s-3); font-size: var(--text-sm); color: rgba(255,255,255,.85); }
.cta-band .call-or + .cta-actions { margin-top: 0; }

/* Buyer review (5 Nov 2026): comparison table and print layout */
.compare { margin-top: var(--space-block); }
.compare-intro { font-size: var(--text-sm); color: var(--muted); max-width: 53.75rem; margin: var(--s-3) 0 var(--s-4); }
.compare-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); }
.compare-scroll:focus-visible { outline: 2px solid var(--teal-ink); outline-offset: 2px; }
.compare-table { width: 100%; min-width: 56rem; border-collapse: collapse; font-size: var(--text-xs); line-height: 1.45; }
.compare-table th, .compare-table td { text-align: left; vertical-align: top; padding: .75rem .875rem; border-bottom: 1px solid var(--border); }
.compare-table thead th { background: #ecf0f8; color: #142a59; font-weight: 600; }
.compare-table tbody tr:last-child th, .compare-table tbody tr:last-child td { border-bottom: 0; }
.compare-table tbody th { font-weight: 600; color: var(--ink); white-space: nowrap; }
.compare-table tbody th a { color: #1f3f7c; }
@media print {
  .nav, .mnav, footer.footer, .crumbs, .photo-strip, .band-bg, .how-bg, .call-form, .call-sent, .call-or, .cta-actions .btn-row, .hero-ctas, .btn-row, .trust-strip, .ladder, .paths, .proof-pipeline, .proof-testimonials, .pair-grid, .pair-closing, section:has(> .shell > .pair-grid), .proof-subhead, .hero-pills .btn, .dept-grid, .problem-grid, .xref-banner, .faq-grid details:not([open]) + details:not([open]) { display: none !important; }
  html, body { background: #fff !important; }
  .section, .page-hero, .hub-hero, .cta-band { padding-block: 1.5rem !important; background: #fff !important; color: #1a1623 !important; }
  .cta-band * { color: #1a1623 !important; }
  .compare-scroll { overflow: visible; border: 0; } .compare-table { min-width: 0; font-size: 9pt; }
  details > *:not(summary) { display: block !important; }
  a[href]::after { content: none; }
  section, article, tr { break-inside: avoid; }
}

/* Decision-maker review (5 Nov 2026): proof strip, start path, phone comparison cards */
.proof-strip { border-bottom: 1px solid var(--border); background: var(--white); }
.proof-strip ul { list-style: none; margin: 0; padding: var(--s-5) 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.proof-strip li { display: grid; gap: .25rem; align-content: start; }
.proof-strip b { font-family: Poppins, sans-serif; font-weight: 700; font-size: 1.375rem; color: #1f3f7c; line-height: 1.2; }
.proof-strip span { font-size: var(--text-sm); color: var(--muted); line-height: 1.5; }
.start-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
.start-step { position: relative; display: grid; gap: var(--s-2); align-content: start; padding: var(--card-pad); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.start-step p:not(.card-label) { font-size: var(--text-sm); color: var(--muted); line-height: 1.6; margin: 0; }
.start-num { width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #1f3f7c; color: #fff; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--text-sm); }
.start-step .card-label { color: var(--teal-ink); margin: var(--s-2) 0 0; }
.start-link { font-size: var(--text-sm); font-weight: 600; color: #1f3f7c; min-height: 44px; display: inline-flex; align-items: center; }
.start-facts { list-style: none; margin: var(--space-block) 0 0; padding: 0; display: grid; gap: var(--s-3); max-width: 53.75rem; }
.start-facts li { position: relative; padding-left: 1.5rem; font-size: var(--text-sm); color: var(--ink); line-height: 1.6; }
.start-facts li::before { content: ""; position: absolute; left: 0; top: .55em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--teal-ink); }
.addon-grid:has(> .delivery-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .start-steps { grid-template-columns: minmax(0, 1fr); } .proof-strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .proof-strip ul { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
  .compare-scroll { overflow: visible; border: 0; border-radius: 0; }
  .compare-table { min-width: 0; }
  .compare-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .compare-table, .compare-table tbody, .compare-table tr, .compare-table th, .compare-table td { display: block; }
  .compare-table tr { border: 1px solid var(--border); border-radius: var(--radius); padding: var(--s-3) var(--s-4); margin-bottom: var(--s-3); background: var(--white); }
  .compare-table tbody th { white-space: normal; padding: 0 0 .5rem; border: 0; font-size: var(--text-sm); }
  .compare-table td { display: flex; justify-content: space-between; gap: var(--s-3); padding: .375rem 0; border: 0; border-top: 1px solid var(--border); text-align: right; }
  .compare-table td::before { content: attr(data-label); color: var(--muted); font-weight: 600; text-align: left; }
  .addon-grid:has(> .delivery-card:nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr); }
}
@media print { .proof-strip, .start-path { break-inside: avoid; } }

/* Two tracks (5 Nov 2026) */
.ladder { grid-template-columns: 1fr 2fr 2fr 1fr; }
.lg-2 .ladder-steps, .lg-tech .ladder-steps { --n: 2; }
.lg-tech { --lg: #3e5e98; }
.path-tech { --band: #3e5e98; }
.mega-tech { border-bottom-color: #3e5e98; }
.modules-grid.modules-7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.modules-grid.modules-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.track-check { margin-top: var(--s-4); padding: var(--s-4) var(--s-5); border-left: 3px solid #3e5e98; background: var(--grey); font-size: var(--text-sm); max-width: 53.75rem; }
@media (max-width: 900px) { .ladder { grid-template-columns: minmax(0, 1fr); } .modules-grid.modules-7 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .modules-grid.modules-7, .modules-grid.modules-4 { grid-template-columns: minmax(0, 1fr); } }

/* Get a price and the price guide (6 Nov 2026) */
.price-tools { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--s-5); align-items: start; }
.price-tools .pl-form, .price-tools .pl-done { max-width: none; background: var(--grey-50, #f5f6f7); border-color: transparent; }
.price-tools h3 { margin: 0; }
.price-tools [hidden] { display: none !important; }
.price-tools .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.price-tools .pl-error { color: var(--ink); border-left: 3px solid var(--anchor); padding-left: .75rem; font-size: var(--text-sm); font-weight: 600; }
.pl-field select { min-height: 44px; box-sizing: border-box; width: 100%; padding: .625rem .875rem; border: 1px solid var(--border); border-radius: .625rem; background: var(--white); font: inherit; color: var(--ink); }
.price-out { padding: var(--s-4) var(--s-5); border-radius: .875rem; background: var(--white); border: 1px solid var(--border); display: grid; gap: .375rem; }
.price-out p { margin: 0; }
.price-est { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h5); color: var(--blue-700, #1f3f7c); line-height: 1.25; }
.price-sub { font-size: var(--text-sm); color: var(--ink); }
.price-note, .guide-desc, .price-ask { font-size: var(--text-xs); color: var(--muted); margin: 0; }
.price-ask { font-size: var(--text-sm); font-weight: 600; color: var(--ink); }
.price-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--s-2); font-size: var(--text-sm); font-weight: 600; color: var(--blue-700, #1f3f7c); }
@media (max-width: 900px) { .price-tools { grid-template-columns: minmax(0, 1fr); } }
@media print { .price-tools { display: none; } }

/* Tighter closing band (6 Nov 2026) */
.cta-band .call-form { max-width: none; }
.cta-band .call-form [hidden], .call-form .pl-error[hidden] { display: none !important; }
@media (min-width: 901px) { .cta-band .call-form .pl-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cta-band .cta-actions { margin-top: var(--s-5); align-items: center; }
.cta-band .cta-actions .call-or { margin: 0; font-size: var(--text-body); color: rgba(255,255,255,.9); }
.cta-band .call-or a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; display: inline-block; min-height: 44px; line-height: 44px; }
.cta-band .call-sent { margin-top: var(--space-block); }

/* Meet the trainers (6 Nov 2026) */
.trainer-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-5); }
.trainer { display: grid; gap: var(--s-3); align-content: start; }
.trainer img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); background: #ecf0f8; }
.trainer h3 { margin: 0; }
@media (max-width: 700px) { .trainer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); } }
@media print { .trainer-grid { display: none; } }

/* Buyer review 2 (6 Nov 2026) */
.hrd-glance { list-style: none; margin: 0 0 var(--s-5); padding: var(--s-5); display: grid; gap: var(--s-2); border-radius: var(--radius); background: var(--white); border: 1px solid var(--border); font-size: var(--text-sm); }
.hrd-glance strong { color: var(--ink); }
.case-links { margin: var(--s-5) 0 0; font-size: var(--text-sm); color: var(--muted); max-width: 53.75rem; }
.case-links a, .dept-link { color: var(--blue-700, #1f3f7c); font-weight: 600; }
.dept-link { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-xs); }
.train-strip { padding-block: var(--s-6); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.train-strip p { margin: 0 0 var(--s-4); max-width: 53.75rem; }

/* Decisions 3 (6 Nov 2026) */
.level-needs { margin: var(--s-3) 0 var(--s-6); max-width: 53.75rem; font-size: var(--text-sm); color: var(--muted); }
.level-needs strong { color: var(--ink); }
.dev-includes { margin: 0; padding-left: 1.2em; display: grid; gap: var(--s-2); font-size: var(--text-sm); }

/* Prompt professional-check line (6 Nov 2026) */
.pl-check-note { margin: var(--s-4) 0 0; max-width: 53.75rem; padding: var(--s-4); border-radius: var(--radius); background: #F6FAEC; font-size: var(--text-sm); }

/* About Mereka AI Lab (6 Nov 2026) */
.about-box { margin-top: var(--space-block); max-width: 53.75rem; padding: var(--s-5); border-radius: var(--radius); background: var(--grey, #F5F6F7); }
.about-box h3 { margin: 0 0 var(--s-3); }
.about-box p { margin: 0 0 var(--s-3); font-size: var(--text-sm); }
.about-box .about-links { margin: 0; }
.about-box a { color: #1F3F7C; font-weight: 600; }
.hero-tags li { align-items: flex-start; }
.hero-tags svg { flex: none; margin-top: .15em; }

/* Round 3: programmes for groups (6 Nov 2026) */
.groups-strip { margin-top: var(--space-block); padding: var(--s-5); border-radius: var(--radius); border: 1px solid var(--border); max-width: none; }
.groups-strip h3 { margin: var(--s-2) 0 var(--s-3); }
.groups-strip p { max-width: 53.75rem; }

/* Case study card video (6 Nov 2026) */
.cs-card .cs-video { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--grey-50, #f5f6f7); }
@media print { .cs-card .cs-video { display: none; } }

/* Comparison table folded (6 Nov 2026) */
.compare-fold { margin-top: var(--s-6); }
.compare-fold > summary { list-style: none; cursor: pointer; display: inline-flex; }
.compare-fold > summary::-webkit-details-marker { display: none; }
.compare-fold[open] > summary { margin-bottom: var(--s-5); }
@media print { .compare-fold > .compare { display: block; } }

/* AI Foundation format buttons under the curriculum (6 Nov 2026) */
main .format-grid.format-compact { margin-top: var(--s-6); }
main .format-grid.format-compact .format-card { padding: var(--s-4) var(--s-5); min-height: 0; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); text-align: left; }
main .format-grid.format-compact .format-card h3 { margin: 0; text-align: left; }
main .format-grid.format-compact .format-card > .btn-row { margin: 0; margin-top: 0; padding-top: 0; width: auto; flex: 0 1 auto; justify-content: flex-start; }
@media (max-width: 480px) { main .format-grid.format-compact .format-card { flex-direction: column; align-items: stretch; } }

/* Hero strip video (6 Nov 2026) */
.photo-strip video { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-strip figure:nth-child(2) video { position: absolute; inset: 0; }
@media print { .photo-strip video { display: none; } }

.photo-strip figure:first-child video { aspect-ratio: 3 / 2; height: auto; } /* a clip in slot 1 sets the row height like a 3:2 photo */
.photo-strip.strip-wide figure:first-child video { aspect-ratio: 16 / 9; } /* Custom Solutions: full-frame clip in slot 1 */

/* Public sessions v2 (10 Nov 2026): next-session card, filterable date list */
.pt-next { margin-top: var(--s-6); max-width: 40rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.25rem; box-shadow: 0 .25rem 1.25rem rgba(31,163,166,.08); }
.pt-next[hidden] { display: none; }
.pt-next-label { color: var(--teal-ink); margin: 0 0 .625rem; }
.pt-next-body { display: flex; align-items: center; gap: 1rem; }
.pt-next-text { flex: 1; min-width: 0; }
.pt-next-text .h6, .pt-row-main .h6 { margin: 0 0 .25rem; }
.pt-next-text p:last-child, .pt-row-meta { margin: 0; font-size: var(--text-sm); color: var(--muted); }
.pt-date { flex: none; width: 3.5rem; height: 3.5rem; border-radius: .75rem; background: var(--teal-50, #e6f5f5); color: var(--teal-ink); display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; line-height: 1.1; }
.pt-date b { font-family: Poppins, sans-serif; font-size: var(--h5); font-weight: 700; letter-spacing: 0; color: var(--ink); }
.pt-chips { margin-bottom: var(--s-5); }
.pt-dates { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.pt-row { display: flex; align-items: center; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.pt-row-main { flex: 1; min-width: 0; }
.pt-more { margin-top: var(--s-5); }
.pt-more[hidden] { display: none; }
.pt-notes { margin: var(--s-5) 0 0; padding-left: 1.1rem; font-size: var(--text-sm); color: var(--muted); }
.pt-notes li + li { margin-top: .375rem; }
#schedule .sched-help { margin-top: var(--s-6); }
@media (max-width: 480px) {
  .pt-next-body, .pt-row { gap: .75rem; }
  .pt-row { flex-wrap: wrap; }
  .pt-row-main { flex: 1 1 calc(100% - 4.5rem); }
  .pt-row .btn { width: auto; margin-left: 4.25rem; }
  .pt-next-body { flex-wrap: wrap; }
  .pt-next-body .btn { width: 100%; }
}

/* Visual QA fixes (10 Nov 2026) */
.track-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.track-stat span { line-height: 1.5; display: block; }
@media (max-width: 700px) { .track-stats { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); } }
.partner-list { align-content: start; }
.cta-band .call-or a { min-height: 0; line-height: inherit; padding: .5rem 0; }
@media (max-width: 700px) { .trainer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); } }

/* Public sessions calendar (10 Nov 2026) */
.pt-cal-bar { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: var(--s-4); }
.pt-cal-title { margin: 0; min-width: 11rem; }
.pt-cal-nav { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border); background: #fff; color: var(--anchor); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.pt-cal-nav:hover { border-color: var(--anchor); }
.pt-cal-nav[hidden] { display: inline-flex; visibility: hidden; }
.pt-cal-nav svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.pt-cal-key { list-style: none; margin: 0 0 0 auto; padding: 0; display: flex; gap: 1.25rem; font-size: var(--text-sm); color: var(--muted); }
.pt-cal-key li { display: flex; align-items: center; gap: .5rem; }
.pt-key { width: .75rem; height: .75rem; border-radius: .25rem; display: inline-block; }
.pt-key[data-g="foundation"], .pt-cal-item[data-g="foundation"] { background: #e6f5f5; color: #0c4a4c; border-left: 3px solid #157578; }
.pt-key[data-g="tool"], .pt-cal-item[data-g="tool"] { background: #ecf0f8; color: #142a59; border-left: 3px solid #1f3f7c; }
.pt-key { border-left-width: 0; }
.pt-key[data-g="foundation"] { background: #157578; } .pt-key[data-g="tool"] { background: #1f3f7c; }
.pt-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.pt-cal-wd { padding: .5rem .625rem; font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--grey); }
.pt-cal-cell { min-height: 7rem; padding: .5rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); display: flex; flex-direction: column; gap: .375rem; background: #fff; }
.pt-cal-cell[data-out="true"] { background: var(--grey); }
.pt-cal-day { font-size: var(--text-sm); font-weight: 600; color: var(--ink); }
.pt-cal-cell[data-today="true"] .pt-cal-day { color: #fff; background: var(--anchor); border-radius: 999px; width: 1.75rem; height: 1.75rem; display: inline-flex; align-items: center; justify-content: center; }
.pt-cal-item { display: block; padding: .375rem .5rem; border-radius: .375rem; font-size: var(--text-xs); font-weight: 600; line-height: 1.3; text-decoration: none; }
.pt-cal-item:hover { filter: brightness(.96); text-decoration: underline; }
@media (min-width: 701px) { #schedule .pt-dates { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; } }
@media (max-width: 700px) { .pt-cal { display: none; } .pt-cal-key { display: none; } .pt-cal-bar { justify-content: space-between; flex-wrap: nowrap; } .pt-cal-title { min-width: 0; text-align: center; flex: 1; } }

/* Monthly alumni sessions block (10 Nov 2026) */
.alumni-card { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--s-6); align-items: start; background: var(--grey); border-radius: 1.125rem; padding: var(--s-6); max-width: 60rem; }
.alumni-photo { margin: 0; border-radius: 1rem; overflow: hidden; background: #ecf0f8; aspect-ratio: 1 / 1; }
.alumni-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.alumni-body > * { margin: 0; }
.alumni-body .card-label { color: var(--teal-ink); margin-bottom: .75rem; }
.alumni-body h3 { margin-bottom: .75rem; }
.alumni-lead { font-size: var(--text-body); color: var(--ink); margin-bottom: 1.25rem !important; }
.alumni-list { list-style: none; padding: 0; display: grid; gap: .625rem; margin-bottom: 1.25rem !important; font-size: var(--text-body); }
.alumni-list li { display: flex; gap: .625rem; align-items: flex-start; }
.alumni-list svg { flex: none; width: 1.125rem; height: 1.125rem; margin-top: .2rem; color: var(--teal-ink); }
.alumni-led { font-size: var(--text-sm); font-weight: 600; color: var(--ink); margin-bottom: 1.25rem !important; }
.alumni-body .btn-row { margin-bottom: 1rem !important; }
.alumni-note { font-size: var(--text-sm); color: var(--muted); }
.alumni-note + .alumni-note { margin-top: .5rem; }
@media (max-width: 700px) { .alumni-card { grid-template-columns: minmax(0, 1fr); padding: var(--s-5); } .alumni-photo { max-width: 12rem; } }

/* Public sessions copy for individuals (10 Nov 2026) */
.proof-stats.proof-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 54rem; margin-bottom: var(--space-block); }
@media (max-width: 700px) { .proof-stats.proof-stats-3 { grid-template-columns: minmax(0, 1fr); } }
.pg-public-training .step-card .ico { margin-bottom: 1rem; }
.pt-step-n { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--anchor); color: #fff; font-family: Poppins, sans-serif; font-weight: 700; margin-bottom: 1rem; }
#how-it-works .step-card { background: #fff; }
.pt-promise { margin: var(--s-6) 0 0; max-width: 53.75rem; padding: 1.25rem 1.5rem; border-left: 3px solid var(--teal-ink); background: #fff; border-radius: .5rem; font-size: var(--text-body); color: var(--ink); }

/* Resources mega menu (10 Nov 2026): three columns */
.dropdown.mega.mega-3 .mega-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .dropdown.mega.mega-3 .mega-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Public sessions review fixes (10 Nov 2026) */
.pt-hrd-steps { margin: .5rem 0 0; padding-left: 1.25rem; font-size: var(--text-sm); color: var(--muted); }
.pt-hrd-steps li + li { margin-top: .25rem; }
.proof-stats.proof-stats-3 { max-width: none; }
.pt-cal-cell[data-today="true"] .pt-cal-day { background: transparent; color: var(--anchor); box-shadow: inset 0 0 0 2px var(--anchor); }
@media (max-width: 480px) {
  .pt-row { flex-wrap: nowrap; }
  .pt-row-main { flex: 1 1 auto; }
  .pt-row .btn { margin-left: 0; padding: .5rem 1rem; min-height: 44px; flex: none; }
  .alumni-photo { width: 4rem; border-radius: 50%; }
}

/* Public sessions closing band and compact section (10 Nov 2026) */
.pt-compact { padding-block: var(--s-7, 4rem); }
.pt-compact .step-card { padding: 1.25rem 1.25rem; }
.band-seats { list-style: none; margin: 0 0 var(--s-4); padding: 0; display: grid; gap: .75rem; max-width: 46rem; }
.band-seat { display: flex; align-items: center; gap: 1rem; padding: .875rem 1rem; border-radius: var(--radius); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }
.band-seat .pt-date { background: #fff; }
.band-seat-main { flex: 1; min-width: 0; }
.band-seat-main .h6 { margin: 0 0 .25rem; color: #fff; }
.band-seat-main p:last-child { margin: 0; font-size: var(--text-sm); color: rgba(255,255,255,.85); }
.band-team { margin-top: var(--s-5); }
.band-team > summary { cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.band-team[open] > summary { margin-bottom: var(--s-4); }
@media (max-width: 768px) { .band-seat { gap: .75rem; } .cta-band .band-seat a.btn { width: auto !important; flex: none; padding: .5rem 1rem; min-height: 44px; } }

/* Public sessions band: team line above the call form (10 Nov 2026) */
.band-team-note { margin: var(--s-5) 0 0; max-width: 53.75rem; color: rgba(255,255,255,.9); }
.band-team-note a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.band-team-note + .band-team { margin-top: var(--s-3); }

/* Public sessions proof: video testimonial (10 Nov 2026) */
.pt-voice { display: grid; grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: var(--s-6, 3rem); align-items: center; }
.pt-voice-video { margin: 0; }
.pt-voice-video video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-lg, 1rem); background: var(--ink, #1a1623); }
.pt-voice-quote { margin: 0 0 var(--s-4, 1.5rem); }
.pt-voice-quote p { font-size: var(--text-lg); line-height: 1.45; color: var(--ink, #1a1623); margin: 0 0 1rem; max-width: 46ch; }
.pt-voice-quote footer { font-size: var(--text-sm); color: var(--muted); }
.pt-voice-transcript { margin: 0 0 var(--s-5, 2rem); }
.pt-voice-transcript > summary { cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--teal-ink, #157578); text-decoration: underline; text-underline-offset: .2em; }
.pt-voice-transcript p { font-size: var(--text-sm); color: var(--muted); max-width: 53.75rem; margin: .5rem 0 0; }
.pt-voice-note { font-size: var(--text-xs); color: var(--muted); margin: .75rem 0 0; }
@media (max-width: 768px) { .pt-voice { grid-template-columns: 1fr; gap: var(--s-4, 1.5rem); } }

/* Public sessions proof: three video testimonials (10 Nov 2026) */
.pt-vcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5, 2rem); margin-bottom: var(--s-6, 3rem); }
.pt-vcard { margin: 0; display: flex; flex-direction: column; }
.pt-vcard video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-lg, 1rem); background: var(--ink, #1a1623); }
.pt-vcard figcaption { padding-top: 1.25rem; }
.pt-vcard-quote { margin: 0 0 .75rem; }
.pt-vcard-quote p { margin: 0; font-size: var(--text-base); line-height: 1.5; color: var(--ink, #1a1623); }
.pt-vcard-who { margin: 0; font-size: var(--text-sm); color: var(--muted); }
.pt-vcard .pt-voice-transcript { margin: .25rem 0 0; }
@media (max-width: 900px) { .pt-vcards { grid-template-columns: 1fr; max-width: 26rem; } }

/* HRD Corp claim guide page and the pointer on corporate training (10 Nov 2026) */
.hrd-pointer { margin-top: var(--space-block); padding: var(--s-6); border-radius: var(--radius); background: var(--grey, #f5f6f7); display: grid; gap: var(--s-4); }
.hrd-pointer h3 { margin: 0 0 var(--s-2); }
.hrd-pointer p { margin: 0; max-width: 53.75rem; }
.hrd-pointer .btn-row { margin-top: 0; }
.pg-hrd .hrd-glance { max-width: 53.75rem; }
.pg-hrd .section-grey .hrd-block { background: var(--white); }
.pg-hrd .hrd-foot { margin-top: var(--s-5); }
.cred-steps.cred-steps-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .cred-steps.cred-steps-3 { grid-template-columns: minmax(0, 1fr); } }

/* r6 fixes (10 Nov 2026): two case study cards fill the row; add-ons 2x2 borders */
@media (min-width: 769px) {
  .cs-more-title + .cs-grid, #case-studies .cs-grid, #cs-stories .cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .addon-grid:has(> .delivery-card:nth-child(4):last-child) > .delivery-card:nth-child(3) { border-left: 0; }
  .addon-grid:has(> .delivery-card:nth-child(4):last-child) > .delivery-card:nth-child(n+3) { border-top: 1px solid var(--border); }
}

/* Decisions 7 (10 Nov 2026): AI Transformation rollout stages, Strategic AI Leadership facilitators */
.cred-steps.cred-steps-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .cred-steps.cred-steps-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cred-steps.cred-steps-4 { grid-template-columns: minmax(0, 1fr); } }
.section-grey .cred-step { background: var(--white); }
.rollout-note { margin: var(--s-5) 0 0; max-width: 53.75rem; color: var(--muted); }
.fac-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 15rem)); gap: var(--s-5); }
.fac-grid .trainer p { margin: 0; font-size: var(--text-sm); color: var(--muted); }
@media (max-width: 480px) { .fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* AI Transformation "How we run it" as one grid; hero titles scale beside the pricing card (10 Nov 2026) */
.at-run-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .at-run-grid { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 701px) { .page-hero-inner .page-hero-content h1.h2 { font-size: min(var(--h2), 5.2vw); } }
.page-hero-content { min-width: 0; }

/* Section review (10 Nov 2026) */
.sl-includes { margin-top: var(--s-6); padding: var(--s-5); border-radius: var(--radius); background: var(--grey, #f5f6f7); }
.sl-includes h3 { margin: 0 0 var(--s-3); }
.sl-includes ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; color: var(--muted); }
.modules-grid.modules-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) { .modules-grid.modules-2 { grid-template-columns: minmax(0, 1fr); } }
.xref-banner .marker, .train-strip .marker { margin: 0 0 .75rem; }
#cs-problem .familiar { margin: 0; }

/* decisions8 (10 Nov 2026): accreditations, facilitator roles, compact locked prompts */
.accred-logos { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-5) var(--s-6); list-style: none; padding: 0; margin: var(--s-4) 0 0; }
.accred-logos img { display: block; width: var(--aw, 3rem); height: auto; }
.trust-strip .accred-label { margin-top: var(--s-6); }
.about-box .accred-logos { margin: var(--s-4) 0 var(--s-5); }
.fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); }
.fac-grid .trainer { display: grid; grid-template-columns: 10rem minmax(0, 1fr); column-gap: var(--s-5); align-items: start; align-content: start; }
.fac-grid .trainer img { grid-row: 1 / span 3; width: 100%; }
.fac-grid .trainer h3 { margin-top: 0; }
@media (max-width: 900px) { .fac-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .fac-grid { grid-template-columns: minmax(0, 1fr); } .fac-grid .trainer { grid-template-columns: 6.5rem minmax(0, 1fr); } }
.fac-grid .fac-role { margin: .25rem 0 .5rem; color: var(--teal-ink, #157578); font-size: var(--text-sm); font-weight: 600; }
.pl-compact[hidden], .pl-list[hidden] { display: none !important; }
.pl-compact-list { list-style: none; padding: 0; margin: 0 0 var(--s-6); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-6); border-top: 1px solid var(--border); }
.pl-compact-list li { display: flex; gap: var(--s-3); align-items: flex-start; padding: var(--s-3) 0; border-bottom: 1px solid var(--border); scroll-margin-top: 7rem; }
.pl-compact-list .pl-lock-ico { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .2rem; color: var(--teal-ink, #157578); }
.pl-compact-list .pl-lock-ico svg { width: 100%; height: 100%; }
.pl-compact-title { display: block; font-size: var(--text-md); font-weight: 600; color: var(--ink); }
.pl-compact-meta { display: block; font-size: var(--text-xs); color: var(--muted); margin-top: .15rem; }
@media (max-width: 768px) { .pl-compact-list { grid-template-columns: minmax(0, 1fr); } }

/* decisions9 (10 Nov 2026): MyCo ID line under the accreditation logos; three-across module grid */
.accred-note { margin: var(--s-3) 0 0; font-size: var(--text-xs); color: var(--muted); }
.modules-grid.modules-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .modules-grid.modules-3 { grid-template-columns: minmax(0, 1fr); } }

/* ds1: design system upgrade (lead designer review, 10 Nov 2026) */
:root { --h2: 3.25rem; --section-y: 6.5rem; --section-y-lg: var(--s-10); --radius: .75rem; --radius-sm: .5rem; --ink-2: #3a3547; }
@media (max-width: 768px) { :root { --section-y: 4.5rem; --section-y-lg: 5.5rem; } }
@media (max-width: 480px) { :root { --section-y: 3.5rem; --section-y-lg: 4.25rem; } }
h2, .h2 { line-height: 1.06; }
/* proof sections and the closing band keep the big padding */
.section:has(.proof-stats), .section:has(.track-stats), .cta-band { padding-block: var(--section-y-lg); }
/* minor (utility) sections */
.section-minor { padding-block: calc(var(--section-y) * .75); }
.section-minor .section-head { margin-bottom: var(--s-6); }
/* long page titles */
h1.h1-long { font-size: clamp(2.6rem, 4.4vw, 4.25rem); line-height: 1.05; }
/* card copy: 0.9rem, darker (owner decision); 0.78rem stays for chips, labels and fine print */
.pl-task, .pl-tip, .module-card > p, .cs-card-body p, .cred-step > p, .cert-card .cert-what, .cert-card .cert-who, .pg-partners li > span,
.include-text p, .audience-card > p, .path-out, .tool-skill, .path-link > p, .delivery-card > p, .pl-role > p, .pl-index-task,
.tdd-card-desc, .way-body p, .hrd-rule p, .pipe-detail, .step-card > p, .lens-card > p, .journey-card > p, .journey-card li,
.prog-card-desc, .tdd-subtitle, .tool-tagline, .cs-stat span, .track-stat span, .pl-compact-meta, .cta-step p
{ font-size: var(--text-sm); color: var(--ink-2); line-height: 1.6; }
.lp-step p { font-size: var(--text-sm); line-height: 1.55; }
.cta-step p { color: rgba(255,255,255,.82); }
/* one stat style: flat, left-aligned, hairline, large tabular figures */
.proof-stats, .track-stats { gap: 0; }
.ps, .track-stat { background: none; border: 0; border-left: 1px solid var(--border); border-radius: 0; padding: .25rem 1.5rem 0; text-align: left; }
.section-dark .ps, .section-dark .track-stat { border-color: rgba(255,255,255,.2); }
.ps b, .track-stat b { display: block; font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(2.5rem, 3.6vw, 3.75rem); line-height: 1; letter-spacing: -.02em; color: var(--anchor); background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; margin-bottom: .75rem; font-variant-numeric: tabular-nums; }
.ps > span:not(.ps-source):not(.ps-n), .track-stat span { display: block; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.5; }
.ps .ps-source { display: block; margin-top: .5rem; font-size: var(--text-xs); color: var(--muted); text-transform: none; letter-spacing: 0; font-weight: 500; }
.ps .ps-n { font-size: var(--text-xs); color: var(--muted); }
@media (max-width: 768px) { .ps, .track-stat { padding: 1rem 1rem 1rem 1.25rem; } .proof-stats, .track-stats { row-gap: 1.25rem; } }
/* quotes: upright, unboxed, curly marks */
.pt-card { display: block; background: none; border: 0; box-shadow: none; padding: 0; overflow: visible; }
.pt-card .pt-accent { display: none; }
.pt-body { flex: 1 1 auto; min-width: 0; width: 100%; padding: 1.25rem 0 0; border-top: 2px solid var(--teal-ink); }
.pt-body blockquote { font-style: normal; font-size: var(--text-md); line-height: 1.6; color: var(--ink); }
.proof-one .pt-body blockquote { font-size: var(--text-lg); line-height: 1.55; font-weight: 500; max-width: 56rem; }
.proof-testimonials { gap: var(--s-6); }
.cs-quote { background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; margin: var(--s-6) 0; }
.cs-quote::before { content: "\201C"; display: block; font: 700 3.5rem/0.6 Poppins, sans-serif; color: var(--teal-ink); margin-bottom: .75rem; }
.cs-quote p { font-size: var(--text-lg); line-height: 1.5; font-weight: 500; font-style: normal; color: var(--ink); }
.cs-quote cite { font-style: normal; }
/* buttons: one height */
.btn { min-height: max(44px, 3rem); padding-inline: 1.75rem; }
.hero .btn { min-height: max(44px, 3.25rem); padding-inline: 2rem; }
/* tabular figures on prices, stats and tables */
.pricing-card, .price-row, .path-price, .compare-table, .cs-table, table, .cs-stat b, .stat strong { font-variant-numeric: tabular-nums; }
/* homepage: slim greyscale client strip (owner decision) */
.trust.trust-slim { padding: var(--s-7) 0; border-bottom: 1px solid var(--border); }
.trust-slim .trust-label { margin-bottom: var(--s-5); }
.trust-slim .clients { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 1.5rem 1.25rem; --logo-scale: .62; }
.trust-slim .client { height: 3rem; }
.trust-slim .client img, .trust-logo img { filter: grayscale(1) contrast(1.05); opacity: .72; transition: filter .2s ease, opacity .2s ease; }
.trust-slim .client:hover img, .trust-logo:hover img { filter: none; opacity: 1; }
@media (max-width: 1100px) { .trust-slim .clients { grid-template-columns: repeat(5, minmax(0, 1fr)); --logo-scale: .7; } }
@media (max-width: 700px) { .trust-slim .clients { grid-template-columns: repeat(3, minmax(0, 1fr)); } .trust-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* compact closing band (owner decision) */
.cta-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-8); align-items: start; }
.cta-left .section-head { margin-bottom: var(--s-5); }
.cta-band .cta-steps { display: block; counter-reset: none; margin: 0 0 var(--s-5); padding: 0; list-style: none; }
.cta-band .cta-step { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); column-gap: 1rem; padding: 1rem 0; background: none; border: 0; border-top: 1px solid rgba(255,255,255,.18); border-radius: 0; box-shadow: none; }
.cta-band .cta-step .ico { grid-row: 1 / span 3; width: 2.25rem; height: 2.25rem; margin: 0; }
.cta-band .cta-step .card-label { margin: 0; }
.cta-band .cta-step h3 { margin: .15rem 0 .25rem; }
.cta-band .cta-step p:last-child { margin: 0; }
.cta-right .call-form, .cta-right .call-sent { margin: 0; max-width: none; }
.cta-band .cta-right .call-form .pl-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.call-more { margin: .25rem 0 1rem; }
.call-more summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
.call-more[open] summary { margin-bottom: .5rem; }
.cta-left .cta-actions { margin-top: var(--s-4); display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: space-between; }
@media (max-width: 900px) { .cta-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); } }
@media (max-width: 700px) { .cta-band .cta-right .call-form .pl-fields { grid-template-columns: minmax(0, 1fr); } }
/* side-by-side layout for short sections (owner decision): heading left, content right */
.section-split > .shell { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s-8); align-items: start; }
.section-split > .shell > .section-head { position: sticky; top: calc(var(--nav-h) + 2rem); margin-bottom: 0; }
@media (max-width: 900px) { .section-split > .shell { display: block; } .section-split > .shell > .section-head { position: static; margin-bottom: var(--s-6); } }
/* menu: hovering one item hides a panel held open by focus on another */
.nav-menu:hover .nav-item:focus-within:not(:hover) .dropdown, .nav-links:hover .nav-item:focus-within:not(:hover) .dropdown { opacity: 0; visibility: hidden; }
/* image placeholders while lazy images load */
.cs-card img, .photo-strip img, .fac-grid img, .trainer img { background-color: var(--grey); }
/* motion: respect reduced motion */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* ds2-corporate start */
/* ds2-corporate: review B on the corporate buyer pages (10 Nov 2026) */
/* ---- shared helpers on my pages ---- */
.ds2-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.ds2-ticks li { display: flex; gap: .6rem; align-items: flex-start; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.5; }
.ds2-ticks svg { width: 1rem; height: 1rem; flex: none; margin-top: .2rem; color: var(--teal-ink); }
/* pricing details fold: summary only on phones */
.pc-more > summary { display: none; }
.pc-more > .pricing-note:first-of-type { margin-top: 0; }
@media (max-width: 700px) {
  .pc-more > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; cursor: pointer; list-style: none; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); border-top: 1px solid var(--border); margin-top: .75rem; }
  .pc-more > summary::-webkit-details-marker { display: none; }
  .pc-more > summary::after { content: "+"; font-size: var(--h6); color: var(--teal-ink); }
  .pc-more[open] > summary::after { content: "\2212"; }
}
/* product hero on Custom Solutions, AI Workspace Setup and Microsoft certifications */
.pg-custom-solutions .page-hero .level-badge, .pg-workspace-setup .page-hero .level-badge { display: inline-flex; align-items: center; letter-spacing: .2em; font-size: var(--h7); font-weight: 700; text-transform: uppercase; padding: .375rem .875rem; border-radius: 999px; margin-bottom: 1rem; font-family: Poppins, sans-serif; }
.pg-workspace-setup .page-hero h1 { font-family: Poppins, sans-serif; font-size: var(--h1); letter-spacing: -0.03em; line-height: 1.05; font-weight: 700; color: var(--ink); }
:is(.pg-custom-solutions, .pg-workspace-setup, .pg-industry-credentials) .page-hero-content { flex: 1 1 auto; min-width: 0; }
:is(.pg-custom-solutions, .pg-workspace-setup, .pg-industry-credentials) .page-hero-inner { margin-bottom: var(--s-7); }
:is(.pg-custom-solutions, .pg-workspace-setup, .pg-industry-credentials) .page-hero-sidebar { width: 20rem; }
.pg-industry-credentials .page-hero h1 { font-size: clamp(2.6rem, 4.6vw, var(--h1)); line-height: 1.05; }
.hero-partner { margin: var(--s-5) 0 .25rem; font-size: var(--text-sm); color: var(--ink-2); font-weight: 600; }
.hero-vendor { margin: 0; font-size: var(--text-sm); color: var(--ink-2); }
.pricing-card .price-label small { display: block; font-size: var(--text-xs); color: var(--muted); font-weight: 500; }

/* ---- stat band (B1, B19, B28, B50) ---- */
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.proof-stats, .track-stats) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--border); margin: 0 0 var(--s-5); }
.pg-ai-transformation .track-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-strategic-leadership .proof-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.ps, .track-stat) { display: flex; flex-direction: column; padding: var(--s-5) var(--s-5) 0 0; border-left: 0; border-right: 1px solid var(--border); margin-right: var(--s-5); }
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.ps, .track-stat):last-child { border-right: 0; margin-right: 0; }
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.ps, .track-stat) b { font-size: clamp(3rem, 5vw, 4.75rem); margin-bottom: 1rem; }
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) .ps > span:not(.ps-source):not(.ps-n), :is(.pg-corporate-training, .pg-ai-transformation) .track-stat span { font-size: var(--text-md); color: var(--ink); }
:is(.pg-corporate-training, .pg-strategic-leadership) .ps .ps-source { order: -1; margin: 0 0 1rem; font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--teal-ink); }
.pg-corporate-training .ds2-proof > .proof-subhead:first-child { margin-top: 0; }
.pg-corporate-training .ds2-proof .proof-stats { border-top: 0; }
.pg-corporate-training .ds2-proof .course-note { margin-bottom: var(--s-8); }
@media (max-width: 900px) {
  :is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.proof-stats, .track-stats) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-ai-transformation .track-stats { grid-template-columns: minmax(0, 1fr); }
  :is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.ps, .track-stat) { border-right: 0; margin-right: 0; padding: var(--s-4) var(--s-4) var(--s-4) 0; border-bottom: 1px solid var(--border); }
  :is(.pg-corporate-training, .pg-strategic-leadership) .ps:nth-child(odd) { border-right: 1px solid var(--border); margin-right: var(--s-4); }
}

/* ---- pull quote (B2, B22, B56) ---- */
.pg-corporate-training .proof-testimonials.pt-lead { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6) var(--s-7); }
.pg-corporate-training .pt-lead > .pt-card:first-child { grid-column: 1 / -1; }
:is(.pg-corporate-training .pt-lead > .pt-card:first-child, .pg-ai-transformation .proof-one .pt-card) .pt-body { border-top: 0; padding-top: 0; }
:is(.pg-corporate-training .pt-lead > .pt-card:first-child, .pg-ai-transformation .proof-one .pt-card) blockquote { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h5); line-height: 1.45; letter-spacing: -.01em; max-width: 52rem; }
.pg-corporate-training .pt-lead > .pt-card:first-child .pt-client, .pg-ai-transformation .proof-one .pt-client { display: none; }
@media (max-width: 768px) { .pg-corporate-training .proof-testimonials.pt-lead { grid-template-columns: minmax(0, 1fr); } }

/* ---- corporate hub ---- */
.pg-corporate-training .page-hero h1.h1-long { font-size: clamp(2.6rem, 4.6vw, 4.5rem); line-height: 1.04; margin-bottom: var(--s-5); max-width: 22ch; }
/* B11: logos left, accreditations right of a hairline */
.pg-corporate-training:not(.pg-custom-solutions):not(.pg-workspace-setup) .trust-strip .shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "tl al" "logos acc" "logos note"; column-gap: var(--s-7); row-gap: 0; align-items: start; }
.pg-corporate-training .trust-strip .accred-label { padding-bottom: var(--s-4); margin-bottom: 0; }
.pg-corporate-training .trust-strip .trust-label:not(.accred-label) { grid-area: tl; }
.pg-corporate-training .trust-strip .trust-logos { grid-area: logos; }
.pg-corporate-training .trust-strip .accred-label { grid-area: al; margin-top: 0; padding-left: var(--s-6); border-left: 1px solid var(--border); }
.pg-corporate-training .trust-strip .accred-logos { grid-area: acc; display: flex; align-items: center; gap: var(--s-4); margin: 0; padding: 0 0 0 var(--s-6); border-left: 1px solid var(--border); list-style: none; }
.pg-corporate-training .trust-strip .accred-logos img { width: var(--aw, 3rem); height: 2.75rem; object-fit: contain; }
.pg-corporate-training .trust-strip .accred-logos li { display: flex; align-items: center; }
.pg-corporate-training .trust-strip .accred-note { grid-area: note; padding-left: var(--s-6); border-left: 1px solid var(--border); max-width: 17rem; margin: 0; padding-top: var(--s-3); }
@media (max-width: 900px) {
  .pg-corporate-training:not(.pg-custom-solutions):not(.pg-workspace-setup) .trust-strip .shell { display: block; }
  .pg-corporate-training .trust-strip :is(.accred-label, .accred-logos, .accred-note) { border-left: 0; padding-left: 0; }
  .pg-corporate-training .trust-strip .accred-label { margin-top: var(--s-5); }
  .pg-corporate-training .trust-strip .accred-note { max-width: none; }
}
/* B4: compact groups, jump bar */
.pg-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 var(--s-6); }
.pg-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--border); border-radius: 999px; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); text-decoration: none; background: var(--white); }
.pg-jump a:hover { border-color: var(--anchor); color: var(--anchor); }
.pg-corporate-training .paths { gap: var(--s-4); }
.pg-corporate-training details.path > summary { list-style: none; cursor: default; }
.pg-corporate-training details.path > summary::-webkit-details-marker { display: none; }
.pg-corporate-training .path-band { padding: 1.25rem 1.5rem; align-items: center; }
.pg-corporate-training .path-icon { width: 2rem; height: 2rem; }
.pg-corporate-training .path-icon svg { width: 1.1rem; height: 1.1rem; }
.pg-corporate-training .path-head { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--s-4); align-items: baseline; }
.pg-corporate-training .path-head .path-audience { grid-column: 1 / -1; margin: 0 0 .25rem; }
.pg-corporate-training .path-head .path-name { margin: 0; }
.pg-corporate-training .path-head .path-intro { margin: 0; }
.pg-corporate-training .path-steps { padding: .75rem 1.5rem 1.25rem; gap: .5rem; }
/* B6: balanced row grid */
.pg-corporate-training .path-step { grid-template-columns: 8rem minmax(0, 1.7fr) minmax(0, .9fr) 9rem 1.25rem; padding: 1rem 1.5rem; align-items: center; }
.pg-corporate-training .path-req { display: block; font-size: var(--text-xs); color: var(--muted); }
.pg-corporate-training .path-price { text-align: right; font-variant-numeric: tabular-nums; }
.pg-corporate-training .path-price .per { display: block; font-family: Inter, sans-serif; font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.pg-corporate-training .path-logos img { height: auto; max-height: 1.6rem; max-width: 5rem; width: auto; filter: grayscale(1); opacity: .8; }
@media (max-width: 900px) {
  .pg-corporate-training .path-step { grid-template-columns: minmax(0, 1fr) auto; }
  .pg-corporate-training .path-price { text-align: left; }
  .pg-corporate-training .path-head { display: block; }
}
@media (max-width: 700px) {
  .pg-corporate-training details.path > summary { cursor: pointer; position: relative; padding-right: 3rem; min-height: 44px; }
  .pg-corporate-training details.path > summary::after { content: "+"; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); font-size: var(--h5); color: var(--white); }
  .pg-corporate-training details.path[open] > summary::after { content: "\2212"; }
  .pg-corporate-training .path-band { padding: 1rem 1.25rem; flex-direction: row; align-items: flex-start; }
  .pg-corporate-training .path-intro { display: none; }
}
/* B8: comparison table typesetting */
.pg-corporate-training .compare-fold[open] > summary { margin-bottom: var(--s-3); }
.pg-corporate-training .compare-table { font-size: var(--text-sm); min-width: 62rem; }
.pg-corporate-training .compare-table thead th { font-size: var(--text-xs); letter-spacing: .04em; vertical-align: bottom; background: var(--white); color: var(--muted); border-bottom: 2px solid var(--ink); }
.pg-corporate-training .compare-table td { color: var(--ink-2); }
.pg-corporate-training .compare-table :is(th, td):nth-child(2) { width: 13%; }
.pg-corporate-training .compare-table :is(th, td):nth-child(3) { width: 16%; }
.pg-corporate-training .compare-table :is(th, td):nth-child(7) { width: 15%; }
.pg-corporate-training .compare-table tbody td:nth-child(n+4):nth-child(-n+6) { white-space: nowrap; }
.pg-corporate-training .path-chip { white-space: nowrap; }
.pg-corporate-training .compare-table tbody th a { text-decoration: none; font-weight: 700; color: var(--anchor); }
.pg-corporate-training .compare-table tbody th a:hover { text-decoration: underline; }
.pg-corporate-training .compare-table :is(th, td):nth-child(4), .pg-corporate-training .compare-table :is(th, td):nth-child(5), .pg-corporate-training .compare-table :is(th, td):nth-child(6) { text-align: right; font-variant-numeric: tabular-nums; }
.pg-corporate-training .compare-table td:nth-child(4) { font-weight: 600; color: var(--ink); }
.pg-corporate-training .compare-table td.na { color: var(--muted); font-size: var(--text-xs); }
.pg-corporate-training .compare-table tbody tr:hover { background: var(--grey); }
@media (max-width: 900px) { .pg-corporate-training .compare-table :is(th, td):nth-child(n) { white-space: normal; } }
@media (max-width: 700px) { .pg-corporate-training .compare-table { min-width: 0; } .pg-corporate-training .compare-table td { text-align: right; } }
/* B9: estimator result first, contact fields behind one button */
.pg-corporate-training .price-tools { align-items: start; }
.pg-corporate-training .price-est { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h3); line-height: 1.1; color: var(--anchor); font-variant-numeric: tabular-nums; }
.pg-corporate-training :is(.price-more, .guide-more) > summary { list-style: none; margin-top: var(--s-4); width: max-content; max-width: 100%; }
.pg-corporate-training :is(.price-more, .guide-more) > summary::-webkit-details-marker { display: none; }
.pg-corporate-training :is(.price-more, .guide-more)[open] > summary { display: none; }
.pg-corporate-training .price-more .price-ask { margin-top: var(--s-4); }
/* B10: case cards lead with a figure */
.pg-corporate-training .cs-card-stat { display: grid; gap: .25rem; padding: var(--s-3) 0 var(--s-2); border-bottom: 1px solid var(--border); margin-bottom: var(--s-2); }
.pg-corporate-training .cs-card-stat b { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h3); line-height: 1; letter-spacing: -.02em; color: var(--anchor); font-variant-numeric: tabular-nums; }
.pg-corporate-training .cs-card-stat > span { font-size: var(--text-sm); color: var(--ink-2); }
.pg-corporate-training .cs-card-meta { display: none; }
/* B13: process as numbered nodes on a hairline */
.pg-corporate-training #how .cred-steps { counter-reset: step; position: relative; gap: var(--s-5); }
.pg-corporate-training #how .cred-steps::before { content: ""; position: absolute; top: 1.375rem; left: 1.375rem; right: 10%; height: 1px; background: var(--border); }
.pg-corporate-training #how .cred-step { counter-increment: step; position: relative; background: none; border: 0; padding: 0; border-radius: 0; }
.pg-corporate-training #how .cred-step::before { content: counter(step); display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--white); border: 2px solid var(--anchor); color: var(--anchor); font: 700 var(--text-md)/1 Poppins, sans-serif; margin-bottom: var(--s-3); position: relative; }
.pg-corporate-training #how .cred-step .ico { display: none; }
.pg-corporate-training #how .cred-step .card-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 900px) {
  .pg-corporate-training #how .cred-steps { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .pg-corporate-training #how .cred-steps::before { top: 1.375rem; bottom: 1.375rem; left: 1.375rem; right: auto; width: 1px; height: auto; }
  .pg-corporate-training #how .cred-step { padding-left: 4rem; min-height: 2.75rem; }
  .pg-corporate-training #how .cred-step::before { position: absolute; left: 0; top: 0; }
}
.pg-corporate-training .hrd-pointer { display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); margin-top: var(--s-7); padding: var(--s-5) 0 0; border-top: 1px solid var(--border); background: none; border-radius: 0; }
.pg-corporate-training .hrd-pointer h3 { margin: 0 0 .25rem; }
.pg-corporate-training .hrd-pointer p { margin: 0; font-size: var(--text-sm); color: var(--ink-2); max-width: 46rem; }
.pg-corporate-training .hrd-pointer .btn-row { margin: 0; flex: none; }
@media (max-width: 768px) { .pg-corporate-training .hrd-pointer { flex-direction: column; align-items: stretch; } }
/* B14: add-on prices in the meta style */
.pg-corporate-training #add-ons .addon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-corporate-training .delivery-card .addon-price { font-family: Inter, sans-serif; font-weight: 600; font-size: var(--text-sm); color: var(--ink); padding-top: .75rem; border-top: 1px solid var(--border); }
@media (max-width: 768px) { .pg-corporate-training #add-ons .addon-grid { grid-template-columns: minmax(0, 1fr); } }
/* B15: FAQ questions in Inter */
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership, .pg-industry-credentials, .pg-hrd) .faq-d summary { font-family: Inter, sans-serif; font-weight: 600; font-size: var(--h6); }
.pg-corporate-training #corporate-faq .faq-grid { grid-template-columns: minmax(0, 1fr); }

/* ---- AI Transformation ---- */
/* B16: H1 at the H1 token, scaled beside a narrower card */
.pg-ai-transformation .page-hero h1 { font-size: clamp(3rem, 5.6vw, var(--h1)); line-height: 1; hyphens: none; overflow-wrap: normal; }
.pg-ai-transformation .page-hero-sidebar { width: 20rem; }
.pg-ai-transformation .page-hero-content { flex: 1 1 auto; min-width: 0; }
/* B17: rollout timeline */
.at-timeline { display: grid; gap: var(--s-4); }
.at-phases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 .375rem; }
.at-phase { display: grid; grid-template-rows: auto auto 1fr; align-content: start; }
.at-chev { display: flex; align-items: center; gap: .75rem; min-height: 4.5rem; padding: .75rem 2rem .75rem 1.75rem; color: var(--white); clip-path: polygon(0 0, calc(100% - 1.25rem) 0, 100% 50%, calc(100% - 1.25rem) 100%, 0 100%, 1.25rem 50%); }
.at-phase:first-child .at-chev { clip-path: polygon(0 0, calc(100% - 1.25rem) 0, 100% 50%, calc(100% - 1.25rem) 100%, 0 100%); padding-left: 1.25rem; border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.at-phase-1 .at-chev { background: #5C7DB8; background: #3E5E98; }
.at-phase-2 .at-chev { background: #1F3F7C; }
.at-phase-3 .at-chev { background: #142A59; }
.at-phase-4 .at-chev { background: #0C4A4C; }
.at-chev-ico { display: flex; flex: none; width: 1.5rem; height: 1.5rem; }
.at-chev-ico svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.at-chev .h7 { display: block; color: rgba(255,255,255,.82); margin: 0 0 .1rem; }
.at-chev h3 { margin: 0; color: var(--white); }
.at-when { margin: var(--s-3) 0 .25rem; padding-right: var(--s-4); font-size: var(--text-xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--anchor); }
.at-desc { margin: 0; padding-right: var(--s-4); font-size: var(--text-sm); color: var(--ink-2); line-height: 1.6; }
.at-report { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--s-4); margin-top: var(--s-3); padding-top: var(--s-4); border-top: 1px solid var(--border); }
.at-report .h7 { margin: 0; color: var(--teal-ink); }
.at-report-line { position: relative; margin: 0; display: flex; align-items: center; }
.at-report-line::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: .5rem; transform: translateY(-50%); background: radial-gradient(circle, var(--teal-ink) .25rem, transparent .27rem) 0 50% / calc(100% / 12) .5rem repeat-x, linear-gradient(var(--teal-ink), var(--teal-ink)) 0 50% / 100% 2px no-repeat; }
.at-report-line span { position: relative; background: var(--grey); padding: 0 .75rem; margin-left: 30%; font-size: var(--text-sm); font-weight: 600; color: var(--ink); }
@media (max-width: 900px) {
  .at-phases { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .at-chev, .at-phase:first-child .at-chev { clip-path: none; border-radius: var(--radius-sm); padding-left: 1.25rem; }
  .at-report { grid-template-columns: minmax(0, 1fr); }
  .at-report-line span { margin-left: 0; }
}
/* B18: phases as a numbered row */
.at-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-5); position: relative; }
.at-steps::before { content: ""; position: absolute; top: 1.375rem; left: 1.375rem; right: 10%; height: 1px; background: var(--border); }
.at-step { position: relative; display: grid; align-content: start; gap: .4rem; }
.at-step > * { margin: 0; }
.at-step-num { position: relative; display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--white); border: 2px solid var(--horizon-ink); color: var(--horizon-ink); font: 700 var(--text-md)/1 Poppins, sans-serif; margin-bottom: .5rem; }
.at-step.is-workshop .at-step-num { background: var(--horizon-ink); color: var(--white); }
.at-step .h7 { color: var(--horizon-ink); }
.at-step > p:last-child { font-size: var(--text-sm); color: var(--ink-2); line-height: 1.6; }
.at-phase-detail { margin-top: var(--s-6); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.at-phase-detail > summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 1rem 0; cursor: pointer; list-style: none; font-weight: 600; font-size: var(--h6); color: var(--anchor); }
.at-phase-detail > summary::-webkit-details-marker { display: none; }
.at-phase-detail > summary::after { content: "+"; font-size: var(--h5); color: var(--teal-ink); }
.at-phase-detail[open] > summary::after { content: "\2212"; }
.at-phase-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); padding: 0 0 var(--s-5); }
.at-phase-detail-grid h4 { margin: .25rem 0 .75rem; }
.at-phase-detail-grid ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.55; }
@media (max-width: 900px) {
  .at-steps { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .at-steps::before { top: 1.375rem; bottom: 1.375rem; left: 1.375rem; right: auto; width: 1px; height: auto; }
  .at-step { padding-left: 4rem; }
  .at-step-num { position: absolute; left: 0; top: 0; }
  .at-phase-detail-grid { grid-template-columns: minmax(0, 1fr); }
}
/* B23: workflow callout */
.pg-ai-transformation .workflow-first { max-width: none; margin-top: var(--s-7); padding: var(--s-5) var(--s-6); background: #F6FAEC; border-left: 3px solid var(--teal-ink); border-radius: 0 var(--radius) var(--radius) 0; }
.pg-ai-transformation .workflow-first > *:last-child { margin-bottom: 0; }
.pg-ai-transformation .workflow-first p { font-size: var(--text-md); color: var(--ink); max-width: 53.75rem; }
/* B19: logos under the figures */
.at-logos { margin: 0 0 var(--s-8); }
.at-logos .h7 { color: var(--muted); margin: 0 0 var(--s-4); }
.at-logos .trust-logos { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 1rem 1.25rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.at-logos .trust-logo { display: flex; align-items: center; justify-content: center; height: 3rem; }
.at-logos .trust-logo img { max-height: calc(var(--lh, 3) * .62rem); max-width: 100%; width: auto; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: .72; }
@media (max-width: 1100px) { .at-logos .trust-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 700px) { .at-logos .trust-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pg-ai-transformation .at-data-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 768px) { .pg-ai-transformation .at-data-2 { grid-template-columns: minmax(0, 1fr); } }
/* B22: report deliverable */
.at-report-card { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: var(--s-6); align-items: center; margin: var(--s-6) 0 var(--s-8); padding: var(--s-6); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); }
.at-report-card h3 { margin: .25rem 0 var(--s-4); }
.at-report-card .ds2-ticks { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-5); }
.at-report-mock { display: grid; gap: .55rem; align-content: start; aspect-ratio: 3 / 4; padding: 1.25rem 1rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: 0 .375rem 1.25rem rgba(26,22,35,.07); }
.at-report-mock span { display: block; height: .5rem; border-radius: 999px; background: #CDD7EA; }
.at-report-mock span:nth-child(1) { width: 70%; height: .75rem; background: #1F3F7C; }
.at-report-mock span:nth-child(2) { width: 90%; }
.at-report-mock span:nth-child(3) { height: 3rem; border-radius: .25rem; background: linear-gradient(90deg, #C2E7E7 0 30%, transparent 30% 35%, #6CC7C8 35% 65%, transparent 65% 70%, #1FA3A6 70%); }
.at-report-mock span:nth-child(4) { width: 80%; }
.at-report-mock span:nth-child(5) { width: 60%; }
.at-report-mock span:nth-child(6) { width: 75%; }
@media (max-width: 768px) { .at-report-card { grid-template-columns: minmax(0, 1fr); } .at-report-mock { display: none; } .at-report-card .ds2-ticks { grid-template-columns: minmax(0, 1fr); } }
/* B21: operating model */
.at-model { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--s-5); align-items: stretch; }
.at-model ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); }
.at-model li h3 { margin: 0 0 .25rem; }
.at-model li p { margin: 0; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.6; }
.at-side { padding: var(--s-5); border-radius: var(--radius); }
.at-yours { background: var(--grey); }
.at-ours { background: #ECF0F8; }
.at-ours li + li, .at-yours li + li { padding-top: var(--s-4); border-top: 1px solid rgba(31,63,124,.12); }
.at-shared { position: relative; display: flex; flex-direction: column; justify-content: center; padding: var(--s-5) var(--s-3); }
.at-shared::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: var(--teal-ink); opacity: .35; }
.at-shared .card-label, .at-side .card-label { margin: 0 0 var(--s-4); }
.at-shared .card-label { position: relative; text-align: center; }
.at-shared ul { position: relative; gap: var(--s-5); }
.at-shared li { background: var(--white); border: 1.5px solid var(--teal-ink); border-radius: var(--radius); padding: var(--s-4); text-align: center; }
.at-lang { display: flex; align-items: center; gap: .75rem; margin: var(--s-5) 0 0; font-size: var(--text-sm); color: var(--ink-2); }
.at-lang .ico { margin: 0; flex: none; }
@media (max-width: 900px) {
  .at-model { grid-template-columns: minmax(0, 1fr); }
  .at-shared { padding: 0; }
  .at-shared::before { left: 50%; right: auto; top: -1rem; bottom: -1rem; width: 2px; height: auto; }
}
.pg-ai-transformation #how-we-run .case-links { margin-top: var(--s-5); }

/* ---- Strategic AI Leadership ---- */
/* B27: facilitators */
.pg-strategic-leadership .fac-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); list-style: none; margin: 0; padding: 0; }
.pg-strategic-leadership .fac-grid .trainer { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: .5rem; text-align: left; background: none; padding: 0; }
.pg-strategic-leadership .fac-grid .trainer img { grid-row: auto; }
.pg-strategic-leadership .fac-grid .trainer > * { margin: 0; }
.pg-strategic-leadership .fac-grid img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; border-radius: var(--radius); background: #ECF0F8; margin-bottom: var(--s-3); }
.pg-strategic-leadership .fac-grid h3 { margin-top: .25rem; }
.pg-strategic-leadership .fac-role { color: var(--accent-ink, #142A59); }
.pg-strategic-leadership .fac-grid .trainer > p:last-child { font-size: var(--text-md); color: var(--ink-2); line-height: 1.6; }
@media (max-width: 700px) {
  .pg-strategic-leadership .fac-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s-5); }
  .pg-strategic-leadership .fac-grid .trainer { grid-template-columns: 7.5rem minmax(0, 1fr); column-gap: var(--s-4); }
  .pg-strategic-leadership .fac-grid .trainer img { grid-row: 1 / span 3; margin: 0; }
  .pg-strategic-leadership .fac-grid .trainer > p:last-child { grid-column: 1 / -1; font-size: var(--text-sm); }
}
/* B30: deliverables and inclusions side by side */
.sl-leave { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; margin-top: var(--space-block); }
.sl-leave .outcomes-subhead { margin-top: 0; }
.sl-leave .outcomes-grid { grid-template-columns: minmax(0, 1fr); }
.sl-leave .sl-includes { margin: 0; }
.pg-strategic-leadership .sl-leave + .course-note { margin-top: var(--s-4); }
@media (max-width: 900px) { .sl-leave { grid-template-columns: minmax(0, 1fr); } }
/* ROI stack on white: cards keep a visible edge */
.pg-strategic-leadership #roi-stack .lens-card { background: var(--grey); }
.pg-strategic-leadership #roi-stack .news-stat { background: var(--white); }
/* B31: numbered sources */
.pg-strategic-leadership .news-stat small sup { font-weight: 700; color: var(--anchor); }
.cite-block { max-width: none; }
.cite-block .h7 { margin: 0 0 .5rem; color: var(--muted); }
.cite-list { margin: 0 0 var(--s-3); padding-left: 1.25rem; columns: 2; column-gap: var(--s-6); }
.cite-list li { break-inside: avoid; margin-bottom: .5rem; padding-left: .25rem; }
.cite-block > p:last-child { margin: 0; max-width: 53.75rem; }
@media (max-width: 768px) { .cite-list { columns: 1; } }

/* ---- Custom Solutions ---- */
/* B34: problems as plain sentences */
.pg-custom-solutions .familiar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-6); }
.pg-custom-solutions .familiar li { position: relative; background: none; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: var(--s-4) 0 var(--s-4) 2.25rem; font-size: var(--text-md); color: var(--ink); }
.pg-custom-solutions .familiar li::before { content: ""; position: absolute; left: .25rem; top: calc(var(--s-4) + .55em); width: .625rem; height: .625rem; border-radius: 50%; border: 2px solid var(--teal-ink); }
@media (max-width: 700px) { .pg-custom-solutions .familiar { grid-template-columns: minmax(0, 1fr); } }
/* B35: department selector */
.dept-pick { position: relative; display: block; min-height: 30rem; border-top: 1px solid var(--border); }
.dept-item > summary { display: flex; align-items: center; gap: .875rem; width: 19rem; min-height: 44px; padding: .6rem .75rem; cursor: pointer; list-style: none; border-bottom: 1px solid var(--border); color: var(--ink); }
.dept-item > summary::-webkit-details-marker { display: none; }
.dept-item > summary h3 { margin: 0; font-size: var(--h6); }
.dept-item > summary .dept-icon { width: 2.25rem; height: 2.25rem; margin: 0; flex: none; }
.dept-item > summary:hover { background: var(--grey); }
.dept-item[open] > summary { background: #E6F5F5; box-shadow: inset 3px 0 0 var(--teal-ink); }
.dept-panel { position: absolute; top: 0; left: 21.5rem; right: 0; padding: var(--s-5) var(--s-6); background: var(--grey); border-radius: var(--radius); margin-top: var(--s-3); }
.dept-panel .card-label { margin: 0 0 var(--s-4); }
.dept-panel .dept-tasks { columns: 2; column-gap: var(--s-6); margin: 0; padding-left: 1.1rem; font-size: var(--text-md); color: var(--ink); line-height: 1.5; }
.dept-panel .dept-tasks li { break-inside: avoid; margin-bottom: .6rem; }
.dept-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: var(--s-4) 0 0; padding-top: var(--s-4); border-top: 1px solid var(--border); }
.dept-links .dept-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; font-size: var(--text-sm); }
@media (max-width: 900px) {
  .dept-pick { min-height: 0; }
  .dept-item > summary { width: auto; }
  .dept-item > summary::after { content: "+"; margin-left: auto; font-size: var(--h5); color: var(--teal-ink); }
  .dept-item[open] > summary::after { content: "\2212"; }
  .dept-panel { position: static; margin: 0 0 var(--s-3); padding: var(--s-4); border-radius: 0 0 var(--radius) var(--radius); }
  .dept-panel .dept-tasks { columns: 1; }
}
.pg-custom-solutions #cs-stories .lead { max-width: 53.75rem; }

/* ---- AI Workspace Setup ---- */
/* B38: before and after */
.ws-set { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s-7); align-items: center; }
.ws-set .ws-list { margin: 0; }
.ws-diagram { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--s-4); align-items: center; }
.ws-diagram .h7 { margin: 0 0 .75rem; color: var(--muted); }
.ws-cap { margin: .75rem 0 0; font-size: var(--text-xs); color: var(--muted); }
.ws-scatter { position: relative; aspect-ratio: 1; border: 1.5px dashed var(--border); border-radius: var(--radius); }
.ws-loose { position: absolute; display: flex; align-items: center; justify-content: center; width: 30%; aspect-ratio: 1; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.ws-loose img, .ws-row img { width: 60%; height: 60%; object-fit: contain; }
.ws-loose-1 { left: 8%; top: 10%; transform: rotate(-8deg); }
.ws-loose-2 { right: 10%; top: 20%; transform: rotate(6deg); }
.ws-loose-3 { left: 18%; bottom: 10%; transform: rotate(5deg); }
.ws-loose-4 { right: 14%; bottom: 14%; transform: rotate(-5deg); }
.ws-arrow { display: flex; color: var(--anchor); }
.ws-arrow svg { width: 1.75rem; height: 1.75rem; }
.ws-box { position: relative; aspect-ratio: 1; display: grid; place-items: center; padding: var(--s-4); background: #ECF0F8; border: 2px solid var(--anchor); border-radius: var(--radius); }
.ws-shield { position: absolute; top: -1rem; left: 50%; transform: translateX(-50%); display: flex; width: 2.25rem; height: 2.25rem; padding: .4rem; background: var(--anchor); color: var(--white); border-radius: 50%; }
.ws-shield svg { width: 100%; height: 100%; }
.ws-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; width: 80%; }
.ws-row span { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; background: var(--white); border-radius: var(--radius-sm); }
@media (max-width: 900px) { .ws-set { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); } }

/* ---- Microsoft certifications ---- */
/* B42: table at full width, right-aligned figures; notes in two columns */
.pg-industry-credentials .cred-table-wrap { max-width: none; }
.pg-industry-credentials .cred-table :is(th, td):nth-child(2), .pg-industry-credentials .cred-table :is(th, td):nth-child(3) { text-align: right; }
.pg-industry-credentials .cred-table tbody th span { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.pg-industry-credentials .cred-notes { display: block; columns: 2; column-gap: var(--s-6); max-width: none; }
.pg-industry-credentials .cred-notes li { break-inside: avoid; }
@media (max-width: 768px) { .pg-industry-credentials .cred-notes { columns: 1; } }
/* B43: exams as rows inside an open track on desktop */
@media (min-width: 901px) {
  .pg-industry-credentials .cert-grid { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 0; }
  .pg-industry-credentials .cert-card { grid-template-columns: 5.5rem minmax(0, 1.3fr) minmax(0, 1.5fr) 11rem; grid-template-rows: auto auto; column-gap: var(--s-4); row-gap: .15rem; align-items: start; background: none; border-radius: 0; border-top: 1px solid var(--border); padding: var(--s-3) 0; }
  .pg-industry-credentials .cert-card .cert-code { grid-column: 1; grid-row: 1 / span 2; justify-self: start; }
  .pg-industry-credentials .cert-card h4 { grid-column: 2; grid-row: 1; }
  .pg-industry-credentials .cert-card .cert-who { grid-column: 2; grid-row: 2; font-size: var(--text-xs); color: var(--muted); }
  .pg-industry-credentials .cert-card .cert-what { grid-column: 3; grid-row: 1 / span 2; }
  .pg-industry-credentials .cert-card .cert-meta { grid-column: 4; grid-row: 1 / span 2; display: grid; gap: .2rem; justify-items: start; }
}

/* ---- HRD Corp claim guide ---- */
.hrd-updated { display: flex; align-items: center; gap: .6rem; margin: 0 0 var(--s-5); font-size: var(--text-sm); font-weight: 600; color: var(--ink-2); }
.hrd-updated .ico { margin: 0; flex: none; }
.hrd-toc { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.25rem; margin-top: var(--s-6); padding-top: var(--s-4); border-top: 1px solid var(--border); }
.hrd-toc .h7 { margin: 0 .5rem 0 0; color: var(--muted); }
.hrd-toc a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
/* B46: definition lists */
.hrd-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-7); margin: 0; }
.hrd-dl > div { padding: var(--s-4) 0; border-top: 1px solid var(--border); }
.hrd-dl dt { margin: 0 0 .35rem; }
.hrd-dl dd { margin: 0; font-size: var(--text-md); color: var(--ink-2); line-height: 1.6; }
.section-grey .hrd-dl > div { border-color: #E3E0E7; }
@media (max-width: 768px) { .hrd-dl { grid-template-columns: minmax(0, 1fr); } }
/* B47: big numerals */
.hrd-num { font: 700 var(--h3)/1 Poppins, sans-serif; color: var(--teal-ink); font-variant-numeric: tabular-nums; }
.hrd-rule p { font-size: var(--text-sm); color: var(--ink-2); }
/* B45: timeline */
.hrd-timeline { position: relative; margin: 0 0 var(--s-7); padding: 3.25rem 0 0; }
.hrd-tl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; }
.hrd-tl::before { content: ""; position: absolute; left: .5rem; right: 0; top: .5rem; height: 2px; background: var(--anchor); }
.hrd-tl li { position: relative; padding: 1.75rem var(--s-3) 0 0; display: grid; gap: .25rem; }
.hrd-tl li::before { content: ""; position: absolute; left: 0; top: 0; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: var(--white); border: 2px solid var(--anchor); }
.hrd-tl li.is-key::before { background: var(--anchor); }
.hrd-tl-when { font-size: var(--text-xs); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--teal-ink); }
.hrd-tl-what { font-size: var(--text-md); font-weight: 600; color: var(--ink); }
.hrd-tl-window { position: absolute; top: 0; left: 40%; right: 0; height: 4.25rem; padding: .5rem .75rem; background: #E6F5F5; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.hrd-tl-window span { font-size: var(--text-xs); font-weight: 600; color: #0C4A4C; }
@media (max-width: 900px) {
  .hrd-timeline { padding: 0; }
  .hrd-tl-window { position: static; height: auto; margin: 0 0 var(--s-4); border-radius: var(--radius-sm); }
  .hrd-tl { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .hrd-tl::before { left: .5rem; right: auto; top: .5rem; bottom: .5rem; width: 2px; height: auto; }
  .hrd-tl li { padding: 0 0 0 2.25rem; }
}
/* steps under the timeline: compact text columns */
.pg-hrd #in-house .cred-step { background: none; border: 0; border-top: 2px solid var(--anchor); border-radius: 0; padding: var(--s-4) 0 0; }
.pg-hrd #in-house .cred-step .ico { display: none; }
@media print { .hrd-toc, .hrd-updated .ico { display: none !important; } .hrd-timeline { break-inside: avoid; } }

/* card copy on my pages: 0.9rem dark grey (owner decision) */
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership, .pg-industry-credentials, .pg-hrd) .cred-step p:last-child,
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership, .pg-industry-credentials) :is(.delivery-card p, .module-card > p, .audience-card > p, .lens-card p, .path-link p:not(.card-label), .cred-path > p:last-child) { font-size: var(--text-sm); color: var(--ink-2); }
.pg-workspace-setup .path-link { align-content: start; }
@media (max-width: 700px) { .pg-jump { display: none; } .pg-hrd .hrd-rule { padding: var(--s-4) var(--s-4); gap: .35rem; } .pg-hrd .hrd-rules { gap: 0; } .pg-hrd .hrd-rule + .hrd-rule { border-top: 1px solid var(--border); border-radius: 0; } }
/* ds2-corporate end */

/* ds2-resources start */
/* ds2 resources: case studies, news, partners, prompt library (design review D, 10 Nov 2026) */
.pg-res [hidden] { display: none !important; }
/* D30: one hero top padding for every resource page */
main.pg-res .page-hero { padding-top: var(--s-7); }
/* D15: the last crumb never wraps */
.pg-res .crumbs li[aria-current] { max-width: 28ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- case study cards (site-wide: hub, case studies, homepage, corporate training, Custom Solutions) */
.cs-card-stat { display: grid; gap: .25rem; padding: var(--s-3) 0 var(--s-2); margin-bottom: var(--s-2); border-bottom: 1px solid var(--border); }
.cs-card-stat b { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h3); line-height: 1; letter-spacing: -.02em; color: var(--anchor); font-variant-numeric: tabular-nums; }
.cs-card-stat > span { font-size: var(--text-sm); line-height: 1.45; color: var(--ink-2); }
.cs-card-progs { margin-top: auto; }
.cs-card-meta { margin-top: auto; }
.cs-card-progs + .cs-card-meta, .cs-card-meta + .cs-card-link { margin-top: 0; }

/* ---------- case study hub (D17, D18, D20) */
.pg-res-hub .page-hero { padding-bottom: var(--s-7); }
.cs-hub-count { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin-top: var(--s-4); font-size: var(--text-sm); color: var(--muted); }
.cs-hub-count a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.cs-feature { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); margin-top: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--white); color: var(--ink); text-decoration: none; transition: box-shadow .2s ease; }
.cs-feature:hover { box-shadow: var(--shadow-sm); color: var(--ink); }
.cs-feature img { width: 100%; height: 100%; min-height: 100%; aspect-ratio: 3 / 2; object-fit: cover; background-color: var(--grey); }
.cs-feature-body { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-6); }
.cs-feature-body .card-label { margin: 0; color: var(--teal-ink); }
.cs-feature-stat { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.cs-feature-dek { font-size: var(--text-md); line-height: 1.6; color: var(--ink-2); }
.cs-feature .cs-card-meta { margin-top: auto; font-size: var(--text-xs); color: var(--muted); }
.cs-feature .cs-card-link { margin-top: 0; }
.pg-res-hub .cs-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-res-hub .section-grey .cs-card { background: var(--white); }
@media (max-width: 900px) { .cs-feature { grid-template-columns: minmax(0, 1fr); } .cs-feature img { height: auto; } .cs-feature-body { padding: var(--s-5); } }
@media (max-width: 768px) { .pg-res-hub .cs-grid-2 { grid-template-columns: minmax(0, 1fr); } }

/* ---------- case study article: reading column and side rail (D1, D2, D3) */
.pg-res-cs .cs-title { max-width: 40rem; }
.cs-layout { display: grid; grid-template-columns: minmax(0, 44rem) 16rem; gap: 4rem; justify-content: space-between; align-items: start; }
.pg-res-cs .cs-article { max-width: none; }
.cs-rail { align-self: stretch; }
.cs-rail-inner { position: sticky; top: calc(var(--nav-h) + 2rem); display: grid; gap: var(--s-5); padding-left: var(--s-5); border-left: 1px solid var(--border); }
.cs-rail-label { margin: 0 0 .5rem; color: var(--muted); }
.cs-toc ol { list-style: none; margin: 0; padding: 0; display: grid; }
.cs-toc a { display: flex; align-items: center; min-height: 44px; margin-left: calc(-1 * var(--s-5) - 1px); padding: .25rem 0 .25rem calc(var(--s-5) - 1px); border-left: 2px solid transparent; font-size: var(--text-sm); line-height: 1.35; color: var(--ink-2); text-decoration: none; }
.cs-toc a:hover { color: var(--teal-ink); }
.cs-toc a[aria-current] { color: var(--teal-ink); font-weight: 700; border-left-color: var(--teal-ink); }
.cs-rail-stats { list-style: none; margin: 0; padding: 0; display: grid; gap: .875rem; }
.cs-rail-stats li { display: grid; gap: .1rem; }
.cs-rail-stats b { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h5); line-height: 1.15; color: var(--anchor); font-variant-numeric: tabular-nums; }
.cs-rail-stats span { font-size: var(--text-xs); line-height: 1.45; color: var(--muted); }
.cs-share { display: grid; justify-items: start; }
.cs-share-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); text-decoration: none; cursor: pointer; }
.cs-share-link:hover { color: var(--teal-ink); }
.cs-share-link svg { width: 1rem; height: 1rem; flex: none; }
@media (max-width: 900px) {
  .cs-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .cs-rail-inner { position: static; padding: var(--s-5) 0 0; margin-top: var(--s-6); border-left: 0; border-top: 1px solid var(--border); }
  .cs-toc, .cs-rail-block:not(.cs-share) { display: none; }
}

/* D14: phones start the article sooner */
.cs-details > summary { display: none; }
.cs-photo-m { display: none; margin: var(--s-5) 0 0; border-radius: var(--radius); overflow: hidden; }
.cs-photo-m img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background-color: var(--grey); }
@media (max-width: 700px) {
  .pg-res-cs .glance-card { display: flex; flex-direction: column; }
  .pg-res-cs .glance-card .cs-stats { order: 1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: .5rem; margin-top: .75rem; }
  .pg-res-cs .glance-card .cs-details { order: 2; margin-top: .5rem; }
  .pg-res-cs .cs-stat { padding: .6rem .65rem; }
  .pg-res-cs .cs-stat b { font-size: var(--h6); }
  .pg-res-cs .cs-stat span { display: block; font-size: var(--text-xs); line-height: 1.35; margin-top: .2rem; }
  .pg-res-cs .cs-title { font-size: var(--h3); }
  .cs-details > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; cursor: pointer; list-style: none; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); border-top: 1px solid var(--border); }
  .cs-details > summary::-webkit-details-marker { display: none; }
  .cs-details > summary::after { content: "+"; font-size: var(--text-lg); line-height: 1; }
  .cs-details[open] > summary::after { content: "\2212"; }
  .pg-res-cs .cs-hero-photo { display: none; }
  .cs-photo-m { display: block; }
  .pg-res-cs .page-hero { padding-bottom: var(--s-5); }
  .pg-res-cs .page-hero-inner { gap: var(--s-5); }
}

/* D4: one display pull quote; the rest are plain quoted lines */
.pg-res-cs .cs-quote-display, .pg-res-cs .cs-quote-inline { font-style: normal; }
.pg-res-cs .cs-quote-display { margin: var(--s-7) 0 !important; font-size: var(--h5); font-weight: 500; line-height: 1.45; color: var(--ink); max-width: 40rem; }
.pg-res-cs .cs-quote-display cite { display: flex; align-items: center; gap: .75rem; margin-top: var(--s-4); font-family: Inter, sans-serif; font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.pg-res-cs .cs-quote-display cite::before { content: ""; width: 2.5rem; height: 1px; background: var(--teal); }
.pg-res-cs .cs-quote-inline { margin: var(--s-5) 0 !important; padding: .125rem 0 .125rem var(--s-4) !important; border-left: 2px solid var(--teal) !important; font-size: var(--text-md); font-weight: 400; line-height: 1.7; color: var(--ink-2); }
.pg-res-cs .cs-quote-inline::before { content: none; }
.pg-res-cs .cs-quote-inline cite { display: block; margin-top: .375rem; font-size: var(--text-xs); font-weight: 600; color: var(--muted); }

/* D13: takeaways open the article */
.pg-res-cs .cs-takeaways { margin-top: var(--s-6) !important; }

/* D5, D6: exhibits */
.pg-res-cs { --bar-u: .12rem; }
.cs-exhibits { display: grid; gap: var(--s-6); margin-top: var(--s-5) !important; }
.cs-exhibit { margin: var(--s-6) 0 0; }
.cs-exhibits .cs-exhibit { margin: 0; }
.cs-ex-cap { display: grid; gap: .3rem; margin-bottom: var(--s-3); }
.cs-ex-num { margin: 0; color: var(--teal-ink); }
.cs-ex-title { margin: 0; color: var(--ink); }
.cs-ex-sub { font-size: var(--text-xs); line-height: 1.5; color: var(--muted); }
.pg-res-cs .cs-exhibit .cs-table { border: 0; border-top: 2px solid var(--ink); border-radius: 0; }
.pg-res-cs .cs-table table { font-size: var(--text-sm); color: var(--ink-2); }
.pg-res-cs .cs-exhibit .cs-table thead th { background: none; color: var(--muted); padding-top: .875rem; }
.pg-res-cs .cs-exhibit .cs-table th, .pg-res-cs .cs-exhibit .cs-table td { padding-left: 0; }
.pg-res-cs .cs-exhibit .cs-table tbody th { font-weight: 600; color: var(--ink); }
.cs-row-label { display: block; }
.cs-row-note { display: block; margin-top: .2rem; font-size: var(--text-xs); font-weight: 400; color: var(--muted); }
.cs-table-bars td { white-space: nowrap; width: 46%; vertical-align: middle; }
.cs-val { display: inline-block; min-width: 3.25rem; font-weight: 700; color: var(--anchor); font-variant-numeric: tabular-nums; }
.cs-table-dumb td { vertical-align: top; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-table-dumb td strong { color: var(--anchor); }
.cs-before { color: var(--muted); }
.cs-bar { display: inline-block; vertical-align: middle; width: calc(var(--v) * var(--bar-u)); height: .5rem; border-radius: 999px; background: var(--anchor); }
.cs-dumb { position: relative; display: block; width: min(100%, calc(100 * var(--bar-u))); height: .875rem; margin-top: .5rem; background: linear-gradient(var(--border), var(--border)) center / 100% 1px no-repeat; }
.cs-table-bars .cs-dumb { display: inline-block; vertical-align: middle; width: calc(100 * var(--bar-u)); margin-top: 0; }
.cs-dumb i { position: absolute; top: 50%; left: calc(var(--a) * 1%); width: calc((var(--b) - var(--a)) * 1%); height: 2px; background: var(--blue-200); transform: translateY(-50%); }
.cs-dumb::before, .cs-dumb::after { content: ""; position: absolute; top: 50%; width: .75rem; height: .75rem; border-radius: 50%; transform: translate(-50%, -50%); }
.cs-dumb::before { left: calc(var(--a) * 1%); background: var(--muted); }
.cs-dumb::after { left: calc(var(--b) * 1%); background: var(--anchor); }
@media (max-width: 700px) { .pg-res-cs { --bar-u: .07rem; } .cs-table-bars td { width: auto; } }

/* D7: real sources are plain captions; the dashed box is only for placeholders */
.pg-res-cs .cs-source:not(.is-placeholder) { display: block; padding: .5rem 0 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: none; font-size: var(--text-xs) !important; line-height: 1.55; color: var(--muted) !important; }
.pg-res-cs .cs-exhibit .cs-source { margin-top: 0; }
.pg-res-cs .cs-sources p { padding: 0; border: 0; border-radius: 0; background: none; color: var(--ink-2); }
.pg-res-cs .cs-sources p + p { margin-top: .75rem; }
.cs-note a { padding: 0 .15em; font-weight: 700; color: var(--teal-ink); text-decoration: none; }
.cs-note-key sup { font-weight: 700; color: var(--teal-ink); }

/* D11: next steps card, text left and buttons right */
.pg-res-cs .cs-cta-card { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.pg-res-cs .cs-cta-card .btn-row { flex-direction: column; align-items: stretch; }
.pg-res-cs .cs-cta-card p:not(.card-label) { font-size: var(--text-sm); color: var(--ink-2); max-width: 52ch; }
@media (max-width: 900px) { .pg-res-cs .cs-cta-card { grid-template-columns: minmax(0, 1fr); align-items: start; } .pg-res-cs .cs-cta-card .btn-row { flex-direction: row; } }

/* ---------- In the news (D23, D24, D25) */
.pg-res-news .news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-6); border-top: 0; }
.pg-res-news .news-list-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-res-news .news-item { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--s-4); align-items: start; max-width: none; padding: var(--s-5) 0; border-top: 1px solid var(--border); border-bottom: 0; }
.news-outlet { display: flex; align-items: center; justify-content: center; width: 5rem; height: 5rem; padding: .375rem; border-radius: var(--radius-sm); background: var(--grey); text-align: center; }
.news-outlet span { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--text-xs); line-height: 1.15; letter-spacing: -.01em; color: var(--anchor); }
.news-body > * { margin: 0; }
.news-body h4 { margin-top: var(--s-2); }
.news-body h4 a { color: var(--ink); text-decoration: none; }
.news-body h4 a:hover { color: var(--anchor); text-decoration: underline; }
.news-body > p:not(.card-label) { margin-top: var(--s-2); font-size: var(--text-sm); line-height: 1.6; color: var(--ink-2); }
.news-body > p.news-lang { margin-top: .375rem; font-size: var(--text-xs); color: var(--muted); }
.news-body .news-link { margin-top: .25rem; }
@media (max-width: 900px) { .pg-res-news .news-list-3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .pg-res-news .news-list { grid-template-columns: minmax(0, 1fr); } .pg-res-news .news-item { grid-template-columns: 4.75rem minmax(0, 1fr); gap: var(--s-3); } .news-outlet { width: 4.75rem; height: 4.75rem; padding: .25rem; } }

/* ---------- Partner with us (D27, D28, D31, D46, D48) */
.prt-proof { margin-top: var(--s-6); }
.prt-proof-label { margin: 0 0 var(--s-3); color: var(--muted); }
.prt-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 9rem)); gap: .75rem; }
.prt-logos li { display: flex; align-items: center; justify-content: center; height: 4rem; padding: 0 .75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--white); }
.prt-logos img { width: calc(var(--w) * 1.4); max-width: 100%; height: auto; }
@media (max-width: 480px) { .prt-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pg-res-partners .partner-card { background: var(--grey); }
.pg-res-partners .partner-list { flex: 0 0 auto; }
.pg-res-partners .partner-card .btn-row { margin-top: auto; padding-top: var(--s-3); }
.partner-terms { border-top: 1px solid var(--border); }
.partner-terms summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; cursor: pointer; list-style: none; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
.partner-terms summary::-webkit-details-marker { display: none; }
.partner-terms summary::after { content: "+"; font-size: var(--text-lg); line-height: 1; }
.partner-terms[open] summary::after { content: "\2212"; }
.partner-terms .partner-list { margin: 0 0 var(--s-3); }
.prt-more { margin-top: var(--space-block); }
.prt-more-title { margin: 0 0 var(--s-4); }
.prt-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.prt-more-grid .groups-strip { display: flex; flex-direction: column; margin-top: 0; }
.prt-more-grid .groups-strip h4 { margin: var(--s-2) 0 var(--s-3); }
.prt-more-grid .groups-strip p:not(.card-label) { font-size: var(--text-sm); line-height: 1.6; color: var(--ink-2); }
.prt-more-grid .groups-strip .btn-row { margin-top: auto; padding-top: var(--s-4); }
@media (max-width: 900px) { .prt-more-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- prompt pages */
/* D32: crops that keep handwritten name cards out of frame */
.photo-strip img.crop-low { object-position: 50% 78%; }
.photo-strip .crop-zoom-left img { transform: scale(1.75); transform-origin: 0 30%; }
/* D36, D38: free and locked prompts read as one run */
.pg-res-prompts #prompts { padding-bottom: var(--s-7); }
.pg-res-prompts #more-prompts { padding-top: 0; }
.pg-res-prompts #more-prompts > .shell > .section-head { padding-top: var(--s-7); border-top: 1px solid var(--border); }
.pg-res-prompts #more-prompts .pl-done { margin: 0 0 var(--space-block); }
.pl-toc-more { margin: var(--s-3) 0 0; font-size: var(--text-sm); }
.pl-toc .pl-toc-more a { font-weight: 600; color: var(--anchor); }
/* D40: prompt block */
::highlight(pl-ph) { background-color: #dbe9b4; color: #1a1623; }
.pg-res .pl-copy { display: inline-flex; align-items: center; gap: .4rem; min-width: 0; min-height: 44px; padding: 0 .875rem; border: 0; border-radius: 999px; background: transparent; color: var(--anchor); font: inherit; font-size: var(--text-sm); font-weight: 600; cursor: pointer; }
.pg-res .pl-copy:hover { background: var(--white); }
.pg-res .pl-copy svg { width: 1rem; height: 1rem; flex: none; }
/* D41: level chip and tools in sentence case */
.pl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; font-size: var(--text-xs); line-height: 1.4; color: var(--muted); }
.pl-level { padding: .15rem .6rem; border-radius: 999px; background: var(--teal-50); color: var(--teal-ink); font-weight: 600; }
/* D35, D43: role cards with a meta line, also at the end of each role page */
.pl-role-meta { font-size: var(--text-xs); font-weight: 600; color: var(--muted); }
.pg-res-prompts #other-roles .pl-roles-9 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .pg-res-prompts #other-roles .pl-roles-9 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pg-res-prompts #other-roles .pl-roles-9 > :last-child:nth-child(odd) { grid-column: span 2; } }
/* D33: one free prompt on the collection page */
.pl-try .pl-feature { max-width: 53.75rem; background: var(--white); }
/* D34: say which sector shows; phones keep chips on one scrolling line and badges under titles */
.pl-showing { margin: 0 0 var(--s-3); font-size: var(--text-sm); color: var(--muted); }
@media (max-width: 700px) {
  .pg-res-library .pl-chips { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; margin-inline: calc(-1 * var(--shell-x)); padding: 0 var(--shell-x) .375rem; scrollbar-width: thin; }
  .pg-res-library .pl-chip { flex: none; scroll-snap-align: start; }
  .pg-res-library .pl-index-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .pg-res-library .pl-index-row .pl-badge { grid-column: 1; grid-row: 2; justify-self: start; }
  .pg-res-library .pl-index-row .pl-role-go { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}
.pl-toc:has(> div[hidden]) { grid-template-columns: minmax(0, 1fr); }
/* ds2-resources end */

/* ds2-programmes start */
/* ds2-programmes: design review C (10 Nov 2026), programme and public-session pages. Scoped to main.prog-v2
   (ai-foundation, workflow-integration, tool-deep-dives, public-training). Built by tools/ds2_programmes.py. */

/* C1 / C15: the price card keeps prices and badges; the fine print folds away */
.prog-v2 .pricing-card { padding: 1.75rem; border-radius: var(--radius); }
.prog-v2 .pricing-card .price-row { padding: .5rem 0; }
.price-notes { margin-top: 1rem; border-top: 1px solid var(--border); }
.price-notes > summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: center; gap: .125rem .5rem; min-height: 44px; padding-top: .375rem; font-size: var(--text-xs); color: var(--ink-2); }
.price-notes > summary::-webkit-details-marker { display: none; }
.price-notes-more { color: var(--anchor); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.price-notes-more::after { content: " +"; text-decoration: none; display: inline-block; margin-left: .25rem; }
.price-notes[open] .price-notes-more::after { content: " \2212"; }
.price-notes .pricing-notes { margin: 0 0 .25rem; }
.price-notes .pricing-notes li:first-child { border-top: 0; }
.prog-v2 .pricing-card .price-link { margin-top: 0; }

/* C2: the photo strip sits closer and lower under the hero (slot 1 at 16:9 on wide screens) */
.prog-v2 .page-hero .photo-strip, .prog-v2 .hub-hero .photo-strip { margin-top: var(--s-6); }
@media (min-width: 769px) {
  .prog-v2 .photo-strip figure:first-child img, .prog-v2 .photo-strip figure:first-child video { aspect-ratio: 16 / 9; }
}

/* C31: next public date under the hero buttons */
.prog-v2 .prog-next { margin-top: var(--s-5); max-width: 34rem; }

/* C3 / C4 / C23: modules as one numbered list; rows fold on phones */
.prog-v2 .modules-grid { display: block; border-top: 1px solid var(--border); }
.prog-v2 .module-card.mod { background: none; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: 0; box-shadow: none; transition: none; }
.prog-v2 .module-card.mod:hover { box-shadow: none; }
.prog-v2 .mod-sum { list-style: none; cursor: default; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) auto; column-gap: 1.25rem; align-items: start; padding-top: 1.25rem; }
.prog-v2 .mod-sum::-webkit-details-marker { display: none; }
.prog-v2 .mod-sum .ico { grid-row: 1 / span 2; margin: 0; }
.prog-v2 .mod-sum .module-num { grid-column: 2; display: block; margin: 0 0 .25rem; font-family: Inter, sans-serif; font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-ink); }
.prog-v2 .mod-sum h3 { grid-column: 2; margin: 0; font-size: var(--h6); line-height: 1.35; }
.prog-v2 .mod-hours { grid-column: 3; grid-row: 1 / span 2; display: flex; flex-direction: column; align-items: flex-end; gap: .375rem; padding-top: .125rem; }
.prog-v2 .mod-hours span { font-size: var(--text-xs); font-weight: 600; color: var(--ink-2); background: var(--grey); border-radius: 999px; padding: .25rem .75rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.prog-v2 .mod-hours .mod-only { background: var(--teal-50); color: var(--teal-700); }
.prog-v2 .module-card.mod > p { margin: .375rem 0 0 4rem; padding-bottom: 1.25rem; max-width: 46rem; }
.prog-v2 .track-zone .mod-hours span { background: var(--white); }
@media (max-width: 700px) {
  .prog-v2 .mod-sum { cursor: pointer; grid-template-columns: minmax(0, 1fr) 1.5rem; column-gap: .75rem; padding: .875rem 0; min-height: 44px; }
  .prog-v2 .mod-sum .ico { display: none; }
  .prog-v2 .mod-sum .module-num, .prog-v2 .mod-sum h3 { grid-column: 1; }
  .prog-v2 .mod-hours { grid-column: 1; grid-row: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding-top: .5rem; }
  .prog-v2 .mod-sum::after { content: "+"; grid-column: 2; grid-row: 1 / span 3; align-self: center; justify-self: end; font: 700 var(--h5) / 1 Poppins, sans-serif; color: var(--anchor); }
  .prog-v2 .mod[open] > .mod-sum::after { content: "\2212"; }
  .prog-v2 .module-card.mod > p { margin: 0; padding: 0 0 1rem; }
}

/* C18: walk-away items as an unboxed tick list; the modules stay the only boxed... list */
.prog-v2 .outcomes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 2.5rem; border-top: 0; }
.prog-v2 .outcome-item { background: none; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: .75rem 0; font-size: var(--text-sm); color: var(--ink); }
@media (max-width: 900px) {
  .prog-v2 .outcomes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.75rem; }
  .prog-v2 .outcomes-grid:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) { .prog-v2 .outcomes-grid { grid-template-columns: minmax(0, 1fr); } }

/* C6 / C49: audience cards white with a hairline, so the icon badge reads; the tint stays for "Where to go next" */
.prog-v2 .audience-card { background: var(--white); border: 1px solid var(--border); }

/* C9: includes grids fit their item count */
.prog-v2 .includes-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.prog-v2 .includes-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prog-v2 .includes-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .prog-v2 .includes-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .prog-v2 .includes-grid:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .prog-v2 .includes-grid, .prog-v2 .includes-grid:has(> :nth-child(4):last-child), .prog-v2 .includes-grid:has(> :nth-child(3):last-child), .prog-v2 .includes-grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); } }

/* C7: the single proof quote as a full-width pull quote */
.prog-v2 .proof-one .pt-body blockquote { max-width: none; font-size: var(--h5); line-height: 1.5; font-weight: 500; }
@media (max-width: 700px) { .prog-v2 .proof-one .pt-body blockquote { font-size: var(--text-lg); } }

/* C5: half day / full day as a two-column compare */
.prog-v2 .fmt-compare { margin-top: 0; }
.prog-v2 .fmt-compare .format-card { padding: var(--s-5); border: 1px solid var(--border); border-radius: var(--radius); }
.prog-v2 .fmt-compare .card-label { color: var(--accent-ink); margin: 0 0 .5rem; }
.prog-v2 .fmt-compare h4 { margin: 0 0 .375rem; color: var(--ink); }
.prog-v2 .fmt-compare .format-line { margin: 0; color: var(--ink-2); }
.prog-v2 .fmt-compare .btn-row { margin-top: auto; padding-top: var(--s-5); align-items: center; gap: .75rem 1.25rem; }
.fmt-link { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
@media (max-width: 700px) { .prog-v2 .fmt-compare .btn-row .btn { width: 100%; } }

/* C25: "Where to go next" cards align; three across when there are three */
.prog-v2 .path-nav { align-items: stretch; }
.prog-v2 .path-nav:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prog-v2 .path-link { align-content: start; }
@media (max-width: 900px) { .prog-v2 .path-nav:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); } }

/* C50: slim booking bar on phones once the hero has gone */
.mbar { display: none; }
@media (max-width: 700px) {
  .mbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; align-items: center; justify-content: space-between; gap: .75rem;
    padding: .625rem var(--shell-x) calc(.625rem + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,.96); border-top: 1px solid var(--border);
    box-shadow: 0 -.375rem 1.25rem rgba(26,22,35,.08); transform: translateY(110%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
  .mbar.is-on { transform: none; visibility: visible; transition: transform .25s ease; }
  .mbar-name { margin: 0; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--text-sm); line-height: 1.3; color: var(--ink); min-width: 0; }
  .mbar .btn { flex: none; width: auto !important; min-height: 44px; padding-inline: 1.125rem; font-size: var(--text-sm); }
}
@media print { .mbar, .subnav { display: none !important; } }

/* ---------- AI Practitioner to AI Architect ---------- */

/* C12: sticky sub-nav */
.subnav { position: sticky; top: var(--nav-h); z-index: 30; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--border); }
.subnav-in { display: flex; align-items: center; gap: 1rem; min-height: 3.5rem; }
.subnav-links { display: flex; gap: .25rem; flex: 1; min-width: 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -ms-overflow-style: none; }
.subnav-links::-webkit-scrollbar { display: none; }
.subnav-links a { flex: none; scroll-snap-align: start; display: inline-flex; align-items: center; min-height: 44px; padding: 0 .875rem; border-radius: 999px; font-size: var(--text-sm); font-weight: 600; color: var(--ink-2); text-decoration: none; white-space: nowrap; }
.subnav-links a:hover { color: var(--anchor); background: var(--blue-50); }
.subnav-links a[aria-current] { color: var(--white); background: var(--anchor); }
.subnav-cta { flex: none; min-height: 44px !important; padding-inline: 1.25rem !important; font-size: var(--text-sm); visibility: hidden; opacity: 0; transition: opacity .2s ease, visibility 0s linear .2s; }
.subnav.show-cta .subnav-cta { visibility: visible; opacity: 1; transition: opacity .2s ease; }
@media (max-width: 900px) { .subnav-cta { display: none; } .subnav-in { min-height: 3.25rem; } }
@media (max-width: 700px) { .subnav .subnav-in { padding-inline: .5rem; } .subnav-links a { padding: 0 .75rem; } }
.pg-workflow-integration section[id], .pg-workflow-integration .level-block { scroll-margin-top: calc(var(--nav-h) + 3.5rem); }

/* C14: two-lane ladder */
.ladder2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); align-items: start; }
.lane { --lane: var(--blue-700); border-top: 4px solid var(--lane); padding-top: var(--s-4); }
.lane[data-track="technical"] { --lane: var(--teal-900); }
.lane-label { margin: 0 0 var(--s-4); color: var(--lane); }
.lane-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; position: relative; }
.lane-steps > li { position: relative; }
.lane-steps > li + li::before { content: ""; position: absolute; left: 1.875rem; top: -1.5rem; height: 1.5rem; border-left: 2px dashed var(--border); }
.lane-step { display: grid; grid-template-columns: 3.75rem minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding: 1.25rem; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); color: var(--ink); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
.lane-step:hover { color: var(--ink); border-color: var(--lane); box-shadow: var(--shadow-sm); }
.lane-num { display: flex; align-items: center; justify-content: center; width: 3.75rem; height: 3.75rem; border-radius: var(--radius-sm); background: var(--lane); color: var(--white); font: 700 var(--h4) / 1 Poppins, sans-serif; letter-spacing: -.02em; }
.lane-side .lane-num { font-size: var(--h6); background: var(--white); color: var(--lane); border: 2px solid var(--lane); }
.lane-body { display: grid; gap: .25rem; min-width: 0; }
.lane-chip { font-size: var(--h7); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--lane); }
.lane-step h3 { margin: 0; }
.lane-if { font-size: var(--text-sm); color: var(--ink-2); line-height: 1.5; }
.lane-meta { font-size: var(--text-xs); color: var(--muted); font-variant-numeric: tabular-nums; }
.lane-go { align-self: center; color: var(--lane); font-weight: 700; font-size: var(--text-md); }
.lane-side { margin-top: 1rem; border-style: dashed; }
.lane .track-check { margin-top: 1rem; max-width: none; border-left-color: var(--lane); }
@media (max-width: 900px) { .ladder2 { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); } }
@media (max-width: 480px) { .lane-step { grid-template-columns: 3rem minmax(0, 1fr); padding: 1rem; } .lane-num { width: 3rem; height: 3rem; font-size: var(--h5); } .lane-go { display: none; } }

/* C13 / C16: level headers carry a numeral and the track colour; business on white, technical on grey */
.pg-workflow-integration .level-block { --track: var(--blue-700); }
.pg-workflow-integration .level-block[data-track="technical"] { --track: var(--teal-900); }
.lvl-head { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--s-5); align-items: start; border-left: 4px solid var(--track); padding-left: var(--s-5); }
.lvl-head > :not(.lvl-num) { grid-column: 2; }
.lvl-num { grid-column: 1; grid-row: 1 / span 3; font: 700 var(--h1) / .9 Poppins, sans-serif; letter-spacing: -.04em; color: var(--track); font-variant-numeric: tabular-nums; min-width: 1.2ch; }
.lvl-head .marker { color: var(--track); margin-top: .25rem; }
.lvl-head h2 { margin-top: 0; }
@media (max-width: 700px) { .lvl-head { column-gap: var(--s-4); padding-left: var(--s-4); } .lvl-num { font-size: var(--h2); } }
.track-divider { padding: var(--s-5) 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--blue-50); }
.track-divider[data-track="technical"] { background: var(--teal-50); border-top: 0; }
.track-divider .shell > * { margin: 0; }
.track-divider .h7 { color: var(--blue-700); margin-bottom: .25rem; }
.track-divider[data-track="technical"] .h7 { color: var(--teal-900); }
.track-divider p:not(.h7) { font-size: var(--text-sm); color: var(--ink-2); }
.track-zone { background: var(--grey); }
.track-zone > .level-block + .level-block { border-top: 1px solid var(--border); }
.pg-workflow-integration main > .track-divider + .level-block, .track-divider + .level-block { border-top: 0; }
.track-zone .module-card .ico, .track-zone .audience-card { background: var(--white); }
.track-zone .mod-sum .ico { background: var(--white); }

/* C17 / C19: who it's for and what participants need, side by side */
.lvl-foot { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-6); margin-top: var(--s-7); align-items: start; }
.lvl-foot .proof-subhead { margin-top: 0; }
.lvl-who .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lvl-who .audience-grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.lvl-who .audience-card { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; padding: 1rem 1.25rem; }
.lvl-who .audience-card .ico { grid-row: 1 / span 2; margin: 0; width: 2.5rem; height: 2.5rem; }
.lvl-who .audience-card h3 { margin: 0 0 .25rem; }
.lvl-needs { padding: 1.25rem 1.5rem; border-radius: var(--radius); background: var(--blue-50); border-left: 3px solid var(--track); }
.track-zone .lvl-needs { background: var(--white); }
.lvl-needs p { margin: 0; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.6; }
.pg-workflow-integration .lvl-foot + .level-more, .pg-workflow-integration .lvl-foot + .btn-row { margin-top: var(--s-5); }
@media (max-width: 900px) { .lvl-foot { grid-template-columns: minmax(0, 1fr); gap: var(--s-5); } }
@media (max-width: 700px) { .lvl-who .audience-grid { grid-template-columns: minmax(0, 1fr); } }

/* C21: included at every level, follow-up by track */
.pg-workflow-integration .inc-track .include-text h3 { color: var(--ink); }

/* C22: the proof case study card gets a picture */
.prog-v2 .path-link.proof-case.has-thumb { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: var(--s-5); align-items: center; max-width: none; padding: 1rem; padding-right: calc(1rem + 3rem); }
.proof-case.has-thumb img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: var(--radius-sm); background: var(--grey); }
.proof-case-text { display: grid; gap: .375rem; }
.proof-case-text .h6 { margin: 0; }
.proof-case-line { font-size: var(--text-sm); color: var(--ink-2); line-height: 1.6; }
@media (max-width: 700px) { .prog-v2 .path-link.proof-case.has-thumb { grid-template-columns: minmax(0, 1fr); padding: 1rem 1rem 1.25rem; } }

/* ---------- AI Tool Deep Dives ---------- */

/* C26: the half-day agenda as a four-step strip */
.agenda-strip { list-style: none; margin: 0 0 var(--s-6); padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.agenda-strip li { display: flex; align-items: center; gap: .875rem; padding: 1.25rem 1.25rem 1.25rem 0; position: relative; }
.agenda-strip li + li { padding-left: 1.25rem; border-left: 1px solid var(--border); }
.agenda-strip .pt-step-n { margin: 0; flex: none; background: var(--accent-ink); }
.agenda-strip .h6 { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); line-height: 1.3; color: var(--ink); }
@media (max-width: 900px) { .agenda-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .agenda-strip li:nth-child(3) { border-left: 0; padding-left: 0; } .agenda-strip li:nth-child(n+3) { border-top: 1px solid var(--border); } }
@media (max-width: 480px) { .agenda-strip { grid-template-columns: minmax(0, 1fr); } .agenda-strip li[class], .agenda-strip li + li { border-left: 0; padding-left: 0; border-top: 1px solid var(--border); } .agenda-strip li:first-child { border-top: 0; } }

/* C27 / C28: the tool card is the link; logo on its own line, larger */
.prog-v2 .tools-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prog-v2 a.tool-card { color: var(--ink); text-decoration: none; padding: var(--s-5); border-radius: var(--radius); }
.prog-v2 a.tool-card:hover { border-color: var(--accent-ink); box-shadow: var(--shadow-sm); transform: none; color: var(--ink); }
.prog-v2 .tool-card-header { flex-direction: column; align-items: flex-start; gap: .875rem; }
.prog-v2 .tool-card .tool-icon { width: 3rem; height: 3rem; border-radius: var(--radius-sm); }
.prog-v2 .tool-card .tool-icon.has-logo img { width: 1.75rem; height: 1.75rem; }
.prog-v2 .tool-card .tool-icon:not(.has-logo) { font-size: var(--h5); }
.tool-go { margin-top: auto; padding-top: var(--s-4); font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
a.tool-card:hover .tool-go { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 900px) { .prog-v2 .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .prog-v2 .tools-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Public sessions ---------- */

/* C32 / C45: hero in the shared template (next-session card in the side slot), tags under the lead */
.pg-public-training .hub-hero .page-hero-inner { align-items: flex-start; }
.pg-public-training .hub-hero .page-hero-sidebar { width: 23rem; }
.pg-public-training .hub-hero .hero-pills { margin: 0 0 var(--s-5); }
.pg-public-training .hub-hero .page-hero-sidebar .pt-next { margin-top: 0; max-width: none; padding: 1.5rem; box-shadow: var(--shadow-sm); }
.pg-public-training .hub-hero .page-hero-sidebar .pt-next-body { flex-wrap: wrap; }
.pg-public-training .hub-hero .page-hero-sidebar .pt-next-body .btn { width: 100%; }
@media (max-width: 900px) { .pg-public-training .hub-hero .page-hero-sidebar { width: 100%; max-width: 34rem; } }

/* C44: problems as unboxed columns with hairlines */
.prog-v2 .fam-cols { gap: 0; }
.prog-v2 .fam-cols .step-card { background: none; border-radius: 0; padding: .25rem var(--s-5) 0; border-left: 1px solid var(--border); }
.prog-v2 .fam-cols .step-card:first-child { padding-left: 0; border-left: 0; }
.prog-v2 .fam-cols .step-card h3 { font-size: var(--h6); }
@media (max-width: 900px) { .prog-v2 .fam-cols .step-card, .prog-v2 .fam-cols .step-card:first-child { padding: var(--s-4) 0; border-left: 0; border-top: 1px solid var(--border); } .prog-v2 .fam-cols .step-card:first-child { border-top: 0; padding-top: 0; } }

/* C37: two programme cards of equal anatomy, then the tool tiles as their own row */
.prog-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); }
.prog-card2 { display: flex; flex-direction: column; padding: var(--s-6); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.prog-card2 > * { margin: 0; }
.prog-card2 .card-label { color: var(--teal-ink); margin-bottom: .75rem; }
.prog-card2[data-tone="anchor"] .card-label { color: var(--anchor); }
.prog-card2 h3 { font-family: Poppins, sans-serif; font-size: var(--h4); line-height: 1.2; margin-bottom: .75rem; }
.prog-card2 .prog-card-desc + .prog-card-desc { margin-top: .5rem; }
.prog-price2 { margin-top: var(--s-5) !important; padding-top: var(--s-4); border-top: 1px solid var(--border); font-size: var(--text-sm); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.prog-price2 b { font-family: Poppins, sans-serif; font-size: var(--h4); color: var(--ink); margin-right: .25rem; }
.prog-price2 span { display: block; margin-top: .25rem; }
.prog-card2 .btn-row { margin-top: auto !important; padding-top: var(--s-5); }
.prog-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: .5rem !important; font-size: var(--text-sm); font-weight: 600; color: var(--anchor); }
.prog-v2 #pick-tool { margin-top: var(--s-7); }
.prog-v2 #pick-tool + .tdd-grid { margin-top: 0; }
@media (max-width: 900px) { .prog-pair { grid-template-columns: minmax(0, 1fr); } .prog-card2 { padding: var(--s-5); } }

/* C38: outbound arrow on tool tiles */
.prog-v2 .tdd-card .ext-ico { width: 1rem; height: 1rem; position: absolute; top: 1rem; right: .875rem; opacity: .55; color: var(--anchor); }
.prog-v2 .tdd-card:hover .ext-ico { opacity: 1; }

/* C34: no indent from a hidden arrow; both arrows together on the right of the bar */
.prog-v2 .pt-cal-bar { gap: .5rem; }
.prog-v2 .pt-cal-title { order: 0; margin-right: auto; min-width: 0; }
.prog-v2 .pt-cal-nav { order: 1; }
.prog-v2 .pt-cal-nav[hidden] { display: none; }
.prog-v2 .pt-cal-key { order: 2; margin: 0 0 0 var(--s-4); }
@media (max-width: 700px) { .prog-v2 .pt-cal-title { text-align: left; } }

/* C35: two-line chips with the tool logo; taller cells only where sessions sit */
.prog-v2 .pt-cal-cell { min-height: 4.5rem; }
.prog-v2 .pt-cal-cell:has(.pt-cal-item) { min-height: 7rem; }
.prog-v2 .pt-cal-item { display: grid; grid-template-columns: 1rem minmax(0, 1fr); column-gap: .375rem; align-items: center; padding: .375rem .5rem; }
.prog-v2 .pt-cal-item::before { content: ""; grid-row: 1 / span 2; width: 1rem; height: 1rem; border-radius: .25rem; background: #fff center / 80% no-repeat; }
.prog-v2 .pt-cal-item[data-g="foundation"]::before { background: var(--teal-700); border-radius: 50%; width: .625rem; height: .625rem; justify-self: center; }
.prog-v2 .pt-cal-item[data-k="chatgpt"]::before { background-image: url(assets/33476d22c566d8657fcfd24edfc4e1d6.png); }
.prog-v2 .pt-cal-item[data-k="copilot"]::before { background-image: url(assets/79d0b4d24be5261c578b4d3a1eb0db3a.png); }
.prog-v2 .pt-cal-item[data-k="claude"]::before { background-image: url(assets/b70e192464c32237b7e6d4d37edce075.png); }
.prog-v2 .pt-cal-item[data-k="gemini"]::before { background-image: url(assets/3671a1de3daba1200745c0b1083ce370.png); }
.prog-v2 .pt-cal-item[data-k="canva"]::before { background-image: url(assets/925f06ce5d0fa8ec97c5afe7cae2adcb.png); }
.pci-top { font-weight: 700; font-size: var(--text-xs); line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pci-sub { grid-column: 2; font-weight: 500; font-size: var(--text-xs); line-height: 1.25; opacity: .85; }

/* C36: booking terms inset and the invoice route side by side */
.sched-foot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-5); margin-top: var(--s-6); align-items: stretch; }
.pt-terms { padding: 1.5rem 1.75rem; border: 1px solid var(--border); border-radius: var(--radius); }
.pt-terms .h7 { margin: 0 0 .75rem; color: var(--accent-ink); }
.prog-v2 .pt-terms .pt-notes { margin: 0; padding-left: 1.1rem; color: var(--ink-2); }
.prog-v2 #schedule .sched-foot .sched-help { margin: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: var(--s-4); padding: 1.5rem 1.75rem; border-radius: var(--radius); }
.sh-main h3 { margin: 0 0 .5rem; }
.prog-v2 .sched-help .pt-hrd-steps { color: var(--ink-2); }
.prog-v2 .sched-help .sh-btns { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (max-width: 900px) { .sched-foot { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .prog-v2 .sched-help .sh-btns .btn { width: 100%; } }

/* C33: poster with a play button and a duration chip until the video plays */
.pt-vwrap { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--ink); }
.pt-vwrap video { border-radius: 0 !important; }
.vid-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 4rem; height: 4rem; min-width: 44px; min-height: 44px; border: 0; border-radius: 50%; background: #fff; color: var(--anchor);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 .5rem 1.5rem rgba(26,22,35,.25); transition: transform .2s ease; }
.vid-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.vid-play:focus-visible { outline: 3px solid var(--teal-200); outline-offset: 3px; }
.vid-play svg { width: 1.75rem; height: 1.75rem; margin-left: .2rem; }
.vid-play[hidden], .vid-dur[hidden] { display: none; }
.vid-dur { position: absolute; left: .75rem; bottom: .75rem; padding: .2rem .55rem; border-radius: 999px; background: rgba(26,22,35,.6); color: #fff; font-size: var(--text-xs); font-weight: 600; font-variant-numeric: tabular-nums; }
.pt-vwrap.is-playing .vid-play, .pt-vwrap.is-playing .vid-dur { display: none; }
.prog-v2 .pt-vcard-quote p { font-weight: 500; font-size: var(--text-md); }

/* C40: rating tiles read as one evidence strip */
.prog-v2 #public-proof .proof-stats-3 { border-top: 1px solid var(--border); padding-top: var(--s-5); }

/* C39 / C51: alumni card full width, portrait with name and title under it */
.prog-v2 .alumni-card { max-width: none; grid-template-columns: 16rem minmax(0, 1fr); background: var(--white); border: 1px solid var(--border); }
.prog-v2 .alumni-photo { aspect-ratio: auto; background: none; border-radius: 0; overflow: visible; }
.prog-v2 .alumni-photo img { aspect-ratio: 1 / 1; height: auto; border-radius: var(--radius); background: var(--blue-50); }
.prog-v2 .alumni-photo figcaption { margin-top: .75rem; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.45; }
.prog-v2 .alumni-photo figcaption strong { display: block; color: var(--ink); font-family: Poppins, sans-serif; }
.prog-v2 .alumni-photo figcaption span { display: block; }
.prog-v2 .alumni-led-by { font-size: var(--text-xs); color: var(--muted); }
@media (max-width: 700px) {
  .prog-v2 .alumni-card { grid-template-columns: minmax(0, 1fr); }
  .prog-v2 .alumni-photo { width: auto; max-width: none; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; align-items: center; border-radius: 0; }
  .prog-v2 .alumni-photo img { width: 4rem; border-radius: 50%; }
  .prog-v2 .alumni-photo figcaption { margin: 0; }
}

/* C41: partner logo first and larger; sentence-case action */
.prog-v2 .free-prog-card-header { flex-direction: column; align-items: flex-start; gap: .875rem; }
.prog-v2 .free-prog-partner-logo { background: none; padding: 0; min-height: 1.75rem; }
.prog-v2 .free-prog-partner-logo img { height: 1.75rem; width: auto; }
.prog-v2 .free-prog-status { text-transform: none; letter-spacing: 0; font-size: var(--text-sm); color: var(--anchor); }

/* C42: band in two columns, a white "Training a team?" card on the right */
.band-2col { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-6); align-items: start; }
.band-2col .band-seats { max-width: none; }
.band-team-card { background: var(--white); color: var(--ink); border-radius: var(--radius); padding: var(--s-5); }
.band-team-card h3 { margin: 0 0 .5rem; color: var(--ink); }
.prog-v2 .band-team-card .band-team-note { margin: 0; color: var(--ink-2); font-size: var(--text-sm); }
.prog-v2 .band-team-card .band-team-note a { color: var(--anchor); }
.prog-v2 .band-team-card .band-team { margin-top: var(--s-4); }
.prog-v2 .band-team-card .band-team > summary { color: var(--anchor); text-decoration: none; border: 1.5px solid var(--anchor); border-radius: 999px; padding: 0 1.5rem; }
.prog-v2 .band-team-card .band-team[open] > summary { margin-bottom: var(--s-4); }
.prog-v2 .band-team-card .call-form { margin: 0; padding: 0; box-shadow: none; border: 0; max-width: none; }
.prog-v2 .band-team-card .call-form .pl-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .prog-v2 .band-team-card .call-form .pl-fields { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .band-2col { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .prog-v2 .cta-band .cta-actions .cta-badge { display: block; } }

/* hero sidebar width so price labels stay on one line; quotes run full width */
.prog-v2 .page-hero-sidebar { width: 23rem; }
.prog-v2 .pricing-card .price-label { white-space: nowrap; }
.prog-v2 .proof-one, .prog-v2 .proof-one .pt-card { max-width: none; width: 100%; }

/* single hairlines under the H7 subheads; tighter module rows */
.prog-v2 .proof-subhead + .modules-grid { border-top: 0; }
.prog-v2 .outcome-item { border-top: 0; border-bottom: 1px solid var(--border); }
.prog-v2 .mod-sum { padding-top: 1rem; }
.prog-v2 .module-card.mod > p { padding-bottom: 1rem; }
.pg-workflow-integration .level-block .section-head.lvl-head { margin-bottom: var(--s-6); }
.subnav-links a { padding: 0 .75rem; }
.prog-v2 .proof-subhead + .agenda-strip { border-top: 0; }
.prog-v2 .tool-card .tool-tagline { font-size: var(--text-sm); color: var(--ink-2); }
/* C32: the sentence-length H1 at H2 scale beside the side card */
@media (min-width: 701px) { .pg-public-training .hub-hero h1.h1-long { font-size: min(var(--h2), 4.6vw); line-height: 1.06; } }
.prog-v2 #public-proof .pt-voice-note { margin-top: var(--s-4); }
/* C23: on phones the hours sit on the label line */
@media (max-width: 700px) {
  .prog-v2 .mod-sum { grid-template-columns: minmax(0, 1fr) auto 1.5rem; row-gap: .125rem; }
  .prog-v2 .mod-sum .module-num { grid-column: 1; grid-row: 1; margin: 0; align-self: center; }
  .prog-v2 .mod-hours { grid-column: 2; grid-row: 1; padding: 0; justify-content: flex-end; gap: .25rem; }
  .prog-v2 .mod-sum h3 { grid-column: 1 / span 2; grid-row: 2; }
  .prog-v2 .mod-sum::after { grid-column: 3; grid-row: 1 / span 2; }
  .prog-v2 .mod-hours span { padding: .125rem .5rem; }
}
/* ds2-programmes end */

/* ws-rec start */
.pg-workspace-setup .delivery-card.ws-rec { position: relative; box-shadow: inset 0 0 0 2px var(--anchor); border-radius: var(--radius); }
.ws-rec-chip { position: absolute; top: 1.5rem; right: 1.5rem; display: inline-flex; align-items: center; padding: .2rem .7rem; border-radius: 999px; background: #ecf4d6; color: var(--ink); font-size: var(--text-xs); font-weight: 600; }
/* ws-rec end */

/* client-proof start */
/* Client proof (10 Nov 2026): results from the AI Lab client list, shown without client names */
.rp { margin: var(--s-6, 3rem) 0; }
.rp .proof-subhead, .rp > h3 { margin: 0 0 1.25rem; }
.rp-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--rp-cols, 3), minmax(0, 1fr)); border-top: 1px solid var(--border); }
.rp-list li { padding: 1.25rem 1.5rem 1.25rem 0; border-bottom: 1px solid var(--border); min-width: 0; }
.rp-list li + li { padding-left: 1.5rem; border-left: 1px solid var(--border); }
.rp-list b { display: block; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h4); line-height: 1.1; color: var(--anchor); margin-bottom: .5rem; font-variant-numeric: tabular-nums; }
.rp-list span { display: block; font-size: var(--text-sm); line-height: 1.5; color: var(--ink-2); }
.rp-list .rp-src { margin-top: .5rem; font-size: var(--text-xs); color: var(--muted); }
.rp-2 { --rp-cols: 2; } .rp-4 { --rp-cols: 4; }
@media (max-width: 900px) { .rp-list, .rp-4 { --rp-cols: 2; } .rp-list li:nth-child(2n+1) { padding-left: 0; border-left: 0; } }
@media (max-width: 700px) { .rp-list, .rp-2, .rp-4 { --rp-cols: 1; } .rp-list li { padding-left: 0 !important; border-left: 0 !important; } }
.rp-vcards { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 46rem; }
@media (max-width: 900px) { .rp-vcards { grid-template-columns: 1fr; max-width: 26rem; } }
.rp-vnote { font-size: var(--text-xs); color: var(--muted); margin: -1.5rem 0 var(--s-6, 3rem); }
.cred-proof { margin-top: 1.5rem; font-size: var(--text-sm); color: var(--ink-2); max-width: 53.75rem; }
.rp .proof-subhead + .rp-list { border-top: 0; }
.pg-ai-transformation #track-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .pg-ai-transformation #track-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 480px) { .pg-ai-transformation #track-stats { grid-template-columns: minmax(0, 1fr) !important; } }
/* client-proof end */

/* band-balance start */
/* Closing band balance (user, 10 Nov 2026: the left column ran far longer than the form).
   The heading spans the full width; the steps and contact line sit beside the form. */
@media (min-width: 901px) {
  .cta-band .cta-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "head head" "steps form" "actions form"; grid-template-rows: auto auto 1fr; column-gap: var(--s-8); row-gap: 0; align-items: start; }
  .cta-band .cta-left { display: contents; }
  .cta-band .cta-left > .section-head { grid-area: head; margin-bottom: var(--s-6); }
  .cta-band .cta-left > .cta-steps { grid-area: steps; margin-bottom: var(--s-4); }
  .cta-band .cta-left > .cta-actions { grid-area: actions; margin-top: 0; }
  .cta-band .cta-right { grid-area: form; }
}
.cta-band .cta-step { padding: .875rem 0; }
.cta-band .cta-step:first-child { border-top: 0; padding-top: 0; }
.cta-band .cta-step .card-label { margin-bottom: .1rem; }
.cta-band .cta-step h3 { margin: 0 0 .2rem; }
.cta-band .call-more { margin: 0 0 .5rem; }
.cta-band .cta-left .cta-actions { justify-content: flex-start; gap: 1.25rem; flex-wrap: nowrap; }
.cta-band .cta-actions .call-or { margin: 0; }
.cta-band .cta-actions .cta-badge { flex: none; }
.cta-band .call-more { margin-bottom: 0; }
.cta-band .cta-actions .call-or { font-size: var(--text-sm); line-height: 1.6; }
.cta-band .cta-actions .call-or a { white-space: nowrap; }
/* band-balance end */

/* prompt-art start */
/* Prompt library hero tiles (10 Nov 2026), in the style of the homepage "More ways" tiles */
.prompt-art { position: relative; display: flex; align-items: flex-end; aspect-ratio: 16 / 5; margin-top: var(--s-6); padding: var(--s-5); border-radius: var(--radius); overflow: hidden; }
.prompt-art::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(currentColor 1.2px, transparent 1.4px); background-size: 1.1rem 1.1rem; opacity: .14; -webkit-mask-image: linear-gradient(120deg, transparent 35%, #000 100%); mask-image: linear-gradient(120deg, transparent 35%, #000 100%); pointer-events: none; }
.prompt-art .way-ico { position: relative; z-index: 1; width: 3.75rem; height: 3.75rem; padding: .8rem; border-radius: 1rem; background: var(--white); box-shadow: var(--shadow-sm); }
.prompt-art .prompt-illo { position: absolute; right: var(--s-6); top: 50%; transform: translateY(-50%); width: 62%; height: 80%; z-index: 1; }
.prompt-art.way-blue { background: #ECF0F8; color: #1F3F7C; }
.prompt-art.way-teal { background: #E6F5F5; color: #157578; }
.prompt-art.way-green { background: #F6FAEC; color: #157578; }
.prompt-art.way-deep { background: #C2E7E7; color: #0C4A4C; }
@media (max-width: 700px) { .prompt-art { aspect-ratio: 16 / 8; padding: var(--s-4); } .prompt-art .prompt-illo { width: 78%; right: var(--s-4); height: 70%; top: 42%; } .prompt-art .way-ico { width: 3rem; height: 3rem; padding: .65rem; } }
@media print { .prompt-art { display: none; } }
/* prompt-art end */

/* menu-prompts start */
/* Resources menu: prompts by role (10 Nov 2026) */
.dropdown.mega.mega-res4 .mega-cols { grid-template-columns: minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.9fr) minmax(0, .9fr); }
.mega-roles-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-4); }
.mega-roles-list a { padding-block: .3rem; }
@media (max-width: 1100px) { .dropdown.mega.mega-res4 .mega-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mnav-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
.mega-roles-list { row-gap: .25rem; }
.mega-roles-list a { padding-block: .3rem; }
.mega-col .mega-roles-all { margin-top: .5rem; font-weight: 600; color: var(--anchor); }
/* menu-prompts end */

/* final-fixes start */
/* Final review fixes (10 Nov 2026) */
.rp-videos { margin-top: var(--s-6, 3rem); }
.rp-list.rp-text li span { font-size: var(--text-base); color: var(--ink); }
/* one quote style: no bold Poppins pull quote */
:is(.pg-corporate-training .pt-lead > .pt-card:first-child, .pg-ai-transformation .proof-one .pt-card) blockquote { font-family: Inter, sans-serif; font-weight: 500; font-size: var(--text-lg); line-height: 1.5; letter-spacing: 0; max-width: 46rem; }
/* six pathway bands, six colours */
.pg-corporate-training .path-native { --band: #142A59; }
.pg-corporate-training .path-leadership { --band: #1A1623; }
/* one stat size */
:is(.pg-corporate-training, .pg-ai-transformation, .pg-strategic-leadership) :is(.ps, .track-stat) b { font-size: clamp(2.5rem, 3.6vw, 3.75rem); }
.pg-ai-transformation #track-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 700px) { .pg-ai-transformation #track-stats { grid-template-columns: minmax(0, 1fr) !important; } }
/* homepage hero proof line */
.hero-proof { margin: 1.25rem 0 0; max-width: 36rem; font-size: var(--text-sm); line-height: 1.6; color: var(--ink-2); }
/* corporate methodology folded */
.proof-method-fold { margin-top: var(--s-6); border-top: 1px solid var(--border); }
.proof-method-fold > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; padding: 1rem 0; font-weight: 600; color: var(--anchor); list-style: none; }
.proof-method-fold > summary::-webkit-details-marker { display: none; }
.proof-method-fold > summary::after { content: "+"; margin-left: .5rem; }
.proof-method-fold[open] > summary::after { content: "\2212"; }
/* Custom Solutions: one client card fills the row */
.cs-grid > .cs-card:only-child { grid-column: 1 / -1; max-width: 46rem; }
/* levels sub-nav: fade where it scrolls */
.subnav-links { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2.5rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 2.5rem), transparent); padding-right: 2rem; }
/* resource heroes: same H1 to lead gap as programme pages */
:is(.pg-res, .pg-hrd) .page-hero h1 { margin-bottom: var(--s-6, 3rem); }
/* short product H1s keep their name on one line in the hero column */
/* Container sizing only beside the pricing card (desktop): on phones inline-size containment collapsed the column (fixed 11 Nov 2026). */
.page-hero-content { min-width: 0; }
@media (min-width: 901px) {
  .page-hero-content { container-type: inline-size; }
  .page-hero-content > h1:not(.h1-long):not(.h2) { font-size: min(var(--h1), 12.5cqi); }
}
/* phone tap targets */
@media (max-width: 768px) {
  .footer ul { gap: 0; }
  .footer li a { display: inline-flex; align-items: center; min-height: 44px; }
  .crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
}
.rp-list.rp-text { --rp-cols: 2; }
/* final-fixes end */

/* flat-stats start */
/* Flat stats on the news page and the Strategic AI Leadership ROI stack (10 Nov 2026): same style as the proof figures,
   numerals on a left hairline, no boxes. Secondary size (2.5rem) because the figures are long (200,000+). */
.news-stats { gap: 0; border-top: 1px solid var(--border); }
.news-stat, .pg-strategic-leadership #roi-stack .news-stat { background: none; border: 0; border-left: 1px solid var(--border); border-radius: 0; padding: var(--s-4) var(--s-4) 0 1.5rem; }
.news-stat b { font-size: 2.5rem; line-height: 1; letter-spacing: -.02em; margin-bottom: .5rem; font-variant-numeric: tabular-nums; }
.news-stat span { color: var(--ink-2, #3A3547); }
@media (max-width: 900px) { .news-stats { row-gap: var(--s-4); } }
@media (max-width: 480px) { .news-stat, .pg-strategic-leadership #roi-stack .news-stat { padding-left: 1rem; } }
/* flat-stats end */

/* tool-pages start */
/* One page per AI Tool Deep Dive (10 Nov 2026). */
.tool-page .level-badge { display: inline-flex; align-items: center; gap: .6rem; }
.tp-badge-logo { display: inline-flex; width: 1.5rem; height: 1.5rem; }
.tp-badge-logo img { width: 100%; height: 100%; object-fit: contain; }
.tool-page .modules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tp-licence { max-width: 53.75rem; margin-top: var(--s-4); font-size: var(--text-sm); color: #3A3547; padding: var(--s-3) var(--s-4); border-left: 2px solid var(--teal, #157578); background: var(--grey, #F5F6F7); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.tp-dates { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--border); max-width: 53.75rem; }
.tp-date-row { display: grid; grid-template-columns: 14rem 1fr auto; align-items: center; gap: var(--s-3); padding: var(--s-3) 0; border-bottom: 1px solid var(--border); }
.tp-date-row .h6 { margin: 0; font-variant-numeric: tabular-nums; }
.tp-date-meta { font-size: var(--text-sm); color: #3A3547; }
.tp-note, .tp-none { margin-top: var(--s-4); font-size: var(--text-sm); color: #3A3547; max-width: 53.75rem; }
.tp-others { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) {
  .tool-page .modules-grid, .tp-others { grid-template-columns: minmax(0, 1fr); }
  .tp-date-row { grid-template-columns: 1fr auto; }
  .tp-date-meta { grid-column: 1 / -1; grid-row: 2; }
}
/* tool-pages end */

/* menu-tools start */
/* AI Tool Deep Dive pages in the menus (11 Nov 2026, v2): one row of five logo tiles with short names under
   AI Tool Deep Dives, so the column grows by one row instead of five. */
.mega-subs, .mnav-subs { display: grid; grid-template-columns: repeat(5, minmax(0, 3.5rem)); gap: .5rem; margin: .25rem 0 .75rem; }
.mnav-subs { margin-bottom: 1.25rem; }
.mega-subs { padding-left: .75rem; }
header .dropdown.mega .mega-col .mega-subs > a, .mnav-subs > a { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: .3rem; min-height: 44px; padding: 0; margin: 0; background: none; border: 0; text-align: center; font-family: Inter, sans-serif; font-weight: 500; color: #3A3547; text-decoration: none; }
.mega-subs .mt-tile, .mnav-subs .mt-tile { display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid #E3E0E7; border-radius: .75rem; background: #fff; transition: border-color .15s, background-color .15s; }
.mega-subs .mt-tile img, .mnav-subs .mt-tile img { width: 1.5rem; height: 1.5rem; object-fit: contain; }
.mega-subs .mt-name, .mnav-subs .mt-name { font-size: .78rem; line-height: 1.2; white-space: nowrap; }
header .dropdown.mega .mega-col .mega-subs > a:hover .mt-tile, .mnav-subs > a:hover .mt-tile { border-color: #157578; }
header .dropdown.mega .mega-col .mega-subs > a:hover, header .dropdown.mega .mega-col .mega-subs > a[aria-current="page"], .mnav-subs > a[aria-current="page"] { background: none; color: #1F3F7C; }
.mega-subs > a[aria-current="page"] .mt-tile, .mnav-subs > a[aria-current="page"] .mt-tile { border-color: #1F3F7C; background: #ECF0F8; }
@media (prefers-reduced-motion: reduce) { .mega-subs .mt-tile, .mnav-subs .mt-tile { transition: none; } }
/* menu-tools end */

/* hero-balance start */
/* Next-session card in the hero's right column, under the pricing card (11 Nov 2026). */
.page-hero-sidebar .pt-next.prog-next { margin-top: var(--s-3); max-width: none; padding: 1.25rem 1.5rem; box-shadow: var(--shadow-sm); }
.page-hero-sidebar .pt-next.prog-next .pt-next-body { flex-wrap: wrap; }
.page-hero-sidebar .pt-next.prog-next .pt-next-text { flex: 1 1 10rem; }
.page-hero-sidebar .pt-next.prog-next .btn { flex: 1 1 100%; }
/* hero-balance end */

/* hero-layout start */
/* Hero layout (11 Nov 2026): facts in the pricing card, public seat card, AI Foundation two-row prices,
   case study figures under the title. */
.pc-facts { margin: .25rem 0 0; }
.pc-facts > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .625rem 0; border-top: 1px solid var(--border); }
.pc-facts dt { margin: 0; font-size: var(--text-sm); color: #6B6678; }
.pc-facts dd { margin: 0; font-size: var(--text-sm); font-weight: 600; color: #1A1623; text-align: right; }
.pc-aside { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.pc-aside p { margin: 0 0 .5rem; font-size: var(--text-sm); color: #3A3547; line-height: 1.5; }
.pc-aside p:last-child { margin-bottom: 0; }
.page-hero-sidebar .pricing-card.pub-seats + .pt-next { margin-top: var(--s-3); }
.price-value small { display: block; font-family: Inter, sans-serif; font-size: .78rem; font-weight: 500; color: #6B6678; text-align: right; }
.cs-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--s-5); border-top: 1px solid var(--border); }
.cs-hero-stats .cs-stat { padding: 1.25rem 1.25rem 0 0; margin-right: 1.25rem; border-right: 1px solid var(--border); background: none; border-radius: 0; }
.cs-hero-stats .cs-stat:last-child { border-right: 0; margin-right: 0; }
.cs-hero-stats .cs-stat b { display: block; font-family: Poppins, sans-serif; font-weight: 700; font-size: 2.5rem; line-height: 1; letter-spacing: -.02em; color: var(--anchor); font-variant-numeric: tabular-nums; margin-bottom: .5rem; }
.cs-hero-stats .cs-stat span { display: block; font-size: var(--text-sm); color: #3A3547; line-height: 1.45; }
@media (max-width: 480px) {
  .cs-hero-stats { grid-template-columns: minmax(0, 1fr); }
  .cs-hero-stats .cs-stat { border-right: 0; margin-right: 0; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
  .cs-hero-stats .cs-stat:last-child { border-bottom: 0; }
}
/* Second pass: case study figures full width above the hero photo; compact next-session card on AI Foundation. */
.page-hero .shell > .cs-hero-stats { margin: var(--s-5) 0 var(--s-5); }
@media (min-width: 901px) {
  .pg-ai-foundation .page-hero-sidebar .pt-next.prog-next .pt-next-body { flex-wrap: nowrap; }
  .pg-ai-foundation .page-hero-sidebar .pt-next.prog-next .btn { flex: none; width: auto; }
}
.pc-facts dt { flex: none; white-space: nowrap; }
.pc-facts dd { flex: 1 1 auto; }
/* hero-layout end */

/* footer-v2 start */
/* Footer v2 (11 Nov 2026): brand plus four columns, social links, legal links in the base row. */
.footer-grid { grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); }
.footer-social { display: flex; gap: .5rem; margin-top: var(--s-4); }
.footer .footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: rgba(255,255,255,.8); }
.footer .footer-social a:hover { color: #fff; border-color: rgba(255,255,255,.5); }
.footer-social svg { width: 1.25rem; height: 1.25rem; }
.footer-legal { display: inline-flex; gap: 1.25rem; }
.footer-legal a { color: rgba(255,255,255,.72); text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 1100px) { .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 900px) { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; } .footer-legal { flex-wrap: wrap; } }
.footer a[href^="https://wa.me"] { white-space: nowrap; }
/* Stacked brand row (11 Nov 2026): below 1100px the brand block spans the grid as one horizontal row. */
@media (max-width: 1100px) and (min-width: 701px) {
  .footer-brand { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "mark social" "text logo"; column-gap: 2rem; row-gap: .75rem; align-items: center; padding-bottom: var(--s-5, 2rem); margin-bottom: var(--s-3, 1rem); border-bottom: 1px solid rgba(255,255,255,.12); }
  .footer-brand > img { grid-area: mark; margin: 0; }
  .footer-brand > p { grid-area: text; margin: 0; max-width: 46ch; }
  .footer-brand .footer-mereka { grid-area: logo; justify-self: end; margin: 0; }
  .footer-brand .footer-social { grid-area: social; justify-self: end; margin: 0; }
}
/* footer-v2 end */

/* faiz-port start */
/* Ported from deploy/ailab-overrides.css (Faiz, 11 Nov 2026). */
/* Light only: phones in dark mode were machine-inverting tiles and icon boxes. */
:root { color-scheme: only light; }
html, body { background-color: #ffffff; }
/* Form fields under 16px make iPhones zoom in when tapped. */
@media (max-width: 900px) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: max(1rem, 16px); }
}
/* Long words and URLs wrap instead of pushing past the screen edge. */
@media (max-width: 700px) {
  h1, h2, h3, .h1, .h2, .h3 { overflow-wrap: break-word; }
  td, th, .cs-article a { overflow-wrap: anywhere; }
}
/* faiz-port end */

/* layout-v2 start */
/* Layout v2, the middle ground (owner decision 11 Nov 2026; standards 2 and 3).
   Content up to 85rem wide with side margins of about 3% of the screen; the header shares the content's left
   and right edges; paragraphs keep their reading width. Text never goes below 15px (15.5px on phones). */
:root { --maxw: 85rem; --shell-x: clamp(1.25rem, 3.2vw, 4.5rem); --nav-x: var(--shell-x); }
html { font-size: clamp(15px, calc(9px + 0.5vw), 22px); }
@media (max-width: 900px) { html { font-size: clamp(15.5px, calc(13.5px + 0.6vw), 17px); } }
.nav .shell { max-width: calc(var(--maxw) + 2 * var(--shell-x)); padding: 0 var(--shell-x); }
/* The mega menu stays a comfortable panel. */
.dropdown.mega { max-width: calc(71rem + 4rem); }
/* Case studies: the article column fills up to the side rail; running text keeps the 44rem reading width. */
@media (min-width: 901px) { .cs-layout { grid-template-columns: minmax(0, 1fr) 16rem; } }
.cs-article > :is(p, ul, ol, blockquote, h2, h3, .cs-sources) { max-width: 44rem; }
/* Phone menu: the five tool tiles share the row instead of fixed columns, so the larger text never pushes the page sideways. */
@media (max-width: 900px) {
  .mnav-subs { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 22rem; }
  .mnav-subs .mt-name { white-space: normal; }
  .mnav-panel { overflow-x: hidden; }
}
/* Footer WhatsApp line: only the number stays on one line, so the column can wrap on phones. */
.footer a[href^="https://wa.me"] { white-space: normal; }
.footer .nowrap { white-space: nowrap; }
/* layout-v2 end */

/* ai-build start */
/* AI Build on Custom Solutions (11 Nov 2026). */
.ab-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap, var(--s-5)); }
.ab-way { display: grid; align-content: start; gap: var(--s-2); padding: var(--card-pad, var(--s-5)); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); color: inherit; text-decoration: none; transition: border-color .15s; }
.ab-way > * { margin: 0; }
.ab-way p:not(.card-label) { font-size: var(--text-sm); color: #3A3547; }
.ab-way .ico { margin-bottom: var(--s-2); }
.ab-way:hover { border-color: #1F3F7C; }
.ab-link { margin-top: var(--s-2); font-weight: 600; color: #1F3F7C; }
#ai-build .ab-sub { margin: var(--space-block, 3rem) 0 var(--s-4); color: #157578; }
#ai-build .section-head + .ab-sub { margin-top: 0; }
.ab-cards .cred-step p:last-child, .ab-steps .cred-step p:last-child { font-size: var(--text-sm); color: #3A3547; }
.ab-steps b { color: #1A1623; }
.ab-tools { margin: var(--s-5) 0 0; max-width: 53.75rem; font-size: var(--text-sm); color: #3A3547; }
.ab-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; margin-top: var(--space-block, 3rem); }
.ab-split .ab-sub { margin-top: 0 !important; }
.ab-person { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: var(--s-5); align-items: start; }
.ab-person img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); background: #ECF0F8; }
.ab-person h3 { margin: 0; }
.ab-person p { margin: 0; font-size: var(--text-sm); color: #3A3547; }
.ab-person .ab-role { margin: .25rem 0 .75rem; font-weight: 600; color: #157578; }
@media (max-width: 480px) { .ab-person { grid-template-columns: 6rem minmax(0, 1fr); gap: var(--s-4); } }
.ab-terms { padding: var(--card-pad, var(--s-5)); border-radius: var(--radius); background: #F5F6F7; }
.ab-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); }
.ab-ticks li { position: relative; padding-left: 1.5rem; font-size: var(--text-sm); color: #3A3547; }
.ab-ticks li::before { content: ""; position: absolute; left: 0; top: .35em; width: .8rem; height: .45rem; border-left: 2px solid #157578; border-bottom: 2px solid #157578; transform: rotate(-45deg); }
#ai-build .btn-row { margin-top: var(--space-block, 3rem); }
@media (max-width: 900px) {
  .ab-ways, .ab-split { grid-template-columns: minmax(0, 1fr); }
  .ab-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-steps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) { .ab-cards { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .ab-way { transition: none; } }
/* ai-build end */

/* steps-one start */
/* One steps component (11 Nov 2026): every numbered sequence uses the corporate training style, an outline
   number on a hairline with no box. Applies to .cred-steps (except .ab-cards, which lists things, not steps)
   and the public sessions steps (.pt-step). AI Transformation's phase timeline keeps its own agreed design. */
.cred-steps:not(.ab-cards) { counter-reset: step; position: relative; gap: var(--s-5); }
.cred-steps:not(.ab-cards)::before { content: ""; position: absolute; top: 1.375rem; left: 1.375rem; right: 10%; height: 1px; background: var(--border); }
.cred-steps:not(.ab-cards) > .cred-step { counter-increment: step; position: relative; background: none; border: 0; padding: 0; border-radius: 0; }
.cred-steps:not(.ab-cards) > .cred-step::before { content: counter(step); display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--white); border: 2px solid var(--anchor); color: var(--anchor); font: 700 var(--text-md)/1 Poppins, sans-serif; margin-bottom: var(--s-3); position: relative; }
.cred-steps:not(.ab-cards) > .cred-step .ico { display: none; }
.cred-steps:not(.ab-cards) > .cred-step .card-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cred-steps:not(.ab-cards) > .cred-step p:last-child { font-size: var(--text-sm); color: #3A3547; }
.pg-public-training .steps-grid:not(.fam-cols) { position: relative; gap: var(--s-5); }
.pg-public-training .steps-grid:not(.fam-cols)::before { content: ""; position: absolute; top: 1.375rem; left: 1.375rem; right: 10%; height: 1px; background: var(--border); }
.pg-public-training .steps-grid:not(.fam-cols) .step-card, .pg-public-training #how-it-works .step-card { background: none; padding: 0; border-radius: 0; box-shadow: none; border: 0; }
.pg-public-training .steps-grid:not(.fam-cols) .pt-step-n { width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--white); border: 2px solid var(--anchor); color: var(--anchor); font: 700 var(--text-md)/1 Poppins, sans-serif; display: flex; align-items: center; justify-content: center; margin-bottom: var(--s-3); position: relative; }
.pg-public-training .steps-grid:not(.fam-cols) .step-card p { font-size: var(--text-sm); color: #3A3547; }
@media (max-width: 900px) {
  .cred-steps:not(.ab-cards), .pg-public-training .steps-grid:not(.fam-cols) { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .cred-steps:not(.ab-cards)::before, .pg-public-training .steps-grid:not(.fam-cols)::before { top: 1.375rem; bottom: 1.375rem; left: 1.375rem; right: auto; width: 1px; height: auto; }
  .cred-steps:not(.ab-cards) > .cred-step, .pg-public-training .steps-grid:not(.fam-cols) .step-card, .pg-public-training #how-it-works .step-card { padding-left: 4rem; min-height: 2.75rem; position: relative; }
  .cred-steps:not(.ab-cards) > .cred-step::before, .pg-public-training .steps-grid:not(.fam-cols) .pt-step-n { position: absolute; left: 0; top: 0; }
}
/* steps-one end */

/* cookie-banner start */
/* Cookie banner (11 Nov 2026): a small card bottom left, Accept and Reject with equal weight; full width on phones. */
.ck-banner { position: fixed; left: var(--shell-x, 1.25rem); bottom: 1.25rem; z-index: 1000; width: min(26rem, calc(100vw - 2 * var(--shell-x, 1.25rem)));
  padding: var(--s-5, 1.5rem); background: var(--white); border: 1px solid var(--border); border-radius: .75rem; box-shadow: 0 1rem 2.5rem rgba(26,22,35,.18); }
.ck-banner[hidden] { display: none; }
.ck-banner p { margin: 0; }
.ck-title { font: 700 var(--h6, 1.125rem)/1.3 Poppins, sans-serif; color: var(--ink); }
.ck-body { margin-top: .5rem !important; font-size: var(--text-sm); color: #3A3547; line-height: 1.55; }
.ck-body a { color: #1F3F7C; text-decoration: underline; text-underline-offset: .2em; }
.ck-btns { display: flex; gap: .75rem; margin-top: var(--s-4, 1rem); }
.ck-btns .btn { flex: 1; justify-content: center; min-height: 44px; }
.footer-cookie { display: none; padding: 0; border: 0; background: none; color: rgba(255,255,255,.72); font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.ck-on .footer-cookie { display: inline; }
.footer-cookie:hover { color: #fff; }
@media (max-width: 700px) { .ck-banner { left: .75rem; right: .75rem; bottom: .75rem; width: auto; } }
@media print { .ck-banner { display: none !important; } }
/* cookie-banner end */

/* photo-plan start */
/* Photo plan v2 (11 Nov 2026): bold brand tiles, product views on tool pages, exhibit covers on case studies */
.prompt-art .tool-badge { position: relative; z-index: 3; display: grid; place-items: center; width: 3.75rem; height: 3.75rem; padding: .7rem; border-radius: 1rem; background: var(--white); box-shadow: 0 .4rem 1.2rem rgba(10, 20, 50, .25); }
.prompt-art .tool-badge img { width: 100%; height: 100%; object-fit: contain; }
.prompt-art .tool-badges { position: relative; z-index: 3; display: flex; gap: .5rem; }
.prompt-art .tool-badges .tool-badge { width: 3rem; height: 3rem; padding: .55rem; border-radius: .8rem; }
.prog-v2 .page-hero .prompt-art, .prog-v2 .hub-hero .prompt-art { margin-top: var(--s-6); }
/* Brand fields */
.art-bold, .art-product, .cs-cover { --glow: rgba(31, 163, 166, .85); color: var(--white); background: radial-gradient(110% 130% at 88% 6%, var(--glow) 0%, rgba(31, 163, 166, 0) 58%), linear-gradient(135deg, #1F3F7C 0%, #142A59 100%); }
.art-bold.art-teal, .cs-cover.cv-team { --glow: rgba(108, 199, 200, .7); background: radial-gradient(110% 130% at 88% 6%, var(--glow) 0%, rgba(108, 199, 200, 0) 58%), linear-gradient(135deg, #157578 0%, #0C4A4C 100%); }
.art-product { background: radial-gradient(90% 120% at 100% 100%, rgba(108, 199, 200, .55) 0%, rgba(108, 199, 200, 0) 60%), linear-gradient(115deg, #1F3F7C 0%, #157578 70%, #1FA3A6 100%); }
.art-bold::after, .art-product::after, .cs-cover::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .7) 1.1px, transparent 1.3px); background-size: 1.1rem 1.1rem; opacity: .16; -webkit-mask-image: linear-gradient(120deg, transparent 40%, #000 100%); mask-image: linear-gradient(120deg, transparent 40%, #000 100%); pointer-events: none; }
.prompt-art.art-bold .prompt-illo, .prompt-art.art-bold .way-ico { color: var(--white); }
.art-bold .way-ico { color: var(--anchor) !important; background: var(--white); box-shadow: 0 .4rem 1.2rem rgba(10, 20, 50, .25); }
.prompt-art.art-bold .prompt-illo { width: 64%; height: 84%; }
.prompt-art.art-bold .prompt-illo.illo-sm { width: 52%; height: 72%; }
/* Product view: two app windows with real text */
.art-product { aspect-ratio: 16 / 5.5; }
.art-product .pm-win { position: absolute; z-index: 2; display: block; background: var(--white); color: var(--ink); border-radius: .75rem; box-shadow: 0 1.5rem 3rem rgba(10, 20, 50, .35); font-size: var(--text-sm); line-height: 1.5; overflow: hidden; }
.art-product .pm-in { left: 15%; top: 13%; width: 45%; }
.art-product .pm-out { left: 55%; top: 36%; width: 39%; }
.art-product .pm-bar { display: flex; align-items: center; gap: .35rem; padding: .55rem .75rem; border-bottom: 1px solid var(--border); color: var(--muted); font-weight: 600; }
.art-product .pm-bar i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--border); }
.art-product .pm-bar img { width: 1rem; height: 1rem; margin-left: .35rem; object-fit: contain; }
.art-product .pm-title { color: var(--teal-ink, #157578); }
.art-product .pm-body { display: block; padding: .7rem .85rem .85rem; color: var(--ink-2); }
.art-product .pm-ph { padding: 0 .2rem; border-radius: .2rem; background: #ECF4D6; color: #0C4A4C; font-weight: 600; }
.art-product .pm-li { display: flex; gap: .45rem; align-items: center; padding: .3rem 0; border-bottom: 1px solid var(--border); }
.art-product .pm-li:last-child { border-bottom: 0; }
.art-product .pm-li svg { flex: none; width: .9rem; height: .9rem; color: #157578; }
/* Square tiles beside a photo */
.photo-strip .strip-art { margin: 0; position: relative; border-radius: var(--radius); overflow: hidden; display: flex; align-items: flex-end; padding: var(--s-5); }
.photo-strip .strip-art .way-ico { position: relative; z-index: 1; width: 3.25rem; height: 3.25rem; padding: .7rem; border-radius: .9rem; }
.photo-strip .strip-art .strip-illo { position: absolute; left: 9%; right: 9%; top: 8%; width: 82%; height: 68%; z-index: 1; color: var(--white); }
/* Case covers: brand field, label, a white exhibit card, who it is about */
.cs-cover { position: relative; display: grid; align-content: space-between; gap: var(--s-3); aspect-ratio: 3 / 2; padding: var(--s-4); overflow: hidden; }
.cs-cover > * { position: relative; z-index: 1; }
.cs-cover .cv-kind { justify-self: start; padding: .25rem .65rem; border-radius: 999px; background: var(--white); color: var(--anchor); font-size: var(--text-xs); font-weight: 600; }
.cs-cover.cv-team .cv-kind { color: #0C4A4C; }
.cs-cover .cv-fig, .cs-cover .cv-lab { display: none; }
.cs-cover .cv-ex { display: grid; gap: .45rem; padding: .8rem 1rem .9rem; border-radius: .75rem; background: var(--white); color: var(--ink); box-shadow: 0 1rem 2.2rem rgba(10, 20, 50, .3); }
.cs-cover .cv-ext { font-size: var(--text-sm); font-weight: 600; line-height: 1.35; color: var(--ink); }
.cs-cover .cv-one { display: grid; gap: .5rem; }
.cs-cover .cv-big { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h4); line-height: 1; color: var(--anchor); font-variant-numeric: tabular-nums; }
.cs-cover.cv-team .cv-big { color: #157578; }
.cs-cover .cv-one .cv-b i { background: var(--anchor); }
.cs-cover .cv-r { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; gap: .6rem; align-items: center; font-size: var(--text-xs); color: var(--ink-2); }
.cs-cover .cv-b { height: .65rem; border-radius: 999px; background: var(--grey); overflow: hidden; }
.cs-cover .cv-b i { display: block; height: 100%; border-radius: 999px; background: #93A8CE; }
.cs-cover .cv-r:last-child .cv-b i { background: var(--anchor); }
.cs-cover.cv-team .cv-r:last-child .cv-b i { background: #157578; }
.cs-cover .cv-r b { font-variant-numeric: tabular-nums; color: var(--anchor); white-space: nowrap; }
.cs-cover.cv-team .cv-r b { color: #157578; }
.cs-cover .cv-r:only-of-type .cv-b i { background: var(--anchor); }
.cs-cover[data-cover="payments-company"] .cv-r .cv-b i { background: var(--anchor); }
.cs-cover[data-cover="payments-company"] .cv-r + .cv-r .cv-b i { background: #3E5E98; }
.cs-cover .cv-who { font-size: var(--text-xs); opacity: .92; }
.cs-card .cs-cover { aspect-ratio: auto; height: auto; min-height: clamp(12rem, 16vw, 14rem); align-content: start; gap: var(--s-4); padding: var(--s-5); }
.cs-card .cs-cover .cv-who { display: none; }
.cv-hero:has(.cv-one) .cv-ex { display: none; }
.cs-hero-cover .cs-cover:has(.cv-one) { grid-template-columns: minmax(0, 1fr); }
.cs-card:has(.cs-cover) .cs-card-stat, .cs-feature:has(.cs-cover) .cs-feature-stat { display: none; }
.cs-feature .cs-cover { height: 100%; min-height: 100%; aspect-ratio: 3 / 2; padding: var(--s-6); align-content: center; gap: var(--s-4); }
.cs-feature .cs-cover .cv-kind { position: absolute; top: var(--s-5); left: var(--s-6); }
.cs-feature .cs-cover .cv-who { position: absolute; bottom: var(--s-5); left: var(--s-6); }
/* Link thumbnail: just the figure */
.proof-case.has-thumb .cs-cover { aspect-ratio: 3 / 2; padding: var(--s-3); border-radius: var(--radius-sm); align-content: end; }
.proof-case.has-thumb .cs-cover .cv-kind, .proof-case.has-thumb .cs-cover .cv-ex, .proof-case.has-thumb .cs-cover .cv-who { display: none; }
.proof-case.has-thumb .cs-cover .cv-fig { display: block; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h5); line-height: 1.1; }
/* Case page hero: figure left, exhibit right */
.cs-hero-photo.cs-hero-cover { margin-top: var(--s-7); }
.cs-hero-cover .cs-cover { aspect-ratio: 4 / 1; padding: var(--s-6); border-radius: var(--radius); grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); grid-template-rows: auto 1fr auto; align-content: stretch; column-gap: var(--s-7); }
.cs-hero-cover .cs-cover .cv-kind { grid-column: 1; grid-row: 1; }
.cs-hero-cover .cs-cover .cv-fig { display: block; grid-column: 1; grid-row: 2; align-self: end; font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h2); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.cs-hero-cover .cs-cover .cv-lab { display: block; grid-column: 1; grid-row: 3; font-size: var(--text-sm); max-width: 32ch; opacity: .92; }
.cs-hero-cover .cs-cover .cv-ex { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.cs-hero-cover .cs-cover .cv-who { display: none; }
@media (max-width: 900px) {
  .pg-res-cs .cs-hero-photo.cs-hero-cover { display: block; }
  .cs-hero-cover .cs-cover { aspect-ratio: auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: var(--s-3); padding: var(--s-5); }
  .cs-hero-cover .cs-cover > * { grid-column: 1 !important; grid-row: auto !important; }
  .cs-hero-cover .cs-cover .cv-fig { font-size: var(--h3); }
  .art-product { aspect-ratio: 16 / 9; }
  .art-product .pm-in { left: 22%; top: 10%; width: 46%; }
  .art-product .pm-out { left: 52%; top: 36%; width: 44%; }
}
@media (max-width: 700px) {
  .art-product { aspect-ratio: auto; min-height: 15rem; padding: var(--s-4); }
  .art-product .pm-in { position: relative; left: auto; top: auto; width: 100%; margin-bottom: var(--s-4); font-size: var(--text-xs); }
  .art-product .pm-out { display: none; }
  .art-product { flex-direction: column; justify-content: flex-start; align-items: flex-start; }
  .art-product .tool-badge, .art-product .tool-badges { order: 2; }
}
@media (max-width: 700px) { .prompt-art.art-bold .prompt-illo { width: 80%; } }
@media print { .strip-art, .art-product, .art-bold { display: none; } .cs-cover { background: var(--white); color: var(--ink); } }
/* Microsoft certifications hero tile: the partner badge as a logo with a short caption (11 Nov 2026) */
.prompt-art.cert-tile { aspect-ratio: 16 / 5; align-items: flex-end; }
.cert-tile .cert-partner { position: relative; z-index: 2; display: flex; align-items: center; gap: var(--s-4); max-width: 48%; }
.cert-tile .cp-logo { flex: none; display: grid; place-items: center; width: 8.5rem; height: 8.5rem; padding: 1rem; border-radius: 1.1rem; background: var(--white); box-shadow: 0 1rem 2.2rem rgba(10, 20, 50, .3); }
.cert-tile .cp-logo img { width: 100%; height: auto; }
.cert-tile .cp-cap { margin: 0; max-width: 24ch; font-size: var(--text-sm); font-weight: 600; line-height: 1.45; color: var(--white); }
@media (max-width: 900px) { .prompt-art.cert-tile { aspect-ratio: auto; } .cert-tile .cert-partner { max-width: none; } .cert-tile .prompt-illo { display: none; } .cert-tile .cp-logo { width: 6.5rem; height: 6.5rem; } }
/* Prompt library pages: product view with the role's own free prompt (11 Nov 2026) */
.prompt-art.art-product .way-ico { position: relative; z-index: 3; width: 3.75rem; height: 3.75rem; padding: .8rem; border-radius: 1rem; background: var(--white); color: var(--anchor); box-shadow: 0 .4rem 1.2rem rgba(10, 20, 50, .25); }
.prompt-art.art-product.pv-teal { background: radial-gradient(90% 120% at 100% 0%, rgba(108, 199, 200, .55) 0%, rgba(108, 199, 200, 0) 60%), linear-gradient(115deg, #0C4A4C 0%, #157578 60%, #1FA3A6 100%); }
.prompt-art.art-product.pv-teal .way-ico { color: #0C4A4C; }
.art-product .pm-t { display: block; margin-bottom: .35rem; color: var(--ink); font-weight: 700; }
.art-product.pv-lib .pm-stack { width: 34%; }
.art-product.pv-lib .pm-s0 { left: 20%; top: 14%; }
.art-product.pv-lib .pm-s1 { left: 40%; top: 30%; }
.art-product.pv-lib .pm-s2 { left: 60%; top: 46%; }
.art-product .pm-count { position: absolute; z-index: 3; right: var(--s-5); top: var(--s-5); padding: .35rem .8rem; border-radius: 999px; background: var(--white); color: var(--anchor); font-size: var(--text-xs); font-weight: 600; }
.art-product .pm-count b { font-family: Poppins, sans-serif; }
@media (max-width: 700px) { .art-product.pv-lib .pm-stack { position: relative; left: auto; top: auto; width: 100%; margin-bottom: var(--s-3); } .art-product.pv-lib .pm-s1, .art-product.pv-lib .pm-s2 { display: none; } .art-product .pm-count { top: auto; bottom: var(--s-4); } }
@media (max-width: 700px) { .prompt-art.art-product .way-ico { order: 2; } .art-product .pm-count { position: relative; right: auto; top: auto; bottom: auto; order: 3; margin-top: var(--s-3); align-self: flex-start; } }
/* photo-plan end */

/* ms-badge start */
/* Microsoft in Education Global Training Partner badge, beside the Biji-biji sentence (11 Nov 2026) */
.gtp-line { display: flex; align-items: center; gap: var(--s-3); }
.gtp-line .gtp-badge { flex: none; width: 4.25rem; height: auto; }
.pc-aside .gtp-line .gtp-badge { width: 3.75rem; }
/* ms-badge end */

/* wi-title start */
/* AI Practitioner to AI Architect: "Practitioner" is a long word, so the title fits its column at a smaller step (11 Nov 2026) */
@media (min-width: 901px) { .pg-workflow-integration .page-hero-content > h1 { font-size: min(var(--h1), 10cqi); } }
@media (min-width: 769px) and (max-width: 900px) { .pg-workflow-integration .page-hero-content > h1 { font-size: min(var(--h1), 4.9vw); } }
/* wi-title end */

/* gtp-note start */
/* Homepage About box: GTP badge as a separated note under the company sentence (11 Nov 2026) */
.about-main .gtp-note { padding-top: var(--s-3); border-top: 1px solid var(--border); color: var(--muted); font-size: var(--text-sm); gap: var(--s-2); }
.about-main .gtp-note .gtp-badge { width: 3rem; }
/* gtp-note end */

/* copy-cuts start */
/* Copy sweep (11 Nov 2026): case study covers show their chart only; the headline figure sits in the card stat and the hero stat row. The prompt library tile drops its count label. */
.cs-cover .cv-fig, .cs-cover .cv-lab { display: none; }
.pm-count { display: none; }
.pg-ai-transformation .at-data-2 { grid-template-columns: minmax(0, 1fr); }
.pl-toc[hidden] { display: none; }
.tp-date-row { grid-template-columns: 14rem auto; justify-content: start; }
/* copy-cuts end */

/* menu-feature start */
header .dropdown.mega a.mega-feature { display: grid; text-align: left; justify-items: start; font-weight: 400; min-height: 0; flex-direction: row; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--s-3); margin-top: var(--s-4); padding: 1rem 1.25rem; border-radius: .75rem; background: #ECF0F8; color: var(--ink); text-decoration: none; }
header .dropdown.mega a.mega-feature:hover, header .dropdown.mega a.mega-feature:focus-visible { background: #CDD7EA; }
.mf-ico { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: .75rem; background: #1F3F7C; color: #fff; }
.mf-ico svg { width: 1.375rem; height: 1.375rem; }
.mf-txt { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.mega-feature .mf-label { margin: 0; color: #3E5E98; }
.mf-title { font-family: Poppins, sans-serif; font-weight: 700; font-size: var(--h6); color: #1F3F7C; }
header .dropdown.mega .mf-line { font-weight: 400; font-size: var(--text-sm); color: #3A3547; }
header .dropdown.mega .mf-go { justify-self: end; font-size: var(--text-sm); font-weight: 600; color: #1F3F7C; white-space: nowrap; }
.mnav .mnav-group a.mnav-feature { align-items: flex-start; text-align: left; font-family: Poppins, sans-serif; display: flex; flex-direction: column; gap: .2rem; margin: 0 0 .75rem; padding: .875rem 1rem; border-radius: .75rem; background: #ECF0F8; color: #1F3F7C; font-weight: 700; text-decoration: none; }
.mnav a.mnav-feature .h7 { font-family: Inter, sans-serif; margin: 0; color: #3E5E98; }
.mnav a.mnav-feature small { font-family: Inter, sans-serif; font-weight: 400; color: #3A3547; font-size: var(--text-sm); }
@media (max-width: 1100px) { header .dropdown.mega a.mega-feature { grid-template-columns: auto 1fr; } header .dropdown.mega .mf-go { display: none; } }
/* menu-feature end */

/* critical-fixes start */
/* Critical fixes from the 11 Nov 2026 site review */
/* Cookie banner: bottom right on desktop, so it never covers the hero buttons */
@media (min-width: 901px) { .ck-banner { left: auto; right: var(--shell-x, 1.25rem); } }
/* Footer WhatsApp line: keep the space and allow wrapping, so phones never scroll sideways */
.footer li a[href^="https://wa.me"] { flex-wrap: wrap; column-gap: .25em; white-space: normal; }
/* Phone headings: no breaks inside words */
@media (max-width: 480px) {
  h2 { font-size: clamp(1.9rem, 9.5vw, var(--h2)); overflow-wrap: normal; hyphens: manual; }
  .page-hero-content { min-width: 0; }
  .pg-ai-transformation .page-hero h1 { font-size: clamp(2.1rem, 10.5vw, var(--h1)); overflow-wrap: normal; }
  thead th, .cs-table th { overflow-wrap: normal; }
}
/* Comparison cards on phones: drop the desktop column widths */
@media (max-width: 700px) { .pg-corporate-training .compare-table :is(th, td):nth-child(n) { width: auto; } }
/* Microsoft certifications price table: stacked cards on phones */
@media (max-width: 700px) {
  .pg-industry-credentials .cred-table-wrap { border: 0; background: none; overflow: visible; }
  .pg-industry-credentials .cred-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pg-industry-credentials .cred-table, .pg-industry-credentials .cred-table tbody, .pg-industry-credentials .cred-table tr, .pg-industry-credentials .cred-table th, .pg-industry-credentials .cred-table td { display: block; width: auto; }
  .pg-industry-credentials .cred-table tr { border: 1px solid var(--border); border-radius: var(--radius); padding: var(--s-3) var(--s-4); margin-bottom: var(--s-3); background: var(--white); }
  .pg-industry-credentials .cred-table tbody th { padding: 0 0 .5rem; border: 0; overflow-wrap: normal; }
  .pg-industry-credentials .cred-table td { display: flex; justify-content: space-between; gap: var(--s-3); padding: .375rem 0; border: 0; border-top: 1px solid var(--border); white-space: normal; text-align: right !important; }
  .pg-industry-credentials .cred-table td::before { color: var(--muted); font-weight: 600; text-align: left; }
  .pg-industry-credentials .cred-table td:nth-child(2)::before { content: "Training length"; }
  .pg-industry-credentials .cred-table td:nth-child(3)::before { content: "Training per person"; }
}
@media (max-width: 900px) { .page-hero-sidebar, .page-hero-sidebar .pricing-card { width: 100%; max-width: none; } }
@media (max-width: 700px) { .compare-table td::before, .pg-industry-credentials .cred-table td::before { flex: 0 0 auto; white-space: nowrap; } }
/* Corporate training: client logos and accreditations in the hero, above the photos */
.trust-strip.trust-in-hero { margin: var(--s-5, 2rem) 0 0; padding: 1rem 0 0; border-top: 1px solid var(--border); border-bottom: 0; }
.trust-in-hero + .photo-strip { margin-top: var(--s-5, 2rem); }
/* One video beside the proof: a single card */
.pt-vcards.pt-vcards-1 { grid-template-columns: minmax(0, 22rem); }
/* Homepage hero: a text route to a person */
.hero-call { margin: 1rem 0 0; font-size: var(--text-sm); }
.hero-call a { display: inline-flex; align-items: center; min-height: 44px; color: var(--anchor, #1f3f7c); font-weight: 600; }
/* Corporate training: example programme */
.example-plan { margin: 0 0 var(--s-6, 3rem); padding: var(--s-4, 1.5rem) var(--s-5, 2rem); border: 1px solid var(--border); border-radius: .75rem; background: var(--white); max-width: 53.75rem; }
.example-plan h3 { margin: .5rem 0 1rem; }
.example-plan .course-note { margin-top: 1rem; }
/* Menu footer: three links */
.mega-foot-links { display: inline-flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.mnav .mnav-group a.mnav-overview { font-weight: 700; color: #1F3F7C; }
.trust-strip.trust-in-hero > .shell { padding-left: 0; padding-right: 0; max-width: none; margin: 0; }
/* critical-fixes end */

/* proof-pair start */
/* Homepage proof: quote and video side by side (11 Nov 2026) */
.proof-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 20rem); gap: 3rem 4rem; align-items: start; margin-top: 3rem; }
section .proof-pair .proof-testimonials.proof-one { margin: 0; max-width: none; width: 100%; }
.proof-pair > .proof-testimonials .pt-card { max-width: none; }
.proof-pair > .rp-videos, .proof-pair > .rp-written { margin: 0; min-width: 0; }
.proof-pair .rp-written .proof-subhead { margin-top: 0; }
.proof-pair .rp-written .pt-accent { display: none; }
.proof-pair > .rp-videos .proof-subhead { margin-top: 0; }
.proof-pair .pt-vcards.pt-vcards-1 { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 900px) { .proof-pair { grid-template-columns: minmax(0, 1fr); } .proof-pair .pt-vcards.pt-vcards-1 { grid-template-columns: minmax(0, 22rem); } }
.proof-pair .rp-written .pt-card { border-top: 0; padding-top: 0; }
/* proof-pair end */

/* review12 start */
/* Review 1 and 2 fixes (12 Nov 2026) */
/* Homepage proof line: reads before the buttons, in Off Black at body size */
.hero .hero-proof { font-size: var(--text-md); color: var(--ink); max-width: 40rem; }
/* Client logos: monochrome stays, but dark and readable; 15% larger; colour on hover */
.trust-slim .client img, .trust-logo img, .at-logos .trust-logo img { filter: grayscale(1) contrast(1.15) brightness(.8); opacity: .9; }
.trust-slim .clients { --logo-scale: .71; }
.trust-logo img { height: calc(var(--lh) * .8rem); }
@media (max-width: 1100px) { .trust-slim .clients { --logo-scale: .8; } }
/* Phones: two per row, so no logo sits alone on the last row */
@media (max-width: 700px) { .trust-slim .clients, .trust-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* review12 end */

/* header-contact start */
/* Header contact link (12 Nov 2026): quiet text link, set apart from the menus by a hairline */
.nav-links .nav-contact-item { display: flex; align-items: center; margin-left: var(--s-2); padding-left: var(--s-3); border-left: 1px solid var(--border); }
.nav-links .nav-contact { color: var(--anchor); }
.nav-links .nav-contact:hover { color: var(--anchor); background: var(--grey); }
.mnav-panel .mnav-contact { display: flex; align-items: center; min-height: 44px; padding: 0; margin-bottom: var(--s-2); border-bottom: 1px solid var(--border); font-weight: 600; color: var(--anchor); text-decoration: none; }
/* header-contact end */

/* trainer-lines start */
/* Trainer background lines (12 Nov 2026) */
#trainers .trainer { gap: var(--s-2); }
#trainers .trainer img { margin-bottom: var(--s-1); }
#trainers .trainer-bg { margin: 0; font-size: var(--text-sm); line-height: 1.45; color: #3A3547; }
/* trainer-lines end */

/* review56 start */
/* Review 5 and 6 fixes (12 Nov 2026) */
/* Skip link */
.skip-link { position: absolute; left: var(--shell-x, 1.25rem); top: -4rem; z-index: 2000; padding: .75rem 1rem; border-radius: .5rem; background: var(--anchor); color: #fff; font-weight: 600; text-decoration: none; }
.skip-link:focus { top: .75rem; }
/* Desktop menu: panels open on click, Enter or Space, or hover; Tab focus alone no longer opens them */
.nav-item:focus-within:not(.is-open):not(:hover) .dropdown { opacity: 0; visibility: hidden; transform: translateY(-.25rem); }
.nav-item:focus-within:not(.is-open):not(:hover) > .nav-link svg { transform: none; }
.nav-item.is-open .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-item.is-open > .nav-link svg { transform: rotate(180deg); }
/* Phone menu: X while open, page behind locked, menu above the cookie banner */
.mnav .mnav-x { display: none; }
.mnav[open] .mnav-burger { display: none; }
.mnav[open] .mnav-x { display: block; width: 1.5rem; height: 1.5rem; }
html.mnav-open, html.mnav-open body { overflow: hidden; }
html.mnav-open .ck-banner { display: none; }
@media (max-width: 700px) { .ck-banner { padding: .75rem .875rem; } .ck-banner .ck-body { font-size: var(--text-xs); } }
/* Tap targets of at least 44px */
.nav .brand { display: inline-flex; align-items: center; min-height: 44px; }
.crumbs ol { align-items: center; }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
.footer-legal a, .footer-cookie, .footer-base a, footer .footer-grid ul a { display: inline-flex; align-items: center; min-height: 44px; }
.mile-cta { display: inline-flex; align-items: center; min-height: 44px; }
/* Table headers never break inside a word */
table th { overflow-wrap: normal; word-break: normal; hyphens: none; }
/* Contrast on the pathway audience labels */
.path-audience { color: #fff; }
/* Homepage AI Transformation line under the levels price line */
.fw-at { margin-top: var(--s-3); color: inherit; font-size: var(--text-sm); max-width: var(--measure-body, 53.75rem); }
.fw-at a { color: inherit; font-weight: 600; }
/* review56 end */
