/*
Theme Name: Mzansi CV Theme
Theme URI: https://cv2cu.online
Author: 2CU ONLINE PTY LTD
Author URI: https://2cu.online
Description: Official theme for CV2CU — the CV & employment platform of the 2CU ecosystem. "Lagoon Dusk" design language: deep-teal night with aqua glass surfaces and a warm coral action colour (plus a matching light mode). Sister to 2CU.ONLINE's daylight palette — same family, its own personality.
Version: 5.39.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
License URI: https://cv2cu.online/licence
Text Domain: mzansi-cv-theme
Tags: custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, one-column, wide-blocks, dark-mode

Brand: 2CU ONLINE PTY LTD — 2=Together, C=Connect, U=You
Mission: Dignified access to employment and business opportunity for South African job seekers and SMMEs.
*/

/* =========================================================
   MZANSI CV THEME — GLOBAL STYLES · "LAGOON DUSK"
   Deep teal night · aqua glass · coral action
   Fonts: Sora (display) + Inter (body/UI)

   Palette lineage (2CU.ONLINE → CV2CU)
     Deep Teal  #0B3D4A  → becomes the surface family (night)
     Sea Glass  #ACD9CC  → borders, hairlines, soft text
     Aqua       #C7E9DD  → pushed to a luminous #5EE0C2 brand aqua
     Coral Glow #FFB87A  → promoted to the lead action colour
     Sky Blue   #6EC6FF  → shared secondary (kept as-is)
     Gold Light #F7D794  → shared highlight (slightly deeper)
   ========================================================= */

:root {
  color-scheme: dark;

  /* ---- Brand ---- */
  --cv-brand:        #5EE0C2;   /* luminous aqua — brand / positive */
  --cv-brand-dim:    #38C4A5;
  --cv-action:       #FF9C73;   /* coral — the CV2CU signature action colour */
  --cv-action-dim:   #F07F52;
  --cv-sky:          #6EC6FF;
  --cv-gold:         #F5CF86;

  /* RGB channels for alpha compositing: rgba(var(--cv-brand-rgb), .2) */
  --cv-brand-rgb:    94,224,194;
  --cv-action-rgb:   255,156,115;
  --cv-sky-rgb:      110,198,255;
  --cv-gold-rgb:     245,207,134;
  --cv-fg-rgb:       234,248,244;   /* foreground, for hairlines & overlays */
  --cv-shadow-rgb:   0,10,14;

  /* ---- Surfaces & text ---- */
  --cv-bg:           #061D25;
  --cv-bg-2:         #0A2731;
  --cv-bg-3:         #0F3340;
  --cv-teal-deep:    #0B3D4A;   /* 2CU.ONLINE "Deep Teal" — shared family colour */
  --cv-text:         #EAF8F4;
  --cv-text-soft:    #9DBBB8;
  --cv-on-action:    #2B1206;   /* text on coral buttons */
  --cv-on-brand:     #042A25;   /* text on aqua buttons */
  --cv-border:       rgba(172,217,204,0.16);
  --cv-border-strong:rgba(172,217,204,0.34);
  --cv-surface:      rgba(15,51,64,0.58);
  --cv-surface-solid:#0C2C37;
  --cv-glass:        rgba(6,29,37,0.82);

  /* ---- Status ---- */
  --cv-success:      #4ADE9F;
  --cv-danger:       #FF7A8A;
  --cv-warning:      var(--cv-gold);
  --cv-info:         var(--cv-sky);

  /* ---- Ecosystem pathway colours (from the 2CU brand board) ---- */
  --eco-community:   #1FB8AA;
  --eco-biz:         #3B82F0;
  --eco-careers:     #34A853;
  --eco-legal:       #8B4FD0;
  --eco-skills:      #E0B030;

  /* ---- Legacy aliases — kept so existing plugin markup keeps working ---- */
  --cv-navy:         var(--cv-bg);
  --cv-navy-mid:     var(--cv-bg-2);
  --cv-navy-light:   var(--cv-bg-3);
  --cv-mint:         var(--cv-brand);
  --cv-mint-dim:     var(--cv-brand-dim);
  --cv-electric:     var(--cv-action);
  --cv-cyan:         var(--cv-sky);
  --cv-white:        var(--cv-text);
  --cv-muted:        var(--cv-text-soft);

  /* ---- Typography ---- */
  --font-display: 'Manrope', 'Sora', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    var(--font-body);   /* legacy name: labels/UI use Inter */
  --font-code:    'JetBrains Mono', 'Fira Code', ui-monospace, monospace;

  /* ---- Spacing / radius ---- */
  --space-xs:  0.25rem;
  --space-sm:  0.5rem;
  --space-md:  1rem;
  --space-lg:  2rem;
  --space-xl:  4rem;
  --space-2xl: 8rem;
  --radius-sm: 8px;
  --radius:    14px;
  --radius-lg: 22px;

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:  cubic-bezier(0.4, 0, 1, 1);

  /* ---- Elevation ---- */
  --shadow-mint:     0 12px 38px rgba(var(--cv-brand-rgb), 0.18);
  --shadow-electric: 0 12px 38px rgba(var(--cv-action-rgb), 0.26);
  --shadow-card:     0 16px 44px rgba(var(--cv-shadow-rgb), 0.42);
  --header-h: 68px;
}

/* ---- Light mode: "Lagoon Day" (explicit toggle) ---- */
:root[data-theme="light"] {
  color-scheme: light;
  --cv-brand:        #0B7F6E;
  --cv-brand-dim:    #086A5B;
  --cv-action:       #C4481A;
  --cv-action-dim:   #A63A12;
  --cv-sky:          #1466A8;
  --cv-gold:         #8A6208;
  --cv-brand-rgb:    11,127,110;
  --cv-action-rgb:   255,156,115;   /* buttons stay coral-bright in both modes */
  --cv-sky-rgb:      20,102,168;
  --cv-gold-rgb:     198,146,20;
  --cv-fg-rgb:       11,61,74;
  --cv-shadow-rgb:   11,61,74;
  --cv-bg:           #F3FBF8;
  --cv-bg-2:         #FFFFFF;
  --cv-bg-3:         #E4F4EF;
  --cv-text:         #0B3D4A;
  --cv-text-soft:    #4A6470;
  --cv-on-brand:     #FFFFFF;
  --cv-border:       rgba(11,61,74,0.13);
  --cv-border-strong:rgba(11,61,74,0.30);
  --cv-surface:      rgba(255,255,255,0.78);
  --cv-surface-solid:#FFFFFF;
  --cv-glass:        rgba(243,251,248,0.86);
  --cv-success:      #12805C;
  --cv-danger:       #C0344A;
  --shadow-card:     0 14px 38px rgba(11,61,74,0.12);
  --shadow-mint:     0 12px 34px rgba(11,127,110,0.16);
  --shadow-electric: 0 12px 34px rgba(255,156,115,0.34);
}
/* ---- Light mode: follow the OS unless the visitor chose otherwise ---- */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --cv-brand:        #0B7F6E;
    --cv-brand-dim:    #086A5B;
    --cv-action:       #C4481A;
    --cv-action-dim:   #A63A12;
    --cv-sky:          #1466A8;
    --cv-gold:         #8A6208;
    --cv-brand-rgb:    11,127,110;
    --cv-action-rgb:   255,156,115;
    --cv-sky-rgb:      20,102,168;
    --cv-gold-rgb:     198,146,20;
    --cv-fg-rgb:       11,61,74;
    --cv-shadow-rgb:   11,61,74;
    --cv-bg:           #F3FBF8;
    --cv-bg-2:         #FFFFFF;
    --cv-bg-3:         #E4F4EF;
    --cv-text:         #0B3D4A;
    --cv-text-soft:    #4A6470;
    --cv-on-brand:     #FFFFFF;
    --cv-border:       rgba(11,61,74,0.13);
    --cv-border-strong:rgba(11,61,74,0.30);
    --cv-surface:      rgba(255,255,255,0.78);
    --cv-surface-solid:#FFFFFF;
    --cv-glass:        rgba(243,251,248,0.86);
    --cv-success:      #12805C;
    --cv-danger:       #C0344A;
    --shadow-card:     0 14px 38px rgba(11,61,74,0.12);
    --shadow-mint:     0 12px 34px rgba(11,127,110,0.16);
    --shadow-electric: 0 12px 34px rgba(255,156,115,0.34);
  }
}

