/* ── Page-specific styles ── */
    .page-hero::before {
      content: ''; position: absolute; top: -40px; right: -60px;
      width: 320px; height: 320px; border-radius: 50%;
      background: rgba(255,255,255,0.04); pointer-events: none;
    }
    .page-hero h1 em { color: var(--gold); font-style: normal; }

    /* ── Steps ── */
  
    /* ── Photo background hero (replaces solid gradient) ── */
    @media(max-width:768px){ }

 /* RESPONSIVE: Programs Page */

  .pg-pathway-grid    { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:40px; }
  .pg-meec-schedule   { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:36px; max-width:680px; margin-left:auto; margin-right:auto; }
  .pg-meec-levels     { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:32px; }
  .pg-online-pricing  { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:36px; }
  .pg-duration-grid   { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .pg-trainer-grid    { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .pg-skills-grid     { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:20px; }
  .pg-why-box         { display:flex; gap:40px; align-items:center; flex-wrap:wrap; background:var(--offwhite); border-radius:14px; padding:24px 28px; }
  .pg-all-students-box{ display:flex; gap:40px; align-items:center; flex-wrap:wrap; background:var(--navy); border-radius:14px; padding:24px 28px; }

  @media (max-width: 900px) {
    .pg-pathway-grid   { grid-template-columns: 1fr; }
    .pg-meec-schedule  { grid-template-columns: 1fr; max-width: 100%; }
    .pg-online-pricing { grid-template-columns: 1fr; }
    .pg-trainer-grid   { grid-template-columns: 1fr; }
    .pg-meec-levels    { grid-template-columns: repeat(2,1fr); }
    .pg-duration-grid  { grid-template-columns: 1fr; }
    .pg-skills-grid    { grid-template-columns: 1fr; }
  }
  @media (max-width: 600px) {
    .pg-meec-levels    { grid-template-columns: 1fr; }
    .pg-why-box, .pg-all-students-box { flex-direction: column; gap: 16px; }
    .pg-why-box > div:last-child,
    .pg-all-students-box > div:last-child { margin-left: 0 !important; width: 100%; }
    .pg-online-pricing > div:nth-child(2) { transform: none !important; }
  }

   /* TRAINER DRAWER (slides in from right) */
    .tp-backdrop {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(5,15,45,0.4);
      z-index: 800;
      backdrop-filter: blur(2px);
    }
    .tp-backdrop.open { display: block; }

    .tp-drawer {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      width: 500px;
      max-width: 250vw;
      background: white;
      z-index: 801;
      transform: translateX(100%);
      transition: transform 0.32s cubic-bezier(0.16,1,0.3,1);
      display: flex;
      flex-direction: column;
      box-shadow: -8px 0 40px rgba(5,15,45,0.18);
    }
    .tp-drawer.open { transform: translateX(0); }

    .tp-drawer-top {
      padding: 28px 24px 24px;
      border-bottom: 1px solid #F1F5F9;
      flex-shrink: 0;
    }
    .tp-drawer-avatar {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      overflow: hidden;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 32px;
      border: 3px solid transparent;
    }
    .tp-drawer-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .tp-drawer-name {
      font-family: 'Playfair Display', serif;
      font-size: 20px;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 4px;
      line-height: 1.2;
    }
    .tp-drawer-role {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.7px;
      line-height: 1.4;
    }

    .tp-drawer-body {
      flex: 1;
      overflow-y: auto;
      padding: 24px;
    }
    .tp-drawer-label {
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      color: #94A3B8;
      margin-bottom: 8px;
    }
    .tp-drawer-bio {
      font-size: 14px;
      color: #374151;
      line-height: 1.85;
      margin-bottom: 24px;
    }
    .tp-drawer-specs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .tp-drawer-pill {
      font-size: 12px;
      font-weight: 600;
      padding: 6px 14px;
      border-radius: 20px;
    }

    .tp-drawer-close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1.5px solid #E2E8F0;
      background: white;
      color: #64748B;
      font-size: 16px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.15s;
      line-height: 1;
    }
    .tp-drawer-close:hover {
      background: #FEF2F2;
      border-color: #FECACA;
      color: #EF4444;
    }

    @media (max-width: 480px) {
      .tp-drawer {
        width: 100vw;
        top: auto;
        height: 85vh;
        border-radius: 20px 20px 0 0;
        transform: translateY(100%);
      }
      .tp-drawer.open { transform: translateY(0); }
    }