/* Requested refinements for the client-supplied Excelledia design. */

/* One accent hue across the three venture pages. Near-black and neutral
   surfaces supply depth without introducing competing blue or purple tones. */
body.iso {
  --ink:#0b0f15; --ink-2:#0b0f15; --panel:#0b0f15; --panel-2:#0b0f15;
  --tx:#f5f7f8; --tx-dim:#b6c1ca;
  --blue:#0093c4; --blue-2:#0093c4; --cyan:#0093c4; --cyan-2:#0093c4;
  --green:#0093c4; --amber:#0093c4;
  --iso-grad:linear-gradient(120deg,#0093c4,#0093c4);
  --iso-grad-2:linear-gradient(120deg,#0093c4,#0093c4);
  --paper-ink:#0b0f15; --paper-2:#f5f7f8; --paper-line:#f5f7f8; --paper-soft:#59646d;
}
body.coe {
  --v1:#0b0f15; --v2:#0093c4; --v3:#0093c4;
  --b1:#0093c4; --b2:#0093c4; --b3:#0093c4;
  --coe-grad:linear-gradient(120deg,#0b0f15,#0093c4);
  --coe-grad-soft:linear-gradient(120deg,#0093c4,#0093c4);
  --coe-ink:#0b0f15; --coe-paper-2:#f5f7f8; --coe-line:#f5f7f8; --coe-soft-ink:#59646d;
}
body.cax {
  --ink:#0b0f15; --ink-2:#0b0f15; --panel:#0b0f15; --panel-2:#0b0f15;
  --tx:#f5f7f8; --tx-dim:#b6c1ca;
  --plum:#0093c4; --plum-2:#0093c4; --violet:#0093c4;
  --cyan:#0093c4; --cyan-2:#0093c4; --magenta:#0093c4; --green:#0093c4; --amber:#0093c4;
  --cax-grad:linear-gradient(120deg,#0093c4,#0093c4);
  --cax-grad-2:linear-gradient(120deg,#0093c4,#0093c4);
  --paper-ink:#0b0f15; --paper-2:#f5f7f8; --paper-line:#f5f7f8; --paper-soft:#59646d;
}
body[data-page="ai-coe"] .coe-hero,
body[data-page="ai-coe"] .ban-national { background:linear-gradient(130deg,#0b0f15,#0093c4); }
body[data-page="ai-coe"] .coe-hero-bg .g1,
body[data-page="ai-coe"] .coe-hero-bg .g2 { background:radial-gradient(circle,rgba(0,147,196,.36),transparent 62%); }

.exp-all { align-self: flex-end; margin-bottom: 2px; }
.mobile-menu { overflow-y:auto; max-height:100dvh; }
.exp-card, .office, .tm, .aca-service {
  transition: transform .55s cubic-bezier(.2,.7,.2,1),
    box-shadow .55s cubic-bezier(.2,.7,.2,1),
    border-color .45s ease;
}
.exp-card:hover, .exp-card:focus-within,
.office:hover, .office:focus-within,
.tm:hover, .tm:focus-within,
.aca-service:hover, .aca-service:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px -34px rgba(11,15,21,.38);
}
.exp-ic { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.exp-card:hover .exp-ic, .exp-card:focus-within .exp-ic { transform: translateY(-2px); }
.tm-photo img { display:block; width:104px; height:104px; object-fit:cover; border-radius:50%; box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--line); }
.tm-photo .team-monogram { display:flex; align-items:center; justify-content:center; width:104px; height:104px; border-radius:50%; background:linear-gradient(145deg,#0093c4,#0093c4); color:#fff; font:700 1.45rem var(--font-display); letter-spacing:.05em; box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--line); }

/* Give each of the four ventures equal space and remove the decorative dots. */
body[data-page="index"] .vent-grid {
  grid-template-columns: repeat(4,minmax(0,1fr));
  grid-auto-rows: auto;
}
body[data-page="index"] .vent-grid .vent { min-height: 330px; }
body[data-page="index"] .vent--lead {
  grid-column: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,.04);
}
body[data-page="index"] .vent-tag { display: block; margin: 12px 0 0; }
body[data-page="index"] .vent-visual { display: none; }
body[data-page="index"] .coe-core .cb-1 { opacity:1; transform:none; animation:none; }
body[data-page="index"] .coe-core .cb-2 { display:none; }

/* Distinct sector photography replaces unrelated category colours. */
body[data-page="index"] .ind::before {
  background-image: linear-gradient(to bottom,rgba(11,15,21,.07),rgba(11,15,21,.65)),url("industry-home-atlas.png");
  background-size: 100% 100%, 400% 200%;
  background-repeat: no-repeat;
}
body[data-page="index"] .ind-energy::before { background-position: center,0% 0%; }
body[data-page="index"] .ind-real::before { background-position: center,66.667% 0%; }
body[data-page="index"] .ind-bank::before { background-position: center,0% 100%; }
body[data-page="index"] .ind-tech::before { background-position: center,66.667% 100%; }
body[data-page="expertise"] .indb-vis::before {
  background-image: linear-gradient(90deg,rgba(11,15,21,.4),rgba(11,15,21,.07)),url("industry-expertise-atlas.png");
  background-size: 100% 100%,200% 200%;
  background-repeat: no-repeat;
}
body[data-page="expertise"] .iv-energy::before { background-position: center,0% 0%; }
body[data-page="expertise"] .iv-real::before { background-position: center,100% 0%; }
body[data-page="expertise"] .iv-bank::before { background-position: center,0% 100%; }
body[data-page="expertise"] .iv-tech::before { background-position: center,100% 100%; }
body[data-page="expertise"] .indb-vis .iv-ic { display: none; }

/* The supplied example's continuous testimonial columns, using only real site copy. */
body[data-page="index"] .quote-grid.is-animated {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  max-height: 740px;
  overflow: hidden;
  mask-image: linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);
  -webkit-mask-image: linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);
}
body[data-page="index"] .quote-col { min-width: 0; overflow: hidden; }
body[data-page="index"] .quote-track {
  display: flex;
  flex-direction: column;
  animation: quote-scroll var(--quote-duration,30s) linear infinite;
  will-change: transform;
}
body[data-page="index"] .quote-col:hover .quote-track,
body[data-page="index"] .quote-col:focus-within .quote-track { animation-play-state: paused; }
body[data-page="index"] .quote-set { display: flex; flex-direction: column; gap: 18px; padding-bottom: 18px; }
body[data-page="index"] .quote-set .quote { min-height: 240px; }
@keyframes quote-scroll { to { transform: translateY(-50%); } }

/* The Academy's six service cards form complete rows. */
body[data-page="academy"] .aca-services .aca-service.feature {
  grid-column: auto;
  display: block;
  background: var(--paper);
}
body[data-page="academy"] .aca-services { align-items: stretch; }
body[data-page="academy"] .aca-service { min-width: 0; padding:clamp(25px,3vw,38px); }
body[data-page="academy"] .aca-service p { line-height:1.6; }
body[data-page="academy"] .aca-service .tags { margin-top:18px; }
body[data-page="academy"] .stat-strip .st { padding:8px 0 8px 18px; min-width:0; }
body[data-page="academy"] .stat-strip .st b { font-size: clamp(2.6rem,4.2vw,4.5rem); line-height: 1; white-space:nowrap; }
body[data-page="academy"] .stat-strip .st b span[data-count] { display:inline; font:inherit; line-height:inherit; color:inherit; margin:0; }
body[data-page="academy"] .stat-strip .st b i { align-self:baseline; }
body[data-page="academy"] .stat-strip .st > span { display:block; margin-top:10px; }
body[data-page="academy"] .page-hero .btn--ghost { color: #fff; border-color: rgba(255,255,255,.55); }
body[data-page="academy"] .page-hero .btn--ghost:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.08); }
body[data-page="academy"] .aca-jump { position: relative; top: auto; z-index: 2; }
body[data-page="academy"] .aca-jump-in { flex-wrap: wrap; }

/* Individual course and certification cards in a scrollable, filtered grid. */
.catalogue-tools { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0 0 24px; }
.catalogue-tools input {
  width: min(100%,380px); min-height: 46px; padding: 10px 15px;
  border: 1px solid var(--line); border-radius: 12px;
  background: var(--paper); color: var(--ink); font: inherit;
}
.catalogue-tools input:focus-visible, .catalogue-tools button:focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 2px; }
.catalogue-tools button, .catalogue-tools select {
  min-height: 44px; padding: 8px 13px; border: 1px solid var(--line);
  border-radius: 999px; background: var(--paper); color: var(--ink); font: inherit;
  font-size: .86rem; cursor: pointer;
}
.catalogue-tools button[aria-pressed="true"] { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.catalogue-count { margin-left:auto; color:var(--ink-soft); font-size:.88rem; }
#catalog .aca-cert-grid, #certifications .aca-cert-grid {
  max-height: 680px; overflow-y:auto; overscroll-behavior:contain;
  grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch;
  gap:18px; padding:4px 12px 12px 2px;
}
.aca-course-card {
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
  width:100%; min-width:0; min-height:210px; padding:24px;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg);
  color:var(--ink); text-align:left; font:inherit; cursor:pointer;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease;
}
.aca-course-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--accent); }
.aca-course-card:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.aca-course-meta { display:flex; align-items:center; gap:9px; color:var(--ink-soft); font-size:.76rem; font-weight:700; letter-spacing:.02em; }
.aca-course-icon { display:grid; place-items:center; flex:0 0 auto; min-width:34px; height:34px; padding:0 5px; border-radius:9px; background:var(--accent-soft); color:var(--accent-deep); font-size:.75rem; }
.aca-course-icon svg { width:18px; height:18px; }
.aca-course-card strong { display:block; font-family:var(--font-display); font-size:1.08rem; line-height:1.3; }
.aca-course-summary { display:block; color:var(--ink-soft); font-size:.9rem; line-height:1.5; }
.aca-course-foot { display:flex; justify-content:space-between; gap:12px; align-items:center; width:100%; margin-top:auto; padding-top:10px; border-top:1px solid var(--line); color:var(--accent-deep); font-size:.78rem; font-weight:700; }
.aca-course-foot span { font-size:1.15rem; }
.catalogue-empty { margin: 15px 0; color: var(--ink-soft); }
[hidden] { display: none !important; }
.exc-fab .exc-head .stat::before { background:#0093c4; box-shadow:none; }
.exc-fab .exc-exp { text-decoration:none; }
.exc-fab .exc-exp .xa { background:#0093c4; }
.exc-fab .lx-close { font-size:1.8rem; line-height:1; }

body[data-page="ventures"] .ven-hl b, body[data-page="dezign-space"] .ven-hl b { font-size: clamp(2.7rem,5vw,5.3rem); }
body[data-page="ventures"] .ven-hl, body[data-page="dezign-space"] .ven-hl { gap: 20px; }
body[data-page="dezign-space"] .page-hero .lead { color:rgba(255,255,255,.78); }

/* Sector-specific photography and a balanced four-part platform core. */
body[data-page="isorobot"] .iso-sector::before {
  background-image: linear-gradient(to top,rgba(11,15,21,.75),rgba(11,15,21,.10)),url("isorobot-sector-atlas.png");
  background-size: 100% 100%,300% 200%;
  background-repeat: no-repeat;
}
body[data-page="isorobot"] .sec-gov::before { background-position:center,0% 0%; }
body[data-page="isorobot"] .sec-tel::before { background-position:center,50% 0%; }
body[data-page="isorobot"] .sec-corp::before { background-position:center,100% 0%; }
body[data-page="isorobot"] .sec-energy::before { background-position:center,0% 100%; }
body[data-page="isorobot"] .sec-sme::before { background-position:center,50% 100%; }
body[data-page="isorobot"] .sec-fin::before { background-position:center,100% 100%; }
body[data-page="isorobot"] .coe-core { inset: 27%; padding: 9%; gap: 5px; }
body[data-page="isorobot"] .coe-core .cc.projects { grid-column: auto; }
body[data-page="isorobot"] .coe-node { transition: transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .5s ease,background .5s ease; }
body[data-page="isorobot"] .coe-node:hover,
body[data-page="isorobot"] .coe-node.is-active { transform: scale(1.035); }
body[data-page="isorobot"] .coe-node.is-active { border-color:rgba(255,255,255,.8); box-shadow:0 0 0 3px rgba(0,147,196,.26),0 12px 28px rgba(0,147,196,.22); background:linear-gradient(150deg,#0093c4,#0093c4); }
body[data-page="isorobot"] .coe-detail-body { transition: opacity .45s ease,transform .45s ease; }

/* Programme-specific images replace the unrelated gradient banners. */
body[data-page="ai-coe"] .coe-offer:not(.feature) .ban {
  min-height: 0;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
body[data-page="ai-coe"] .coe-offer .ban-leaders { background-image:linear-gradient(to top,rgba(11,15,21,.68),rgba(11,15,21,.10)),url("ai-business-leaders.png"); }
body[data-page="ai-coe"] .coe-offer .ban-manager { background-image:linear-gradient(to top,rgba(11,15,21,.68),rgba(11,15,21,.10)),url("ai-certified-manager.png"); }
body[data-page="ai-coe"] .coe-offer .ban-kids { background-image:linear-gradient(to top,rgba(11,15,21,.68),rgba(11,15,21,.10)),url("ai-for-kids.png"); }
body[data-page="ai-coe"] .coe-offer .ban-gov { background-image:linear-gradient(to top,rgba(11,15,21,.68),rgba(11,15,21,.10)),url("ai-governance.png"); }
body[data-page="ai-coe"] .coe-hero,
body[data-page="ai-coe"] .ban-national { background: linear-gradient(130deg,#0b0f15,#0093c4); }
body[data-page="ai-coe"] .coe-hero h1 .ai { background:none; color:#f5f7f8; -webkit-text-fill-color:#f5f7f8; }
body[data-page="ai-coe"] .coe-hero .lead { color:rgba(255,255,255,.9); }
body[data-page="ai-coe"] .coe-offer .body h3 { color:#0b0f15; }
body[data-page="ai-coe"] .coe-offer .body p { color:#0093c4; }
body[data-page="ai-coe"] .coe-goals--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
body[data-page="ceo-analytix"] .cax-kpi .kl,
body[data-page="ceo-analytix"] .cax-kpi .kv,
body[data-page="ceo-analytix"] .cax-kpi .kd { display:block; }
body[data-page="ceo-analytix"] .cax-kpi .kv { font-size:clamp(1.25rem,2vw,1.7rem); }

/* Keep animated KPI digits at the size of their number row. Broad label-span
   rules in the exported pages otherwise shrink a nested counter while its
   adjacent suffix keeps the larger parent size. */
body[data-page] .stat-strip .st b > [data-count],
body[data-page] .aca-coach-stats .cs b > [data-count],
body[data-page] .ven-hl b > [data-count],
body[data-page] .stat-num > [data-count],
body[data-page] .m b > [data-count],
body[data-page] .hs b > [data-count] {
  font-size:1em;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
}
body[data-page="dezign-space"] .ven-hl b > i {
  color:var(--accent);
  font-size:.66em;
  font-style:normal;
  margin-left:.04em;
}
body[data-page="expertise"] .impact-stats,
body[data-page="consulting"] .impact-stats { margin-block:0; }
body[data-page="expertise"] .impact-stats .st b,
body[data-page="consulting"] .impact-stats .st b { display:block; }

/* The shared footer link color was overriding the accent button text until
   hover. Keep the button label readable in its resting and interactive states. */
body[data-page] .footer a.btn--accent,
body[data-page] .footer a.btn--accent:hover,
body[data-page] .footer a.btn--accent:focus-visible {
  color:#fff;
}

/* Representative imagery for the three existing Academy engagement cards. */
body[data-page="academy"] .aca-engcard::before {
  background-image: linear-gradient(to top,rgba(11,15,21,.84),rgba(11,15,21,.12)),url("academy-engagement-atlas.png");
  background-size: 100% 100%,300% 100%;
  background-repeat: no-repeat;
}
body[data-page="academy"] .aca-eng-1::before { background-position:center,0% 0%; }
body[data-page="academy"] .aca-eng-2::before { background-position:center,50% 0%; }
body[data-page="academy"] .aca-eng-3::before { background-position:center,100% 0%; }

/* Exported inner pages omitted the Home CTA layout rules. Restore spacing
   and blend each invitation with the existing dark footer. */
body[data-page="consulting"] .cta-band,
body[data-page="academy"] .cta-band,
body[data-page="dezign-space"] .cta-band {
  position:relative; overflow:hidden; padding-block:clamp(80px,10vw,120px);
  background:var(--ink); color:#fff; text-align:center;
}
body[data-page="consulting"] .cta-inner,
body[data-page="academy"] .cta-inner,
body[data-page="dezign-space"] .cta-inner {
  position:relative; z-index:2; display:flex; flex-direction:column;
  align-items:center; gap:16px;
}
body[data-page="consulting"] .cta-inner h2,
body[data-page="academy"] .cta-inner h2,
body[data-page="dezign-space"] .cta-inner h2 { color:#fff; margin:0; }
body[data-page="consulting"] .cta-inner h2 { font-family:var(--font-display); font-size:clamp(2.5rem,5vw,4.6rem); line-height:1.06; letter-spacing:-.03em; }
body[data-page="consulting"] .cta-inner p,
body[data-page="academy"] .cta-inner p,
body[data-page="dezign-space"] .cta-inner p { color:rgba(255,255,255,.84); max-width:580px; margin:0 auto; }
body[data-page="consulting"] .cta-inner .btn,
body[data-page="academy"] .cta-inner .btn,
body[data-page="dezign-space"] .cta-inner .btn { margin-top:12px; }
body[data-page="consulting"] .cta-band [data-reveal],
body[data-page="academy"] .cta-band [data-reveal],
body[data-page="dezign-space"] .cta-band [data-reveal] { transition-delay:0s; }
body[data-page="consulting"] .cta-band .cta-orb,
body[data-page="academy"] .cta-band .cta-orb,
body[data-page="dezign-space"] .cta-band .cta-orb {
  position:absolute; width:60vw; height:60vw; max-width:680px; max-height:680px;
  border-radius:50%; border:1px solid rgba(255,255,255,.1); top:-30%; right:-10%;
  opacity:.25; pointer-events:none;
}

@media (max-width: 1050px) {
  #catalog .aca-cert-grid, #certifications .aca-cert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-page="ai-coe"] .coe-goals--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-page="index"] .vent-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-page="index"] .quote-grid.is-animated { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-page="index"] .quote-col:nth-child(3) { display: none; }
}
@media (max-width: 700px) {
  body[data-page="national-ai-coe"] .eco-ring { width:calc(100% - 12px); }
  #catalog .aca-cert-grid, #certifications .aca-cert-grid { grid-template-columns:1fr; max-height:600px; }
  .catalogue-count { width:100%; margin-left:0; }
  body[data-page="academy"] .stat-strip .st b { font-size:clamp(2.2rem,8vw,3.4rem); }
  body[data-page="ai-coe"] .coe-goals--four { grid-template-columns:1fr; }
  .exp-all { align-self: flex-start; }
  body[data-page="index"] .vent-grid,
  body[data-page="index"] .quote-grid.is-animated { grid-template-columns: 1fr; }
  body[data-page="index"] .quote-col:nth-child(2) { display: none; }
  body[data-page="academy"] .aca-services { grid-template-columns: 1fr; }
  body[data-page="academy"] .aca-jump-in { flex-wrap: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="index"] .quote-track { animation: none; }
  body[data-page="index"] .quote-col:not(:first-child),
  body[data-page="index"] .quote-set[aria-hidden="true"] { display: none; }
  .exp-card, .office, .tm, .aca-service { transition: none; }
}

/* The closed contact wrapper retains its panel's size: let taps reach the page. */
.exc-fab { pointer-events:none; }
.exc-launch, .exc-fab.is-open .exc-panel { pointer-events:auto; }
/* Navigation must cover the header and contact widget, including its close button. */
.mobile-menu { z-index:1000; padding-block:80px 24px; justify-content:flex-start; }
.mobile-menu:not(.open) { visibility:hidden; }
.mobile-menu :focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .mobile-menu { transition:none; } }
/* Decorative dots on the Academy crosslinks must not cover their links. */
.grid-dots[aria-hidden="true"] { pointer-events:none; }

/* Accessible button text, preserving the approved cyan elsewhere. */
body[data-page] .btn--accent { background: #00779e; color: #fff; }
body[data-page] .btn--accent:hover,
body[data-page] .btn--accent:focus-visible { background: #006785; color: #fff; }
body[data-page] .btn--accent:focus-visible { outline: 3px solid #0b0f15; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
body[data-page="index"] .quote-grid.quotes-paused .quote-track { animation-play-state: paused; }
.quote-motion-controls { display:flex; justify-content:flex-end; margin-bottom:20px; }
.quote-motion-controls button { min-height:44px; }
#contactPrepared { width:100%; min-height:220px; padding:16px; color:var(--ink); background:var(--paper); }