/* ---- Reset & Base ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--cv-bg);
  color: var(--cv-text);
  font-family: var(--font-body);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Aurora — soft aqua / sky / coral light behind everything.
   Fixed pseudo-element (not background-attachment:fixed) so it stays smooth on mobile. */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(60% 45% at 12% -8%,  rgba(var(--cv-brand-rgb), 0.16), transparent 70%),
    radial-gradient(50% 40% at 100% 8%,  rgba(var(--cv-sky-rgb), 0.12),   transparent 70%),
    radial-gradient(55% 45% at 90% 105%, rgba(var(--cv-action-rgb), 0.10), transparent 70%);
  animation: auroraDrift 40s ease-in-out infinite alternate;
}
@keyframes auroraDrift { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-1.5%, 1.5%, 0) scale(1.06); } }

/* Film grain — a very faint static texture so large flat surfaces (the
   aurora glow, glass cards) read as tactile rather than perfectly flat.
   Static (no animation), so it costs nothing and needs no reduced-motion
   guard; SVG feTurbulence keeps it a single tiny inline asset. */
body::after {
  content: '';
  position: fixed;
  inset: -200px;
  z-index: -1;
  pointer-events: none;
  opacity: 0.035;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

img, svg, video { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }

/* ---- Typography ---- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.16;
  color: var(--cv-text);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.mono, code, pre, kbd { font-family: var(--font-code); }

a {
  color: var(--cv-brand);
  text-decoration: none;
  transition: color 0.25s;
}
a:hover { color: var(--cv-action); }

p { color: rgba(var(--cv-fg-rgb), 0.82); max-width: 65ch; text-wrap: pretty; }

/* ---- Accessibility helpers ---- */
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute; width: 1px; word-wrap: normal !important;
}
.cv2cu-skip-link:focus {
  clip: auto; clip-path: none; height: auto; width: auto; margin: 0;
  left: 12px; top: 12px; z-index: 100000; padding: 12px 18px;
  background: var(--cv-action); color: var(--cv-on-action);
  font-weight: 700; border-radius: 10px; box-shadow: var(--shadow-card);
}

/* ---- Utility classes ---- */
.cv-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-lg); }
@media (max-width: 600px) { .cv-container { padding: 0 1.15rem; } }

.cv-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }
.cv-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.cv-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
@media (max-width: 900px) { .cv-grid-3, .cv-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cv-grid-2, .cv-grid-3, .cv-grid-4 { grid-template-columns: 1fr; } }

.cv-text-center { text-align: center; }
.cv-muted { color: var(--cv-text-soft); }

/* ---- Card (aqua glass) ---- */
.cv-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(var(--cv-fg-rgb), 0.055), rgba(var(--cv-fg-rgb), 0.015)),
    var(--cv-surface);
  border: 1px solid var(--cv-border);
  border-radius: var(--radius);
  padding: var(--space-lg);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 1px 0 rgba(var(--cv-fg-rgb), 0.06) inset;
  transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s var(--ease-out);
  isolation: isolate; /* keeps the spotlight glow below contained within this card */
}
.cv-card:hover {
  border-color: rgba(var(--cv-brand-rgb), 0.45);
  box-shadow: var(--shadow-mint);
  transform: translateY(-3px);
}
.cv-card--static:hover { transform: none; box-shadow: none; border-color: var(--cv-border); }

/* Cursor-reactive spotlight — a soft glow that follows the pointer across
   a card's surface. --mx/--my are set by main.js on pointermove; on
   touch/no-hover devices they're simply never set, so this stays inert. */
.cv-card::after {
  content: '';
  position: absolute; inset: 0; z-index: -1;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),
    rgba(var(--cv-brand-rgb), 0.14), transparent 65%);
  transition: opacity 0.4s;
  pointer-events: none;
}
.cv-card:hover::after { opacity: 1; }
@media (hover: none) { .cv-card::after { display: none; } }

/* ---- Badge ---- */
.cv-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid currentColor;
  line-height: 1.3;
}
.cv-badge--mint     { color: var(--cv-brand);  border-color: rgba(var(--cv-brand-rgb), 0.38);  background: rgba(var(--cv-brand-rgb), 0.10); }
.cv-badge--electric { color: var(--cv-action); border-color: rgba(var(--cv-action-rgb), 0.40); background: rgba(var(--cv-action-rgb), 0.10); }
.cv-badge--gold     { color: var(--cv-gold);   border-color: rgba(var(--cv-gold-rgb), 0.40);   background: rgba(var(--cv-gold-rgb), 0.10); }
.cv-badge--sky      { color: var(--cv-sky);    border-color: rgba(var(--cv-sky-rgb), 0.40);    background: rgba(var(--cv-sky-rgb), 0.10); }

/* ---- Buttons ---- */
.cv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  padding: 13px 28px;
  text-align: center;             /* multi-line labels (e.g. "Sponsor 10 job seekers") stay centred */
  min-height: 44px;              /* comfortable touch target */
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s, background 0.3s, border-color 0.3s, color 0.3s;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.cv-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.28) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.6s var(--ease-out);
  pointer-events: none;
}
.cv-btn:hover::before { transform: translateX(120%); }
.cv-btn:active { transform: translateY(0) scale(0.97); transition-duration: 0.1s; }
.cv-btn:disabled, .cv-btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; transform: none !important; }

/* Primary = coral (the action colour) */
.cv-btn--primary {
  background: linear-gradient(135deg, #FFB48A 0%, #FF9C73 48%, #FF8A5C 100%);
  color: var(--cv-on-action);
  box-shadow: 0 6px 20px rgba(var(--cv-action-rgb), 0.28);
}
.cv-btn--primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-electric); color: var(--cv-on-action); }

