/*
Theme Name:  VMY Theme Child
Template:    vmy-theme
Description: Child theme for VMY — CSS customisations go here, never in parent theme
Version:     1.0.0
Author:      Brand Core Media
*/

/* =============================================================
   COLOUR CUSTOMISATION
   ============================================================= */
:root {
  --c-saffron: #E63B1E;
}

/* =============================================================
   LDR-CLOSING — Three Pillars
   ============================================================= */
.vmy-ldr-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 56px;
}
.vmy-ldr-pillar {
  border-top: 3px solid var(--c-saffron, #E63B1E);
  padding: 28px 0 0;
}
.vmy-ldr-pillar--maroon { border-top-color: var(--c-maroon, #3E1A3E); }
.vmy-ldr-pillar--plum   { border-top-color: var(--c-plum,   #2A1B5C); }
.vmy-ldr-pillar-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 26px; font-weight: 400;
  color: var(--c-ink, #1F1733);
  letter-spacing: -0.02em; margin: 0 0 12px;
}
.vmy-ldr-pillar-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.7;
  color: var(--c-inkSoft, #4A3E5C); margin: 0;
}

/* =============================================================
   LEADERSHIP PAGE
   ============================================================= */
.vmy-ldr-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(32px, 4.5vw, 60px); font-weight: 400;
  color: var(--c-ink, #1F1733);
  line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 24px;
}
.vmy-ldr-h2 em { color: var(--c-saffron, #E63B1E); font-style: italic; }
.vmy-ldr-opening-body .wpb_wrapper p,
.vmy-ldr-opening-body p {
  font-size: 16px; line-height: 1.75;
  color: var(--c-inkSoft, #4A3E5C);
  font-family: 'Inter Tight', sans-serif; margin: 0 0 16px;
}
.vmy-ldr-opening-body .wpb_wrapper p:last-child { margin-bottom: 0; }
.vmy-ldr-stats-col { display: flex; flex-direction: column; gap: 14px; }
.vmy-ldr-stat-card { border-radius: 14px; padding: 24px 28px; display: flex; align-items: center; gap: 20px; }
.vmy-ldr-stat-card--plum  { background: var(--c-plum,  #2A1B5C); }
.vmy-ldr-stat-card--bgalt { background: var(--c-bgAlt, #E4DBCB); }
.vmy-ldr-stat-card--ink   { background: var(--c-ink,   #1F1733); }
.vmy-ldr-stat-num { font-family: 'Fraunces', Georgia, serif; font-size: 44px; font-weight: 400; color: var(--c-gold, #F5B22F); line-height: 1; letter-spacing: -0.03em; flex-shrink: 0; }
.vmy-ldr-stat-num--saffron { color: var(--c-saffron, #E63B1E); }
.vmy-ldr-stat-label { font-size: 14px; font-weight: 600; color: var(--c-cream, #F4E9D8); font-family: 'Inter Tight', sans-serif; margin-bottom: 3px; }
.vmy-ldr-stat-label--dark { color: var(--c-ink, #1F1733); }
.vmy-ldr-stat-sub { font-size: 12px; color: rgba(244,233,216,0.6); font-family: 'Inter Tight', sans-serif; }
.vmy-ldr-stat-sub--dark { color: var(--c-inkSoft, #4A3E5C); }
.vmy-ldr-img { border-radius: 20px; overflow: hidden; display: block; }
.vmy-ldr-caption { text-align: center; margin-top: 20px; }
.vmy-ldr-caption-name { font-family: 'Fraunces', Georgia, serif; font-size: 20px; font-weight: 400; color: var(--c-ink, #1F1733); margin-bottom: 4px; }
.vmy-ldr-caption--light .vmy-ldr-caption-name { color: var(--c-cream, #F4E9D8); }
.vmy-ldr-caption-name--dark { color: var(--c-ink, #1F1733); }
.vmy-ldr-caption-role { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; font-family: 'Inter Tight', sans-serif; color: var(--c-saffron, #E63B1E); }
.vmy-ldr-caption-role--gold    { color: var(--c-gold,    #F5B22F); }
.vmy-ldr-caption-role--saffron { color: var(--c-saffron, #E63B1E); }
.vmy-ldr-tag--gold { color: var(--c-gold, #F5B22F) !important; background: rgba(245,178,47,0.12) !important; border: 1px solid rgba(245,178,47,0.2) !important; }
.vmy-ldr-pullquote { font-family: 'Fraunces', Georgia, serif; font-size: clamp(18px,2vw,22px); font-weight: 400; line-height: 1.45; letter-spacing: -0.01em; margin: 0 0 24px; padding-bottom: 24px; border-bottom: 2px solid var(--c-saffron, #E63B1E); }
.vmy-ldr-pullquote--light { color: var(--c-cream, #F4E9D8); }
.vmy-ldr-pullquote--dark  { color: var(--c-ink,   #1F1733); }
.vmy-ldr-body .wpb_wrapper p,
.vmy-ldr-body p { font-size: 15px; line-height: 1.78; color: var(--c-inkSoft, #4A3E5C); font-family: 'Inter Tight', sans-serif; margin: 0 0 16px; }
.vmy-ldr-body .wpb_wrapper p:last-child,
.vmy-ldr-body p:last-child { margin-bottom: 0; }
.vmy-ldr-body--light .wpb_wrapper p,
.vmy-ldr-body--light p { color: rgba(244,233,216,0.75); }
.vmy-ldr-blockquote { border-left: 3px solid var(--c-saffron, #E63B1E); padding: 22px 26px; border-radius: 0 12px 12px 0; margin-bottom: 28px; background: var(--c-bgAlt, #E4DBCB); }
.vmy-ldr-blockquote--gold    { background: rgba(244,233,216,0.06); border-left-color: var(--c-gold, #F5B22F); }
.vmy-ldr-blockquote--saffron { background: var(--c-bgAlt, #E4DBCB); border-left-color: var(--c-saffron, #E63B1E); }
.vmy-ldr-blockquote-text { font-family: 'Fraunces', Georgia, serif; font-size: clamp(17px,1.8vw,22px); font-style: italic; color: var(--c-cream, #F4E9D8); margin: 0 0 10px; line-height: 1.4; }
.vmy-ldr-blockquote-text--dark { color: var(--c-ink, #1F1733); }
.vmy-ldr-cite { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-style: normal; font-family: 'Inter Tight', sans-serif; font-weight: 700; display: block; }
.vmy-ldr-cite--gold    { color: var(--c-gold,    #F5B22F); }
.vmy-ldr-cite--saffron { color: var(--c-saffron, #E63B1E); }

/* =============================================================
   COACH PAGE — helper classes
   ============================================================= */
.vmy-coach-tag--gold {
  color: var(--c-gold, #F5B22F) !important;
  background: rgba(245,178,47,0.12) !important;
  border: 1px solid rgba(245,178,47,0.2) !important;
}
.vmy-coach-p--hero .wpb_wrapper p,
.vmy-coach-p--hero p {
  color: rgba(244,233,216,0.82) !important; font-size: 16px !important;
  max-width: 680px; margin: 0 0 28px;
  font-family: 'Inter Tight', sans-serif; line-height: 1.7;
}
.vmy-coach-p--dark .wpb_wrapper p,
.vmy-coach-p--dark p {
  color: var(--c-inkSoft, #4A3E5C) !important; max-width: 820px;
  font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.75; margin: 0 0 16px;
}
.vmy-coach-p--center .wpb_wrapper p,
.vmy-coach-p--center p {
  color: rgba(244,233,216,0.7) !important; text-align: center;
  max-width: 580px; margin: 0 auto 28px;
  font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.7;
}
.vmy-coach-p--note .wpb_wrapper p,
.vmy-coach-p--note p {
  color: var(--c-inkSoft, #4A3E5C) !important; margin-top: 20px;
  font-style: italic; font-size: 14px; font-family: 'Inter Tight', sans-serif;
}

/* =============================================================
   BASIC ACTIVATION — who-cards 2x2 grid
   ============================================================= */
.vmy-prog-who,
div.vmy-prog-who {
  grid-template-columns: repeat(2, 1fr) !important;
}

/* =============================================================
   AATMADARPAN — journey steps on dark plum bg
   ============================================================= */
#prog-process .vmy-journey-title  { color: #F4E9D8 !important; }
#prog-process .vmy-journey-desc   { color: rgba(244,233,216,0.75) !important; }
#prog-process .vmy-journey-num    { color: var(--c-gold, #F5B22F) !important; border-color: rgba(245,178,47,0.3) !important; }

/* =============================================================
   MOBILE NAV — hamburger show/hide + themed button
   ============================================================= */
@media (max-width: 980px) {
  .vmy-nav__links { display: none !important; }
  .vmy-nav__cta   { display: none !important; }

  /* Nav inner: logo left, burger right, vertically centred */
  .vmy-nav__inner {
    padding: 0 20px !important;
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }
  .vmy-nav__logo {
    margin-right: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin-top: 0 !important;
    overflow: visible !important;
  }
  /* Logo height on mobile controlled by VMY Customisation → Mobile Logo Height */
  /* The inline style from wp_head (step 5 in child functions.php) handles this */

  /* Themed hamburger box */
  .vmy-nav__burger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: rgba(230,59,30,0.08) !important;
    border: 1.5px solid rgba(230,59,30,0.22) !important;
    flex-shrink: 0 !important;
    margin-left: 0 !important;
    transition: background .2s, border-color .2s !important;
    position: relative !important;
  }
  .vmy-nav__burger:hover,
  .vmy-nav__burger[aria-expanded="true"] {
    background: rgba(230,59,30,0.15) !important;
    border-color: rgba(230,59,30,0.4) !important;
  }

  /* Three saffron bars */
  .vmy-nav__burger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: var(--c-saffron, #E63B1E) !important;
    border-radius: 2px !important;
    transition: transform .28s ease, opacity .2s ease, width .2s ease !important;
    position: absolute !important;
  }
  .vmy-nav__burger span:nth-child(1) { transform: translateY(-6px) !important; }
  .vmy-nav__burger span:nth-child(2) { width: 13px !important; }
  .vmy-nav__burger span:nth-child(3) { transform: translateY(6px) !important; }

  /* Animates to × when open */
  .vmy-nav__burger[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(0) rotate(45deg) !important;
    width: 20px !important;
  }
  .vmy-nav__burger[aria-expanded="true"] span:nth-child(2) {
    opacity: 0 !important; width: 0 !important;
  }
  .vmy-nav__burger[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(0) rotate(-45deg) !important;
    width: 20px !important;
  }
}

/* =============================================================
   MOBILE MENU — slide-in drawer from right
   ============================================================= */

/* Backdrop (div injected by footer JS) */
.vmy-mobile-backdrop {
  display: none;
  position: fixed; inset: 0;
  background: rgba(31,23,51,0.55);
  z-index: 9998;
  opacity: 0;
  transition: opacity .32s ease;
}
.vmy-mobile-backdrop.is-open { display: block; opacity: 1; }

/* Drawer panel */
.vmy-mobile-menu {
  display: block !important;
  visibility: hidden;
  pointer-events: none;
  position: fixed !important;
  top: 0 !important; right: 0 !important;
  left: auto !important; bottom: 0 !important;
  width: min(340px, 88vw) !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 9999 !important;
  background: var(--c-bg, #EEE7DC) !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: translateX(100%) !important;
  transition: transform .34s cubic-bezier(.4,0,.2,1),
              visibility 0s linear .34s,
              box-shadow .34s ease !important;
  box-shadow: none !important;
}
.vmy-mobile-menu.is-open {
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
  box-shadow: -6px 0 48px rgba(31,23,51,0.2) !important;
  transition: transform .34s cubic-bezier(.4,0,.2,1),
              visibility 0s linear 0s,
              box-shadow .34s ease !important;
}

/* Close button */
.vmy-mobile-menu__close {
  position: absolute !important;
  top: 14px !important; right: 14px !important;
  width: 40px !important; height: 40px !important;
  border-radius: 10px !important;
  background: rgba(230,59,30,0.08) !important;
  border: 1.5px solid rgba(230,59,30,0.2) !important;
  color: var(--c-saffron, #E63B1E) !important;
  font-size: 16px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; line-height: 1 !important;
  transition: background .2s !important; z-index: 2 !important;
}
.vmy-mobile-menu__close:hover { background: rgba(230,59,30,0.16) !important; }

/* Scroll container (injected by footer JS) */
.vmy-mobile-menu__scroll {
  height: 100%;
  overflow-y: auto;
  padding: 70px 24px 40px;
  display: flex;
  flex-direction: column;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Top-level links — clean Fraunces typography */
.vmy-mobile-menu .vmy-nav__links,
.vmy-mobile-menu .vmy-mobile-menu__links {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
}
.vmy-mobile-menu .vmy-nav__item {
  border-bottom: 1px solid rgba(31,23,51,0.08) !important;
}

/* Link row — parent item with arrow */
.vmy-mobile-menu .vmy-nav__item > a.vmy-nav__link,
.vmy-mobile-menu .vmy-nav__item > button.vmy-nav__link {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--c-ink, #1F1733) !important;
  padding: 14px 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: color .18s !important;
  line-height: 1.2 !important;
}
.vmy-mobile-menu .vmy-nav__item > a.vmy-nav__link:hover,
.vmy-mobile-menu .vmy-nav__item > button.vmy-nav__link:hover {
  color: var(--c-saffron, #E63B1E) !important;
  background: none !important;
}

/* Arrow chevron colour */
.vmy-mobile-menu .vmy-nav__arrow {
  color: var(--c-saffron, #E63B1E) !important;
  opacity: 0.7;
  transition: transform .22s ease;
  flex-shrink: 0;
}
.vmy-mobile-menu .vmy-nav__item.dropdown-open > .vmy-nav__link .vmy-nav__arrow {
  transform: rotate(180deg) !important;
}

/* Dropdown inside drawer ──
   display is controlled by JS inline style (beats parent CSS).
   We only control layout/appearance here. */
.vmy-mobile-menu .vmy-nav__dropdown {
  position: static !important;
  box-shadow: none !important;
  background: rgba(31,23,51,0.04) !important;
  padding: 4px 0 8px 12px !important;
  border-radius: 10px !important;
  margin-bottom: 6px !important;
  animation: none !important;
  list-style: none !important;
}
.vmy-mobile-menu .vmy-nav__dropdown-link {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 9px 12px !important;
  color: var(--c-inkSoft, #4A3E5C) !important;
  border-radius: 8px !important;
  display: block !important;
  text-decoration: none !important;
  transition: color .15s, background .15s !important;
  letter-spacing: 0 !important;
}
.vmy-mobile-menu .vmy-nav__dropdown-link:hover {
  color: var(--c-saffron, #E63B1E) !important;
  background: rgba(230,59,30,0.06) !important;
}

/* CTA button at bottom */
.vmy-mobile-menu .vmy-btn,
.vmy-mobile-menu a.vmy-btn {
  margin-top: 24px !important;
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
}

/* =============================================================
   HOME HERO — fix hv section on mobile
   (parent theme sets flex-direction:column at 900px which
    stacks all 4 stats vertically — override to 2x2 grid)
   ============================================================= */
@media (max-width: 900px) {
  /* Override parent's flex-direction:column */
  .hv__stats {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  .hv__stats li {
    flex: 1 1 calc(50% - 1px) !important;
    min-width: 0 !important;
    max-width: 50% !important;
  }

  /* Hero padding — clamp(80px,...) is too much on mobile */
  .hv {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 80px !important;
  }

  /* Title */
  .hv__title {
    font-size: clamp(34px, 9vw, 52px) !important;
    letter-spacing: -0.025em !important;
  }

  /* CTA stack */
  .hv__ctas {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .hv__ctas .btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 540px) {
  .hv__stats li {
    flex: 1 1 calc(50% - 1px) !important;
    padding: 14px 10px !important;
  }
  .hv__stats b {
    font-size: clamp(20px, 6vw, 28px) !important;
  }
  .hv__stats span {
    font-size: 9px !important;
    letter-spacing: 0.06em !important;
  }
  .hv__title {
    font-size: clamp(30px, 8.5vw, 44px) !important;
  }
}

/* =============================================================
   GENERAL GRID COLLAPSE — raw_html inline grids
   ============================================================= */
@media (max-width: 768px) {
  [style*="grid-template-columns:1fr 2fr"],
  [style*="grid-template-columns: 1fr 2fr"],
  [style*="grid-template-columns:2fr 1fr"],
  [style*="grid-template-columns: 2fr 1fr"] { grid-template-columns: 1fr !important; }

  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"] { grid-template-columns: 1fr 1fr !important; }

  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: repeat(4"] { grid-template-columns: 1fr 1fr !important; }

  .vmy-benefits-grid { grid-template-columns: 1fr !important; }
  .vmy-science-grid  { grid-template-columns: 1fr !important; }
  .vmy-prog-who,
  div.vmy-prog-who   { grid-template-columns: 1fr !important; }

  #prog-benefits img[style*="height:100%"] {
    height: 240px !important; width: 100% !important;
  }

  [style*="grid-column:span 2"],
  [style*="grid-column: span 2"],
  [style*="grid-column:span 3"],
  [style*="grid-column: span 3"] { grid-column: span 1 !important; }

  div[style*="padding:0 clamp(24px"],
  div[style*="padding: 0 clamp(24px"] {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .vmy-duration-strip  { flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; }
  .vmy-prog-cta__inner { padding: 32px 20px !important; }
  .vmy-footer__main    { grid-template-columns: 1fr !important; gap: 28px !important; }
  .vmy-ldr-pillars     { grid-template-columns: 1fr !important; gap: 32px !important; }
  .vmy-ldr-stats-col   { gap: 10px !important; }
  .vmy-ldr-stat-card   { padding: 18px 20px !important; }
  .vmy-ldr-stat-num    { font-size: 32px !important; }
  .vmy-ldr-blockquote  { padding: 16px 18px !important; }
  .vmy-ldr-img         { border-radius: 14px !important; }
}

@media (max-width: 540px) {
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"] { grid-template-columns: 1fr !important; }

  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: repeat(4"] { grid-template-columns: 1fr !important; }
}


/* ===================================================================
   AATMADARPAN — native WPBakery support styles
   Append to child theme style.css. Pairs with the el_class hooks in
   the Aatmadarpan page (vc_column_text / vc_row_inner el_class).
   Relies on existing theme tokens: --c-saffron --c-gold --c-ink
   --c-plum --c-maroon --c-cream --c-inkSoft  and .vmy-tag-pill.
=================================================================== */
:root{
  --c-saffron:#E63B1E;--c-gold:#F5B22F;--c-ink:#1F1733;--c-plum:#2A1B5C;
  --c-maroon:#3E1A3E;--c-cream:#F4E9D8;--c-inkSoft:#4A3E5C;
}
.vmy-ad-hero,.vmy-ad-head,.vmy-ad-what-left,.vmy-ad-what-right,
.vmy-ad-acard,.vmy-ad-bcard,.vmy-ad-vmy-left,.vmy-ad-vmy-right,
.vmy-ad-cta,.vmy-ad-process{font-family:'Inter Tight',sans-serif;}
.vmy-ad-hero h2,.vmy-ad-head h2,.vmy-ad-what-left h2,.vmy-ad-what-right h2,
.vmy-ad-vmy-left h2,.vmy-ad-vmy-right h2,.vmy-ad-cta h2{
  font-family:'Fraunces',Georgia,serif;font-weight:400;line-height:1.1;
  letter-spacing:-.025em;color:var(--c-ink);}
.vmy-ad-hero em,.vmy-ad-head em,.vmy-ad-what-left em,.vmy-ad-what-right em,
.vmy-ad-vmy-left em,.vmy-ad-vmy-right em,.vmy-ad-cta em{font-style:italic;}

/* ---------- HERO ---------- */
.vmy-ad-hero{text-align:center;max-width:760px;margin:0 auto;}
.vmy-ad-hero h2{font-size:clamp(26px,3.5vw,52px);margin:10px 0;}
.vmy-ad-hero .vmy-ad-sub{font-family:'Fraunces',Georgia,serif;font-style:italic;
  font-size:20px;color:var(--c-inkSoft);margin:0 0 8px;}
.vmy-ad-hero .vmy-ad-tagline{font-size:15px;font-weight:600;letter-spacing:.04em;
  color:var(--c-saffron);margin:0 0 22px;}
.vmy-ad-hero p{font-size:15px;line-height:1.75;color:var(--c-inkSoft);margin:0 auto 16px;}
.vmy-ad-hero .vmy-ad-italic{font-style:italic;}
.vmy-ad-duration-wrap .vmy-ad-duration{list-style:none;margin:30px 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.vmy-ad-duration li{display:flex;align-items:center;gap:8px;background:#fff;
  border:1px solid rgba(31,23,51,.08);border-radius:100px;padding:9px 18px;
  font-size:13px;font-weight:600;color:var(--c-ink);}
.vmy-ad-duration li::before{content:"\25EF";color:var(--c-saffron);font-size:11px;}

/* ---------- shared two-column rows ---------- */
.vmy-ad-2col>.vc_column-inner,.vmy-ad-2col>.wpb_column>.vc_column-inner{padding-top:0;}
.vmy-ad-2col .wpb_column{margin-bottom:0;}
.vmy-ad-head{text-align:center;max-width:720px;margin:0 auto 40px;}
.vmy-ad-head h2{font-size:clamp(26px,3.5vw,44px);margin:10px 0 0;}
.vmy-ad-head p{font-size:15px;line-height:1.75;color:var(--c-inkSoft);margin:10px auto 0;}
.vmy-ad-head--onplum h2{color:var(--c-cream);}
.vmy-ad-head--onplum em{color:var(--c-gold);}

/* ---------- WHAT ---------- */
.vmy-ad-what-left h2,.vmy-ad-what-right h2{font-size:clamp(24px,3vw,38px);margin:0 0 12px;}
.vmy-ad-what-left p,.vmy-ad-what-right p{font-size:14px;line-height:1.7;color:var(--c-inkSoft);margin:0 0 12px;}
.vmy-ad-lead-em{color:var(--c-inkSoft);}
.vmy-ad-check{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px;}
.vmy-ad-check li{position:relative;padding-left:24px;font-size:14px;color:var(--c-inkSoft);}
.vmy-ad-check li::before{content:"\2713";position:absolute;left:0;color:var(--c-saffron);font-weight:700;}
.vmy-ad-callout{background:#F9F5EF;border-radius:14px;padding:18px 22px;
  border-left:3px solid var(--c-saffron);margin:0;}
.vmy-ad-callout p{margin:0;font-size:14px;line-height:1.7;color:var(--c-ink)!important;}
.vmy-ad-minicards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.vmy-ad-minicards li{background:#F9F5EF;border-radius:12px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:4px;}
.vmy-ad-minicards li strong{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:15px;color:var(--c-ink);}
.vmy-ad-minicards li span{font-size:12px;color:var(--c-inkSoft);}

/* ---------- REVEALS assessment cards ---------- */
.vmy-ad-acard{background:#fff;border-radius:16px;padding:28px 32px;height:100%;box-sizing:border-box;}
.vmy-ad-acard h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:20px;
  color:var(--c-ink);margin:0 0 14px;display:flex;align-items:baseline;gap:12px;}
.vmy-ad-num{font-family:'Fraunces',Georgia,serif;font-size:28px;color:var(--c-saffron);}
.vmy-ad-cardlead{font-size:13px;color:var(--c-inkSoft);margin:0 0 16px;}
.vmy-ad-intel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.vmy-ad-intel li{background:#F9F5EF;border-radius:10px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:4px;}
.vmy-ad-intel li strong{font-size:13px;font-weight:600;color:var(--c-ink);}
.vmy-ad-intel li span{font-size:11px;color:var(--c-inkSoft);}
.vmy-ad-stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vmy-ad-stack li{background:#F9F5EF;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;}
.vmy-ad-stack li strong{font-size:13px;font-weight:600;color:var(--c-ink);}
.vmy-ad-stack li span{font-size:12px;color:var(--c-inkSoft);}
.vmy-ad-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.vmy-ad-bullets li{position:relative;padding-left:20px;font-size:13px;color:var(--c-inkSoft);}
.vmy-ad-bullets li::before{content:"\2756";position:absolute;left:0;color:var(--c-saffron);}
.vmy-ad-acard--dark{background:var(--c-ink);}
.vmy-ad-acard--dark h3{color:var(--c-cream);}
.vmy-ad-acard--dark .vmy-ad-num{color:var(--c-gold);}
.vmy-ad-acard--dark .vmy-ad-cardlead{color:rgba(244,233,216,.7);}
.vmy-ad-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.vmy-ad-tags li{background:rgba(244,233,216,.1);border-radius:100px;padding:6px 14px;
  font-size:12px;color:rgba(244,233,216,.85);}

/* ---------- BENEFITS ---------- */
.vmy-ad-bcard{background:#fff;border-radius:16px;padding:26px;height:100%;box-sizing:border-box;}
.vmy-ad-bcard__t{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:18px;color:var(--c-ink);
  margin:0 0 16px;padding-bottom:12px;border-bottom:1.5px solid rgba(31,23,51,.08);}
.vmy-ad-blist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vmy-ad-blist li{display:flex;flex-direction:column;gap:2px;}
.vmy-ad-blist li strong{font-size:13px;font-weight:600;color:var(--c-ink);}
.vmy-ad-blist li span{font-size:12px;color:var(--c-inkSoft);}
.vmy-ad-bcard--plum{background:var(--c-plum);}
.vmy-ad-bcard--plum .vmy-ad-bcard__t{color:var(--c-cream);border-bottom-color:rgba(244,233,216,.1);}
.vmy-ad-bcard--plum .vmy-ad-bullets li{color:rgba(244,233,216,.85);}

/* ---------- PROCESS journey ---------- */
.vmy-ad-process .vmy-ad-journey{list-style:none;margin:0 auto;padding:0;max-width:760px;
  display:flex;flex-direction:column;gap:0;}
.vmy-ad-journey li{display:flex;gap:22px;padding:0 0 30px;position:relative;}
.vmy-ad-journey li:last-child{padding-bottom:0;}
.vmy-ad-journey li::before{content:"";position:absolute;left:23px;top:48px;bottom:0;
  width:1.5px;background:rgba(245,178,47,.25);}
.vmy-ad-journey li:last-child::before{display:none;}
.vmy-ad-jnum{flex:0 0 48px;height:48px;border-radius:50%;border:1.5px solid rgba(245,178,47,.4);
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',Georgia,serif;
  font-size:18px;color:var(--c-gold);background:var(--c-plum);position:relative;z-index:1;}
.vmy-ad-jbody{display:flex;flex-direction:column;gap:5px;padding-top:9px;}
.vmy-ad-jtitle{font-family:'Fraunces',Georgia,serif;font-size:19px;color:var(--c-cream);}
.vmy-ad-jdesc{font-size:14px;line-height:1.6;color:rgba(244,233,216,.75);}

/* ---------- VMY integration ---------- */
.vmy-ad-vmy-left h2,.vmy-ad-vmy-right h2{font-size:clamp(24px,3vw,40px);margin:0 0 16px;}
.vmy-ad-vmy-left p{font-size:15px;line-height:1.75;color:var(--c-inkSoft);margin:0 0 16px;}
.vmy-ad-vmybox{background:var(--c-plum);border-radius:16px;padding:24px;margin:0 0 16px;}
.vmy-ad-vmybox__label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-gold);font-weight:700;margin-bottom:14px;}
.vmy-ad-2col-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.vmy-ad-2col-list li{position:relative;padding-left:18px;font-size:13px;color:rgba(244,233,216,.85);}
.vmy-ad-2col-list li::before{content:"\2726";position:absolute;left:0;color:var(--c-gold);}
.vmy-ad-roles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.vmy-ad-roles li{background:#fff;border-radius:12px;padding:14px 16px;}
.vmy-ad-roles li strong{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:15px;color:var(--c-ink);display:block;}
.vmy-ad-roles li span{font-size:11px;color:var(--c-inkSoft);}
.vmy-ad-roles li:last-child{grid-column:span 2;background:var(--c-saffron);text-align:center;}
.vmy-ad-roles li:last-child strong{color:#fff;}

/* ---------- CTA ---------- */
.vmy-ad-cta{text-align:center;max-width:680px;margin:0 auto;}
.vmy-ad-cta h2{font-size:clamp(28px,4vw,50px);color:var(--c-cream);margin:0 0 18px;}
.vmy-ad-cta h2 em{color:var(--c-gold);}
.vmy-ad-cta__p{font-size:16px;line-height:1.7;color:rgba(244,233,216,.8);margin:0 auto 20px;}
.vmy-ad-cta__upper{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold);font-weight:700;margin:0 0 30px;}
.vmy-ad-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.vmy-ad-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;
  padding:15px 32px;border-radius:100px;text-decoration:none;}
.vmy-ad-btn--gold{background:var(--c-gold);color:var(--c-ink);}
.vmy-ad-btn--ghost{background:transparent;color:var(--c-cream);border:1.5px solid rgba(244,233,216,.35);font-weight:600;}
.vmy-ad-cta__foot{font-size:13px;color:rgba(244,233,216,.55);margin:28px 0 0;}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .vmy-ad-intel{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .vmy-ad-minicards,.vmy-ad-2col-list,.vmy-ad-roles{grid-template-columns:1fr;}
  .vmy-ad-roles li:last-child{grid-column:auto;}
  .vmy-ad-acard{padding:24px;}
}
@media(max-width:540px){
  .vmy-ad-intel{grid-template-columns:1fr;}
  .vmy-ad-journey li{gap:16px;}
}


/* =============================================================
   ABOUT PAGE — native Text Block helpers
   Centres the native Team-section header (Leadership / Founder &
   Core Team) that previously relied on a wrapper div's text-align.
   All other About styling reuses existing classes
   (vmy-vision-card, vmy-h2-inner, vmy-body-text, vmy-mission-list,
    vmy-cta-btn) — no changes needed there.
   ============================================================= */
.vmy-about-center { text-align: center; }
.vmy-about-center .vmy-body-text { text-align: center; }

/* Mobile menu must sit ABOVE its backdrop */
.vmy-mobile-menu     { z-index: 100000 !important; }
.vmy-mobile-backdrop { z-index: 99998  !important; }


/* =============================================================
   MOBILE MENU — larger, elder-friendly dropdown toggle
   Bigger chevron + a 44px transparent hit area around it
   (Apple/Google minimum tap size), and taller rows.
   ============================================================= */
@media (max-width: 980px) {
  /* Taller, easier-to-hit parent rows */
  .vmy-mobile-menu .vmy-nav__item > a.vmy-nav__link,
  .vmy-mobile-menu .vmy-nav__item > button.vmy-nav__link {
    padding: 18px 0 !important;
    min-height: 56px !important;
  }

  /* Arrow = 44px transparent clickable square, bigger visible chevron */
  .vmy-mobile-menu .vmy-nav__arrow {
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: -8px -10px -8px 0 !important;  /* extend hit area to the edge, keep row tidy */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 22px !important;            /* fallback if the arrow is a font glyph */
    opacity: 0.9 !important;
    transition: transform .22s ease, background .18s ease !important;
  }
  .vmy-mobile-menu .vmy-nav__arrow svg {   /* if the arrow is an SVG */
    width: 24px !important;
    height: 24px !important;
  }

  /* Visible highlight when tapped or open — clear affordance */
  .vmy-mobile-menu .vmy-nav__link:active .vmy-nav__arrow,
  .vmy-mobile-menu .vmy-nav__item.dropdown-open > .vmy-nav__link .vmy-nav__arrow {
    background: rgba(230,59,30,0.12) !important;
  }
}


/* ─────────────────────────────────────────────────────────────
   HOME — School logo marquee
   Show logos in original colour (no grayscale), no hover effect,
   full opacity, fixed 125×125 box. Overrides parent inline styles
   on BOTH render paths: PHP .proof__logo and WPBakery .vmy-marquee-item.
   filter:none + opacity:1 (with !important) also neutralise the
   inline hover JS, so there is no hover state.
───────────────────────────────────────────────────────────── */
.proof__logo,
.vmy-marquee-item { opacity: 1 !important; }

.proof__logo img,
.vmy-marquee-item img {
  width: 125px !important;
  height: 125px !important;
  object-fit: contain !important;
  filter: none !important;     /* remove grayscale (and hover-restored grayscale) */
  opacity: 1 !important;       /* full colour always — kills hover dim */
  transition: none !important;
}


/* ─────────────────────────────────────────────────────────────
   NEWSLETTER — single-field CF7 form
   Field on top (full width), Subscribe button CENTERED below it.
   Wrap the CF7 fields in <div class="vmy-nl"> … </div>
   On a DARK section add the modifier: <div class="vmy-nl vmy-nl--dark">
───────────────────────────────────────────────────────────── */
.vmy-nl {
  display: block;
  max-width: 460px;
  margin: 0 auto;            /* centre the whole form */
  text-align: center;        /* centres the button (it's inline-block) */
}
.vmy-nl p { margin: 0; }
.vmy-nl br { display: none; }   /* kill CF7's auto line breaks */

/* Email field — full-width pill */
.vmy-nl input[type="email"] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 16px 22px;
  border: 1.5px solid rgba(31,23,51,0.12);
  border-radius: 100px;
  background: #fff;
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  color: var(--c-ink, #1F1733);
  text-align: left;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.vmy-nl input[type="email"]::placeholder { color: rgba(74,62,92,0.55); }
.vmy-nl input[type="email"]:focus {
  border-color: var(--c-saffron, #E63B1E);
  box-shadow: 0 0 0 3px rgba(230,59,30,0.10);
}

/* Subscribe button — centred, with breathing room above */
.vmy-nl input[type="submit"] {
  display: inline-block;
  margin: 18px auto 0;       /* ← the space between field and button */
  border: none;
  border-radius: 100px;
  background: var(--c-saffron, #E63B1E);
  color: #fff;
  padding: 14px 40px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease;
}
.vmy-nl input[type="submit"]:hover { transform: translateY(-1px); }

/* CF7 chrome */
.vmy-nl .wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output {
  margin: 14px auto 0;
  padding: 10px 16px;
  border-radius: 10px;
  border-width: 1.5px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  max-width: 460px;
  text-align: center;
}

/* Dark-section variant */
.vmy-nl--dark input[type="email"] {
  background: rgba(244,233,216,0.08);
  border-color: rgba(244,233,216,0.22);
  color: var(--c-cream, #F4E9D8);
}
.vmy-nl--dark input[type="email"]::placeholder { color: rgba(244,233,216,0.5); }
.vmy-nl--dark input[type="email"]:focus {
  border-color: var(--c-gold, #F5B22F);
  box-shadow: 0 0 0 3px rgba(245,178,47,0.14);
}

@media (max-width: 480px) {
  .vmy-nl input[type="submit"] { width: 100%; }
}


/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE — 100% native WPBakery support
   NO width/flex hacks: the rows keep the SAME content width as every
   other row on the page. Equal card heights come from WPBakery's own
   equal_height="yes" row setting, not from custom CSS.
   ═══════════════════════════════════════════════════════════════ */

/* Cards fill the full height of their column (works with equal_height="yes") */
.vmy-about-row .vc_column-inner,
.vmy-about-row .wpb_wrapper { height: 100%; }
.vmy-about-row .wpb_text_column { margin-bottom: 0; height: 100%; }

/* Space between the section header and the row of cards */
.vmy-card-col .vc_column-inner { padding-top: 24px; }

/* Centred section intro */
.vmy-about-center { text-align: center; }
.vmy-about-intro  { max-width: 640px; margin: 0 auto; }

/* ── Leadership cards (I / II / III) ── */
.vmy-lead-card {
  border-radius: 20px;
  padding: 36px 32px;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
}
.vmy-lead-card--plum    { background: var(--c-plum, #2A1B5C); }
.vmy-lead-card--ink     { background: var(--c-ink, #1F1733); }
.vmy-lead-card--saffron { background: var(--c-saffron, #E63B1E); }

.vmy-lead-num {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 26px;
  color: rgba(244,233,216,0.7);
  margin-bottom: 4px;
}
.vmy-lead-tag {
  display: block;
  font-family: 'Inter Tight', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--c-gold, #F5B22F);
  margin-bottom: 20px;
}
.vmy-lead-title {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 17px; letter-spacing: -0.01em;
  color: #F4E9D8;
  margin-bottom: 10px;
}
.vmy-lead-body {
  display: block;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; line-height: 1.6;
  color: rgba(244,233,216,0.65);
}
.vmy-lead-card--saffron .vmy-lead-num   { color: rgba(255,255,255,0.7); }
.vmy-lead-card--saffron .vmy-lead-tag   { color: #fff; }
.vmy-lead-card--saffron .vmy-lead-title { color: #fff; }
.vmy-lead-card--saffron .vmy-lead-body  { color: rgba(255,255,255,0.75); }

/* ── Existing card classes: just make them fill the column height ── */
.vmy-phil-col,
.vmy-word-card,
.vmy-team-card { height: 100%; box-sizing: border-box; }

/* Team card internals (avatar emoji restored, as in the original) */
.vmy-team-card .vmy-team-avatar-wrap { margin: 0 auto 8px; }
.vmy-team-name { display: block; }
.vmy-team-role { display: block; }
.vmy-team-bio  { display: block; }

/* Philosophy card headings (was an inline style) */
.vmy-phil-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px; font-weight: 400;
  color: var(--c-ink, #1F1733);
  margin: 0 0 8px;
}
.vmy-phil-title--light { color: var(--c-cream, #F4E9D8); }

/* Etymology closing line (was an inline style) */
.vmy-name-closing {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.75;
  color: var(--c-inkSoft, #4A3E5C);
  text-align: center;
  max-width: 700px;
  margin: 32px auto 0;
}

/* ── World map ([vmy_world_map]) ── */
.vmy-map-box {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 18px; padding: 32px 28px;
}
.vmy-map-box svg { width: 100%; max-width: 620px; height: auto; display: block; }
.vmy-map-caption { text-align: center; }
.vmy-map-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 20px; color: var(--c-ink, #1F1733); margin-bottom: 4px;
}
.vmy-map-title span { color: var(--c-saffron, #E63B1E); }
.vmy-map-sub {
  font-family: 'Inter Tight', sans-serif;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--c-inkSoft, #4A3E5C); opacity: .7;
}

/* LDR-CLOSING — replaces the two inline styles from the old raw_html */
.vmy-ldr-head { text-align: center; margin-bottom: 52px; }
.vmy-ldr-note { text-align: center; font-size: 13px; margin-top: 16px; }
.vmy-ldr-pillar { height: 100%; box-sizing: border-box; }   /* equal_height support */
.vmy-ldr-italic { font-style: italic; }

/* =============================================================
   CORE TEAM PAGE — replaces the inline styles from the old code
   ============================================================= */
.vmy-ct-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.vmy-ct-head,
.vmy-ct-center { text-align: center; }

.vmy-ct-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 400;
  color: #F4E9D8;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 12px;
}
.vmy-ct-h2 em { color: var(--c-gold, #F5B22F); font-style: italic; }

.vmy-ct-sub {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(244,233,216,0.7);
  max-width: 620px;
  margin: 0 auto;
}

/* CEO */
.vmy-ct-name-lg {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 30px;
  line-height: 1.1;
  color: var(--c-ink, #1F1733);
  margin: 20px 0 6px;
}
.vmy-ct-role-lg {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-saffron, #E63B1E);
}

/* Team members */
.vmy-ct-name {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 19px;
  line-height: 1.2;
  color: var(--c-ink, #1F1733);
  margin: 14px 0 4px;
}
.vmy-ct-role {
  font-family: 'Inter Tight', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-saffron, #E63B1E);
}

/* =============================================================
   SADHANA PAGE — replaces every inline style from the old base64
   ============================================================= */
.vmy-sd-wrap { max-width: 1320px; margin: 0 auto; padding: 0 clamp(24px,5vw,80px); }
.vmy-sd-head { text-align: center; }
.vmy-sd-head--gap { margin-bottom: 48px; }

/* Headings */
.vmy-sd-h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(32px,4.5vw,64px); font-weight: 400;
  color: var(--c-cream,#F4E9D8); line-height: 1.05;
  letter-spacing: -0.025em; margin: 0 0 10px;
}
.vmy-sd-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(26px,3.5vw,48px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.025em; margin: 0 0 8px;
}
.vmy-sd-h2--light { color: var(--c-cream,#F4E9D8); }
.vmy-sd-h2 em { color: var(--c-gold,#F5B22F); font-style: italic; }

.vmy-sd-tagline {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(16px,2vw,22px); font-style: italic;
  color: var(--c-gold,#F5B22F); margin: 0 0 28px;
}
.vmy-sd-sub {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px; font-style: italic;
  color: var(--c-saffron,#E63B1E); margin: 0 0 20px;
}
.vmy-sd-sub--gold { color: var(--c-gold,#F5B22F); }

/* Body copy */
.vmy-sd-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.8;
  color: rgba(244,233,216,0.78);
  max-width: 700px; margin: 0 auto 16px;
}
.vmy-sd-lede--narrow { max-width: 580px; line-height: 1.7; }
.vmy-sd-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.75;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-sd-body--light { color: rgba(244,233,216,.78); }
.vmy-sd-note {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; font-style: italic;
  color: var(--c-inkSoft,#4A3E5C); margin: 0;
}
.vmy-sd-note--light { color: rgba(244,233,216,.7); }
.vmy-sd-quote {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px; line-height: 1.75; font-style: italic;
  color: rgba(244,233,216,.78);
  border-left: 3px solid var(--c-gold,#F5B22F);
  padding-left: 16px; margin: 0 0 20px;
}

/* Tick lists (were rows of ✓ spans) */
.vmy-sd-ticks {
  list-style: none; margin: 0 0 24px; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.vmy-sd-ticks--two { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.vmy-sd-ticks li {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px; color: var(--c-inkSoft,#4A3E5C);
  padding-left: 20px; position: relative;
}
.vmy-sd-ticks li::before {
  content: '\2713'; position: absolute; left: 0;
  color: var(--c-saffron,#E63B1E);
}
.vmy-sd-ticks--light li { color: rgba(244,233,216,.85); font-size: 13px; }
.vmy-sd-ticks--light li::before { color: var(--c-gold,#F5B22F); }

/* Sparks list (✧ items) */
.vmy-sd-sparks {
  list-style: none; margin: 0 0 16px; padding: 0;
  display: flex; flex-direction: column; gap: 7px;
}
.vmy-sd-sparks li {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; color: rgba(244,233,216,.8);
  padding-left: 18px; position: relative;
}
.vmy-sd-sparks li::before {
  content: '\2726'; position: absolute; left: 0;
  color: var(--c-gold,#F5B22F);
}

/* Side panels */
.vmy-sd-panel { border-radius: 20px; padding: 32px; height: 100%; box-sizing: border-box; }
.vmy-sd-panel--ink   { background: var(--c-ink,#1F1733); }
.vmy-sd-panel--plum  { background: var(--c-plum,#2A1B5C); }
.vmy-sd-panel--glass { background: rgba(244,233,216,.06); border: 1px solid rgba(244,233,216,.1); }
.vmy-sd-panel-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px; color: var(--c-gold,#F5B22F); margin-bottom: 16px;
}
.vmy-sd-panel-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px; line-height: 1.75;
  color: rgba(244,233,216,0.78); margin: 0 0 20px;
}

/* 2x2 cells inside a panel */
.vmy-sd-quad { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vmy-sd-quad-cell {
  background: rgba(244,233,216,.07); border-radius: 12px; padding: 16px;
  text-align: center;
  font-family: 'Fraunces', Georgia, serif; font-size: 16px; color: #F4E9D8;
}
.vmy-sd-quad-cell--stack { text-align: left; padding: 14px; border-radius: 10px; background: rgba(244,233,216,.06); }
.vmy-sd-quad-name { font-family: 'Inter Tight', sans-serif; font-size: 13px; font-weight: 600; color: #F4E9D8; }
.vmy-sd-quad-desc { font-family: 'Inter Tight', sans-serif; font-size: 11px; color: rgba(244,233,216,.6); margin-top: 2px; }

/* Stacked practice list */
.vmy-sd-list { display: flex; flex-direction: column; gap: 12px; }
.vmy-sd-list-item { background: rgba(244,233,216,.07); border-radius: 12px; padding: 16px 18px; }
.vmy-sd-list-name { font-family: 'Fraunces', Georgia, serif; font-size: 16px; color: #F4E9D8; margin-bottom: 3px; }
.vmy-sd-list-desc { font-family: 'Inter Tight', sans-serif; font-size: 12px; color: rgba(244,233,216,.6); }

/* Audience rows (I–V) */
.vmy-sd-audience { display: flex; flex-direction: column; gap: 10px; }
.vmy-sd-aud-row {
  display: flex; align-items: center; gap: 14px;
  background: rgba(244,233,216,.06); border-radius: 12px; padding: 14px 16px;
}
.vmy-sd-aud-num {
  font-family: 'Fraunces', Georgia, serif; font-size: 20px; font-style: italic;
  color: var(--c-saffron,#E63B1E); min-width: 24px;
}
.vmy-sd-aud-label { font-family: 'Inter Tight', sans-serif; font-size: 14px; color: #F4E9D8; }

/* Divider + chips */
.vmy-sd-divider { border-top: 1px solid rgba(244,233,216,.1); padding-top: 16px; margin-top: 20px; }
.vmy-sd-divider-label {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 10px;
}
.vmy-sd-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vmy-sd-chip {
  background: rgba(244,233,216,.08); border-radius: 100px; padding: 5px 12px;
  font-family: 'Inter Tight', sans-serif; font-size: 12px; color: rgba(244,233,216,.8);
}

/* Hero pillar strip */
.vmy-sd-strip { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; }
.vmy-sd-strip-item { text-align: center; }
.vmy-sd-strip-name { font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: var(--c-gold,#F5B22F); margin-bottom: 4px; }
.vmy-sd-strip-sub {
  font-family: 'Inter Tight', sans-serif; font-size: 11px;
  letter-spacing: .12em; text-transform: uppercase; color: rgba(244,233,216,0.5);
}
.vmy-sd-strip-dot { color: rgba(244,233,216,0.2); font-size: 24px; align-self: center; }

/* Integrated model — 4 pillar cards */
.vmy-sd-pillar {
  background: rgba(244,233,216,.06); border: 1px solid rgba(244,233,216,.1);
  border-radius: 16px; padding: 24px; text-align: center;
  height: 100%; box-sizing: border-box;
}
.vmy-sd-pillar-name { font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: var(--c-gold,#F5B22F); margin-bottom: 10px; }
.vmy-sd-pillar-desc { font-family: 'Inter Tight', sans-serif; font-size: 13px; line-height: 1.6; color: rgba(244,233,216,.7); }

/* Outcome boxes */
.vmy-sd-outcome { border-radius: 16px; padding: 28px; height: 100%; box-sizing: border-box; margin-top: 40px; }
.vmy-sd-outcome--gold    { background: rgba(245,178,47,.12); border: 1px solid rgba(245,178,47,.2); }
.vmy-sd-outcome--saffron { background: rgba(230,59,30,.15);  border: 1px solid rgba(230,59,30,.25); }
.vmy-sd-outcome-title { font-family: 'Fraunces', Georgia, serif; font-size: 18px; color: var(--c-gold,#F5B22F); margin-bottom: 16px; }
.vmy-sd-outcome-title--cream { color: var(--c-cream,#F4E9D8); margin-bottom: 14px; }
.vmy-sd-outcome-body { font-family: 'Inter Tight', sans-serif; font-size: 14px; color: rgba(244,233,216,.75); margin: 0 0 14px; }
.vmy-sd-outcome-list { display: flex; flex-direction: column; gap: 12px; }
.vmy-sd-outcome-row { display: flex; gap: 12px; align-items: center; }
.vmy-sd-outcome-mark { font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: var(--c-gold,#F5B22F); }
.vmy-sd-outcome-text { font-family: 'Fraunces', Georgia, serif; font-size: 15px; color: #F4E9D8; }

/* CTA */
.vmy-sd-cta { text-align: center; }
.vmy-sd-cta .vmy-sd-lede { margin: 0 auto 28px; }
.vmy-sd-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.vmy-sd-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 32px; border-radius: 100px;
  font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: transform .15s ease;
}
.vmy-sd-btn:hover { transform: translateY(-1px); }
.vmy-sd-btn--gold  { background: var(--c-gold,#F5B22F); color: var(--c-ink,#1F1733); }
.vmy-sd-btn--ghost { background: rgba(244,233,216,0.1); color: #F4E9D8; border: 1.5px solid rgba(244,233,216,0.2); }

@media (max-width: 768px) {
  .vmy-sd-ticks--two, .vmy-sd-quad { grid-template-columns: 1fr; }
  .vmy-sd-panel { padding: 24px; }
}

/* =============================================================
   SCIENCE PAGE — replaces every inline style from the old base64
   ============================================================= */
.vmy-sc-wrap { max-width: 1320px; margin: 0 auto; padding: 0 clamp(24px,5vw,80px); }
.vmy-sc-head { text-align: center; }
.vmy-sc-head--gap { margin-bottom: 48px; }

.vmy-sc-h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(32px,4.5vw,60px); font-weight: 400;
  color: var(--c-cream,#F4E9D8); line-height: 1.05;
  letter-spacing: -0.025em; margin: 0 0 10px;
}
.vmy-sc-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(26px,3.5vw,44px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.025em; margin: 0 0 8px;
}
.vmy-sc-h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(22px,3vw,36px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.025em; margin: 0 0 16px;
}
.vmy-sc-h2--light, .vmy-sc-h3--light { color: var(--c-cream,#F4E9D8); }
.vmy-sc-h1 em, .vmy-sc-h2--light em, .vmy-sc-h3--light em { color: var(--c-gold,#F5B22F); font-style: italic; }
.vmy-sc-h2 em, .vmy-sc-h3 em { color: var(--c-saffron,#E63B1E); font-style: italic; }

.vmy-sc-tagline {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(16px,2vw,20px);
  color: rgba(244,233,216,0.7); margin: 0 0 28px;
}
.vmy-sc-tagline--gold { color: var(--c-gold,#F5B22F); font-style: italic; font-size: 18px; margin: 0 0 24px; }
.vmy-sc-sub {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 16px; font-style: italic;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-sc-sub--light { color: rgba(244,233,216,.65); }

.vmy-sc-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.75;
  color: rgba(244,233,216,0.78); max-width: 680px; margin: 0 auto 16px;
}
.vmy-sc-lede--dark { color: var(--c-inkSoft,#4A3E5C); }
.vmy-sc-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.75;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-sc-body--light { color: rgba(244,233,216,.78); }

/* Spark (✧) and tick (✓) lists */
.vmy-sc-sparks, .vmy-sc-ticks { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vmy-sc-sparks li, .vmy-sc-ticks li {
  font-family: 'Inter Tight', sans-serif; font-size: 14px;
  color: var(--c-inkSoft,#4A3E5C); padding-left: 20px; position: relative;
}
.vmy-sc-sparks li::before { content: '\2726'; position: absolute; left: 0; color: var(--c-saffron,#E63B1E); }
.vmy-sc-ticks  li::before { content: '\2713'; position: absolute; left: 0; color: var(--c-saffron,#E63B1E); }
.vmy-sc-sparks--light li { color: rgba(244,233,216,.8); }
.vmy-sc-sparks--light li::before { color: var(--c-gold,#F5B22F); }
.vmy-sc-ticks { gap: 7px; margin: 0; }
.vmy-sc-ticks li { font-size: 13px; color: rgba(244,233,216,.8); }
.vmy-sc-ticks li::before { color: var(--c-gold,#F5B22F); }
.vmy-sc-ticks--two { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.vmy-sc-ticks--dark li { color: var(--c-inkSoft,#4A3E5C); font-size: 14px; }
.vmy-sc-ticks--dark li::before { color: var(--c-saffron,#E63B1E); }

/* Hero domain cards (5-up) */
.vmy-sc-domain {
  background: rgba(244,233,216,.06); border: 1px solid rgba(244,233,216,.1);
  border-radius: 14px; padding: 18px 12px; text-align: center;
  height: 100%; box-sizing: border-box; margin-top: 12px;
}
.vmy-sc-domain--active { background: rgba(230,59,30,.2); border-color: rgba(230,59,30,.3); }
.vmy-sc-domain-name { font-family: 'Fraunces', Georgia, serif; font-size: 15px; color: #F4E9D8; margin-bottom: 4px; }
.vmy-sc-domain-sub  { font-family: 'Inter Tight', sans-serif; font-size: 11px; color: rgba(244,233,216,.5); }

/* Panels */
.vmy-sc-panel { border-radius: 16px; padding: 24px; }
.vmy-sc-panel--ink   { background: var(--c-ink,#1F1733); }
.vmy-sc-panel--white { background: #fff; padding: 28px; margin-bottom: 16px; }
.vmy-sc-panel-title { font-family: 'Fraunces', Georgia, serif; font-size: 18px; color: var(--c-gold,#F5B22F); margin-bottom: 10px; }
.vmy-sc-panel-title--dark { color: var(--c-ink,#1F1733); margin-bottom: 16px; }
.vmy-sc-panel-body { font-family: 'Inter Tight', sans-serif; font-size: 14px; line-height: 1.75; color: rgba(244,233,216,.78); margin: 0 0 14px; }
.vmy-sc-claims { display: flex; flex-direction: column; gap: 8px; }
.vmy-sc-claim  { font-family: 'Fraunces', Georgia, serif; font-size: 16px; color: var(--c-cream,#F4E9D8); }

/* Children tiles */
.vmy-sc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
.vmy-sc-tile { background: #fff; border-radius: 12px; padding: 16px; }
.vmy-sc-tile-name { font-family: 'Inter Tight', sans-serif; font-size: 13px; font-weight: 600; color: var(--c-ink,#1F1733); margin-bottom: 3px; }
.vmy-sc-tile-desc { font-family: 'Inter Tight', sans-serif; font-size: 11px; color: var(--c-inkSoft,#4A3E5C); }
.vmy-sc-callout { background: rgba(230,59,30,.08); border-left: 3px solid var(--c-saffron,#E63B1E); border-radius: 12px; padding: 16px 18px; }
.vmy-sc-callout-text { font-family: 'Inter Tight', sans-serif; font-size: 14px; color: var(--c-ink,#1F1733); margin: 0; }

/* Glass boxes (sound) */
.vmy-sc-glass {
  background: rgba(244,233,216,.06); border: 1px solid rgba(244,233,216,.1);
  border-radius: 14px; padding: 20px; margin-bottom: 16px;
}
.vmy-sc-glass-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 12px;
}
.vmy-sc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vmy-sc-chip {
  background: rgba(244,233,216,.08); border-radius: 100px; padding: 5px 12px;
  font-family: 'Inter Tight', sans-serif; font-size: 12px; color: rgba(244,233,216,.8);
}

/* Brainwave rows */
.vmy-sc-waves { display: flex; flex-direction: column; gap: 12px; }
.vmy-sc-wave {
  background: rgba(244,233,216,.06); border: 1px solid rgba(244,233,216,.1);
  border-radius: 14px; padding: 20px;
  display: flex; align-items: center; gap: 20px;
}
.vmy-sc-wave--active { background: rgba(230,59,30,.15); border-color: rgba(230,59,30,.25); }
.vmy-sc-wave-sym { min-width: 60px; text-align: center; }
.vmy-sc-wave-glyph { font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: var(--c-gold,#F5B22F); }
.vmy-sc-wave-glyph--saffron { color: var(--c-saffron,#E63B1E); }
.vmy-sc-wave-name {
  font-family: 'Inter Tight', sans-serif; font-size: 10px;
  letter-spacing: .1em; text-transform: uppercase; color: rgba(244,233,216,.5);
}
.vmy-sc-wave-title { font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600; color: #F4E9D8; margin-bottom: 3px; }
.vmy-sc-wave-desc  { font-family: 'Inter Tight', sans-serif; font-size: 12px; color: rgba(244,233,216,.6); }

/* Brain Gym quote + steps */
.vmy-sc-quotebox { background: var(--c-ink,#1F1733); border-radius: 16px; padding: 20px 24px; }
.vmy-sc-quotebox-text {
  font-family: 'Inter Tight', sans-serif; font-size: 14px; line-height: 1.75;
  font-style: italic; color: rgba(244,233,216,.78); margin: 0;
}
.vmy-sc-steps { display: flex; flex-direction: column; gap: 12px; }
.vmy-sc-step {
  background: #fff; border-radius: 14px; padding: 20px;
  display: flex; gap: 16px; align-items: flex-start;
}
.vmy-sc-step-num { font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: var(--c-saffron,#E63B1E); min-width: 32px; }
.vmy-sc-step-title { font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600; color: var(--c-ink,#1F1733); margin-bottom: 4px; }
.vmy-sc-step-desc  { font-family: 'Inter Tight', sans-serif; font-size: 13px; color: var(--c-inkSoft,#4A3E5C); }

/* Philosophy duo cards */
.vmy-sc-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vmy-sc-duo-card { border-radius: 16px; padding: 24px; text-align: center; }
.vmy-sc-duo-card--gold    { background: rgba(245,178,47,.1);  border: 1px solid rgba(245,178,47,.2); }
.vmy-sc-duo-card--saffron { background: rgba(230,59,30,.15);  border: 1px solid rgba(230,59,30,.25); }
.vmy-sc-duo-title { font-family: 'Fraunces', Georgia, serif; font-size: 17px; color: var(--c-gold,#F5B22F); margin-bottom: 8px; }
.vmy-sc-duo-title--cream { color: var(--c-cream,#F4E9D8); }
.vmy-sc-duo-sub { font-family: 'Inter Tight', sans-serif; font-size: 13px; color: rgba(244,233,216,.65); }

/* Outcomes */
.vmy-sc-outcomes { display: flex; flex-direction: column; gap: 10px; }
.vmy-sc-outcome {
  display: flex; gap: 14px; align-items: center;
  background: rgba(244,233,216,.06); border-radius: 12px; padding: 16px 18px;
}
.vmy-sc-outcome--active { background: rgba(230,59,30,.15); border: 1px solid rgba(230,59,30,.3); }
.vmy-sc-outcome-mark { font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: var(--c-gold,#F5B22F); }
.vmy-sc-outcome-mark--saffron { color: var(--c-saffron,#E63B1E); }
.vmy-sc-outcome-text { font-family: 'Fraunces', Georgia, serif; font-size: 17px; color: #F4E9D8; }

/* CTA */
.vmy-sc-cta { text-align: center; margin-top: 56px; }
.vmy-sc-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.vmy-sc-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 32px; border-radius: 100px;
  font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: transform .15s ease;
}
.vmy-sc-btn:hover { transform: translateY(-1px); }
.vmy-sc-btn--gold  { background: var(--c-gold,#F5B22F); color: var(--c-ink,#1F1733); }
.vmy-sc-btn--ghost { background: rgba(244,233,216,0.1); color: #F4E9D8; border: 1.5px solid rgba(244,233,216,0.2); }

@media (max-width: 768px) {
  .vmy-sc-grid2, .vmy-sc-duo, .vmy-sc-ticks--two { grid-template-columns: 1fr; }
}
.vmy-sc-wave-body { flex: 1; }
.vmy-sc-step-body { flex: 1; }

/* =============================================================
   MULTI-COLUMN ROW FIX  (row carries el_class="vmy-cols")

   The parent theme puts the SITE GUTTER on every column:
     .vc_row:not(.vc_inner)>.vc_column_container>.vc_column-inner{
        padding-left:var(--gutter)!important }        (up to 100px)
   That is right for a ONE-column row, but in a multi-column row each
   card loses ~200px to padding — cards shrink, gaps balloon.

   NOTE the selector must out-specify the theme's (4 classes), hence
   the .vc_row:not(.vc_inner) prefix below — a plain `.vmy-cols >`
   selector LOSES even with !important.

   Result: the gutter sits on the ROW (background still bleeds full
   width), columns keep a 20px gutter between them, and the content
   width matches the single-column rows above and below (no cap, since
   the theme never caps them either).
   ============================================================= */
.vc_row:not(.vc_inner).vmy-cols {
  /* !important is REQUIRED: WPBakery writes padding-left/right as an
     INLINE style on stretched rows, and inline beats any selector
     unless we mark it important. Without this the row gutter is lost
     and the cards slam against both screen edges. */
  padding-left:  var(--gutter) !important;
  padding-right: var(--gutter) !important;
  box-sizing: border-box;
}
.vc_row:not(.vc_inner).vmy-cols > .vc_column_container > .vc_column-inner {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* The 5-up strip wraps gracefully instead of shrinking on narrow screens */
@media (max-width: 1200px) {
  .vc_row:not(.vc_inner).vmy-cols > .vc_column_container.vc_col-sm-2\/5,
  .vc_row:not(.vc_inner).vmy-cols > .vc_column_container[class*="vc_col-sm-1/5"] {
    width: 33.333%;
  }
}
@media (max-width: 767px) {
  .vc_row:not(.vc_inner).vmy-cols > .vc_column_container { margin-bottom: 16px; }
}

/* =============================================================
   RESEARCH & DEVELOPMENT PAGE
   Replaces every inline style from the old base64 blocks.
   ============================================================= */
.vmy-res-head { text-align: center; margin-bottom: 52px; }

.vmy-res-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(26px,3.5vw,44px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.05;
  letter-spacing: -0.03em; margin: 0 0 16px;
}
.vmy-res-h2--light { color: #F4E9D8; }
.vmy-res-h2 em { color: var(--c-saffron,#E63B1E); font-style: italic; }
.vmy-res-h2--light em { color: var(--c-gold,#F5B22F); }

.vmy-res-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.78;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-res-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.7;
  color: var(--c-inkSoft,#4A3E5C);
  max-width: 620px; margin: 0 auto;
}
.vmy-res-lede--light { color: rgba(244,233,216,0.7); max-width: 580px; }
.vmy-res-caption {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; font-style: italic; text-align: center;
  color: var(--c-inkSoft,#4A3E5C); margin: 28px 0 0;
}

/* Three epistemology tiers — one flush stack */
.vmy-res-stack { display: flex; flex-direction: column; gap: 3px; border-radius: 20px; overflow: hidden; }
.vmy-res-tier { padding: 32px; }
.vmy-res-tier--plum    { background: var(--c-plum,#2A1B5C); }
.vmy-res-tier--saffron { background: var(--c-saffron,#E63B1E); }
.vmy-res-tier--ink     { background: var(--c-ink,#1F1733); }
.vmy-res-tier-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 20px; letter-spacing: -0.01em;
  color: var(--c-gold,#F5B22F); margin-bottom: 8px;
}
.vmy-res-tier-title span { font-size: 14px; font-style: italic; opacity: 0.6; }
.vmy-res-tier--saffron .vmy-res-tier-title { color: #fff; }
.vmy-res-tier--saffron .vmy-res-tier-title span { opacity: 0.75; }
.vmy-res-tier-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px; line-height: 1.65;
  color: rgba(244,233,216,0.78); margin: 0;
}
.vmy-res-tier--saffron .vmy-res-tier-body { color: rgba(255,255,255,0.85); }

/* Methodology cards (I–V) */
.vmy-res-card {
  background: #fff; border: 1.5px solid rgba(31,23,51,0.07);
  border-radius: 16px; padding: 32px 28px;
  height: 100%; box-sizing: border-box;
}
.vmy-res-num {
  width: 48px; height: 48px; border-radius: 12px;
  background: var(--c-bgAlt,#E4DBCB);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Fraunces', Georgia, serif; font-size: 20px;
  color: var(--c-saffron,#E63B1E); margin-bottom: 18px;
}
.vmy-res-card-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px; font-weight: 400;
  color: var(--c-ink,#1F1733); margin: 0 0 10px;
}
.vmy-res-card-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px; line-height: 1.65;
  color: var(--c-inkSoft,#4A3E5C); margin: 0;
}

/* Case-study panels + ▸ lists */
.vmy-res-panel {
  background: var(--c-bgAlt,#E4DBCB); border-radius: 16px;
  padding: 32px 28px; height: 100%; box-sizing: border-box;
}
.vmy-res-panel-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 19px; font-weight: 400; letter-spacing: -0.01em;
  color: var(--c-ink,#1F1733); margin: 0 0 16px;
}
.vmy-res-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vmy-res-list li {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px; line-height: 1.6;
  color: var(--c-inkSoft,#4A3E5C);
  padding-left: 20px; position: relative;
}
.vmy-res-list li::before {
  content: '\25B8'; position: absolute; left: 0;
  color: var(--c-saffron,#E63B1E); font-weight: 700;
}

/* Five-stage implementation strip */
.vmy-res-stages { display: flex; flex-direction: column; gap: 3px; }
.vmy-res-stage {
  display: flex; gap: 16px; align-items: center;
  padding: 20px 24px;
}
.vmy-res-stage--1 { background: var(--c-plum,#2A1B5C); border-radius: 12px 12px 0 0; }
.vmy-res-stage--2 { background: rgba(42,27,92,0.7); }
.vmy-res-stage--3 { background: rgba(42,27,92,0.5); }
.vmy-res-stage--4 { background: rgba(42,27,92,0.35); }
.vmy-res-stage--5 { background: var(--c-saffron,#E63B1E); border-radius: 0 0 12px 12px; }
.vmy-res-stage-num {
  font-family: 'Fraunces', Georgia, serif; font-size: 24px;
  color: var(--c-gold,#F5B22F); flex-shrink: 0;
}
.vmy-res-stage--5 .vmy-res-stage-num { color: #fff; }
.vmy-res-stage-body { flex: 1; }
.vmy-res-stage-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px; font-weight: 600; color: #F4E9D8; margin-bottom: 3px;
}
.vmy-res-stage-desc {
  font-family: 'Inter Tight', sans-serif;
  font-size: 12px; color: rgba(244,233,216,0.65);
}
.vmy-res-stage--5 .vmy-res-stage-title { color: #fff; }
.vmy-res-stage--5 .vmy-res-stage-desc  { color: rgba(255,255,255,0.78); }

/* Ethics cards */
.vmy-res-ethic {
  background: rgba(244,233,216,0.05);
  border: 1px solid rgba(244,233,216,0.1);
  border-radius: 16px; padding: 28px 24px;
  height: 100%; box-sizing: border-box;
}
.vmy-res-ethic-icon { font-size: 32px; margin-bottom: 16px; line-height: 1; }
.vmy-res-ethic-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 17px; font-weight: 400; color: #F4E9D8; margin: 0 0 10px;
}
.vmy-res-ethic-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px; line-height: 1.65;
  color: rgba(244,233,216,0.7); margin: 0;
}

/* =============================================================
   PROGRAMS PAGE — replaces the inline styles from the old base64.
   The .vmy-prog-ecard family already lives in the PARENT theme;
   only the coloured top-bands were inline, so they become modifiers.
   ============================================================= */
.vmy-prog-ecard__top--plum    { background: var(--c-plum,#2A1B5C); }
.vmy-prog-ecard__top--saffron { background: var(--c-saffron,#E63B1E); }
.vmy-prog-ecard__top--ink     { background: var(--c-ink,#1F1733); }
.vmy-prog-ecard__top--maroon  { background: var(--c-maroon,#3E1A3E); }
.vmy-prog-ecard { height: 100%; box-sizing: border-box; }

/* Headings */
.vmy-pg-h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(32px,4.5vw,58px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.05;
  letter-spacing: -0.03em; margin: 0 0 24px;
}
.vmy-pg-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(26px,3.5vw,44px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.025em; margin: 0 0 24px;
}
.vmy-pg-h2--light { color: #F4E9D8; margin: 0 0 16px; }
.vmy-pg-h1 em, .vmy-pg-h2 em { color: var(--c-saffron,#E63B1E); font-style: italic; }
.vmy-pg-h2--light em { color: var(--c-gold,#F5B22F); }

.vmy-pg-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px; line-height: 1.78;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-pg-body strong { color: var(--c-ink,#1F1733); }

/* Buttons */
.vmy-pg-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 28px; border-radius: 100px;
  font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: transform .15s ease;
}
.vmy-pg-btn:hover { transform: translateY(-1px); }
.vmy-pg-btn--saffron {
  background: var(--c-saffron,#E63B1E); color: #fff;
  box-shadow: 0 8px 24px -8px rgba(230,59,30,0.45);
}
.vmy-pg-btn--gold {
  background: var(--c-gold,#F5B22F); color: var(--c-ink,#1F1733);
  padding: 16px 36px; font-size: 15px;
  box-shadow: 0 8px 24px -8px rgba(245,178,47,0.5);
}

/* Opening 2x2 age cards */
.vmy-pg-quad { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vmy-pg-quad-card { border-radius: 16px; padding: 28px 24px; }
.vmy-pg-quad-card--plum    { background: var(--c-plum,#2A1B5C); }
.vmy-pg-quad-card--saffron { background: var(--c-saffron,#E63B1E); }
.vmy-pg-quad-card--sand    { background: var(--c-bgAlt,#E4DBCB); }
.vmy-pg-quad-card--ink     { background: var(--c-ink,#1F1733); }
.vmy-pg-quad-icon { font-size: 32px; margin-bottom: 12px; line-height: 1; }
.vmy-pg-quad-age {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px;
  color: #F4E9D8; margin-bottom: 6px;
}
.vmy-pg-quad-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  color: rgba(244,233,216,0.65);
}
.vmy-pg-quad-card--saffron .vmy-pg-quad-age  { color: #fff; }
.vmy-pg-quad-card--saffron .vmy-pg-quad-desc { color: rgba(255,255,255,0.75); }
.vmy-pg-quad-card--sand .vmy-pg-quad-age  { color: var(--c-ink,#1F1733); }
.vmy-pg-quad-card--sand .vmy-pg-quad-desc { color: var(--c-inkSoft,#4A3E5C); }

/* "Why these programs" feature panel */
.vmy-pg-panel {
  background: var(--c-plum,#2A1B5C); border-radius: 20px; padding: 40px;
  display: flex; flex-direction: column; gap: 20px;
  height: 100%; box-sizing: border-box;
}
.vmy-pg-feat { display: flex; gap: 16px; align-items: flex-start; }
.vmy-pg-feat-icon { font-size: 28px; flex-shrink: 0; line-height: 1.2; }
.vmy-pg-feat-body { flex: 1; }
.vmy-pg-feat-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 17px;
  color: #F4E9D8; margin-bottom: 6px;
}
.vmy-pg-feat-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 13.5px; line-height: 1.6;
  color: rgba(244,233,216,0.7);
}

/* Closing CTA */
.vmy-pg-cta-pill { margin-bottom: 20px; display: inline-block; }
.vmy-pg-cta-lede {
  font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.7;
  color: rgba(244,233,216,0.75); max-width: 520px; margin: 0 auto 32px;
}
.vmy-pg-cta-note {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  color: rgba(244,233,216,0.5); margin: 16px 0 0;
}

@media (max-width: 768px) {
  .vmy-pg-quad { grid-template-columns: 1fr; }
  .vmy-pg-panel { padding: 28px; }
}

/* =============================================================
   PROGRAM DETAIL PAGES (Basic Activation etc.)
   Most classes (.vmy-prog-who-card, .vmy-journey-*, .vmy-faq-*,
   .vmy-duration-*) already live in the PARENT theme. These only
   replace the inline styles and support real WPBakery columns.
   ============================================================= */
.vmy-pd-head { text-align: center; }

.vmy-pd-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(26px,3.5vw,48px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.025em; margin: 0 0 16px;
}
.vmy-pd-h2--tight { margin: 0; }
.vmy-pd-h2--light { color: #F4E9D8; }
.vmy-pd-h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(24px,3vw,38px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.02em; margin: 0 0 24px;
}
.vmy-pd-h3--light { color: var(--c-cream,#F4E9D8); }
.vmy-pd-h2 em, .vmy-pd-h3 em { color: var(--c-saffron,#E63B1E); font-style: italic; }
.vmy-pd-h2--light em, .vmy-pd-h3--light em { color: var(--c-gold,#F5B22F); }

.vmy-pd-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px; line-height: 1.7;
  color: var(--c-inkSoft,#4A3E5C);
  max-width: 640px; margin: 0 auto;
}
.vmy-pd-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.78;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-pd-body--light { color: rgba(244,233,216,0.78); }
.vmy-pd-pill { display: inline-block; margin-bottom: 12px; }

/* Cards fill their column (equal_height) */
.vmy-prog-who-card,
.vmy-journey-step { height: 100%; box-sizing: border-box; }
.vmy-journey-content { flex: 1; }

/* Outcomes image */
.vmy-pd-img {
  width: 100%; height: auto;
  object-fit: cover; border-radius: 20px;
  display: block; margin-top: 24px;
}

/* Benefit cards (I–VI) */
.vmy-pd-benefit {
  background: #fff; border-radius: 14px; padding: 20px;
  height: 100%; box-sizing: border-box;
}
.vmy-pd-benefit-num {
  font-family: 'Fraunces', Georgia, serif; font-size: 19px;
  color: var(--c-saffron,#E63B1E); margin-bottom: 8px;
}
.vmy-pd-benefit-title {
  font-family: 'Inter Tight', sans-serif; font-size: 13px; font-weight: 600;
  color: var(--c-ink,#1F1733); margin-bottom: 5px;
}
.vmy-pd-benefit-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 12px; line-height: 1.6;
  color: var(--c-inkSoft,#4A3E5C); margin: 0;
}

/* Science cards */
.vmy-pd-sci-list { display: flex; flex-direction: column; gap: 14px; }
.vmy-pd-sci {
  background: rgba(244,233,216,0.07); border-radius: 14px;
  padding: 22px 24px;
}
.vmy-pd-sci--gold    { border-left: 3px solid var(--c-gold,#F5B22F); }
.vmy-pd-sci--saffron { border-left: 3px solid var(--c-saffron,#E63B1E); }
.vmy-pd-sci-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 16px;
  color: #F4E9D8; margin-bottom: 8px;
}
.vmy-pd-sci-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 13px; line-height: 1.6;
  color: rgba(244,233,216,0.7);
}

/* CTA */
.vmy-pd-cta-lede {
  font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.7;
  color: rgba(244,233,216,0.75); max-width: 520px; margin: 0 auto 32px;
}
.vmy-pd-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.vmy-pd-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 32px; border-radius: 100px;
  font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: transform .15s ease;
}
.vmy-pd-btn:hover { transform: translateY(-1px); }
.vmy-pd-btn--gold  { background: var(--c-gold,#F5B22F); color: var(--c-ink,#1F1733); }
.vmy-pd-btn--ghost { background: rgba(244,233,216,0.1); color: #F4E9D8; border: 1.5px solid rgba(244,233,216,0.2); }

/* =============================================================
   ADULT WELLBEING PAGE  (.vmy-aw-*)
   Reuses .vmy-pd-*, .vmy-sd-ticks and .vmy-sd-sparks; these only
   cover what is unique to this page.
   ============================================================= */
.vmy-aw-head-gap { margin-bottom: 48px; }

.vmy-aw-tagline {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 20px;
}
.vmy-aw-hero-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px; line-height: 1.75;
  color: var(--c-inkSoft,#4A3E5C);
  max-width: 700px; margin: 0 auto 20px;
}
.vmy-aw-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.75;
  color: var(--c-inkSoft,#4A3E5C);
  max-width: 720px; margin: 0 auto 20px;
}
.vmy-aw-sublede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.7;
  color: var(--c-inkSoft,#4A3E5C);
  max-width: 600px; margin: 0 auto;
}
.vmy-aw-sublede strong { color: var(--c-ink,#1F1733); }

.vmy-aw-h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px; font-weight: 400;
  color: var(--c-ink,#1F1733); margin: 0 0 20px;
}
.vmy-aw-h3--sm { font-size: 20px; margin: 0 0 16px; }
.vmy-aw-kicker {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-aw-ticks-gap { margin-bottom: 28px; }

/* Framework cards (border-left accents) */
.vmy-aw-fw-list { display: flex; flex-direction: column; gap: 12px; }
.vmy-aw-fw { background: #F9F5EF; border-radius: 12px; padding: 16px 18px; }
.vmy-aw-fw--saffron { border-left: 3px solid var(--c-saffron,#E63B1E); }
.vmy-aw-fw--plum    { border-left: 3px solid var(--c-plum,#2A1B5C); }
.vmy-aw-fw--gold    { border-left: 3px solid var(--c-gold,#F5B22F); }
.vmy-aw-fw-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 15px;
  color: var(--c-ink,#1F1733); margin-bottom: 4px;
}
.vmy-aw-fw-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
}

/* Module cards */
.vmy-aw-module {
  background: rgba(244,233,216,.06);
  border: 1px solid rgba(244,233,216,.1);
  border-radius: 16px; padding: 28px;
  height: 100%; box-sizing: border-box;
}
.vmy-aw-module--active { background: rgba(230,59,30,.18); border-color: rgba(230,59,30,.3); }
.vmy-aw-module--gold   { background: rgba(245,178,47,.12); border-color: rgba(245,178,47,.25); }
.vmy-aw-module-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 8px;
}
.vmy-aw-module-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px; font-weight: 400;
  color: #F4E9D8; line-height: 1.3; margin-bottom: 12px;
}
.vmy-aw-module-lead {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(244,233,216,.5); margin: 0 0 10px;
}
.vmy-aw-module-body {
  font-family: 'Inter Tight', sans-serif; font-size: 13px; line-height: 1.6;
  color: rgba(244,233,216,.75); margin: 0;
}

/* Benefit cards */
.vmy-aw-bcard {
  background: #fff; border-radius: 16px; padding: 28px 24px;
  height: 100%; box-sizing: border-box;
}
.vmy-aw-bcard-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px;
  color: var(--c-ink,#1F1733); margin-bottom: 16px;
}

/* Corporate components */
.vmy-aw-comp-list { display: flex; flex-direction: column; gap: 12px; }
.vmy-aw-comp { background: #fff; border-radius: 12px; padding: 16px 18px; }
.vmy-aw-comp-title {
  font-family: 'Inter Tight', sans-serif; font-size: 13px; font-weight: 700;
  color: var(--c-ink,#1F1733); margin-bottom: 6px;
}
.vmy-aw-comp-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
}

/* Employee / organisation boxes */
.vmy-aw-box { border-radius: 16px; padding: 28px 24px; margin-bottom: 16px; }
.vmy-aw-box--plum { background: var(--c-plum,#2A1B5C); }
.vmy-aw-box--ink  { background: var(--c-ink,#1F1733); margin-bottom: 0; }
.vmy-aw-box-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 14px;
}
.vmy-aw-box .vmy-sd-ticks { margin-bottom: 0; }

/* Eligibility tiles */
.vmy-aw-join {
  background: rgba(244,233,216,.07);
  border: 1px solid rgba(244,233,216,.1);
  border-radius: 14px; padding: 20px; text-align: center;
  font-family: 'Fraunces', Georgia, serif; font-size: 16px;
  color: #F4E9D8; line-height: 1.3;
  height: 100%; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
}
.vmy-aw-join--active { background: rgba(230,59,30,.2); border-color: rgba(230,59,30,.3); font-size: 15px; }

/* CTA */
.vmy-aw-cta-lede {
  font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.7;
  color: rgba(244,233,216,0.75); max-width: 520px; margin: 0 auto 8px;
}
.vmy-aw-cta-kicker {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(244,233,216,0.5); max-width: 520px; margin: 0 auto 28px;
}
.vmy-aw-cta-note {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  color: rgba(244,233,216,0.45); margin: 20px 0 0;
}

/* =============================================================
   CERTIFICATION PAGE  (.vmy-ce-*)
   Reuses .vmy-pd-*, .vmy-aw-module, .vmy-sd-ticks/-sparks/-chips.
   ============================================================= */
.vmy-ce-sub {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px; letter-spacing: 0.04em;
  color: rgba(244,233,216,.65); margin: 0 0 20px;
}
.vmy-ce-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.8;
  color: rgba(244,233,216,.78); margin: 0 0 14px;
}
.vmy-ce-lede--soft   { font-size: 14px; line-height: 1.75; color: rgba(244,233,216,.65); margin-bottom: 28px; }
.vmy-ce-lede--center { max-width: 560px; margin: 0 auto; color: rgba(244,233,216,.7); }
.vmy-ce-quote {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px; font-style: italic;
  color: var(--c-gold,#F5B22F); margin: 0 0 28px;
}
.vmy-ce-btns { display: flex; gap: 14px; flex-wrap: wrap; }

.vmy-ce-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; line-height: 1.75;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 8px;
}
.vmy-ce-body--center { text-align: center; margin: 0 0 20px; font-size: 14px; }
.vmy-ce-lead {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px; font-weight: 600;
  color: var(--c-ink,#1F1733); margin: 0 0 16px;
}
.vmy-ce-h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px; font-weight: 400;
  color: var(--c-ink,#1F1733); margin: 0 0 20px;
}
.vmy-ce-h3 em { color: var(--c-saffron,#E63B1E); font-style: italic; }
.vmy-ce-gap { margin-top: 40px; }

/* Hero "at a glance" box */
.vmy-ce-glance {
  background: rgba(245,178,47,.12);
  border: 1px solid rgba(245,178,47,.25);
  border-radius: 20px; padding: 28px;
  height: 100%; box-sizing: border-box;
}
.vmy-ce-glance-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 16px;
}
.vmy-ce-spec { border-bottom: 1px solid rgba(244,233,216,.1); padding-bottom: 12px; margin-bottom: 14px; }
.vmy-ce-spec--last { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.vmy-ce-spec-key {
  font-family: 'Inter Tight', sans-serif; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(244,233,216,.5); margin-bottom: 3px;
}
.vmy-ce-spec-val {
  font-family: 'Inter Tight', sans-serif; font-size: 14px; color: #F4E9D8;
}
.vmy-ce-spec--last .vmy-ce-spec-key { margin-bottom: 8px; }

/* Integrated framework box */
.vmy-ce-framework { background: var(--c-ink,#1F1733); border-radius: 14px; padding: 20px 22px; }
.vmy-ce-framework-label {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 10px;
}

/* Exposure rows (I–V) */
.vmy-ce-exposure { display: flex; flex-direction: column; gap: 10px; }
.vmy-ce-exp {
  background: #fff; border-radius: 12px; padding: 14px 16px;
  display: flex; gap: 12px; align-items: center;
}
.vmy-ce-exp-num {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px;
  color: var(--c-saffron,#E63B1E); min-width: 28px;
}
.vmy-ce-exp-text {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
}

/* Outcome cards */
.vmy-ce-out {
  background: #fff; border-radius: 16px; padding: 26px;
  height: 100%; box-sizing: border-box;
}
.vmy-ce-out-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px;
  color: var(--c-ink,#1F1733);
  margin-bottom: 16px; padding-bottom: 12px;
  border-bottom: 1.5px solid rgba(31,23,51,.08);
}
.vmy-ce-sparks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vmy-ce-sparks li {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
  padding-left: 18px; position: relative;
}
.vmy-ce-sparks li::before { content: '\2726'; position: absolute; left: 0; color: var(--c-saffron,#E63B1E); }

/* Transformation area chips */
.vmy-ce-areas-head { margin-top: 40px; }
.vmy-ce-areas { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.vmy-ce-area {
  background: var(--c-ink,#1F1733); color: #F4E9D8;
  border-radius: 100px; padding: 8px 18px;
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
}
.vmy-ce-area--active { background: var(--c-saffron,#E63B1E); color: #fff; }

/* Career cards */
.vmy-ce-career {
  background: #fff; border-radius: 14px; padding: 22px;
  height: 100%; box-sizing: border-box;
}
.vmy-ce-career--active { background: var(--c-saffron,#E63B1E); }
.vmy-ce-career-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px;
  color: var(--c-ink,#1F1733); margin-bottom: 8px;
}
.vmy-ce-career-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
}
.vmy-ce-career--active .vmy-ce-career-title { color: #fff; }
.vmy-ce-career--active .vmy-ce-career-desc  { color: rgba(255,255,255,.8); }

/* Who can apply */
.vmy-ce-apply { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vmy-ce-apply-item {
  background: #fff; border-radius: 10px; padding: 12px 14px;
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
}
.vmy-ce-apply-item--wide {
  grid-column: span 2; text-align: center;
  background: var(--c-saffron,#E63B1E); color: #fff;
}

/* Eligibility box */
.vmy-ce-elig { background: var(--c-ink,#1F1733); border-radius: 16px; padding: 24px; }
.vmy-ce-elig .vmy-sd-ticks { margin-bottom: 0; }

/* CTA */
.vmy-ce-cta-lede {
  font-family: 'Inter Tight', sans-serif; font-size: 15px; line-height: 1.7;
  color: rgba(244,233,216,0.75); max-width: 520px; margin: 0 auto 6px;
}
.vmy-ce-cta-kicker {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(244,233,216,0.45); margin: 0 auto 28px;
}

@media (max-width: 768px) { .vmy-ce-apply { grid-template-columns: 1fr; } .vmy-ce-apply-item--wide { grid-column: span 1; } }

/* =============================================================
   VMY KENDRA / PARTNERSHIP PAGE  (.vmy-kd-*)
   Reuses .vmy-pd-*, .vmy-ce-apply, .vmy-ce-sparks,
   .vmy-sd-ticks/-sparks/-chips.
   ============================================================= */
.vmy-kd-h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(28px,4vw,56px); font-weight: 400;
  color: var(--c-cream,#F4E9D8); line-height: 1.05;
  letter-spacing: -0.025em; margin: 0 0 10px;
}
.vmy-kd-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(26px,3.5vw,40px); font-weight: 400;
  color: var(--c-ink,#1F1733); line-height: 1.1;
  letter-spacing: -0.025em; margin: 0 0 24px;
}
.vmy-kd-h2--light { color: var(--c-cream,#F4E9D8); }
.vmy-kd-h1 em, .vmy-kd-h2--light em { color: var(--c-gold,#F5B22F); font-style: italic; }
.vmy-kd-h2 em { color: var(--c-saffron,#E63B1E); font-style: italic; }
.vmy-kd-h3-gap { margin-top: 28px; }
.vmy-kd-gap { margin-top: 24px; }

.vmy-kd-lede {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px; line-height: 1.8;
  color: rgba(244,233,216,.75);
  max-width: 700px; margin: 0 auto 16px;
}
.vmy-kd-lede--soft { font-size: 15px; color: rgba(244,233,216,.65); max-width: 760px; margin-bottom: 32px; }
.vmy-kd-note {
  font-family: 'Inter Tight', sans-serif; font-size: 15px;
  color: rgba(244,233,216,.75); margin: 0 0 8px;
}
.vmy-kd-note strong { color: #F4E9D8; }
.vmy-kd-body {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px; line-height: 1.75;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 16px;
}
.vmy-kd-tagline {
  font-family: 'Inter Tight', sans-serif; font-size: 16px;
  color: var(--c-inkSoft,#4A3E5C); margin: 0 0 10px;
}
.vmy-kd-badge {
  display: inline-block;
  background: var(--c-saffron,#E63B1E); color: #fff;
  border-radius: 100px; padding: 8px 24px;
  font-family: 'Inter Tight', sans-serif; font-size: 15px; font-weight: 700;
}

/* Hero pricing models */
.vmy-kd-model {
  background: rgba(244,233,216,.07);
  border: 1.5px solid rgba(244,233,216,.12);
  border-radius: 16px; padding: 24px;
  height: 100%; box-sizing: border-box; margin-top: 32px;
}
.vmy-kd-model--active { background: rgba(230,59,30,.2); border-color: rgba(230,59,30,.35); }
.vmy-kd-model-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 8px;
}
.vmy-kd-model-name { font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: #F4E9D8; margin-bottom: 6px; }
.vmy-kd-model-sub  { font-family: 'Inter Tight', sans-serif; font-size: 13px; color: rgba(244,233,216,.6); margin-bottom: 12px; }
.vmy-kd-model-price{ font-family: 'Fraunces', Georgia, serif; font-size: 24px; color: var(--c-gold,#F5B22F); }

/* Panels */
.vmy-kd-panel { border-radius: 16px; padding: 24px; margin-bottom: 14px; }
.vmy-kd-panel--ink   { background: var(--c-ink,#1F1733); }
.vmy-kd-panel--white { background: #fff; margin-bottom: 0; }
.vmy-kd-panel-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 14px;
}
.vmy-kd-panel-label--saffron { color: var(--c-saffron,#E63B1E); }
.vmy-kd-spec { border-bottom: 1px solid rgba(244,233,216,.1); padding-bottom: 10px; margin-bottom: 10px; }
.vmy-kd-spec--last { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.vmy-kd-spec-title {
  font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600;
  color: #F4E9D8; margin-bottom: 3px;
}
.vmy-kd-spec-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  color: rgba(244,233,216,.6);
}
.vmy-kd-panel--white .vmy-ce-sparks { margin: 0; }

/* Coach growth ladder */
.vmy-kd-ladder { display: flex; flex-direction: column; }
.vmy-kd-rung { padding: 22px 24px; }
.vmy-kd-rung--1 {
  background: rgba(244,233,216,.08); border: 1px solid rgba(244,233,216,.12);
  border-bottom: none; border-radius: 16px 16px 0 0;
}
.vmy-kd-rung--2 {
  background: rgba(244,233,216,.1); border: 1px solid rgba(244,233,216,.15);
  border-top: none; border-bottom: none;
}
.vmy-kd-rung--3 {
  background: rgba(245,178,47,.15); border: 1px solid rgba(245,178,47,.25);
  border-top: none; border-radius: 0 0 16px 16px;
}
.vmy-kd-rung-label {
  font-family: 'Inter Tight', sans-serif; font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--c-gold,#F5B22F); margin-bottom: 6px;
}
.vmy-kd-rung-name { font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: #F4E9D8; }
.vmy-kd-arrow { display: flex; justify-content: center; padding: 8px 0; color: var(--c-gold,#F5B22F); font-size: 20px; }

/* Coach CTA box */
.vmy-kd-cta-box {
  background: rgba(245,178,47,.12); border: 1px solid rgba(245,178,47,.2);
  border-radius: 16px; padding: 24px; margin-top: 28px;
}
.vmy-kd-cta-title { font-family: 'Fraunces', Georgia, serif; font-size: 18px; color: var(--c-gold,#F5B22F); margin-bottom: 16px; }
.vmy-kd-cta-text  { font-family: 'Inter Tight', sans-serif; font-size: 14px; color: rgba(244,233,216,.78); margin: 0 0 16px; }

/* Kendra tiles + mini chips */
.vmy-kd-tiles { display: flex; flex-direction: column; gap: 12px; }
.vmy-kd-tile { background: #fff; border-radius: 12px; padding: 16px; }
.vmy-kd-tile-title {
  font-family: 'Inter Tight', sans-serif; font-size: 13px; font-weight: 700;
  color: var(--c-ink,#1F1733); margin-bottom: 6px;
}
.vmy-kd-tile-desc {
  font-family: 'Inter Tight', sans-serif; font-size: 12px;
  color: var(--c-inkSoft,#4A3E5C);
}
.vmy-kd-minichips { display: flex; flex-wrap: wrap; gap: 6px; }
.vmy-kd-minichip {
  background: #F9F5EF; border-radius: 100px; padding: 3px 10px;
  font-family: 'Inter Tight', sans-serif; font-size: 11px;
  color: var(--c-inkSoft,#4A3E5C);
}

/* Centre layout dot list */
.vmy-kd-layout { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vmy-kd-layout li {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: var(--c-inkSoft,#4A3E5C);
  padding-left: 18px; position: relative;
}
.vmy-kd-layout li::before {
  content: ''; position: absolute; left: 0; top: 7px;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--c-saffron,#E63B1E);
}

/* Business-case cards */
.vmy-kd-case {
  background: rgba(244,233,216,.06);
  border: 1px solid rgba(244,233,216,.1);
  border-radius: 16px; padding: 26px;
  height: 100%; box-sizing: border-box;
}
.vmy-kd-case--active { background: rgba(230,59,30,.18); border-color: rgba(230,59,30,.3); }
.vmy-kd-case--gold   { background: rgba(245,178,47,.12); border-color: rgba(245,178,47,.2); }
.vmy-kd-case-title {
  font-family: 'Fraunces', Georgia, serif; font-size: 18px;
  color: var(--c-gold,#F5B22F); margin-bottom: 10px;
}
.vmy-kd-case-title--cream { color: var(--c-cream,#F4E9D8); }
.vmy-kd-case-body {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  color: rgba(244,233,216,.75); margin: 0 0 10px;
}
.vmy-kd-case .vmy-sd-ticks, .vmy-kd-case .vmy-sd-sparks { margin-bottom: 0; }

/* Vision 2030 */
.vmy-kd-vision { display: flex; flex-direction: column; gap: 12px; }
.vmy-kd-vision-row { display: flex; gap: 12px; align-items: center; }
.vmy-kd-vision-num {
  font-family: 'Fraunces', Georgia, serif; font-size: 24px;
  color: var(--c-gold,#F5B22F); min-width: 56px;
}
.vmy-kd-vision-text { font-family: 'Inter Tight', sans-serif; font-size: 14px; color: rgba(244,233,216,.85); }
.vmy-kd-vision-note {
  font-family: 'Inter Tight', sans-serif; font-size: 12px; font-style: italic;
  color: rgba(244,233,216,.5);
}

/* CTA */
.vmy-kd-cta-lede {
  font-family: 'Inter Tight', sans-serif; font-size: 15px;
  color: rgba(244,233,216,0.75); margin: 0 0 4px;
}
.vmy-kd-cta-kicker {
  font-family: 'Inter Tight', sans-serif; font-size: 13px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(244,233,216,0.45); margin: 0 auto 28px;
}
.vmy-kd-cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.vmy-kd-btn--saffron { background: var(--c-saffron,#E63B1E); color: #fff; }

/* =============================================================
   CONTACT PAGE
   All other contact classes already live in the PARENT theme.
   ============================================================= */
.vmy-cf7-wrap { margin-top: 28px; }
.vmy-cf7-wrap .wpcf7 { margin: 0; }
.vmy-cf7-wrap .wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%; box-sizing: border-box;
  background: #fff;
  border: 1.5px solid rgba(31,23,51,0.12);
  border-radius: 12px; padding: 14px 16px;
  font-family: 'Inter Tight', sans-serif; font-size: 14px;
  color: var(--c-ink,#1F1733);
  margin-bottom: 14px;
}
.vmy-cf7-wrap .wpcf7-form-control:focus {
  outline: none; border-color: var(--c-saffron,#E63B1E);
}
.vmy-cf7-wrap textarea.wpcf7-form-control { min-height: 130px; resize: vertical; }
.vmy-cf7-wrap .wpcf7-submit {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--c-saffron,#E63B1E); color: #fff;
  border: 0; border-radius: 100px; padding: 15px 34px;
  font-family: 'Inter Tight', sans-serif; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: transform .15s ease;
}
.vmy-cf7-wrap .wpcf7-submit:hover { transform: translateY(-1px); }
.vmy-contact-map-head { margin-bottom: 24px; }

/* Separate the Office Hours box from the contact-details box above it */
.vmy-contact-info-box { margin-top: 16px; }

/* Benefit-card grid: force a real 2-up flex grid inside the 2/3 column.
   Without this the inner columns float and cards of unequal height
   stagger instead of forming a clean 2 x 3 grid. */
.vmy-pd-benefit-grid {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  margin-left: -7px;
  margin-right: -7px;
}
.vmy-pd-benefit-grid > .vc_column_inner {
  display: flex;
  float: none !important;
  padding-left: 7px !important;
  padding-right: 7px !important;
  margin-bottom: 14px;
}
.vmy-pd-benefit-grid > .vc_column_inner > .vc_column-inner {
  display: flex;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.vmy-pd-benefit-grid > .vc_column_inner > .vc_column-inner > .wpb_wrapper {
  display: flex;
  width: 100%;
}
.vmy-pd-benefit-grid .vmy-pd-benefit { width: 100%; }

@media (max-width: 767px) {
  .vmy-pd-benefit-grid > .vc_column_inner { width: 100%; }
}
