
section.o-section.hero-wrapper.hero-home  {
  background-image: url('https://139525743.fs1.hubspotusercontent-eu1.net/hubfs/139525743/website/imc/hero-blue-mobile.svg');
  background-size: cover;
}
{#
  section.o-section.hero-wrapper.hero-home {
    background-image: url();
    background-size: cover;
  }
  @media (min-width: 768px) {
    section.o-section.hero-wrapper.hero-home {
      background-image: url();      
    }
  }
  #}
#white-btn a.ap-btn.ap-btn-tertiary.ap-btn-darkmode.ap-btn-medium {
  color: #fff;
}
.o-section {
  padding: 0 24px;
}

.hero-wrapper {
  align-items: center;
  background-color: #2d4a7a;
  background-position: 50% 99%;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  min-height: 0;
  padding-bottom: 80px;
  padding-top: 120px;
  position: relative;
}

.hero-container {
  max-width: 80rem;
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.hero-content {
  max-width: 60%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 991px) {
  .hero-content {
    max-width: 80%;
  }
}
.hero-content h6 {
  padding-right: 30%;
  margin: 8px 0;
}
.hero-content p {
  padding-right: 30%;
}
@media (max-width: 767px){
  .hero-content h6,
  .hero-content p {
    padding-right: 0;
  }
}
.hero-wrapper h1 {
  color: #fff;
  font-size: 80px;
  line-height: 88px;
}
.hero-wrapper h6 {
  color: #EBDC76;
  font-size: 24px;
  line-height: 32px;
}
.hero-wrapper h1 span{
  color: #EBDC76;
}
.hero-wrapper p {
  color: #fff;
  line-height: 26px;
  margin: 8px 0 16px;
}
.hero-button-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 1280px){
  .hero-wrapper {
    background-size: cover;
  }
}



@media (max-width: 767px){
  .hero-wrapper h1 {
    color: #fff;
    font-size: 56px;
    line-height: 62px;
    margin-bottom: 8px;
  }
  .hero-content {
    max-width: 100%;
  }
  .hero-wrapper {    
    padding: 120px 24px 56px;
    min-height: 0;
  }
  .hero-wrapper h6 {
    font-size: 20px;
    line-height: 28px;
    max-width: 80%;
  }
  .hero-button-row {
    margin-top: 16px;
  }
}

@media (max-width: 479px) {
  .hero-wrapper h1 {
    font-size: 36px;
    line-height: 43px;
  }
  .hero-wrapper h6 {
    font-size: 18px;
    line-height: 26px;
    max-width: 100%;
    margin: 0;
  }
  .hero-wrapper p {
    font-size: 16px;
    line-height: 24px;
    max-width: 70%;
  }
}