/* Brand = aqua (legacy name: electric) */
.cv-btn--brand,
.cv-btn--electric {
  background: linear-gradient(135deg, #8CF0D9 0%, #5EE0C2 55%, #3FCBAB 100%);
  color: var(--cv-on-brand);
  box-shadow: 0 6px 20px rgba(var(--cv-brand-rgb), 0.24);
}
:root[data-theme="light"] .cv-btn--brand,
:root[data-theme="light"] .cv-btn--electric { background: linear-gradient(135deg, #0E9A85, #0B7F6E); }
.cv-btn--brand:hover,
.cv-btn--electric:hover { transform: translateY(-2px); box-shadow: var(--shadow-mint); color: var(--cv-on-brand); }

.cv-btn--ghost {
  background: rgba(var(--cv-fg-rgb), 0.03);
  color: var(--cv-brand);
  border-color: var(--cv-border-strong);
}
.cv-btn--ghost:hover {
  border-color: var(--cv-brand);
  background: rgba(var(--cv-brand-rgb), 0.12);
  color: var(--cv-brand);
  transform: translateY(-1px);
}

.cv-btn--sm    { padding: 8px 16px; font-size: 0.8rem; min-height: 38px; }
.cv-btn--lg    { padding: 16px 34px; font-size: 1rem; }
.cv-btn--block { width: 100%; }

/* ---- Prompt prefix — a quiet quote-mark motif ---- */
.cv-prompt::before {
  content: '— ';
  color: var(--cv-brand);
  font-family: var(--font-display);
  font-weight: 700;
}

/* ---- Section headings ---- */
.cv-section-label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cv-brand);
  margin-bottom: var(--space-sm);
  font-weight: 700;
}
.cv-section-title { font-size: clamp(1.6rem, 3vw, 2.3rem); }

/* ---- Divider ---- */
.cv-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cv-border-strong) 50%, transparent);
  border: none;
  margin: var(--space-xl) 0;
}

/* ---- Scrollbar ---- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cv-bg); }
::-webkit-scrollbar-thumb { background: rgba(var(--cv-brand-rgb), 0.35); border-radius: 6px; border: 2px solid var(--cv-bg); }
::-webkit-scrollbar-thumb:hover { background: var(--cv-brand); }

/* ---- Selection ---- */
::selection { background: rgba(var(--cv-brand-rgb), 0.32); color: var(--cv-text); }

/* ---- Focus ring ---- */
:focus-visible { outline: 2px solid var(--cv-brand); outline-offset: 3px; border-radius: 6px; }

/* ---- Animations ---- */
@keyframes fadeUp   { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes fadeIn   { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideIn  { from { transform: translateX(-20px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes glow     { 0%,100% { box-shadow: 0 0 20px rgba(var(--cv-brand-rgb), 0.15); } 50% { box-shadow: 0 0 38px rgba(var(--cv-brand-rgb), 0.38); } }
@keyframes pulse-border { 0%,100% { border-color: rgba(var(--cv-brand-rgb), 0.15); } 50% { border-color: rgba(var(--cv-brand-rgb), 0.5); } }
@keyframes floaty   { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.animate-fade-up   { animation: fadeUp 0.7s var(--ease-out) both; }
.animate-fade-in   { animation: fadeIn 0.5s ease both; }
.animate-glow      { animation: glow 3.5s ease-in-out infinite; }
.animate-pulse-border { animation: pulse-border 2.5s ease-in-out infinite; }
.animate-floaty    { animation: floaty 6s ease-in-out infinite; }

.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }
.delay-4 { animation-delay: 0.4s; }
.delay-5 { animation-delay: 0.5s; }

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  body::before { animation: none; }
}

/* ---- Print (CV previews, receipts) ---- */
@media print {
  body::before, .cv2cu-ecobar, .cv2cu-header, .cv2cu-footer, #cv2cu-popia { display: none !important; }
  body { background: #fff; color: #000; }
}

/* ---- Community Access bridge — v5.1 ---- */
.cv2cu-access-bridge { padding-top: clamp(42px, 6vw, 76px); padding-bottom: clamp(42px, 6vw, 76px); }
.cv2cu-access-bridge__grid {
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:28px; align-items:center;
  padding:clamp(24px,4vw,42px); border:1px solid var(--cv-border-strong); border-radius:24px;
  background:linear-gradient(135deg, rgba(var(--cv-brand-rgb),.08), rgba(var(--cv-action-rgb),.06));
  box-shadow:0 20px 70px rgba(var(--cv-shadow-rgb),.16);
}
.cv2cu-access-bridge h2 { margin:0 0 12px; max-width:720px; }
.cv2cu-access-bridge p { margin:0; max-width:760px; color:var(--cv-text-soft); }
.cv2cu-access-bridge__actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
@media (max-width:760px) {
  .cv2cu-access-bridge__grid { grid-template-columns:1fr; }
  .cv2cu-access-bridge__actions { justify-content:flex-start; }
}


/* ---- Resource Centre — v5.2 ---- */
.mcb-resource-centre { max-width: 1180px; margin: 0 auto; padding: clamp(26px,4vw,52px) 0; }
.mcb-resource-hero { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; padding:clamp(28px,5vw,54px); border:1px solid var(--cv-border-strong); border-radius:28px; background:linear-gradient(135deg,rgba(var(--cv-brand-rgb),.10),rgba(var(--cv-action-rgb),.06)); box-shadow:0 20px 70px rgba(var(--cv-shadow-rgb),.13); margin-bottom:18px; }
.mcb-resource-hero h1 { max-width:820px; margin:.15em 0 .35em; font-size:clamp(2rem,5vw,3.6rem); }
.mcb-resource-hero p { max-width:760px; color:var(--cv-text-soft); font-size:1.03rem; margin:0; }
.mcb-resource-context { padding:13px 16px; border:1px solid var(--cv-border); border-radius:14px; background:var(--cv-surface); color:var(--cv-text-soft); margin-bottom:18px; }
.mcb-resource-context a { float:right; color:var(--cv-brand); font-weight:700; }
.mcb-resource-filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr) auto; gap:12px; align-items:end; margin:0 0 24px; padding:16px; border:1px solid var(--cv-border); border-radius:18px; background:var(--cv-surface); }
.mcb-resource-filters label { display:grid; gap:7px; color:var(--cv-text-soft); font-size:.82rem; font-weight:700; }
.mcb-resource-filters input,.mcb-resource-filters select { width:100%; min-height:44px; border:1px solid var(--cv-border-strong); border-radius:10px; padding:10px 12px; background:var(--cv-bg); color:var(--cv-text); }
.mcb-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.mcb-resource-card { display:flex; flex-direction:column; gap:10px; min-width:0; padding:22px; border:1px solid var(--cv-border); border-radius:20px; background:var(--cv-surface); box-shadow:0 12px 36px rgba(var(--cv-shadow-rgb),.08); }
.mcb-resource-card__meta { display:flex; flex-wrap:wrap; gap:7px; color:var(--cv-text-soft); font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.mcb-resource-card__meta span:first-child { color:var(--cv-brand); }
.mcb-resource-card h3 { margin:.1em 0; font-size:1.18rem; }
.mcb-resource-card > p { margin:0; color:var(--cv-text-soft); line-height:1.6; }
.mcb-resource-card details { border-top:1px solid var(--cv-border); padding-top:10px; }
.mcb-resource-card summary { cursor:pointer; color:var(--cv-text); font-weight:800; }
.mcb-resource-card details p { color:var(--cv-text-soft); line-height:1.65; }
.mcb-resource-card .cv-btn { align-self:flex-start; margin-top:auto; }
.mcb-resource-centre--compact { padding:0; max-width:none; }
.mcb-resource-centre--compact .mcb-resource-hero,.mcb-resource-centre--compact .mcb-resource-filters { display:none; }
.mcb-resource-centre--compact .mcb-resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mcb-resource-centre--compact .mcb-resource-card { padding:18px; }
@media (max-width:900px) { .mcb-resource-grid,.mcb-resource-centre--compact .mcb-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .mcb-resource-filters { grid-template-columns:1fr 1fr; } .mcb-resource-filters button { grid-column:1/-1; justify-self:start; } }
@media (max-width:620px) { .mcb-resource-grid,.mcb-resource-centre--compact .mcb-resource-grid { grid-template-columns:1fr; } .mcb-resource-filters { grid-template-columns:1fr; } .mcb-resource-context a { float:none; display:block; margin-top:5px; } }


/* ---- Platform-first action map — v5.5 ---- */
.cv2cu-action-map__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.cv2cu-action-map__grid a{display:block;padding:20px;border:1px solid var(--cv-border);border-radius:18px;background:var(--cv-surface);text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.cv2cu-action-map__grid a:hover,.cv2cu-action-map__grid a:focus-visible{transform:translateY(-2px);border-color:var(--cv-border-strong);background:var(--cv-surface-solid)}.cv2cu-action-map__grid strong,.cv2cu-action-map__grid span{display:block}.cv2cu-action-map__grid span{margin-top:6px;color:var(--cv-text-soft);font-size:.88rem;line-height:1.5}.cv2cu-action-map .cv2cu-section__head{max-width:780px}.cv2cu-action-map{padding-top:clamp(34px,5vw,64px);padding-bottom:clamp(34px,5vw,64px)}
@media(max-width:850px){.cv2cu-action-map__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cv2cu-action-map__grid{grid-template-columns:1fr}}

/* Make access language programme-first rather than sales-first. */
.cv2cu-home-access__points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cv2cu-home-access__points>div{padding:13px;border:1px solid var(--cv-border);border-radius:14px;background:rgba(var(--cv-brand-rgb),.04)}.cv2cu-home-access__points strong,.cv2cu-home-access__points span{display:block}.cv2cu-home-access__points span{margin-top:4px;color:var(--cv-text-soft);font-size:.8rem;line-height:1.45}@media(max-width:760px){.cv2cu-home-access__points{grid-template-columns:1fr}}


/* =========================================================
   5.10 · MOBILE-FIRST ACTION NAV + VISUAL DEPTH
   ========================================================= */
/* A little more chroma in the daylight theme without turning the platform
   into a marketing gradient. Large surfaces remain calm; accents do the work. */
:root[data-theme="light"] body,
:root:not([data-theme="dark"]) body { background-image:
    radial-gradient(720px 420px at 4% 18%, rgba(31,184,170,.075), transparent 68%),
    radial-gradient(620px 420px at 96% 42%, rgba(20,102,168,.055), transparent 70%),
    radial-gradient(560px 420px at 62% 96%, rgba(255,156,115,.065), transparent 72%);
}
.cv2cu-section { background: linear-gradient(180deg, transparent 0%, rgba(var(--cv-brand-rgb),.018) 50%, transparent 100%); }
.cv2cu-section:nth-of-type(odd) { background: linear-gradient(135deg, rgba(var(--cv-brand-rgb),.028), transparent 46%, rgba(var(--cv-action-rgb),.018)); }
.cv2cu-section__head h2 { text-shadow: 0 8px 30px rgba(var(--cv-brand-rgb),.10); }
.cv2cu-faq details,
.cv2cu-home-journey__item,
.cv2cu-home-access__points>div,
.cv-card {
    background: linear-gradient(145deg, rgba(var(--cv-fg-rgb),.045), var(--cv-surface));
    box-shadow: 0 18px 48px rgba(var(--cv-shadow-rgb),.10), inset 0 1px 0 rgba(255,255,255,.10);
}
.cv2cu-faq details[open] { border-color: rgba(var(--cv-brand-rgb),.42); box-shadow: 0 20px 56px rgba(var(--cv-brand-rgb),.10); }
.cv2cu-hero__journey-card { border-color: rgba(var(--cv-brand-rgb),.36); background: linear-gradient(145deg, rgba(6,29,37,.94), rgba(11,61,74,.86) 58%, rgba(20,102,168,.46)); }
.cv2cu-closer { background:
    radial-gradient(circle at 12% 10%, rgba(var(--cv-brand-rgb),.16), transparent 38%),
    radial-gradient(circle at 88% 90%, rgba(var(--cv-action-rgb),.13), transparent 42%),
    linear-gradient(135deg, rgba(var(--cv-fg-rgb),.06), rgba(var(--cv-fg-rgb),.02)); }

/* The hamburger becomes a named navigation control on phones. */
.cv2cu-hamburger { width:auto; min-width:92px; height:44px; flex-direction:row; align-items:center; gap:8px; padding:0 13px; border-radius:999px; background:linear-gradient(135deg, rgba(var(--cv-brand-rgb),.14), rgba(var(--cv-action-rgb),.10)); border-color:rgba(var(--cv-brand-rgb),.35); box-shadow:0 8px 26px rgba(var(--cv-brand-rgb),.10); }
.cv2cu-hamburger__icon { display:flex; flex-direction:column; gap:5px; width:20px; flex:0 0 20px; }
.cv2cu-hamburger__label { display:none; font:800 .78rem var(--font-display); letter-spacing:.02em; color:var(--cv-text); }
@media (max-width:900px) { .cv2cu-hamburger__label { display:inline; } }
@media (min-width:901px) { .cv2cu-hamburger__icon { display:flex; } }

/* Mobile menu is an action hub first, traditional navigation second. */
@media (max-width:900px) {
  .cv2cu-nav--open { padding:calc(var(--header-h) + .9rem) 1rem 2rem; background:
      radial-gradient(500px 320px at 10% 4%, rgba(var(--cv-brand-rgb),.12), transparent 70%),
      radial-gradient(420px 300px at 95% 25%, rgba(var(--cv-action-rgb),.09), transparent 72%),
      var(--cv-bg); }
  .cv2cu-nav--open .cv2cu-nav__close { position:absolute; top:calc(var(--header-h) - 2px); right:1rem; z-index:2; background:var(--cv-surface-solid); box-shadow:0 8px 28px rgba(var(--cv-shadow-rgb),.16); }
  .cv2cu-nav--open .cv2cu-nav__list { order:2; padding-top:1rem; margin-top:1rem; border-top:1px solid var(--cv-border); }
  .cv2cu-nav--open .mcb-mobile-action-hub { order:1; }
  .cv2cu-nav--open .cv2cu-nav__mobile-actions { order:3; }
  .cv2cu-nav--open .cv2cu-nav__list li a { font-size:1rem; padding:.72rem .85rem; background:transparent; }
}
@media (min-width:901px) { .mcb-mobile-action-hub { display:none; } }

/* Remove the repeated five-platform showcase from the homepage. The ecosystem
   remains discoverable in the header/footer, but the landing page stays focused. */
.cv2cu-eco--homepage { display:none !important; }

/* =========================================================
   5.11 · CONTEXTUAL MOBILE COMMAND CENTRE
   ========================================================= */
.mcb-mobile-action-hub{position:relative;overflow:hidden;background:
  radial-gradient(420px 240px at 0% 0%,rgba(var(--cv-brand-rgb),.16),transparent 68%),
  radial-gradient(360px 220px at 100% 12%,rgba(var(--cv-action-rgb),.13),transparent 70%),
  linear-gradient(145deg,rgba(var(--cv-fg-rgb),.045),var(--cv-surface) 58%,rgba(var(--cv-brand-rgb),.035));
  border-color:rgba(var(--cv-brand-rgb),.34);}
.mcb-mobile-action-hub:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.14) 48%,transparent 70%);transform:translateX(-55%);animation:mcbHubSheen 9s ease-in-out infinite;}
.mcb-mobile-action-hub__intro,.mcb-mobile-action-hub__search,.mcb-mobile-next,.mcb-mobile-action-hub__grid,.mcb-mobile-action-hub__foot{position:relative;z-index:1;}
.mcb-mobile-action-hub__intro h2{font-size:clamp(1.8rem,8vw,2.45rem);letter-spacing:-.035em;}
.mcb-mobile-next{display:grid;grid-template-columns:1fr auto;gap:.25rem .8rem;align-items:center;margin:.8rem 0 1rem;padding:1rem 1.05rem;border:1px solid rgba(var(--cv-brand-rgb),.36);border-radius:18px;background:linear-gradient(135deg,rgba(var(--cv-brand-rgb),.14),rgba(var(--cv-sky-rgb),.08) 52%,rgba(var(--cv-action-rgb),.09));box-shadow:0 16px 42px rgba(var(--cv-brand-rgb),.12);text-decoration:none;color:var(--cv-text);}
.mcb-mobile-next:after{content:"→";grid-column:2;grid-row:1 / span 2;font-size:1.35rem;font-weight:900;color:var(--cv-brand);}
.mcb-mobile-next__label{grid-column:1;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--cv-brand);}
.mcb-mobile-next strong{grid-column:1;font:800 1rem/1.2 var(--font-display);}
.mcb-mobile-next small{grid-column:1;color:var(--cv-text-soft);font-size:.72rem;line-height:1.35;}
.mcb-mobile-action{background:linear-gradient(145deg,rgba(var(--cv-fg-rgb),.045),rgba(var(--cv-brand-rgb),.025));box-shadow:0 8px 22px rgba(var(--cv-shadow-rgb),.06);}
.mcb-mobile-action:nth-child(1){border-color:rgba(var(--cv-brand-rgb),.34);background:linear-gradient(145deg,rgba(var(--cv-brand-rgb),.11),rgba(var(--cv-fg-rgb),.025));}
@keyframes mcbHubSheen{0%,60%,100%{transform:translateX(-65%)}78%{transform:translateX(65%)}}
@media(max-width:560px){.mcb-mobile-next{grid-template-columns:1fr auto;padding:.95rem}.mcb-mobile-action-hub{border-radius:22px;box-shadow:0 22px 70px rgba(var(--cv-shadow-rgb),.16)} }
@media(prefers-reduced-motion:reduce){.mcb-mobile-action-hub:before{animation:none}.mcb-mobile-next,.mcb-mobile-action{transition:none}}


/* =========================================================
   CV2CU 5.12 — Adaptive mobile command centre
   ========================================================= */
.mcb-mobile-action-hub{background:
  radial-gradient(520px 300px at 5% 0%,rgba(var(--cv-brand-rgb),.14),transparent 68%),
  radial-gradient(420px 260px at 100% 15%,rgba(var(--cv-action-rgb),.16),transparent 70%),
  linear-gradient(145deg,rgba(var(--cv-fg-rgb),.055),rgba(var(--cv-brand-rgb),.055) 52%,rgba(var(--cv-sky-rgb),.045));
  border:1px solid rgba(var(--cv-brand-rgb),.22);box-shadow:0 28px 90px rgba(var(--cv-shadow-rgb),.18);}
.mcb-mobile-action-hub__section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.1rem 0 .65rem;padding:0 .1rem;color:var(--cv-text);}
.mcb-mobile-action-hub__section-head span{font:800 .82rem var(--font-display);text-transform:uppercase;letter-spacing:.13em;}
.mcb-mobile-action-hub__section-head small{color:var(--cv-text-soft);font-size:.75rem;}
.mcb-mobile-action-hub__grid--primary{grid-template-columns:1fr 1fr;gap:.65rem;}
.mcb-mobile-action-hub__grid--primary .mcb-mobile-action{min-height:108px;padding:1rem;}
.mcb-mobile-action-hub__grid--primary .mcb-mobile-action strong{font-size:1rem;}
.mcb-mobile-next{position:relative;overflow:hidden;}
.mcb-mobile-next:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.16) 48%,transparent 72%);transform:translateX(-80%);animation:mcbNextSheen 8s ease-in-out infinite;pointer-events:none;}
.mcb-mobile-next__arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.35rem;color:var(--cv-action);font-weight:900;}
.mcb-mobile-more{margin-top:.85rem;border:1px solid var(--cv-border);border-radius:17px;background:rgba(var(--cv-fg-rgb),.035);overflow:hidden;}
.mcb-mobile-more summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;cursor:pointer;list-style:none;font-weight:800;color:var(--cv-text);}
.mcb-mobile-more summary::-webkit-details-marker{display:none;}
.mcb-mobile-more summary span:last-child{font-size:1.25rem;color:var(--cv-brand);transition:transform .2s ease;}
.mcb-mobile-more[open] summary span:last-child{transform:rotate(45deg);}
.mcb-mobile-more__list{display:grid;gap:.45rem;padding:0 .55rem .55rem;}
.mcb-mobile-more__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.82rem .85rem;border-radius:13px;background:rgba(var(--cv-fg-rgb),.035);text-decoration:none;color:var(--cv-text);}
.mcb-mobile-more__item:hover,.mcb-mobile-more__item:focus-visible{background:rgba(var(--cv-brand-rgb),.08);}
.mcb-mobile-more__item strong,.mcb-mobile-more__item small{display:block;}
.mcb-mobile-more__item small{margin-top:.18rem;color:var(--cv-text-soft);font-size:.76rem;line-height:1.35;}
.mcb-mobile-more__item b{color:var(--cv-action);font-size:1.1rem;}
@keyframes mcbNextSheen{0%,62%{transform:translateX(-80%)}82%,100%{transform:translateX(90%)}}
@media(max-width:560px){
 .mcb-mobile-action-hub{padding:1.05rem;border-radius:24px;}
 .mcb-mobile-action-hub__grid--primary .mcb-mobile-action{min-height:104px;}
 .mcb-mobile-next{padding:1rem 2.9rem 1rem 1rem;}
}
@media(prefers-reduced-motion:reduce){.mcb-mobile-next:before{animation:none}.mcb-mobile-more summary span:last-child{transition:none}}