.sr-only{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

.imc-reg{ background:#fbfbfc; color:#1b1f2a; font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; }
.imc-wrap{ max-width:1200px; margin:0 auto; padding:28px 18px 70px; }
.imc-header{ margin-bottom:16px; }
.imc-kicker {
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5b6476;
  margin: 0;
}
.imc-title{ margin:0 0 10px; font-weight:700; color:var(--color-dark-blue); letter-spacing:-.01em; font-size:30px; }
.imc-sub{ margin:0; color:#5b6476; max-width:85ch; }

.imc-surface{ background:#fff; border:1px solid #e5e7ee; border-radius:12px; box-shadow:0 6px 24px rgba(16,24,40,.06); margin-top:14px; }
.imc-surface--pad {
  padding: 16px 24px;
}

.imc-label{ display:block; font-size:13px; color:#5b6476; margin:0 0 6px; }
.imc-help{ color:#5b6476; font-size:13px; margin-top:6px; }
.imc-muted{ color:#5b6476; margin:0; }

.imc-input{
  width:100%;
  padding:11px 12px;
  border:1px solid #d6dae6;
  border-radius:10px;
  font-size:15px;
  outline:none;
  background:#fff;
  color:#1b1f2a;
}
.imc-input:focus{ box-shadow:0 0 0 3px rgba(31,74,168,.18); border-color:rgba(31,74,168,.35); }

.imc-controlsGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px 12px;
  align-items:end;
}
@media (max-width:980px){
  .imc-controlsGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width:600px){
  .imc-controlsGrid{ grid-template-columns: 1fr; }
}


/* ====== Table listing ====== */
.imc-table{
  border:1px solid #e5e7ee;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.imc-table__row{
  display:grid;
  grid-template-columns: minmax(340px, 1fr) 160px 160px 170px 150px 180px;
  align-items:stretch;
  border-top:1px solid #e5e7ee;
}
.imc-table__row:first-child{ border-top:0; }
.imc-table__row--head{ background:#fbfbfc; border-top:0; }
.imc-cell{
  padding:12px 12px;
  border-left:1px solid #eef0f5;
  display:flex;
  align-items:flex-start;
  min-width:0;
}
.imc-cell:first-child{ border-left:0; }
.imc-table__row--head .imc-cell{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5b6476;
  font-weight:700;
  padding:10px 12px;
  align-items:center;
  white-space:nowrap;
}

.cc-course{ cursor:default; }
.cc-course:hover{ background:#fafbff; }

.imc-courseLine{ min-width:0; width:100%; display:flex; flex-direction:column; gap:6px; }
.imc-courseLine__title{
  color: var(--color-dark-blue);
  font-family: GT Super Display;
  font-weight: 750;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.imc-courseLine__desc{
  color:#5b6476;
  font-size:13px;
  line-height:1.45;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.imc-courseLine__links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:#5b6476;
  font-size:14px;
}
.imc-dot{ color:#c1c7d6; }

.imc-link {
  color: #1f4aa8;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 650;
  font-family: Open Sans,sans-serif;
}
.imc-link--quiet{
  color:#2b4a95;
  text-decoration-thickness:1px;
}
.imc-link--quiet:hover{ color:#153779; }

.imc-linkbtn {
  color: var(--color-blue);
  text-decoration: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  font-weight: 650;
  display: flex;
  align-items: center;
  gap: 4px;
}

.imc-linkbtn:hover{ var(--color-gold); }
a.imc-link.imc-link--quiet.js-info-link:hover {
  font-weight: bold;
  text-decoration: underline;
}
.imc-linkbtn:hover {
  color: var(--color-gold);
}
.imc-chip{
  display:inline-flex;
  padding:6px 10px;
  border:1px solid #e5e7ee;
  border-radius:999px;
  font-size:13px;
  color:#1b1f2a;
  background:#fff;
  font-weight:650;
  white-space:nowrap;
  max-width:100%;
}
.imc-meta{ color:#5b6476; font-size:13px; line-height:1.4; }

.imc-fee{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-weight:750;
  font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
  font-size:16px;
  white-space:nowrap;
}
.imc-fee-note {
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  font-size: 12px;
  color: #5b6476;
  font-weight: 650;
  white-space: pre-wrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.imc-btn{
  appearance:none;
  border:1px solid #d6dae6;
  background:#fff;
  color:#1b1f2a;
  padding:10px 12px;
  border-radius:10px;
  font-weight:650;
  font-size:14px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.imc-btn--primary{
  border-color:rgba(31,74,168,.35);
  background:rgba(31,74,168,.08);
  color:#153779;
}
.imc-btn--primary:hover{ background:rgba(31,74,168,.11); }
.imc-btn--secondary:hover{ background:#f7f8fb; }
.imc-btn--small{ padding:8px 10px; font-size:13px; border-radius:10px; }

@media (max-width:980px){
  .imc-table__row{ grid-template-columns: minmax(320px,1fr) 150px 150px 160px 140px 180px; }
}
@media (max-width:860px){
  .imc-table__head{ display:none; }
  .imc-table__row{ grid-template-columns: 1fr; }
  .imc-cell{
    border-left:0;
    border-top:1px solid #eef0f5;
    padding:10px 12px;
  }
  .imc-cell:first-child{ border-top:0; }
  .imc-cell.imc-cell--action {
    padding-bottom: 50px;
    padding-top: 24px;
  }
  .imc-courseLine__title {
    margin-top: 20px;
  }
  .imc-courseLine__title {

    font-size: 30px;

  }
}

/* ====== Modal (same as your stable implementation) ====== */
.imc-modal{ position:fixed; inset:0; z-index:9999; display:block; }
.imc-modal.imc-hidden{ display:none !important; }
.imc-modal__backdrop{ position:absolute; inset:0; background:rgba(16,24,40,.45); }
.imc-modal__panel{
  position:relative;
  width:min(980px, calc(100vw - 24px));
  max-height:calc(100vh - 28px);
  margin:14px auto;
  background:#fff;
  border-radius:14px;
  border:1px solid #e5e7ee;
  box-shadow:0 20px 60px rgba(16,24,40,.22);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.imc-modal__header{
  padding:14px 16px;
  border-bottom:1px solid #eef0f5;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  background:#fbfbfc;
}
.imc-modal__kicker{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:#5b6476; font-weight:700; margin-bottom:4px;
}
.imc-modal__title{
  margin:0;
  font-size:24px;
  line-height: 32px;
}
.imc-modal__meta{ color:#5b6476; font-size:13px; margin-top:2px; }
.imc-modal__close{
  appearance:none;
  border:1px solid #d6dae6;
  background:#fff;
  color:#1b1f2a;
  border-radius:10px;
  padding:8px 10px;
  cursor:pointer;
  font-weight:750;
  line-height:1;
}
.imc-modal__close:hover{ background:#f7f8fb; }
.imc-modal__body{ padding:16px 16px 16px; overflow:auto; }
.imc-modal__toolbar{ display:flex; justify-content:flex-end; margin-bottom:12px; }

/* Schedule list compact styling (works with your saved schedule HTML) */
.session-list{ margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.session{
  border:1px solid rgba(229,231,238,.95);
  border-radius:14px;
  background:#fff;
  padding:12px 12px;
  box-shadow:0 10px 28px rgba(16,24,40,.06);
}
.session dt{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#5b6476; font-weight:750; margin-top:10px; }
.session dt:first-child{ margin-top:0; }
.session dd{ margin:3px 0 0; color:#1b1f2a; font-size:14px; }

/* ============Hero ========== */
.sr-only{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

.imc-reg {
  background: #fbfbfc;
  color: #1b1f2a;
  padding: 56px 24px 80px;
}
.imc-wrap {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0;
}
.imc-header{ margin-bottom:40px; }

.imc-title {
  font-size: 50px;
  line-height: 60px;

  max-width: 50%;
}


.imc-surface{ background:#fff; border:1px solid #e5e7ee; border-radius:12px; box-shadow:0 6px 24px rgba(16,24,40,.06); }
.imc-surface--pad {
  padding: 16px 24px;
}

.imc-h2 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 24px;
}
.imc-h3 {
  margin: 16px 0 10px;
  font-size: 18px;
  line-height: 24px;
}
.imc-muted{ margin:0 0 10px; color:#5b6476; }
.imc-help {
  color: #5b6476;
  font-size: 14px;
  margin-top: 6px;
}

.imc-twoCol{
  display:grid;
  grid-template-columns: 1fr 1.15fr;
  gap:24px;
  align-items:start;
}
@media (max-width:980px){
  .imc-twoCol{ grid-template-columns:1fr; }
}

.imc-leftCard{
  position:sticky;
  top:12px;
}
@media (max-width:980px){
  .imc-leftCard{ position:static; }
}

.imc-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:820px){ .imc-grid2{ grid-template-columns:1fr; } }

.imc-label{ display:block; font-size:14px; color:#5b6476; margin:0 0 6px; }
.imc-input{
  width:100%;
  padding:11px 12px;
  border:1px solid #d6dae6;
  border-radius:10px;
  font-size:15px;
  outline:none;
  background:#fff;
  color:#1b1f2a;
}
.imc-input:focus{ box-shadow:0 0 0 3px rgba(31,74,168,.18); border-color:rgba(31,74,168,.35); }

.imc-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; justify-content:flex-end; }
.imc-actions--between{ justify-content:space-between; }
.imc-actions--left{ justify-content:flex-start; }

.imc-btn {
  align-items: center;
  appearance: none;
  background: #fff;
  border: 2px solid #d6dae6;
  border-radius: 32px;
  color: #334a78;
  cursor: pointer;
  display: inline-flex;
  font-size: 16px;
  font-weight: 600;
  justify-content: center;
  padding: 14px 22px;
  text-decoration: none;
  line-height: 1;
}

.imc-btn:hover,
body a.imc-btn:not(a.ap-btn):not(a.cta_button):hover {
  color: #334a78;
  font-weight: 600;
}


.imc-btn:disabled{ opacity:.5; cursor:not-allowed; }
.imc-btn--primary{
  border-color:rgba(31,74,168,.35);
  background:rgba(31,74,168,.08);
  color:#153779;
}
.imc-btn--primary:hover{ background:rgba(31,74,168,.11); }
.imc-btn--secondary:hover{ background:#f7f8fb; color }

.imc-summary {
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
  margin-bottom: 20px;
  border: 2px dashed rgba(229,231,238,.85);
}
.imc-summary__row{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.imc-price{  font-size:22px; font-weight:650; }

.imc-steps{
  list-style:none;
  display:flex; flex-wrap:wrap;
  gap:10px;
  padding:0; margin:0 0 14px;
  color:#5b6476;
  font-size:14px;
}
.imc-steps li{
  display:flex; gap:8px; align-items:center;
  padding: 3px 12px;
  border:1px solid #e5e7ee;
  border-radius:999px;
  background:#fff;
}
dl.imc-leftQuiet__dl {
  border: 2px dashed rgba(229,231,238,.85);
  padding: 16px;
  border-radius: 8px;
  margin-top: 16px;
  margin-bottom: 18px;
}
.imc-steps li span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid #d6dae6;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  background: #9ea6bd;
  line-height: 1;
}
.imc-steps li.is-active{
  border-color:rgba(31,74,168,.35);
  background:rgba(31,74,168,.06);
  color:#1b1f2a;
}
.imc-steps li.is-active span {
  border-color: rgba(31,74,168,.35);
  background-color: #334a78;
}

.imc-panel{ display:none; }
.imc-panel.is-active{ display:block; }

.imc-box {
  border-top: 2px dashed #e5e7ee;
  background: #fff;
  margin-top: 20px;
}
.imc-box--sub {
  margin-top: 16px;
}
.imc-leftCard--quiet {
  height: 100%;
}
aside.imc-left {
  height: 100%;
  max-height: 470px;
}
.imc-dl{ margin:0; display:grid; grid-template-columns: 1fr 1fr; gap:8px 12px; }
.imc-dl dt{ color:#5b6476; font-size:13px; }
.imc-dl dd{ margin:0; font-size:14px; }
.imc-dl .is-total{ font-weight:650; }

.imc-dl--stack{ grid-template-columns: 1fr; gap:6px; }
.imc-dl--stack dt{ margin-top:10px; }
.imc-dl--stack dt:first-child{ margin-top:0; }

.imc-legal{ color:#5b6476; font-size:13px; margin:10px 0 0; }

.imc-contract p{ margin:0 0 10px; color:#1b1f2a; }
.imc-check{ display:flex; gap:10px; align-items:flex-start; margin-top:8px; }
.imc-check input{ width:18px; height:18px; margin-top:2px; }

.imc-skel{ padding:10px 0; }
.imc-skel-row{ height:12px; background:#eef1f6; border-radius:999px; margin:10px 0; }
.imc-err{ color:#b42318; margin-top:10px; }

.imc-linkbtn{
  color:var(--color-blue); text-decoration:none; 
  border:0; background:none; padding:0; font:inherit; cursor:pointer; font-weight:650;
}
.imc-hidden{ display:none !important; }

/* Modal (kept) */
.imc-modal{ position:fixed; inset:0; z-index:9999; display:block; }
.imc-modal.imc-hidden{ display:none !important; }
.imc-modal__backdrop{ position:absolute; inset:0; background:rgba(16,24,40,.45); }
.imc-modal__panel{
  position:relative;
  width:min(980px, calc(100vw - 24px));
  max-height:calc(100vh - 28px);
  margin:14px auto;
  background:#fff;
  border-radius:14px;
  border:1px solid #e5e7ee;
  box-shadow:0 20px 60px rgba(16,24,40,.22);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.imc-modal__header{
  padding:14px 16px;
  border-bottom:1px solid #eef0f5;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  background:#fbfbfc;
}
.imc-modal__kicker{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:#5b6476; font-weight:700; margin-bottom:4px;
}
.imc-modal__title{
  margin:0;
}
.imc-modal__meta{ color:#5b6476; font-size:13px; margin-top:2px; }
.imc-modal__close{
  appearance:none;
  border:1px solid #d6dae6;
  background:#fff;
  color:#1b1f2a;
  border-radius:10px;
  padding:8px 10px;
  cursor:pointer;
  font-weight:750;
  line-height:1;
}
.imc-modal__close:hover{ background:#f7f8fb; }
.imc-modal__body{ padding:14px 16px 16px; overflow:auto; }
.imc-modal__toolbar{ display:flex; justify-content:flex-end; margin-bottom:12px; }

/* Schedule rendering */
.session-list{ margin:0; padding:0; }
.session{
  border:1px solid #e5e7ee;
  border-radius:12px;
  padding:12px 12px;
  margin-bottom:10px;
  background:#fff;
}
.session dt{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5b6476;
  font-weight:750;
  margin-top:10px;
}
.session dt:first-child{ margin-top:0; }
.session dd{ margin:3px 0 0; color:#1b1f2a; font-size:14px; }

.imc-reg.imc-reg--single  {
  background-image: url('https://139525743.fs1.hubspotusercontent-eu1.net/hubfs/139525743/website/imc/hero-blue-mobile.svg');
  background-size: cover;
  padding: 120px 24px 80px;
}
/* =========================
Left card — Quiet Premium
========================= */

.imc-leftCard--quiet{
  border-radius: 16px;
  border: 1px solid rgba(229,231,238,.95);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow:
    0 18px 48px rgba(16,24,40,.08),
    0 2px 10px rgba(16,24,40,.05);
}

.imc-leftQuiet{
  padding: 2px 2px; /* keeps edges clean under your existing padding */
}

.imc-leftQuiet__kicker {
  font-size: 14px;
  text-transform: uppercase;
  color: #5b6476;
  margin: 0;
  line-height: 14px;
  margin-bottom: 4px;
}

.imc-leftQuiet__title {
  color: #2d4a7a;
  font-size: 22px;
  margin: 0;
  line-height: 30px;
}

.imc-leftQuiet__divider {
  height: 1px;
  margin: 20px 0 12px;
  border-bottom: 2px dashed rgba(229,231,238,.85);
}

.imc-leftQuiet__dl{
  margin: 0;
  padding: 0;
}

.imc-leftQuiet__row{
  display: grid;
  grid-template-columns: 98px 1fr;
  gap: 12px;
  align-items: baseline;
  padding: 8px 0;
}

.imc-leftQuiet__row dt {
  color: #2d4a7a;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}

.imc-leftQuiet__row dd{
  margin: 0;
  font-size: 16px;
  color: #5b6476;
}

.imc-leftQuiet__row--price {
  border-top: 2px dashed rgba(229,231,238,.85);
  margin-top: 14px;
  padding-top: 18px;
}

.imc-leftQuiet__row--price dd{
  font-size: 20px;
  font-weight: 780;
  letter-spacing: -0.01em;
  color: #0f1a33;
}

.imc-leftQuiet__note {
  color: #5b6476;
  font-size: 14px;
  line-height: 1.45;
  margin: 10px 0 16px;
}



@media (max-width:980px){

  .imc-leftQuiet__row{
    grid-template-columns: 90px 1fr;
  }
}




/* ---------- TAB NAVIGATION ---------- */
.tabbed-section__nav {
  border: 2px solid var(--color-dark-blue);
  border-radius: 16px;
  margin-top: 40px;
  background-color: #fff;
}

.tabbed-section__nav > ul,
.pane__filters > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.tabbed-section__nav > ul {
  position: relative;
}

.tabbed-section__nav > ul:before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: var(--primary-color);
  opacity: 0.8;
  z-index: -1;
}

.tabbed-section__nav > ul > li {
  padding: 1em;
  cursor: pointer;
}

.tabbed-section__nav > ul > li a {
  color: var(--light-color);
}

.tabbed-section__nav > ul > li.active,
.tabbed-section__nav > ul > li:hover {
  background-color: var(--primary-color);
}

/* ---------- PANE FILTERS ---------- */
.pane__content section.schedule {
  border: medium none;
  box-shadow: none;
  padding: 0;
}

.pane__filters {
  color: var(--dark-color);
  margin-bottom: 20px;
  text-align: center;
}

.pane__filters > ul {
  justify-content: center;
  gap: 1rem;
}

.pane__filters > ul > li {
  cursor: pointer;
}

.pane__filters > ul > li:not(:last-child) {
  margin-right: 0;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .pane__filters > ul > li:not(:last-child) {
    margin-right: 2em;
    margin-bottom: 0;
  }
}

.pane__filters > ul > li:not(.active) > a {
  color: var(--light-color);
}

.pane__filters > ul > li.active > a {
  color: var(--primary-color);
  font-weight: bold;
  text-decoration: underline;
}

/* ---------- PANE CONTENT ---------- */
.pane__content {
  background-color: var(--secondary-color);
  padding: 40px;
}

/* ---------- PANE BLOCKS ---------- */
.pane__blocks {
  /* For layout on larger screens */
}

.pane__block {
  text-align: center;
  transition: opacity 0.35s ease, transform 0.35s ease;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
  display: inline-block; /* adjust if needed */
  margin: 0.5rem;
  vertical-align: top;
}

.pane__block img {
  max-width: 100%;
  height: auto;
}

.pane__block p {
  color: var(--light-color);
}

.pane__block.isotope-hidden {
  opacity: 0;
  transform: scale(0.9);
  pointer-events: none;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    height 0.35s ease,
    margin 0.35s ease,
    padding 0.35s ease;
  display: none;
}

/* ---------- LAYOUT RESPONSIVE ---------- */
@media screen and (min-width: 768px) {
  .pane__blocks {
    display: flex;
    justify-content: flex-start;

  }
  .pane__blocks > a {
    width: 45%;
    padding: 2%;
  }
}

@media screen and (min-width: 1100px) {
  .pane__blocks > a {
    width: 25%;
  }
}

/* ---------- TAB PANE TRANSITION ---------- */
.tabbed-section__pane {
  display: none;              /* hide by default */
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;       /* prevent interaction when hidden */
}

.tabbed-section__pane.active {
  display: block;             /* show active pane */
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.tabbed-section {
  display: flex;
  flex-direction: column;
  padding-bottom: 80px;
  padding-left: 24px;
  padding-right: 24px;
}

.tabbed-section__nav {
  border: 2px solid var(--color-dark-blue);
  border-radius: 16px;
  display: inline-block;
  margin: 40px auto;
  width: auto;
}

.tabbed-section__content-inner {
  border: 2px solid var(--color-dark-blue);
  border-radius: 24px;
  background-color: #fff;  
}
/* .pane__blocks > div {
width: 50%;
} */
.pane__blocks {
  display: flex;
  gap: 16px;
  flex-direction: row;
}
.pane__blocks-img img {
  min-width: 40px;
  margin-right: 16px;
}
.pane__blocks-item {
  display: flex;
}
.tabbed-section__nav a {
  padding: 8px 16px;
  background-color: #fff;
  border-radius: 8px;
  color: var(--color-black) !important;
}
.tabbed-section__nav .active a {
  padding: 8px 16px;
  background-color: var(--color-dark-blue);
  border-radius: 8px;
  color: #fff !important;
}
.pane__blocks-title {
  margin-bottom: 24px;
}
.pane__blocks h4 {
  font-size: 20px;
  line-height: 30px;
}
.tabbed-section__nav {
  border: 2px solid var(--color-dark-blue);
  border-radius: 16px;
  display: inline-block;
  margin: 48px auto 24px;
  width: auto;
}
.pane__left-col,
.pane__right-col{
  flex: 1;
}

.pane__filters > ul, .tabbed-section__nav > ul {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  text-align: center;
}
.pane__blocks-item {
  margin-bottom: 24px;
}
@media(max-width: 991px) {
  .tabbed-section__nav > ul > li {
    width: auto;
  }
  .pane__filters>ul, .tabbed-section__nav > ul {
    flex-wrap: wrap;
    text-align: center;
  }
  .tabbed-section__nav>ul>li {
    padding-bottom: 0;
  }
  .tabbed-section__nav>ul {
    padding-bottom: 24px;
    flex-direction: column;
  }

}

@media(max-width: 767px) {
  .pane__blocks {
    flex-direction: column;
  }
  .pane__content {
    padding: 24px;
  }
  .pane__blocks-item {
    margin-bottom: 16px;
  }
}


.hs-form .hs-form-field input[type=date], .hs-form .hs-form-field input[type=email], .hs-form .hs-form-field input[type=file], .hs-form .hs-form-field input[type=number], .hs-form .hs-form-field input[type=password], .hs-form .hs-form-field input[type=tel], .hs-form .hs-form-field input[type=text], .hs-form .hs-form-field select, .hs-form .hs-form-field textarea {
  color: #5b6476 !important;
}
.imc-summary__row .imc-muted {
  font-family: 'GT Super Display';
  color: #2d4a7a;
  font-size: 18px;
  line-height: 24px;
  margin: 0;
}
p.imc-muted {
  margin-bottom: 10px;
}
.imc-leftQuiet__row:first-child,
.imc-leftQuiet__row:nth-child(3) {
  padding: 0;
}

.tabbed-section__nav, .tabbed-section__content {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.pane__content a.ap-btn.ap-btn-primary.ap-btn-medium {
  display: inline-block;
  color: var(--color-dark-blue);
  background-color: #fff;
  border-color: var(--color-dark-blue);
  margin-bottom: 36px;
}

.pane__content a.ap-btn.ap-btn-primary.ap-btn-medium:hover {
  display: inline-block;
  color: #fff;
  background-color: var(--color-dark-blue);
  border-color: var(--color-dark-blue);

}


/* =========================
Schedule list — Compact layout
Works with:
<div class="session"><dt>..</dt><dd>..</dd>...</div>
========================= */

.session-list{
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Each session becomes a compact grid */
.session {
  border: 1px solid rgba(229,231,238,.95);
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) minmax(140px, .75fr) minmax(160px, .85fr);
  gap: 8px 14px;
  align-items: start;
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
}

/* Hide the dt labels (they add height) */
.session dt{
  display: none;
}

/* Each dd becomes a cell in the grid (order matters: Description, Date, Time, Duration) */
.session dd{
  margin: 0;
  color: rgba(18,24,39,.92);
  font-size: 13.5px;
  line-height: 1.35;
}

/* 1) Description cell */
.session dd:nth-of-type(1){
  font-weight: 720;
  font-size: 14px;
  line-height: 1.35;
}

/* Allow a subtle tag inside description (optional) */
.session dd:nth-of-type(1) .imc-tag{
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(229,231,238,.95);
  background: rgba(31,74,168,.06);
  color: rgba(21,55,121,1);
  font-weight: 750;
  font-size: 11px;
  letter-spacing: .01em;
  white-space: nowrap;
}

/* 2) Date cell — make it quieter */
.session dd:nth-of-type(2){
  color: rgba(91,100,118,.95);
  font-weight: 650;
  white-space: nowrap;
}

/* 3) Time cell — emphasize */
.session dd:nth-of-type(3){
  font-weight: 750;
  white-space: nowrap;
}

/* 4) Duration cell — move into the same column as Time (compact) */
.session dd:nth-of-type(4){
  grid-column: 3;
  margin-top: -4px;
  color: rgba(91,100,118,.95);
  font-weight: 650;
  white-space: nowrap;
}

/* Optional: timezone small text if present */
.session .imc-tz{
  color: rgba(91,100,118,.85);
  font-weight: 650;
  margin-left: 6px;
  font-size: 12px;
}

/* Compact “header line” feel for each row */
.session::before{
  content: "";
  grid-column: 1 / -1;
  height: 1px;
  background: rgba(229,231,238,.75);
  margin-bottom: 2px;
  display: none; /* keep off; enable if you want dividers */
}

/* Responsive: collapse to stacked, but still compact */
@media (max-width: 820px){
  .session{
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 12px 12px;
  }
  .session dd:nth-of-type(2),
  .session dd:nth-of-type(3),
  .session dd:nth-of-type(4){
    white-space: normal;
  }
  .session dd:nth-of-type(4){
    grid-column: auto;
    margin-top: 0;
  }
}

/* Optional: slightly reduce spacing inside the modal so it feels tighter */
.imc-modal__body{
  padding: 16px;
}
.imc-modal__body .hide {
  display: none;
}



.ap-btn.ap-btn-primary.ap-btn-w-icon.btn-2:disabled {
  opacity: .5;
  cursor: not-allowed;
}



/* Schedul */
/* ====== Professional, light-mode schedule ====== */
.schedule{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: #ffffff;
  color: #0f172a; /* slate-900 */
  border: 1px solid #e5e7eb; /* gray-200 */
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.06);
  padding: 20px;
  max-width: 980px;
  margin: 0 auto;
}

.schedule-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 18px;
  flex-direction: column;
}

.schedule-title{
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.schedule-subtitle{
  margin: 6px 0 0;
  font-size: 14px;
  color: #475569; /* slate-600 */
}

.schedule-meta{
  display: grid;
  gap: 10px;
  justify-items: end;
  text-align: left;
}

.timezone{
  font-size: 13px;
  color: #64748b; /* slate-500 */
}

.day{
  margin-top: 18px;
}

.day-title{
  margin: 0 0 10px 0;
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.session-list{
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.session-card{
  list-style: none;
  display: grid;
  grid-template-columns: 240px 1fr;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(2, 6, 23, 0.03);
  transition: box-shadow 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.session-card:hover{
  transform: translateY(-1px);
  border-color: #cbd5e1; /* slate-300 */
  box-shadow: 0 10px 24px rgba(2, 6, 23, 0.08);
}

.session-card:focus-within{
  outline: 3px solid rgba(37, 99, 235, 0.22); /* blue-600 */
  outline-offset: 2px;
}

.session-time{
  padding: 16px;
  border-right: 1px solid #e5e7eb;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); /* slate-50 -> white */
  position: relative;
}

.session-time::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--color-dark-blue); /* blue-700 (trust) */
}

.session-clock{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
}

.session-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.session-content{
  padding: 16px;
  display: grid;
  gap: 6px;
  align-content: center;
}

.session-kicker{
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: #475569;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.session-title{
  margin: 0;
  font-size: 16px;
  line-height: 1.28;
  color: #0f172a;
}

/* Badges / pills */
.pill{
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #e2e8f0; /* slate-200 */
  background: #ffffff;
  font-size: 12px;
  font-weight: 600;
  color: #0f172a;
}

.badge{
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: 1px solid #dbeafe; /* blue-100 */
  background: #eff6ff;      /* blue-50 */
  color: #1e40af;           /* blue-800 */
}


.badge-inperson {
  border-color: var(--color-dark-blue);
  background: var(--color-blue);
  color: #fff;
}
/* Responsive */
@media (max-width: 720px){
  .schedule-header{
    flex-direction: column;
    align-items: flex-start;
  }
  .schedule-meta{
    justify-items: start;
    text-align: left;
  }
  .session-card{
    grid-template-columns: 1fr;
  }
  .session-time{
    border-right: none;
    border-bottom: 1px solid #e5e7eb;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .session-card{
    transition: none;
  }
  .session-card:hover{
    transform: none;
  }
}




/* Logo Strip */
.course-logos img {
  max-width: 220px;
}
.course-logos {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

.imc-courseLine__title a:not(a.ap-btn):not(a.cta_button):hover {
  font-family: GT Super Display;
}
/* =========================
   Course cards (replace table)
   ========================= */

.imc-cards { width: 100%; }

.imc-cardGrid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
  grid-template-columns: 1fr; /* mobile-first */
}

/* 2-up on tablets, 3-up on larger screens */
@media (min-width: 720px){
  .imc-cardGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px){
  .imc-cardGrid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.imc-courseCard{
  border:1px solid #e5e7ee;
  border-radius:16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.imc-courseCard:hover{
  transform: translateY(-2px);
  border-color:#d6dae6;
  box-shadow: 0 18px 44px rgba(16,24,40,.10);
}

.imc-courseCard:focus{
  outline: none;
}
.imc-courseCard:focus-visible{
  box-shadow: 0 0 0 3px rgba(31,74,168,.18), 0 18px 44px rgba(16,24,40,.10);
  border-color: rgba(31,74,168,.35);
}

/* Card sections */
.imc-cardTop{
  padding: 16px 16px 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}

.imc-cardTitleRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.imc-cardTitle{
  margin:0;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.01em;
  min-width:0;
}

.imc-cardTitleLink{
  color: var(--color-dark-blue);
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.imc-cardTitleLink:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.imc-chip--tight{
  padding: 5px 10px;
  font-size: 12.5px;
  white-space: nowrap;
}

.imc-cardDesc{
  margin:0;
  color:#5b6476;
  font-size:14px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.imc-cardLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  color:#5b6476;
  font-size:14px;
}

/* Meta block: grid that becomes super readable on mobile */
.imc-cardMeta{
  padding: 12px 16px 14px;
  border-top:1px solid #eef0f5;
  background: #fbfbfc;
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 520px){
  .imc-cardMeta{
    grid-template-columns: 1fr 1fr;
    align-items:start;
  }
  .imc-metaItem--fee{
    grid-column: 1 / -1; /* fee spans full width on wider cards */
  }
}

.imc-metaItem{ min-width:0; }
.imc-metaLabel{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5b6476;
  font-weight:800;
  margin-bottom:4px;
}
.imc-metaValue{
  color:#1b1f2a;
  font-size:14px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

/* Fee: allow wrapping on mobile (no cutoff) */
.imc-cardMeta .imc-fee{
  white-space: normal;
}
.imc-cardMeta .imc-fee-note{
  white-space: normal;
}

/* Bottom CTA */
.imc-cardBottom{
  padding: 14px 16px 16px;
  border-top:1px solid #eef0f5;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

@media (max-width: 480px){
  .imc-cardBottom a.ap-btn{
    width:100%;
    justify-content:center;
  }
}

/* =========================
   Premium course cards
   ========================= */

.imc-reg{
  /* subtle premium background, not “flat white” */
  background:
    radial-gradient(900px 500px at 10% 0%, rgba(235, 220, 118, .18), transparent 55%),
    radial-gradient(900px 500px at 90% 0%, rgba(45, 74, 122, .14), transparent 55%),
    linear-gradient(180deg, #fbfbfc 0%, #f7f8fb 100%);
}

.imc-cardGrid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
  grid-template-columns: 1fr;
}

@media (min-width: 720px){
  .imc-cardGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px){
  .imc-cardGrid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.imc-courseCard{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background: #fff;
  /* gradient “border” */
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(45,74,122,.35), rgba(235,220,118,.45)) border-box;
  border: 1px solid transparent;
  box-shadow:
    0 18px 50px rgba(16,24,40,.10),
    0 2px 10px rgba(16,24,40,.06);
  display:flex;
  flex-direction:column;
  min-width:0;
  transform: translateZ(0);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.imc-courseCard:hover{
  transform: translateY(-3px);
  box-shadow:
    0 26px 70px rgba(16,24,40,.14),
    0 6px 18px rgba(16,24,40,.08);
}

.imc-courseCard:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(31,74,168,.22),
    0 26px 70px rgba(16,24,40,.14);
}

/* Media header (abstract “image” w/ brand vibe) */
.imc-cardMedia{
  height: 104px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(90px 70px at 20% 30%, rgba(255,255,255,.45), transparent 60%),
    radial-gradient(140px 90px at 75% 20%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(135deg, rgba(45,74,122,.92), rgba(45,74,122,.62));
}

/* Different “image themes” per format */
.imc-format--online .imc-cardMedia{
  background:
    radial-gradient(120px 90px at 18% 35%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(160px 110px at 80% 20%, rgba(255,255,255,.30), transparent 60%),
    linear-gradient(135deg, rgba(31,74,168,.92), rgba(45,74,122,.55));
}
.imc-format--inperson .imc-cardMedia{
  background:
    radial-gradient(120px 90px at 18% 35%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(160px 110px at 80% 20%, rgba(255,255,255,.30), transparent 60%),
    linear-gradient(135deg, rgba(45,74,122,.92), rgba(235,220,118,.52));
}
.imc-format--hybrid .imc-cardMedia{
  background:
    radial-gradient(120px 90px at 18% 35%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(160px 110px at 80% 20%, rgba(255,255,255,.30), transparent 60%),
    linear-gradient(135deg, rgba(45,74,122,.92), rgba(31,74,168,.55));
}

.imc-cardMedia__overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.20) 100%);
}

.imc-cardMedia__badge{
  position:absolute;
  left: 14px;
  bottom: 12px;
  z-index:2;
}

.imc-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
}

/* Body */
.imc-cardBody{
  padding: 14px 16px 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.imc-cardTitle{
  margin:0;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.01em;
}

.imc-cardTitleLink{
  color: var(--color-dark-blue);
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.imc-cardTitleLink:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.imc-cardDesc{
  margin:0;
  color:#5b6476;
  font-size:14px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Icon pills for scanability */
.imc-cardMeta{
  display:grid;
  gap:10px;
}

.imc-metaPill{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #eef0f5;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.imc-metaPill--fee{
  border-color: rgba(31,74,168,.16);
  background: linear-gradient(180deg, rgba(31,74,168,.06) 0%, rgba(255,255,255,1) 100%);
}

.imc-ico{
  width:18px;
  height:18px;
  color: rgba(45,74,122,.95);
  flex: 0 0 auto;
  margin-top: 1px;
}
.imc-ico svg{ width:18px; height:18px; display:block; }

.imc-metaPill__text{
  font-size:14px;
  line-height:1.35;
  color:#1b1f2a;
  min-width:0;
  overflow-wrap:anywhere;
}

/* fee inline – allow wrapping */
.imc-feeInline{ display:flex; flex-direction:column; gap:4px; }
.imc-feeInline .js-course-fee{
  font-weight:850;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 16px;
}
.imc-feeInline .imc-fee-note{
  font-size: 12px;
  color: #5b6476;
  font-weight: 650;
  white-space: normal;
}

/* Links + CTA */
.imc-cardLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  color:#5b6476;
  font-size:14px;
  padding-top: 2px;
}

.imc-cardBottom{
  padding: 14px 16px 16px;
  border-top:1px solid #eef0f5;
  display:flex;
  justify-content:flex-end;
}

@media (max-width: 480px){
  .imc-cardBottom a.ap-btn{
    width:100%;
    justify-content:center;
  }
}
/* =========================
   Card spacing + rhythm (8px scale)
   Append at end to override
   ========================= */

:root{
  --s-1: 8px;
  --s-2: 16px;
  --s-3: 24px;
  --s-4: 32px;

  --r-2: 16px;
  --r-3: 24px;

  --ink: #1b1f2a;
  --muted: #5b6476;
  --line: #eef0f5;
}

/* Grid gap in 8px multiples */
.imc-cardGrid{
  gap: var(--s-2); /* 16px */
}

/* Card container */
.imc-courseCard{
  border-radius: 24px;
}

/* Media header height feels better with body padding scale */
.imc-cardMedia{
  height: 112px; /* 14*8 */
}

/* Body rhythm */
.imc-cardBody{
  padding: var(--s-2);            /* 16px */
  padding-bottom: var(--s-2);     /* 16px */
  gap: var(--s-2);                /* 16px between blocks */
}

/* Title + description spacing */
.imc-cardTitle{
  font-size: 18px;
  line-height: 24px;              /* 3*8 */
  margin: 0;
}

.imc-cardDesc{
  margin: 0;
  font-size: 14px;
  line-height: 24px;              /* cleaner reading rhythm */
}

/* Make meta feel less “boxed”:
   remove heavy pill look, use soft separators instead */
.imc-cardMeta{
  gap: var(--s-1);                /* 8px */
}

.imc-metaPill{
  border-radius: 16px;
  padding: 12px 12px;             /* 12 isn't multiple of 8; make 16x12? -> use 16x16 */
  padding: var(--s-2);            /* 16px */
  background: #fff;
  border: 1px solid var(--line);
}

/* Fee pill slightly elevated but subtle */
.imc-metaPill--fee{
  border-color: rgba(31,74,168,.18);
  background: linear-gradient(180deg, rgba(31,74,168,.05) 0%, #ffffff 100%);
}

/* Icon alignment */
.imc-ico{
  width: 24px;                    /* 3*8 */
  height: 24px;
  margin-top: 0;
}
.imc-ico svg{ width: 24px; height: 24px; }

/* Meta text rhythm */
.imc-metaPill__text{
  font-size: 14px;
  line-height: 20px;              /* close to 8 scale, but readable */
}

/* Fee typography */
.imc-feeInline{
  gap: var(--s-1);                /* 8px */
}
.imc-feeInline .js-course-fee{
  font-size: 18px;
  line-height: 24px;              /* 3*8 */
}
.imc-feeInline .imc-fee-note{
  line-height: 16px;              /* 2*8 */
}

/* Links spacing */
.imc-cardLinks{
  gap: var(--s-1);                /* 8px */
  padding-top: 0;
  margin-top: 0;
}

/* Bottom area */
.imc-cardBottom{
  padding: var(--s-2);            /* 16px */
  border-top: 1px solid var(--line);
}

/* Make the badge and media spacing consistent */
.imc-cardMedia__badge{
  left: var(--s-2);               /* 16px */
  bottom: var(--s-2);
}

/* Reduce “boxy stacked blocks” feel on larger screens by making meta a 2-col grid */
@media (min-width: 720px){
  .imc-cardMeta{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-1);               /* 8px */
  }
  .imc-metaPill--fee{
    grid-column: 1 / -1;
  }
}

/* Mobile: keep breathing room and tap comfort */
@media (max-width: 520px){
  .imc-cardBody{
    padding: var(--s-2);           /* 16px */
    gap: var(--s-2);
  }

  .imc-metaPill{
    padding: var(--s-2);           /* 16px */
  }

  .imc-cardBottom a.ap-btn{
    width: 100%;
    justify-content: center;
  }
}

/* =========================
   Apple/Stripe meta block (less boxy, dates prominent)
   Append at end
   ========================= */

:root{
  --s1: 8px;
  --s2: 16px;
  --s3: 24px;
  --s4: 32px;
  --line: #eef0f5;
  --muted: #5b6476;
  --ink: #1b1f2a;
}

/* Card body rhythm (8px scale) */
.imc-cardBody{
  padding: var(--s2);
  gap: var(--s2);
}

/* Meta block container: no boxes, just a soft surface + dividers */
.imc-metaBlock{
  margin-top: var(--s1);
  border-top: 1px solid var(--line);
  padding-top: var(--s2);
  display: grid;
}



.imc-metaRow + .imc-metaRow{
  border-top: 1px solid var(--line);
}

/* Icon: minimal, consistent */
.imc-metaIcon{
  width: 24px;
  height: 24px;
  color: rgba(45,74,122,.95);
  margin-top: 2px;
}
.imc-metaIcon svg{
  width: 24px;
  height: 24px;
  display: block;
}

/* Label + value */
.imc-metaText{
  min-width: 0;
}

.imc-metaLabel{
  font-size: 12px;
  line-height: 16px;            /* 2*8 */
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 800;
  margin-bottom: var(--s1);      /* 8px */
}

.imc-metaValue{
  font-size: 14px;
  line-height: 24px;            /* 3*8 */
  color: var(--ink);
  overflow-wrap: anywhere;
}

/* Dates: primary, prominent */
.imc-metaValue--primary{
  font-size: 18px;
  line-height: 24px;            /* 3*8 */
  font-weight: 850;
  letter-spacing: -0.01em;
  color: rgba(15,26,51,1);
}

.imc-dateRange{
  display: inline-block;
}

/* Fee styling with 8px spacing */
.imc-feeInline{
  display: flex;
  flex-direction: column;
  gap: var(--s1);               /* 8px */
}

.imc-feeInline .js-course-fee{
  font-size: 16px;
  line-height: 24px;
  font-weight: 850;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

.imc-feeInline .imc-fee-note{
  font-size: 12px;
  line-height: 16px;
  color: var(--muted);
  font-weight: 650;
  white-space: normal;
}

/* Tighten card links to match rhythm */
.imc-cardLinks{
  gap: var(--s1);
}

/* Bottom padding */
.imc-cardBottom{
  padding: var(--s2);
}

/* Mobile: keep it elegant, not cramped */
@media (max-width: 520px){
  .imc-metaRow{
    padding: var(--s2) 0;
    gap: var(--s2);
  }
  .imc-metaValue--primary{
    font-size: 16px; /* still prominent, but fits */
    line-height: 24px;
  }
}
/* =========================
   Card Small (8px scale, Apple/Stripe feel)
   ========================= */

:root{
  --s1: 8px;
  --s2: 16px;
  --s3: 24px;
  --s4: 32px;

  --line: #eef0f5;
  --ink: #1b1f2a;
  --muted: #5b6476;
  --brand: #2d4a7a;
}

/* Layout: make a responsive grid if not already */
.imc-cardGrid,
.imc-cardsGrid,
#imcCourseBody{
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}

@media (min-width: 720px){
  .imc-cardGrid,
  .imc-cardsGrid,
  #imcCourseBody{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px){
  .imc-cardGrid,
  .imc-cardsGrid,
  #imcCourseBody{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Card container */
.card-small.cc-course{
  border-radius: var(--s3);                 /* 24 */
  background: #fff;
  overflow: hidden;
  cursor: pointer;

  /* premium, not boxy */
  border: 2px solid #e7e7e7;
  box-shadow: 0 18px 50px rgba(16,24,40,.10);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card-small.cc-course:hover{
  transform: translateY(-2px);
  box-shadow: 0 26px 70px rgba(16,24,40,.14);
  border-color: rgba(16,24,40,.18);
}

.card-small.cc-course:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(31,74,168,.20), 0 26px 70px rgba(16,24,40,.14);
}

/* Media */
.card-small__img{
  position: relative;
  height: 168px;                             /* 21*8 */
  background-size: cover;
  background-position: center;
}

/* subtle overlay to keep the date tag readable on any image */
.card-small__imgOverlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(72,121,174,.6) 40%,rgba(72,121,174,.6));
}

/* Date tag (primary visual) */
.featured-events__card-date-tag {
  position: absolute;
  left: var(--s2);
  top: var(--s2);
  z-index: 2;
  display: grid;
  gap: 2px;
  padding: var(--s2);
  border-radius: var(--s2);
  background: rgba(255,255,255,.92);
  border: 2px solid #2d4a7a;
  box-shadow: 0 10px 30px rgba(16,24,40,.12);
  backdrop-filter: blur(10px);
}

.featured-events__card-date-tag .dateTag__top {
  font-weight: 600;
  color: #2d4a7a;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.01em;
  border-bottom: 2px solid #ebdc76;
  padding-bottom: 4px;
  margin-bottom: 4px;
}

.featured-events__card-date-tag .dateTag__bottom{
  font-weight: 800;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;                         /* 2*8 */
}

/* optional format pill bottom-left */
.card-small__formatPill {
  position: absolute;
  left: var(--s2);
  bottom: var(--s2);
  z-index: 2;
  padding: var(--s1) var(--s2);
  border-radius: 16px;
  background: rgba(255,255,255,.18);
  border: 2px solid rgba(255,255,255,.28);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  line-height: 16px;
  backdrop-filter: blur(10px);
}

/* Content */
.card-small__content {

  padding: 24px;
  display: grid;
  gap: var(--s2);
  border: medium none;
  overflow: hidden;
}

/* Title + description */
.cc-course-name{
  margin: 0;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.01em;
  max-width: 80%;
}

.card-small__titleLink{
  color: var(--brand);
  text-decoration: none;
  font-family: 'GT Super Display' !important;
}
.card-small__titleLink:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.card-small__desc{
  margin: var(--s1) 0 0;                       /* 8 */
  color: var(--muted);
  font-size: 14px;
  line-height: 24px;                           /* 3*8 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Meta block: 3 rows, dividers, no boxes */
.card-small__meta{
  border-top: 1px solid var(--line);  
  border-bottom: 1px solid var(--line);
}

/* Each row */
.card-small__metaRow{
  display: grid;
  grid-template-columns: 24px 88px 1fr;        /* icon, label, value */
  align-items: center;
  gap: var(--s2);                              /* 16 */
  padding: var(--s2) 0;                        /* 16 */
}

.card-small__metaRow + .card-small__metaRow{
  border-top: 1px solid var(--line);
}

/* Icons */
.metaRow__icon{
  width: 24px;
  height: 24px;
  color: rgba(45,74,122,.95);
}
.metaRow__svg{ width: 24px; height: 24px; display: block; }

/* Label */
.metaRow__label{
  font-size: 12px;
  line-height: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  padding-top: 2px;
}

/* Value */
.metaRow__value{
  color: var(--ink);
  font-size: 14px;
  line-height: 24px;
  overflow-wrap: anywhere;
}

/* Dates prominence */
.card-small__metaRow--primary .metaRow__value {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #334a78;
}{
  font-size: 18px;
  line-height: 24px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: rgba(15,26,51,1);
}

/* Fee formatting */
.metaFee{
  display: grid;
  gap: var(--s1);                              /* 8 */
}
.metaFee .js-course-fee{
  font-weight: 850;
  font-size: 16px;
  line-height: 24px;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.metaFee__note{
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  white-space: normal;
}

/* Actions */
.card-small__actions{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s2);
}

@media (max-width: 520px){
  .card-small__img{ height: 180px; }
  .card-small__metaRow{
    grid-template-columns: 24px 1fr;
    gap: var(--s2);
  }
  .metaRow__label{
    grid-column: 2;
    margin-top: -2px;
  }
  .metaRow__value{
    grid-column: 2;
  }

  .card-small__actions{
    flex-direction: column;
    align-items: stretch;
  }
  .card-small__actions .ap-btn{
    width: 100%;
    justify-content: center;
  }
}

.card-small__img {
  border: 2px solid #2d4a7a;
  border-top-left-radius: 24px;
  overflow: hidden;
  border-top-right-radius: 24px;
}

.imc-modal__toolbar {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  align-items: center;
  gap: 16px;
}
.imc-modal__toolbar div {
  display: flex;
  gap: 16px;
  align-items: center;
}
.download-schedule:hover path {
  fill: #ebdc76;
}
.download-schedule {
  display: flex;
  gap: 8px;
}

section.imc-surface.imc-surface--pad.imc-surface--courses {
  box-shadow: none;
  border: medium none;
  background: transparent;
  padding: 0;
  margin-top: 24px;
}

.imc-help {
  display: none;
}
#imcCourseCount.imc-help {
  display: inline-block;
  margin-top: 8px;
}