/* The ecosystem remains discoverable without repeating five platform pills on phones. */
@media(max-width:900px){
 .cv2cu-ecobar__links{display:none!important;}
 .cv2cu-ecobar__msg{justify-content:center;width:100%;}
 .cv2cu-ecobar__msg a{font-weight:800;}
}

/* --------------------------------------------------------------------------
   5.13 · ADAPTIVE DESKTOP DASHBOARD — TODAY / NEXT / EXPLORE
   -------------------------------------------------------------------------- */
.mcb-dashboard-triad{display:grid;grid-template-columns:minmax(1.15fr,1fr) minmax(.9fr,1fr) minmax(1fr,1fr);gap:14px;margin:18px 0 24px}
.mcb-dashboard-triad>article{position:relative;overflow:hidden;min-height:220px;padding:24px;border:1px solid var(--cv-border);border-radius:24px;background:linear-gradient(145deg,rgba(var(--cv-fg-rgb),.045),rgba(var(--cv-brand-rgb),.035));box-shadow:0 16px 48px rgba(var(--cv-shadow-rgb),.08)}
.mcb-dashboard-triad>article:after{content:"";position:absolute;inset:auto -20% -55% 35%;height:150px;background:radial-gradient(circle,rgba(var(--cv-action-rgb),.13),transparent 68%);pointer-events:none}
.mcb-dashboard-triad__today{background:linear-gradient(145deg,rgba(var(--cv-brand-rgb),.13),rgba(var(--cv-sky-rgb),.055) 55%,rgba(var(--cv-action-rgb),.055))!important;border-color:rgba(var(--cv-brand-rgb),.25)!important}
.mcb-dashboard-triad__next{background:linear-gradient(145deg,rgba(var(--cv-action-rgb),.105),rgba(var(--cv-fg-rgb),.035))!important;border-color:rgba(var(--cv-action-rgb),.25)!important}
.mcb-dashboard-triad h2{position:relative;z-index:1;margin:.25rem 0 .65rem;font-size:clamp(1.3rem,2.2vw,1.75rem);letter-spacing:-.025em}
.mcb-dashboard-triad p{position:relative;z-index:1;color:var(--cv-text-soft);line-height:1.65;margin:0 0 1rem}
.mcb-dashboard-triad__meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:1.25rem}
.mcb-dashboard-triad__meta span{padding:8px 11px;border:1px solid var(--cv-border);border-radius:999px;background:rgba(var(--cv-fg-rgb),.035);font-size:.78rem;color:var(--cv-text-soft)}
.mcb-dashboard-triad__meta strong{color:var(--cv-text);font-weight:850}
.mcb-dashboard-triad__next .cv-btn{position:relative;z-index:1;margin-top:.4rem}
.mcb-dashboard-explore-links{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.mcb-dashboard-explore-links a{display:block;padding:11px 12px;border:1px solid var(--cv-border);border-radius:14px;background:rgba(var(--cv-fg-rgb),.035);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.mcb-dashboard-explore-links a:hover,.mcb-dashboard-explore-links a:focus-visible{transform:translateY(-2px);border-color:var(--cv-border-strong);background:rgba(var(--cv-brand-rgb),.06)}
.mcb-dashboard-explore-links strong,.mcb-dashboard-explore-links span{display:block}
.mcb-dashboard-explore-links strong{font-size:.9rem;color:var(--cv-text)}
.mcb-dashboard-explore-links span{margin-top:3px;font-size:.72rem;color:var(--cv-text-soft)}
@media(max-width:1050px){.mcb-dashboard-triad{grid-template-columns:1fr 1fr}.mcb-dashboard-triad__today{grid-column:1/-1}}
@media(max-width:650px){.mcb-dashboard-triad{grid-template-columns:1fr;gap:10px}.mcb-dashboard-triad__today{grid-column:auto}.mcb-dashboard-triad>article{min-height:auto;padding:20px;border-radius:20px}.mcb-dashboard-explore-links{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.mcb-dashboard-explore-links a{transition:none}}


/* --------------------------------------------------------------------------
   5.14 · PERSONAL WORK QUEUE — TODAY'S ACTIONS
   -------------------------------------------------------------------------- */
.mcb-work-queue{position:relative;overflow:hidden;margin:18px 0 26px;padding:24px;border:1px solid rgba(var(--cv-brand-rgb),.20);border-radius:26px;background:
  radial-gradient(460px 260px at 0% 0%,rgba(var(--cv-brand-rgb),.12),transparent 70%),
  radial-gradient(380px 220px at 100% 100%,rgba(var(--cv-action-rgb),.10),transparent 70%),
  linear-gradient(145deg,rgba(var(--cv-fg-rgb),.045),rgba(var(--cv-brand-rgb),.035) 52%,rgba(var(--cv-sky-rgb),.03));
  box-shadow:0 20px 70px rgba(var(--cv-shadow-rgb),.09);}
.mcb-work-queue__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:14px;}
.mcb-work-queue__head h2{margin:.2rem 0 .45rem;font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:-.03em;}
.mcb-work-queue__head p{max-width:720px;margin:0;line-height:1.6;}
.mcb-work-queue__count{flex:0 0 auto;padding:8px 11px;border:1px solid var(--cv-border);border-radius:999px;background:rgba(var(--cv-fg-rgb),.035);font-size:.76rem;font-weight:800;color:var(--cv-text-soft);}
.mcb-work-queue__items{display:grid;gap:8px;}
.mcb-work-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--cv-border);border-radius:17px;background:rgba(var(--cv-fg-rgb),.035);color:var(--cv-text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;}
.mcb-work-item:hover,.mcb-work-item:focus-visible{transform:translateY(-2px);border-color:var(--cv-border-strong);background:rgba(var(--cv-brand-rgb),.055);box-shadow:0 12px 28px rgba(var(--cv-shadow-rgb),.08);}
.mcb-work-item__index{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(var(--cv-brand-rgb),.10);color:var(--cv-brand);font:800 .72rem var(--font-display);}
.mcb-work-item__copy{min-width:0;}
.mcb-work-item__state{display:block;margin-bottom:2px;font:800 .63rem var(--font-display);text-transform:uppercase;letter-spacing:.13em;color:var(--cv-text-soft);}
.mcb-work-item strong{display:block;font:800 .98rem/1.25 var(--font-display);}
.mcb-work-item small{display:block;margin-top:3px;color:var(--cv-text-soft);font-size:.76rem;line-height:1.45;}
.mcb-work-item>b{font-size:1.2rem;color:var(--cv-brand);}
.mcb-work-item--action .mcb-work-item__index{background:rgba(var(--cv-action-rgb),.13);color:var(--cv-action);}
.mcb-work-item--sky .mcb-work-item__index{background:rgba(var(--cv-sky-rgb),.13);color:var(--cv-sky);}
.mcb-work-item--mint .mcb-work-item__index{background:rgba(var(--cv-brand-rgb),.13);color:var(--cv-brand);}
.mcb-work-queue--compact{margin:0 0 12px;padding:12px;border-radius:18px;background:rgba(var(--cv-fg-rgb),.035);box-shadow:none;}
.mcb-work-queue--compact .mcb-work-queue__head{margin-bottom:8px;align-items:center;}
.mcb-work-queue--compact .mcb-work-queue__head h2{font-size:1rem;margin:.15rem 0 0;}
.mcb-work-queue--compact .mcb-work-queue__head .cv-section-label{font-size:.62rem;}
.mcb-work-queue--compact .mcb-work-item{grid-template-columns:30px 1fr auto;padding:9px 10px;border-radius:13px;gap:8px;}
.mcb-work-queue--compact .mcb-work-item__index{width:28px;height:28px;border-radius:9px;font-size:.62rem;}
.mcb-work-queue--compact .mcb-work-item strong{font-size:.84rem;}
.mcb-work-queue--compact .mcb-work-item small{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mcb-work-queue--compact .mcb-work-item__state{font-size:.56rem;}
@media(max-width:650px){
 .mcb-work-queue{padding:18px;border-radius:21px;}
 .mcb-work-queue__head{align-items:start;}
 .mcb-work-queue__count{display:none;}
 .mcb-work-item{grid-template-columns:34px 1fr auto;padding:12px;gap:9px;}
 .mcb-work-item__index{width:30px;height:30px;}
 .mcb-work-item small{font-size:.72rem;}
}
@media(prefers-reduced-motion:reduce){.mcb-work-item{transition:none}}

/* v5.15 personal workspace: quiet progress feedback */
.mcb-recent-progress{position:relative;overflow:hidden;margin:18px 0 26px;padding:24px;border:1px solid rgba(var(--cv-brand-rgb),.18);border-radius:26px;background:linear-gradient(135deg,rgba(var(--cv-brand-rgb),.075),rgba(var(--cv-sky-rgb),.045) 48%,rgba(var(--cv-action-rgb),.055));box-shadow:0 18px 46px rgba(var(--cv-shadow-rgb),.055)}
.mcb-recent-progress:after{content:"";position:absolute;inset:auto -8% -65% 42%;height:180px;background:radial-gradient(circle,rgba(var(--cv-action-rgb),.13),transparent 68%);pointer-events:none}
.mcb-recent-progress__head{position:relative;z-index:1;margin-bottom:14px}.mcb-recent-progress__head h2{margin:.2rem 0 .45rem;font-size:clamp(1.35rem,2.3vw,1.9rem);letter-spacing:-.03em}.mcb-recent-progress__head p{margin:0;max-width:720px;line-height:1.6}
.mcb-recent-progress__items{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mcb-progress-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-width:0;padding:12px 13px;border:1px solid var(--cv-border);border-radius:16px;background:rgba(var(--cv-fg-rgb),.04);color:var(--cv-text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.mcb-progress-item:hover,.mcb-progress-item:focus-visible{transform:translateY(-2px);border-color:rgba(var(--cv-brand-rgb),.35);background:rgba(var(--cv-brand-rgb),.065)}
.mcb-progress-item__mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(var(--cv-brand-rgb),.13);color:var(--cv-brand);font-weight:900}.mcb-progress-item__copy{min-width:0}.mcb-progress-item strong,.mcb-progress-item small{display:block}.mcb-progress-item strong{font:800 .9rem/1.25 var(--font-display)}.mcb-progress-item small{margin-top:3px;color:var(--cv-text-soft);font-size:.72rem;line-height:1.4}.mcb-progress-item time{font-size:.65rem;color:var(--cv-text-soft);white-space:nowrap}
.mcb-recent-progress--compact{margin:0;padding:12px;border-radius:18px;box-shadow:none}.mcb-recent-progress--compact .mcb-recent-progress__head{margin-bottom:8px}.mcb-recent-progress--compact .mcb-recent-progress__head h2{font-size:1rem}.mcb-recent-progress--compact .mcb-recent-progress__items{grid-template-columns:1fr}.mcb-recent-progress--compact .mcb-progress-item{padding:9px 10px}.mcb-recent-progress--compact .mcb-progress-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:650px){.mcb-recent-progress{padding:18px;border-radius:21px}.mcb-recent-progress__items{grid-template-columns:1fr}.mcb-progress-item{grid-template-columns:30px 1fr auto;padding:11px}.mcb-progress-item time{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.mcb-progress-item{transition:none}}


/* =========================================================
   5.16 · CV2CU SIGNATURE ELEVATION
   A quieter premium layer: luminous depth, editorial type,
   tactile controls and stronger accessibility without changing
   the platform's core visual language.
   ========================================================= */
:root{
  --cv-max: 1240px;
  --cv-hairline: rgba(var(--cv-fg-rgb),.085);
  --cv-focus: 0 0 0 4px rgba(var(--cv-brand-rgb),.13),0 0 0 1px rgba(var(--cv-brand-rgb),.55);
  --cv-glow: 0 18px 70px rgba(var(--cv-brand-rgb),.08);
}
html{scrollbar-gutter:stable}
body{letter-spacing:-.006em}
::selection{background:rgba(var(--cv-brand-rgb),.28);color:var(--cv-text)}
a{transition:color .2s ease,opacity .2s ease}
:focus-visible{outline:none;box-shadow:var(--cv-focus);border-radius:8px}
.cv-btn,.cv2cu-btn,.button,.wp-block-button__link{font-family:var(--font-display);font-weight:800;letter-spacing:-.012em}
.cv-card,.cv2cu-pricing__card,.cv2cu-stat-card,.mcb-dashboard-triad>article,.mcb-work-queue,.mcb-recent-progress{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cv-card{box-shadow:0 16px 46px rgba(var(--cv-shadow-rgb),.10)}
.cv-card:hover{box-shadow:0 24px 70px rgba(var(--cv-shadow-rgb),.16),0 0 0 1px rgba(var(--cv-brand-rgb),.10)}
.cv2cu-header--scrolled{box-shadow:0 12px 40px rgba(var(--cv-shadow-rgb),.16)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.cv2cu-nav a{font-family:var(--font-display);font-weight:750}
.mcb-dashboard-triad>article,.mcb-work-queue,.mcb-recent-progress{isolation:isolate}
.mcb-dashboard-triad>article:before,.mcb-work-queue:before,.mcb-recent-progress:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(var(--cv-brand-rgb),.07),transparent 38%,rgba(var(--cv-action-rgb),.04));opacity:.7;z-index:-1}
.cv2cu-section-heading h2,.cv-section-title{font-family:var(--font-display);font-weight:850;letter-spacing:-.045em}
.cv2cu-hero h1,.hero h1{font-family:var(--font-display);font-weight:850;letter-spacing:-.055em;text-wrap:balance}
.cv2cu-hero p,.hero p{max-width:68ch}
.cv2cu-nav__close{font-family:var(--font-display);font-weight:800}
/* subtle top-of-page progress rail */
.cv2cu-scroll-progress{position:fixed;left:0;top:0;height:2px;width:0;z-index:100000;background:linear-gradient(90deg,var(--cv-brand),var(--cv-sky),var(--cv-action));box-shadow:0 0 18px rgba(var(--cv-brand-rgb),.42);pointer-events:none}
/* command palette */
.cv2cu-command{position:fixed;inset:0;z-index:100100;display:grid;place-items:start center;padding:clamp(72px,12vh,140px) 16px 24px;background:rgba(2,13,17,.58);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cv2cu-command[hidden]{display:none}
.cv2cu-command__dialog{width:min(720px,100%);max-height:min(72vh,720px);overflow:hidden;border:1px solid var(--cv-border-strong);border-radius:24px;background:var(--cv-surface-solid);box-shadow:0 36px 120px rgba(var(--cv-shadow-rgb),.38)}
.cv2cu-command__top{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--cv-border)}
.cv2cu-command__input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:var(--cv-text);font:700 1rem var(--font-body);box-shadow:none!important}
.cv2cu-command__hint{font:800 .65rem var(--font-display);padding:5px 8px;border:1px solid var(--cv-border);border-radius:8px;color:var(--cv-text-soft);white-space:nowrap}
.cv2cu-command__list{max-height:55vh;overflow:auto;padding:8px}
.cv2cu-command__item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--cv-text);text-align:left;text-decoration:none;cursor:pointer}
.cv2cu-command__item:hover,.cv2cu-command__item.is-active{background:rgba(var(--cv-brand-rgb),.08);border-color:rgba(var(--cv-brand-rgb),.16)}
.cv2cu-command__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(var(--cv-brand-rgb),.10);color:var(--cv-brand);font-weight:900}
.cv2cu-command__copy{min-width:0}.cv2cu-command__copy strong,.cv2cu-command__copy small{display:block}.cv2cu-command__copy strong{font:800 .9rem var(--font-display)}.cv2cu-command__copy small{margin-top:2px;color:var(--cv-text-soft);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv2cu-command__empty{padding:28px;text-align:center;color:var(--cv-text-soft);font-size:.85rem}
@media(max-width:650px){.cv2cu-command{padding:62px 10px 10px}.cv2cu-command__hint{display:none}.cv2cu-command__dialog{border-radius:20px}.cv2cu-command__item{padding:11px}.cv2cu-command__list{max-height:62vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cv-card,.cv2cu-nav a,.cv-btn,a{transition:none!important}.cv2cu-command{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media print{.cv2cu-scroll-progress,.cv2cu-command{display:none!important}body:before{display:none!important}}


/* =========================================================
   5.20 · MOBILE NAV + BEYOND THE CV STABILITY
   Final override layer for the flagship platform shell.
   ========================================================= */
@media (max-width:900px) {
    /* The menu is a true mobile command surface: one scroll container, no nested
       workspace queue, and no automatic focus into the search field. */
    .cv2cu-nav--open {
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-gutter: stable;
        padding-top: calc(var(--header-h) + 1rem);
    }
    .cv2cu-nav--open .mcb-mobile-action-hub {
        flex: 0 0 auto;
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
    }
    .mcb-mobile-action-hub__search input:focus {
        outline: 3px solid rgba(var(--cv-brand-rgb),.20);
        outline-offset: 1px;
    }
    .cv2cu-nav--open .cv2cu-nav__list {
        width:100%;
        max-width:760px;
        margin-inline:auto;
    }
    .cv2cu-nav--open .cv2cu-nav__mobile-actions {
        width:100%;
        max-width:760px;
        margin-inline:auto;
    }
}

/* Beyond the CV: mobile is a deliberate swipe rail, never an ambient conveyor. */
@media (max-width:760px) {
    .cv2cu-opportunities .cv2cu-section__head h2 {
        text-wrap:balance;
    }
    .cv2cu-rail {
        touch-action: pan-x pinch-zoom;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-top: .65rem;
        padding-bottom: .85rem;
    }
    .cv2cu-rail__track {
        gap: .8rem;
        padding-inline: .05rem .85rem;
    }
    .cv2cu-opportunity-card {
        width: min(82vw, 310px);
        scroll-snap-align: start;
        scroll-snap-stop: always;
        transform: none !important;
    }
    .cv2cu-opportunity-card:active {
        transform: scale(.992) !important;
    }
    .cv2cu-rail__hint span:last-child {
        opacity:.65;
        letter-spacing:.12em;
    }
}
@media (prefers-reduced-motion:reduce) {
    .cv2cu-rail { scroll-behavior:auto; }
}


/* =========================================================
   5.21 · CONTEXT-AWARE MOBILE EXPLORE
   ========================================================= */
@media (max-width:900px) {
  .cv2cu-nav--open { height:100dvh; max-height:100dvh; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; touch-action:pan-y; }
  .cv2cu-nav--open .mcb-mobile-action-hub { margin-bottom:1.1rem; }
  .mcb-mobile-action-hub__intro p { max-width:48rem; }
  .mcb-mobile-action-hub__section-head { position:relative; }
  .mcb-mobile-action-hub__section-head span { letter-spacing:.11em; }
  .mcb-mobile-action[data-action-key="cv"] { border-color:rgba(var(--cv-brand-rgb),.34); }
  .mcb-mobile-action[data-action-key="opportunity"] { border-color:rgba(var(--cv-action-rgb),.28); }
  .mcb-mobile-action:focus-visible { position:relative; z-index:2; }
}
@media (max-width:560px) {
  .mcb-mobile-action-hub__grid--primary { grid-template-columns:1fr 1fr; }
  .mcb-mobile-action-hub__grid--primary .mcb-mobile-action { min-height:112px; }
  .mcb-mobile-action-hub__section-head small { font-size:.7rem; }
  /* Keep the expanded hamburger as one scroll surface. Nested scrolling here
     made the bottom of the action list difficult to reach on touch devices. */
  .mcb-mobile-more__list { max-height:none; overflow:visible; overscroll-behavior:auto; }
  .mcb-mobile-more { overflow:visible; }
}

/* Keep the Journey destination visible when the dashboard is reached from command navigation. */
#journey{scroll-margin-top:6rem}


/* CV2CU Stage 11 reliability + narrow-screen containment */
.cv2cu-dashboard, .mcb-command-centre, .mcb-app-shell, .cv2cu-builder, .mcb-builder, .mcb-access-wallet, .mcb-redeem, .mcb-job-board { min-width: 0; max-width: 100%; }
.cv2cu-dashboard *, .mcb-command-centre *, .mcb-app-shell *, .cv2cu-builder *, .mcb-builder *, .mcb-access-wallet *, .mcb-redeem *, .mcb-job-board * { min-width: 0; max-width: 100%; box-sizing: border-box; }
.cv2cu-dashboard img, .mcb-app-shell img, .cv2cu-builder img, .mcb-builder img, .mcb-job-board img, .cv2cu-dashboard iframe, .mcb-app-shell iframe { max-width: 100%; }
.cv2cu-dashboard input, .cv2cu-dashboard select, .cv2cu-dashboard textarea, .mcb-builder input, .mcb-builder select, .mcb-builder textarea, .mcb-redeem input, .mcb-job-board input, .mcb-job-board select { min-width: 0; max-width: 100%; }
.mcb-cv-card__actions, .mcb-dash-head, .mcb-command-centre__actions, .mcb-health-actions { min-width: 0; }
@media (max-width: 620px) {
  .mcb-command-centre__actions, .mcb-dash-head, .mcb-cv-card__actions { width: 100%; }
  .mcb-command-centre__actions .cv-btn, .mcb-dash-head .cv-btn { max-width: 100%; }
  .mcb-cv-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .mcb-cv-card__actions .cv-btn { width: 100%; min-width: 0; }
  .mcb-redeem__row { grid-template-columns: 1fr; }
}
