.gade-lw{
  --gade-navy-950:#04122b;--gade-navy-900:#071f3f;--gade-navy:#0a2a53;
  --gade-gold:#c09030;--gade-gold-deep:#a3781f;--gade-gold-soft:#d3a94e;--gade-gold-bright:#d9af55;
  --gade-ivory:#fff;--gade-cream:#f4ecde;--gade-program-bg:#F6F1E8;--gade-program-navy:#071f3f;--gade-program-gold:#c58f28;--gade-program-pill-line:#e5cfaa;--gade-ink:#141414;--gade-body:#4a5058;--gade-soft:#8a8f98;--gade-line:#e6e2d8;
  --gade-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --gade-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --gade-maxw:1280px;--gade-gutter:clamp(20px,5.5vw,86px);--gade-sect:clamp(72px,9vw,140px);
  --gade-ease:cubic-bezier(.22,.61,.36,1);--gade-ease-out:cubic-bezier(.16,1,.3,1);
  color:var(--gade-body);font-family:var(--gade-sans);line-height:1.6;letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.gade-lw *{box-sizing:border-box}.gade-lw img{display:block;max-width:100%}.gade-lw a{text-decoration:none}.gade-wrap{max-width:var(--gade-maxw);margin:0 auto;padding-inline:var(--gade-gutter)}.gade-section{padding-block:var(--gade-sect)}
.gade-eyebrow{font-family:var(--gade-sans);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gade-gold-deep);display:inline-block}.gade-title{font-family:var(--gade-serif);font-weight:500;text-transform:uppercase;letter-spacing:.015em;line-height:1.04;color:var(--gade-ink);margin:14px 0 0}.gade-title-lg{font-size:clamp(30px,4vw,54px)}.gade-lead{font-size:15px;line-height:1.62;color:var(--gade-body);max-width:42ch;margin:0}.gade-tlink{position:relative;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gade-gold-deep);display:inline-flex;gap:.6em;align-items:center}.gade-tlink:hover{color:var(--gade-navy)}.gade-ar{transition:transform .4s var(--gade-ease-out)}.gade-tlink:hover .gade-ar{transform:translateX(5px)}
.gade-reveal{opacity:0;transform:translateY(24px);transition:opacity 1s var(--gade-ease-out),transform 1s var(--gade-ease-out)}.gade-reveal.gade-in{opacity:1;transform:none}.gade-reveal[data-d="1"]{transition-delay:.08s}.gade-reveal[data-d="2"]{transition-delay:.16s}.gade-reveal[data-d="3"]{transition-delay:.24s}.gade-empty{font-size:15px;color:var(--gade-body)}

/* Academic programmes. The section shell matches the supplied GADE reference; card styling remains unchanged. */
.gade-programs{background:var(--gade-program-bg)}
.gade-programs .gade-eyebrow{color:var(--gade-program-gold);font-size:clamp(13px,1.05vw,17px);font-weight:400;letter-spacing:.045em}
.gade-programs .gade-title{color:var(--gade-program-navy)}
.gade-programs .gade-title-lg{font-size:clamp(36px,3.25vw,50px);max-width:none;white-space:normal}
.gade-programs .gade-lead{font-size:clamp(15px,1.2vw,18px);line-height:1.55;color:#5d5d5d;max-width:47ch}
.gade-prog-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(48px,8vw,120px);align-items:start;margin-bottom:54px}
.gade-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:42px}
.gade-filter{appearance:none;font-family:var(--gade-sans);cursor:pointer;border:0;background:transparent;font-size:clamp(13px,1.08vw,17px);font-weight:400;letter-spacing:0;color:var(--gade-program-navy);padding:12px 25px;border-radius:100px;box-shadow:inset 0 0 0 1px var(--gade-program-pill-line);transition:background-color .3s var(--gade-ease),color .3s var(--gade-ease),box-shadow .3s var(--gade-ease),transform .3s var(--gade-ease);white-space:nowrap;line-height:1.2}
.gade-filter:hover{box-shadow:inset 0 0 0 1px var(--gade-program-gold);transform:translateY(-1px)}.gade-filter.active{background:var(--gade-program-navy);color:#fff;box-shadow:none}
.gade-filter-empty{margin:18px 0 0;font-size:14px;color:var(--gade-body)}
.gade-prog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.gade-prog-card{min-width:0;background:#fff;border:1px solid var(--gade-line);overflow:hidden;display:flex;flex-direction:column;transition:transform .55s var(--gade-ease-out),box-shadow .55s var(--gade-ease-out)}
.gade-prog-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -34px rgba(4,18,43,.42)}.gade-prog-card.gade-hidden{display:none}
.gade-prog-scene{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(180deg,#a9d6ef 0%,#cfe9f8 55%,#e4f3fb 100%);display:block}
.gade-prog-scene>img{width:100%;height:100%;object-fit:cover}.gade-prog-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,43,.03),rgba(4,18,43,.13));pointer-events:none}
.gade-cloud{position:absolute;background:#fff;border-radius:100px;filter:blur(.4px);opacity:.95}.gade-cloud::before,.gade-cloud::after{content:"";position:absolute;background:#fff;border-radius:100px}.gade-c1{width:46px;height:15px;top:22%;left:20%}.gade-c1::before{width:26px;height:26px;top:-13px;left:8px}.gade-c2{width:60px;height:17px;top:34%;right:14%}.gade-c2::before{width:30px;height:30px;top:-15px;left:12px}.gade-c2::after{width:20px;height:20px;top:-8px;left:36px}.gade-prog-hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:52%;display:block}
.gade-prog-date{position:absolute;top:14px;left:14px;z-index:2;background:rgba(4,18,43,.82);color:var(--gade-gold-bright);font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:6px 11px;border-radius:100px}
.gade-prog-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}.gade-prog-body h3{font-family:var(--gade-serif);font-size:26px;font-weight:600;line-height:1.05;color:var(--gade-navy-900);margin:0 0 9px;letter-spacing:.01em}.gade-prog-body p{font-size:14px;color:var(--gade-body);line-height:1.55;margin:0}.gade-prog-meta{display:flex;gap:24px;margin-top:20px;padding-top:18px;border-top:1px solid var(--gade-line)}.gade-k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gade-soft);display:block;margin-bottom:3px}.gade-v{font-size:14px;font-weight:600;color:var(--gade-ink);font-family:var(--gade-sans)}.gade-prog-foot{margin-top:auto;padding-top:22px}

/* Upcoming courses. */
.gade-events{background:transparent!important}.gade-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:44px}.gade-event-list{border-top:1px solid var(--gade-line)}.gade-event-row{display:grid;grid-template-columns:96px 116px minmax(0,1fr) auto;gap:clamp(18px,3vw,48px);align-items:center;padding:26px 4px;border-bottom:1px solid var(--gade-line);transition:padding .4s var(--gade-ease),background .4s var(--gade-ease);color:inherit}.gade-event-row:hover{padding-left:14px;background:rgba(255,255,255,.4);color:inherit}.gade-event-poster{width:96px;height:118px;overflow:hidden;position:relative}.gade-ph{position:absolute;inset:0;overflow:hidden;background:#e7e0d2;background-image:repeating-linear-gradient(135deg,rgba(10,42,83,.055) 0 1px,transparent 1px 12px);display:flex;align-items:center;justify-content:center}.gade-ph-label{font-family:var(--gade-sans);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a8578;background:rgba(255,255,255,.66);padding:6px 11px;border-radius:100px}.gade-ph-fill{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:1}.gade-ph:has(.gade-ph-fill) .gade-ph-label{display:none}.gade-event-date b{font-family:var(--gade-serif);font-size:40px;font-weight:500;color:var(--gade-navy);display:block;line-height:1}.gade-event-date span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gade-gold-deep);font-weight:600}.gade-event-main{min-width:0}.gade-event-main h3{font-family:var(--gade-serif);font-size:26px;font-weight:600;line-height:1.08;color:var(--gade-navy-900);margin:0 0 5px;letter-spacing:.01em}.gade-event-main p{font-size:14px;color:var(--gade-body);margin:0}.gade-event-cta{display:flex;align-items:center;gap:22px}.gade-event-tag{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gade-body);font-weight:600;padding:8px 16px;border-radius:100px;box-shadow:inset 0 0 0 1px var(--gade-gold-soft);white-space:nowrap}.gade-event-arrow{color:var(--gade-gold-deep);font-size:18px;transition:transform .4s var(--gade-ease-out)}.gade-event-row:hover .gade-event-arrow{transform:translateX(6px)}

/* Tablet: two programme cards, compact upcoming rows. */
@media(max-width:1100px){
  .gade-prog-top{grid-template-columns:1fr;gap:22px;align-items:start;margin-bottom:34px}
  .gade-prog-top .gade-lead{max-width:60ch}
  .gade-prog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .gade-event-row{grid-template-columns:80px 96px minmax(0,1fr) auto;gap:20px;padding-block:22px}
  .gade-event-poster{width:80px;height:100px}
  .gade-event-main h3{font-size:24px}
  .gade-event-cta{gap:14px}
}

/* Mobile: swipeable filters, one programme card, compact upcoming list. */
@media(max-width:767px){
  .gade-lw{--gade-gutter:20px;--gade-sect:clamp(56px,15vw,76px)}
  .gade-programs .gade-title-lg,.gade-title-lg{font-size:clamp(32px,9vw,42px)}
  .gade-programs .gade-eyebrow{font-size:13px;letter-spacing:.06em}
  .gade-prog-top{gap:18px;margin-bottom:28px}
  .gade-lead{font-size:15px;line-height:1.55}
  .gade-filters{flex-wrap:nowrap;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;margin:0 calc(var(--gade-gutter) * -1) 30px;padding:0 var(--gade-gutter) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gade-filters::-webkit-scrollbar{display:none}
  .gade-filter{flex:0 0 auto;scroll-snap-align:start;padding:10px 17px;font-size:13px}
  .gade-prog-grid{grid-template-columns:1fr;gap:20px}
  .gade-prog-card:hover{transform:none;box-shadow:none}
  .gade-prog-body{padding:20px 20px 22px}
  .gade-prog-body h3{font-size:24px}
  .gade-prog-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:16px}
  .gade-v{font-size:13px;line-height:1.35}
  .gade-prog-foot{padding-top:20px}
  .gade-sec-head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}
  .gade-event-row{grid-template-columns:68px minmax(0,1fr);gap:6px 14px;padding:18px 2px;align-items:start}
  .gade-event-poster{display:block;width:68px;height:82px;grid-column:1;grid-row:1 / span 3}
  .gade-event-date{grid-column:2;grid-row:1}
  .gade-event-date b{display:inline;font-size:14px;font-family:var(--gade-sans);font-weight:700;color:var(--gade-gold-deep)}
  .gade-event-date span{display:inline;margin-left:5px;font-size:10.5px}
  .gade-event-main{grid-column:2;grid-row:2}
  .gade-event-main h3{font-size:21px;margin-bottom:4px}
  .gade-event-main p{font-size:13px;line-height:1.45}
  .gade-event-cta{grid-column:2;grid-row:3;justify-self:start;margin-top:5px;gap:12px}
  .gade-event-tag{font-size:9px;padding:6px 11px}
}

@media(max-width:420px){
  .gade-prog-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gade-event-row{grid-template-columns:60px minmax(0,1fr);gap-column:12px}
  .gade-event-poster{width:60px;height:74px}
}

@media(prefers-reduced-motion:reduce){.gade-reveal{opacity:1;transform:none;transition:none}}

/* Elementor/theme hardening. */
.gade-lw.gade-events,.gade-lw.gade-programs{display:block!important;position:relative!important;width:100%!important;max-width:none!important;clear:both!important;overflow:hidden!important}
.gade-lw .gade-wrap{display:block!important;width:100%!important;max-width:var(--gade-maxw)!important;margin-left:auto!important;margin-right:auto!important}
.gade-lw .gade-event-list{display:block!important;width:100%!important}
.gade-lw a.gade-event-row{display:grid!important;width:100%!important;max-width:none!important;position:relative!important;text-decoration:none!important}
.gade-lw .gade-event-poster{display:block!important;position:relative!important;width:96px!important;min-width:96px!important;max-width:96px!important;height:118px!important;min-height:118px!important;max-height:118px!important;margin:0!important;padding:0!important;overflow:hidden!important}
.gade-lw .gade-event-poster .gade-ph{display:flex!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
.gade-lw .gade-event-poster img.gade-ph-fill{display:block!important;position:absolute!important;inset:0!important;width:100%!important;min-width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important}
.gade-lw .gade-event-date,.gade-lw .gade-event-main,.gade-lw .gade-event-cta{position:relative!important;min-width:0!important;z-index:2!important}
.gade-lw .gade-event-main h3,.gade-lw .gade-event-main p{position:static!important;float:none!important;width:auto!important;max-width:none!important}
.gade-lw .gade-event-cta{justify-self:end!important}
.gade-lw .gade-prog-scene{display:block!important;width:100%!important;position:relative!important;overflow:hidden!important}
.gade-lw .gade-prog-scene>img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover!important;margin:0!important;padding:0!important}
body.elementor-editor-active .gade-lw .gade-reveal,.elementor-editor-active .gade-lw .gade-reveal{opacity:1!important;transform:none!important}
@media(max-width:1100px){
  .gade-lw .gade-event-poster{width:80px!important;min-width:80px!important;max-width:80px!important;height:100px!important;min-height:100px!important;max-height:100px!important}
}
@media(max-width:767px){
  .gade-lw .gade-event-poster{display:block!important;width:68px!important;min-width:68px!important;max-width:68px!important;height:82px!important;min-height:82px!important;max-height:82px!important}
  .gade-lw .gade-event-cta{justify-self:start!important}
}
@media(max-width:420px){
  .gade-lw .gade-event-poster{width:60px!important;min-width:60px!important;max-width:60px!important;height:74px!important;min-height:74px!important;max-height:74px!important}
}


/* v2.5: lock the programme filter pills to the approved GADE design.
   These selectors intentionally outrank Elementor/global button rules without affecting course cards. */
.gade-lw.gade-programs .gade-filters button.gade-filter,
.gade-lw.gade-programs button.gade-filter{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:12px 25px!important;
  border:1px solid var(--gade-program-pill-line)!important;
  border-radius:999px!important;
  outline:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--gade-program-navy)!important;
  fill:var(--gade-program-navy)!important;
  font-family:var(--gade-sans)!important;
  font-size:clamp(13px,1.08vw,17px)!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  text-indent:0!important;
  text-shadow:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  opacity:1!important;
  transform:none;
}
.gade-lw.gade-programs button.gade-filter::before,
.gade-lw.gade-programs button.gade-filter::after{
  content:none!important;
  display:none!important;
}
.gade-lw.gade-programs button.gade-filter:hover,
.gade-lw.gade-programs button.gade-filter:focus,
.gade-lw.gade-programs button.gade-filter:focus-visible{
  border-color:var(--gade-program-gold)!important;
  border-radius:999px!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:var(--gade-program-navy)!important;
  fill:var(--gade-program-navy)!important;
  box-shadow:none!important;
  outline:0!important;
  transform:translateY(-1px);
}
.gade-lw.gade-programs button.gade-filter.active,
.gade-lw.gade-programs button.gade-filter.active:hover,
.gade-lw.gade-programs button.gade-filter.active:focus,
.gade-lw.gade-programs button.gade-filter[aria-pressed="true"]{
  border-color:var(--gade-program-navy)!important;
  border-radius:999px!important;
  background:var(--gade-program-navy)!important;
  background-color:var(--gade-program-navy)!important;
  background-image:none!important;
  color:#fff!important;
  fill:#fff!important;
  box-shadow:none!important;
}
@media(max-width:767px){
  .gade-lw.gade-programs .gade-filters button.gade-filter,
  .gade-lw.gade-programs button.gade-filter{
    flex:0 0 auto!important;
    padding:10px 17px!important;
    border-radius:999px!important;
    font-size:13px!important;
  }
}


/* v2.6: final GADE upcoming-course refinements. */
.gade-lw.gade-events{
  background:transparent!important;
  background-color:transparent!important;
}
.gade-lw.gade-events .gade-eyebrow{
  font-family:var(--gade-sans)!important;
  font-size:clamp(13px,1.05vw,17px)!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.3!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  color:var(--gade-gold-deep)!important;
}
.gade-lw.gade-events .gade-event-main h3,
.gade-lw.gade-programs .gade-prog-body h3{
  color:var(--gade-navy-900)!important;
}
.gade-lw.gade-events .gade-event-date b{
  font-variant-numeric:tabular-nums;
}
@media(max-width:767px){
  .gade-lw.gade-events .gade-eyebrow{
    font-size:13px!important;
    letter-spacing:.06em!important;
  }
}


/* v2.7: mobile layout corrections requested after real-device testing. */
@media(max-width:767px){
  /* Match the approved Elementor mobile heading treatment: Cormorant, 25px, uppercase, tight leading. */
  .gade-lw.gade-programs .gade-title-lg,
  .gade-lw.gade-events .gade-title-lg{
    font-family:var(--gade-serif)!important;
    font-size:25px!important;
    font-style:normal!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-transform:uppercase!important;
    max-width:100%!important;
  }
  .gade-lw.gade-programs .gade-title,
  .gade-lw.gade-events .gade-title{
    margin-top:10px!important;
  }
  .gade-lw.gade-programs .gade-lead{
    font-size:16px!important;
    line-height:1.48!important;
    max-width:none!important;
  }

  /* Keep every programme filter visible inside the cream section. No sideways clipping or hidden pills. */
  .gade-lw.gade-programs .gade-filters{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    scroll-snap-type:none!important;
    margin:0 0 30px!important;
    padding:0!important;
  }
  .gade-lw.gade-programs .gade-filters button.gade-filter,
  .gade-lw.gade-programs button.gade-filter{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:9px 14px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  /* Increase the Coming Soon thumbnails on phones while retaining the compact list design. */
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:7px 16px!important;
    padding:22px 2px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    display:block!important;
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
    height:108px!important;
    min-height:108px!important;
    max-height:108px!important;
  }
  .gade-lw.gade-events .gade-event-main h3{
    font-size:18px!important;
    line-height:1.22!important;
    letter-spacing:.01em!important;
    margin-bottom:5px!important;
  }
  .gade-lw.gade-events .gade-event-main p{
    font-size:13.5px!important;
    line-height:1.48!important;
  }
  .gade-lw.gade-events .gade-event-date b{
    font-size:14px!important;
  }
  .gade-lw.gade-events .gade-event-date span{
    font-size:10.5px!important;
  }
  .gade-lw.gade-events .gade-event-cta{
    margin-top:7px!important;
  }
  .gade-lw.gade-programs .gade-prog-body h3{
    font-size:22px!important;
    line-height:1.08!important;
  }
}

@media(max-width:420px){
  .gade-lw{--gade-gutter:18px}
  .gade-lw.gade-programs .gade-filters{
    gap:7px!important;
    margin-bottom:26px!important;
  }
  .gade-lw.gade-programs .gade-filters button.gade-filter,
  .gade-lw.gade-programs button.gade-filter{
    padding:8px 11px!important;
    font-size:11.5px!important;
  }
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap-column:13px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    height:102px!important;
    min-height:102px!important;
    max-height:102px!important;
  }
  .gade-lw.gade-events .gade-event-main h3{
    font-size:17px!important;
  }
}


/* v2.8: give course imagery more visual weight on phones.
   The text column becomes slightly narrower while the existing desktop/tablet layout is untouched. */
@media(max-width:767px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:108px minmax(0,1fr)!important;
    gap-column:14px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
  }
}
@media(max-width:420px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:100px minmax(0,1fr)!important;
    gap-column:12px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    width:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
  }
}

/* v2.9: wider, true-cover mobile course imagery.
   Give the thumbnail column more space and force the source image to crop edge-to-edge. */
@media(max-width:767px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:124px minmax(0,1fr)!important;
    gap-column:13px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
  }
  .gade-lw.gade-events .gade-event-poster .gade-ph,
  .gade-lw .gade-event-poster .gade-ph{
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .gade-lw.gade-events .gade-event-poster img.gade-ph-fill,
  .gade-lw .gade-event-poster img.gade-ph-fill{
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}
@media(max-width:420px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:116px minmax(0,1fr)!important;
    gap-column:11px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    height:140px!important;
    min-height:140px!important;
    max-height:140px!important;
  }
}


/* v3.0: make the actual poster grid column substantially larger on phones.
   The poster box now owns a wider grid track, and the image is hard-locked to
   edge-to-edge cover cropping instead of inheriting any theme image sizing. */
@media(max-width:767px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:clamp(140px,40vw,154px) minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    display:block!important;
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:clamp(168px,46vw,184px)!important;
    min-height:168px!important;
    max-height:184px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .gade-lw.gade-events .gade-event-poster .gade-ph,
  .gade-lw .gade-event-poster .gade-ph{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
  }
  .gade-lw.gade-events .gade-event-poster .gade-ph img.gade-ph-fill,
  .gade-lw .gade-event-poster .gade-ph img.gade-ph-fill,
  .gade-lw.gade-events .gade-event-poster img,
  .gade-lw .gade-event-poster img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}
@media(max-width:360px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    grid-template-columns:132px minmax(0,1fr)!important;
    column-gap:10px!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    height:160px!important;
    min-height:160px!important;
    max-height:160px!important;
  }
}


/* v3.1: make each mobile poster stretch to the full height of the content beside it.
   The grid item spans date, copy and CTA rows; the source image remains proportionally
   cropped with object-fit: cover, so it fills the taller box without distortion. */
@media(max-width:767px){
  .gade-lw.gade-events .gade-event-row,
  .gade-lw a.gade-event-row{
    align-items:start!important;
  }
  .gade-lw.gade-events .gade-event-poster,
  .gade-lw .gade-event-poster{
    grid-column:1!important;
    grid-row:1 / 4!important;
    align-self:stretch!important;
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
  .gade-lw.gade-events .gade-event-poster .gade-ph,
  .gade-lw .gade-event-poster .gade-ph{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  .gade-lw.gade-events .gade-event-poster .gade-ph img.gade-ph-fill,
  .gade-lw .gade-event-poster .gade-ph img.gade-ph-fill,
  .gade-lw.gade-events .gade-event-poster img,
  .gade-lw .gade-event-poster img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }
}


/* v3.2: full linked course calendar, based on the supplied Spring and Summer layout. */
.gade-lw.gade-calendar{
  --gade-calendar-navy:#071f3f;
  --gade-calendar-gold:#a3781f;
  --gade-calendar-cream:#f6f2e9;
  --gade-calendar-line:#e6e2d8;
  width:100%;
  background:transparent;
  color:#4a5058;
  font-family:var(--gade-sans,"Montserrat","Helvetica Neue",Arial,sans-serif);
}
.gade-calendar-section{padding:clamp(40px,5vw,72px) 0}
.gade-calendar-wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(20px,5.5vw,86px)}
.gade-calendar-inner{max-width:1000px;margin:0 auto}
.gade-calendar-title{
  margin:0 0 22px!important;
  padding:0 0 14px!important;
  border-bottom:2px solid rgba(180,140,60,.4)!important;
  color:var(--gade-calendar-navy)!important;
  font-family:var(--gade-serif,"Cormorant Garamond",Georgia,"Times New Roman",serif)!important;
  font-size:clamp(28px,3.4vw,40px)!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:1.05!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.gade-calendar-filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0 0 30px;
  padding:0;
}
.gade-lw.gade-calendar button.gade-calendar-filter{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  margin:0!important;
  padding:12px 22px!important;
  border:1px solid #e5cfaa!important;
  border-radius:999px!important;
  outline:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--gade-calendar-navy)!important;
  fill:var(--gade-calendar-navy)!important;
  font-family:var(--gade-sans,"Montserrat","Helvetica Neue",Arial,sans-serif)!important;
  font-size:15px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:border-color .2s,background-color .2s,color .2s,transform .2s!important;
}
.gade-lw.gade-calendar button.gade-calendar-filter::before,
.gade-lw.gade-calendar button.gade-calendar-filter::after{content:none!important;display:none!important}
.gade-lw.gade-calendar button.gade-calendar-filter:hover,
.gade-lw.gade-calendar button.gade-calendar-filter:focus,
.gade-lw.gade-calendar button.gade-calendar-filter:focus-visible{
  border-color:var(--gade-calendar-gold)!important;
  background:transparent!important;
  color:var(--gade-calendar-navy)!important;
  box-shadow:none!important;
  outline:0!important;
  transform:translateY(-1px);
}
.gade-lw.gade-calendar button.gade-calendar-filter.active,
.gade-lw.gade-calendar button.gade-calendar-filter.active:hover,
.gade-lw.gade-calendar button.gade-calendar-filter.active:focus,
.gade-lw.gade-calendar button.gade-calendar-filter[aria-pressed="true"]{
  border-color:var(--gade-calendar-navy)!important;
  background:var(--gade-calendar-navy)!important;
  background-color:var(--gade-calendar-navy)!important;
  color:#fff!important;
  fill:#fff!important;
}
.gade-calendar-filter-empty{
  margin:20px 0 0;
  color:#4a5058;
  font-family:var(--gade-sans,"Montserrat","Helvetica Neue",Arial,sans-serif);
  font-size:15px;
}
.gade-calendar-filter-empty[hidden]{display:none!important}
.gade-calendar-list{overflow:hidden;border:1px solid rgba(7,31,63,.1);border-radius:14px;background:#fff}
.gade-calendar-row{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:22px 26px;
  background:#fff;
}
.gade-calendar-row-alt{background:var(--gade-calendar-cream)}
.gade-calendar-row+.gade-calendar-row{border-top:1px solid rgba(7,31,63,.08)}
.gade-calendar-date{padding-top:3px;font-family:var(--gade-sans,"Montserrat","Helvetica Neue",Arial,sans-serif)}
.gade-calendar-date-text{
  display:block;
  color:var(--gade-calendar-gold);
  font-size:12.5px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gade-calendar-status{
  display:inline-flex;
  margin-top:8px;
  padding:5px 9px;
  border:1px solid rgba(163,120,31,.45);
  border-radius:999px;
  color:var(--gade-calendar-navy);
  background:rgba(255,255,255,.58);
  font-size:9.5px;
  font-weight:600;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.gade-calendar-titles{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.gade-lw.gade-calendar .gade-calendar-titles a{
  width:fit-content;
  max-width:100%;
  padding:0 0 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(180,140,60,.45)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--gade-calendar-navy)!important;
  font-family:var(--gade-serif,"Cormorant Garamond",Georgia,"Times New Roman",serif)!important;
  font-size:20px!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:none!important;
  transition:color .2s,border-color .2s;
}
.gade-lw.gade-calendar .gade-calendar-titles a:hover,
.gade-lw.gade-calendar .gade-calendar-titles a:focus{
  color:var(--gade-calendar-gold)!important;
  border-bottom-color:var(--gade-calendar-gold)!important;
}
.gade-calendar-empty{margin:0;color:#4a5058;font-size:15px}
@media(max-width:640px){
  .gade-calendar-section{padding:36px 0}
  .gade-calendar-wrap{padding-inline:20px}
  .gade-calendar-title{font-size:28px!important;margin-bottom:18px!important;padding-bottom:12px!important}
  .gade-calendar-filters{gap:8px;margin-bottom:24px}
  .gade-lw.gade-calendar button.gade-calendar-filter{padding:9px 14px!important;font-size:12px!important}
  .gade-calendar-row{grid-template-columns:1fr;gap:8px;padding:18px}
  .gade-calendar-date{padding-top:0}
  .gade-calendar-date-text{font-size:11.5px}
  .gade-calendar-status{margin-top:6px}
  .gade-lw.gade-calendar .gade-calendar-titles a{font-size:17px!important;line-height:1.32!important}
}

/* v3.5: adjustable course-calendar width. Default is 1160px; override with the shortcode max_width attribute. */
@media (min-width:641px){
  .gade-lw.gade-calendar .gade-calendar-wrap{
    width:min(var(--gade-calendar-width,1160px),calc(100% - 40px));
    max-width:var(--gade-calendar-width,1160px);
    padding-inline:0;
  }
  .gade-lw.gade-calendar .gade-calendar-inner{
    width:100%;
    max-width:none;
    margin-inline:0;
  }
}


/* v3.6: match the desktop Academic Programmes heading to the approved 35px Upcoming Courses heading. */
@media (min-width:768px){
  .gade-lw.gade-programs .gade-title-lg{
    font-size:35px!important;
    line-height:1!important;
  }
}


/* v3.7: hard-lock the Academic Programmes heading size and bust the stale v3.5 stylesheet cache. */
@media (min-width:768px){
  html body #gade-programs.gade-lw.gade-programs .gade-wrap .gade-prog-top h2.gade-title.gade-title-lg{
    font-size:35px!important;
    line-height:1!important;
  }
}
@media (max-width:767px){
  html body #gade-programs.gade-lw.gade-programs .gade-wrap .gade-prog-top h2.gade-title.gade-title-lg{
    font-size:25px!important;
    line-height:1!important;
  }
}

/* v3.9: GADE brand-colour refinements requested for the two homepage course sections. */
/* Upcoming Courses: switch the visible gold text treatment to #f2a900. */
.gade-lw.gade-events .gade-eyebrow,
.gade-lw.gade-events .gade-tlink,
.gade-lw.gade-events .gade-event-date span,
.gade-lw.gade-events .gade-event-arrow{
  color:#f2a900!important;
}
.gade-lw.gade-events .gade-tlink:hover,
.gade-lw.gade-events .gade-view-all-courses:hover{
  color:#f2a900!important;
}

/* Academic Programmes: same #f2a900 treatment for gold text only. */
.gade-lw.gade-programs .gade-eyebrow,
.gade-lw.gade-programs .gade-tlink,
.gade-lw.gade-programs .gade-prog-date{
  color:#f2a900!important;
}
.gade-lw.gade-programs .gade-tlink:hover{
  color:#f2a900!important;
}

/* Academic filter active state: approved blue. */
.gade-lw.gade-programs button.gade-filter.active,
.gade-lw.gade-programs button.gade-filter.active:hover,
.gade-lw.gade-programs button.gade-filter.active:focus,
.gade-lw.gade-programs button.gade-filter.active:focus-visible,
.gade-lw.gade-programs button.gade-filter[aria-pressed="true"]{
  background:#4281A4!important;
  background-color:#4281A4!important;
  border-color:#4281A4!important;
  color:#fff!important;
  fill:#fff!important;
}

/* Programme cards: 10px top-image and bottom-card corner radius while preserving existing hover effects. */
.gade-lw.gade-programs .gade-prog-card{
  border-radius:10px!important;
  overflow:hidden!important;
}
.gade-lw.gade-programs .gade-prog-scene{
  border-radius:10px 10px 0 0!important;
  overflow:hidden!important;
}
.gade-lw.gade-programs .gade-prog-body{
  border-radius:0 0 10px 10px!important;
}


/* v4.0: eyebrow headings use GADE charcoal instead of accent gold. */
.gade-lw.gade-events .gade-eyebrow,
.gade-lw.gade-programs .gade-eyebrow{
  color:#141414!important;
}


/* v4.1: eyebrow headings use the approved 17px size. */
.gade-lw.gade-events .gade-eyebrow,
.gade-lw.gade-programs .gade-eyebrow{
  color:#141414!important;
  font-size:17px!important;
}


/* v4.2: make the Upcoming Courses “View All Courses” CTA match the approved Explore Courses button. */
.gade-lw.gade-events a.gade-view-all-courses{
  background:#F2A900!important;
  color:#141414!important;
  font-family:var(--gade-sans)!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:15px 30px!important;
  border:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  width:auto!important;
  min-width:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.gade-lw.gade-events a.gade-view-all-courses .gade-ar{
  display:none!important;
}
.gade-lw.gade-events a.gade-view-all-courses:hover,
.gade-lw.gade-events a.gade-view-all-courses:focus,
.gade-lw.gade-events a.gade-view-all-courses:focus-visible{
  background:#F2A900!important;
  color:#141414!important;
  transform:none!important;
  text-decoration:none!important;
}
@media (max-width:600px){
  .gade-lw.gade-events a.gade-view-all-courses{
    font-size:14px!important;
    padding:13px 24px!important;
  }
}

/* v4.4: destination-page dynamic sections for the Continuing Education pages. */
.gade-ce-destination{
  --gade-ce-gold:#F2A900;
  --gade-ce-gold-deep:#a97813;
  --gade-ce-navy:#071f3f;
  --gade-ce-cream:#F6F1E8;
  width:100%;
  color:var(--gade-body);
}
.gade-ce-grid{display:grid;gap:22px;align-items:stretch}
.gade-ce-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gade-ce-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gade-ce-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dedbd3;border-radius:10px;overflow:hidden;transition:transform .35s var(--gade-ease-out),box-shadow .35s var(--gade-ease-out)}
.gade-ce-card:hover{transform:translateY(-5px);box-shadow:0 24px 45px -30px rgba(7,31,63,.42)}
.gade-ce-card-image{display:block;width:100%;aspect-ratio:16/7;overflow:hidden;background:#eee9df}
.gade-ce-card-image img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.gade-ce-card-placeholder{aspect-ratio:16/7;background:var(--gade-ce-cream)}
.gade-ce-card-body{display:flex;flex:1;flex-direction:column;padding:18px 18px 16px}
.gade-ce-label{display:block;margin:0 0 6px;color:var(--gade-ce-gold-deep);font-family:var(--gade-sans);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.gade-ce-card h3{margin:0 0 8px;color:var(--gade-ce-navy);font-family:var(--gade-serif);font-size:22px;font-weight:600;line-height:1.08}
.gade-ce-card p{margin:0 0 14px;color:#626973;font-family:var(--gade-sans);font-size:13px;line-height:1.55}
.gade-ce-meta{margin-top:auto;padding-top:12px;border-top:1px solid #e8e2d8}
.gade-ce-meta-row{display:grid;grid-template-columns:minmax(82px,.7fr) 1fr;gap:12px;padding:3px 0;font-family:var(--gade-sans);font-size:10.5px;line-height:1.35}
.gade-ce-meta-row span{color:#969aa0}
.gade-ce-meta-row strong{color:var(--gade-ce-navy);font-weight:600;text-align:right}
.gade-ce-button{appearance:none;display:inline-flex!important;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:14px;padding:12px 16px!important;border:0!important;border-radius:0!important;background:#e2ad2c!important;color:#071f3f!important;font-family:var(--gade-sans)!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;box-shadow:none!important}
.gade-ce-button:hover,.gade-ce-button:focus{background:#F2A900!important;color:#071f3f!important;text-decoration:none!important}
.gade-ce-button span{font-size:15px;line-height:1}
.gade-ce-empty{margin:0;color:#5d626a;font:400 15px/1.6 var(--gade-sans)}

/* Symposiums, webinars and podcasts: compact GADE list rows. */
.gade-ce-list{width:100%;border-top:1px solid #e6e2d8}
.gade-ce-list-row{display:grid!important;grid-template-columns:125px minmax(0,1fr) 150px;gap:24px;align-items:center;width:100%;padding:16px 0;border-bottom:1px solid #e6e2d8;color:inherit!important;text-decoration:none!important}
.gade-ce-list-date{color:#a97813;font-family:var(--gade-sans);font-size:10px;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.gade-ce-list-date small{display:block;margin-top:3px;color:#a97813;font:600 9px/1.35 var(--gade-sans);letter-spacing:.04em}
.gade-ce-list-main{min-width:0}
.gade-ce-list-main h3{margin:0 0 3px;color:var(--gade-ce-navy);font-family:var(--gade-serif);font-size:19px;font-weight:600;line-height:1.12}
.gade-ce-list-main p{margin:0;color:#79808a;font-family:var(--gade-sans);font-size:11px;line-height:1.45}
.gade-ce-list-row>.gade-ce-button{width:auto!important;min-width:135px;margin:0;justify-self:end;justify-content:center}
.gade-ce-inline-meta{color:#8c9299;white-space:nowrap}

/* On-demand library cards are intentionally compact, like the approved mock-up. */
.gade-ce-ondemand .gade-ce-card-image{aspect-ratio:16/8.6}
.gade-ce-ondemand .gade-ce-card-body{padding:16px}
.gade-ce-ondemand .gade-ce-card h3{font-size:20px}
.gade-ce-global .gade-ce-card-placeholder{aspect-ratio:16/6.3}

@media(max-width:1000px){
  .gade-ce-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gade-ce-list-row{grid-template-columns:110px minmax(0,1fr) 135px;gap:18px}
}
@media(max-width:700px){
  .gade-ce-grid-2,.gade-ce-grid-3{grid-template-columns:1fr}
  .gade-ce-card:hover{transform:none;box-shadow:none}
  .gade-ce-card-image{aspect-ratio:16/8}
  .gade-ce-list-row{grid-template-columns:1fr;gap:7px;padding:18px 2px;align-items:start}
  .gade-ce-list-date{font-size:10.5px}
  .gade-ce-list-main h3{font-size:20px}
  .gade-ce-list-main p{font-size:12px}
  .gade-ce-list-row>.gade-ce-button{justify-self:start;min-width:0;width:auto!important;padding:10px 15px!important;margin-top:5px}
}

/* ========================================================================
   GADE full Residency page — v4.9
   Scoped recreation of the supplied residencies.html design.
   ======================================================================== */
.gade-rp-page{
  --rp-navy-950:#0b1f3f;
  --rp-navy-900:#16305c;
  --rp-gold:#d4a331;
  --rp-gold-deep:#7f5d0f;
  --rp-gold-fill:#b3861f;
  --rp-gold-bright:#efcd72;
  --rp-cream:#f2ecdf;
  --rp-line:#e6e2d8;
  --rp-ink:#141414;
  --rp-body:#4a5058;
  --rp-soft:#63686f;
  --rp-serif:"Merriweather",Georgia,"Times New Roman",serif;
  --rp-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  width:100%;background:#fff;color:var(--rp-body);font-family:var(--rp-sans);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.gade-rp-page *{box-sizing:border-box}
.gade-rp-page a{text-decoration:none}
.gade-rp-wrap{width:min(1120px,calc(100% - 44px));margin-inline:auto}
.gade-rp-hero{position:relative;overflow:hidden;background:#01294C;color:#fff;padding:72px 0 clamp(38px,5vw,62px);box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax);margin-top:-1px}
.gade-rp-hero::after{content:none!important;display:none!important}
.gade-rp-hero-wrap{max-width:none;position:relative;z-index:2}
.gade-rp-crumb{display:flex;gap:8px;align-items:center;font-size:12.5px;color:rgba(255,255,255,.62);margin-bottom:20px}
.gade-rp-crumb a{color:rgba(255,255,255,.78)}
.gade-rp-crumb span:nth-child(2),.gade-rp-crumb span:nth-child(4){opacity:.4}
.gade-rp-hero h1{font-family:var(--rp-serif)!important;font-size:clamp(28px,3.9vw,46px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.1!important;margin:0 0 16px!important;color:#fff!important;text-transform:none!important}
.gade-rp-hero p{font-size:clamp(15px,1.7vw,17.5px);color:rgba(255,255,255,.8);margin:0;max-width:78ch;line-height:1.7}
.gade-rp-stats{display:flex;flex-wrap:wrap;gap:18px 44px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.gade-rp-stats b{display:block;font-family:var(--rp-serif);font-size:26px;font-weight:700;color:var(--rp-gold-bright);line-height:1}
.gade-rp-stats span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:7px}
.gade-rp-midcta{position:relative;padding:20px 0;background:var(--rp-cream);border-top:1px solid rgba(163,120,31,.28);border-bottom:1px solid rgba(163,120,31,.28);box-shadow:0 0 0 100vmax var(--rp-cream);clip-path:inset(0 -100vmax)}
.gade-rp-midcta-wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:24px 32px;flex-wrap:wrap}
.gade-rp-midcta-text{position:relative;padding-left:20px}
.gade-rp-midcta-text::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:var(--rp-gold)}
.gade-rp-midcta-text strong{display:block;font-family:var(--rp-serif);font-weight:700;font-size:clamp(19px,2.2vw,26px);line-height:1.15;color:var(--rp-navy-950)}
.gade-rp-midcta-text span{display:block;font-size:14px;color:#5a6472;margin-top:3px}
.gade-rp-btn{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:44px;padding:12px 18px!important;border-radius:0!important;border:1px solid transparent!important;font-family:var(--rp-sans)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;text-transform:none!important}
.gade-rp-btn-gold{background:var(--rp-gold)!important;color:var(--rp-navy-950)!important}
.gade-rp-btn-gold:hover{background:var(--rp-gold-fill)!important;color:var(--rp-navy-950)!important}
.gade-rp-videos{padding:clamp(34px,4.4vw,60px) 0 clamp(10px,1.6vw,20px);background:#fff}
.gade-rp-video-head{margin-bottom:22px;max-width:760px}
.gade-rp-eyebrow{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rp-gold-deep)}
.gade-rp-video-head h2,.gade-rp-lede h2{font-family:var(--rp-serif)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--rp-navy-950)!important;text-transform:none!important}
.gade-rp-video-head h2{font-size:clamp(23px,2.8vw,32px)!important;margin:10px 0 0!important;line-height:1.15!important}
.gade-rp-video-head p{font-size:14px;color:var(--rp-soft);margin:7px 0 0;max-width:56ch;line-height:1.6}
.gade-rp-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gade-rp-video-card{overflow:hidden;border:1px solid var(--rp-line);border-radius:12px;background:#fff}
.gade-rp-video-frame{position:relative;aspect-ratio:16/9;background:var(--rp-navy-950);overflow:hidden}
.gade-rp-video-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;background:linear-gradient(150deg,var(--rp-navy-900),var(--rp-navy-950));color:rgba(255,255,255,.62)}
.gade-rp-play{width:48px;height:48px;border-radius:50%;border:1px solid rgba(212,163,49,.55);background:rgba(212,163,49,.14);display:grid;place-items:center;color:var(--rp-gold-bright);font-size:15px;padding-left:3px}
.gade-rp-video-empty b{font-size:13px;font-weight:600;color:#fff}
.gade-rp-video-empty small{font-size:11px;line-height:1.5;color:rgba(255,255,255,.5)}
.gade-rp-video-cap{padding:15px 17px}
.gade-rp-video-cap b{display:block;font-family:var(--rp-serif);font-weight:700;font-size:16.5px;color:var(--rp-navy-950);line-height:1.3}
.gade-rp-video-cap span{display:block;font-size:12px;color:var(--rp-soft);margin-top:5px}
.gade-rp-programmes{padding:clamp(42px,5.4vw,76px) 0;background:#fff}
.gade-rp-lede{max-width:760px;margin-bottom:clamp(26px,3.4vw,42px)}
.gade-rp-lede h2{font-size:clamp(24px,3vw,36px)!important;margin:12px 0 14px!important;line-height:1.15!important}
.gade-rp-lede p{font-size:16px;line-height:1.78;color:#414d5b;margin:0}
.gade-rp-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gade-rp-course-card{background:#fff;border:1px solid var(--rp-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.gade-rp-course-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(11,31,63,.45)}
.gade-rp-course-image{display:block;height:150px;overflow:hidden;background:var(--rp-cream)}
.gade-rp-course-image img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.gade-rp-course-body{padding:20px;display:flex;flex-direction:column;flex:1}
.gade-rp-course-tag{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rp-gold-deep);margin-bottom:8px}
.gade-rp-course-card h3{font-family:var(--rp-serif)!important;font-size:20px!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--rp-navy-950)!important;margin:0 0 9px!important;line-height:1.25!important;text-transform:none!important}
.gade-rp-course-card p{font-size:13.5px;line-height:1.65;color:#5f6a78;margin:0 0 15px}
.gade-rp-facts{display:flex;flex-direction:column;gap:7px;margin:auto 0 16px;padding-top:14px;border-top:1px solid var(--rp-line)}
.gade-rp-facts div{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}
.gade-rp-facts dt{color:#8a94a1}.gade-rp-facts dd{margin:0;font-weight:600;color:var(--rp-navy-900);text-align:right}
.gade-rp-enrol{width:100%;margin-top:auto}
.gade-rp-empty{padding:20px;border:1px solid var(--rp-line);border-radius:12px;background:#fff}
.gade-rp-process{position:relative;padding:clamp(42px,5.4vw,76px) 0;background:var(--rp-cream);box-shadow:0 0 0 100vmax var(--rp-cream);clip-path:inset(0 -100vmax)}
.gade-rp-process-lede{margin-bottom:28px}
.gade-rp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gade-rp-step{background:#fff;border:1px solid var(--rp-line);border-radius:12px;padding:22px}
.gade-rp-step b{display:block;font-family:var(--rp-serif);font-weight:700;font-size:24px;color:var(--rp-gold-deep);line-height:1;margin-bottom:11px}
.gade-rp-step h4{font-family:var(--rp-sans)!important;font-size:14px!important;font-weight:600!important;color:var(--rp-navy-950)!important;margin:0 0 6px!important;line-height:1.25!important;text-transform:none!important}
.gade-rp-step p{font-size:13px;line-height:1.6;color:#5f6a78;margin:0}
.gade-rp-final-cta{position:relative;padding:clamp(50px,6vw,82px) 22px;background:#01294C;text-align:center;color:#fff;box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax)}
.gade-rp-final-frame{max-width:820px;margin:auto;border:1px solid rgba(193,144,48,.5);padding:clamp(34px,5vw,60px) clamp(24px,4vw,54px)}
.gade-rp-final-frame h2{font-family:var(--rp-serif)!important;font-size:clamp(32px,4.6vw,58px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.05!important;text-transform:uppercase!important;color:#fff!important;margin:0!important}
.gade-rp-final-frame h2 em{color:var(--rp-gold-bright);font-style:italic}
.gade-rp-final-frame p{color:rgba(255,255,255,.74);margin:18px auto 0;max-width:52ch;font-size:16px}
.gade-rp-final-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.gade-rp-btn-ghost{background:transparent!important;border-color:rgba(255,255,255,.26)!important;color:#fff!important}
.gade-rp-btn-ghost:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
@media(max-width:980px){
  .gade-rp-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gade-rp-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gade-rp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .gade-rp-wrap{width:min(100% - 34px,1120px)}
  .gade-rp-hero{padding:46px 0 38px}
  .gade-rp-crumb{font-size:11px;flex-wrap:wrap}
  .gade-rp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
  .gade-rp-midcta-wrap{align-items:flex-start}.gade-rp-midcta .gade-rp-btn{width:100%;justify-content:center}
  .gade-rp-video-grid,.gade-rp-course-grid,.gade-rp-steps{grid-template-columns:1fr}
  .gade-rp-course-image{height:190px}
  .gade-rp-final-actions{flex-direction:column}.gade-rp-final-actions .gade-rp-btn{width:100%;justify-content:center}
}


/* =========================================================
   Full Global Academy page (v5.1)
   Matches the supplied CE page design and uses the same
   1120px responsive content width as the latest residency page.
   ========================================================= */
.gade-ga-page{
  --ga-navy-950:#0b1f3f;
  --ga-navy-900:#16305c;
  --ga-gold:#d4a331;
  --ga-gold-deep:#7f5d0f;
  --ga-gold-fill:#b3861f;
  --ga-gold-bright:#efcd72;
  --ga-cream:#f2ecdf;
  --ga-line:#e6e2d8;
  --ga-body:#4a5058;
  --ga-soft:#63686f;
  --ga-serif:"Merriweather",Georgia,"Times New Roman",serif;
  --ga-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  width:100%;background:#fff;color:var(--ga-body);font-family:var(--ga-sans);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.gade-ga-page *{box-sizing:border-box}
.gade-ga-page a{text-decoration:none}
.gade-ga-wrap{width:min(1120px,calc(100% - 44px));margin-inline:auto}

.gade-ga-hero{position:relative;overflow:hidden;background:#01294C;color:#fff;padding:72px 0 clamp(38px,5vw,62px);box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax);margin-top:-1px}
.gade-ga-hero::after{content:none!important;display:none!important}
.gade-ga-hero-wrap{max-width:none;position:relative;z-index:2}
.gade-ga-crumb{display:flex;gap:8px;align-items:center;font-size:12.5px;color:rgba(255,255,255,.62);margin-bottom:20px}
.gade-ga-crumb a{color:rgba(255,255,255,.78)}
.gade-ga-crumb span:nth-child(2),.gade-ga-crumb span:nth-child(4){opacity:.4}
.gade-ga-hero h1{font-family:var(--ga-serif)!important;font-size:clamp(28px,3.9vw,46px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.1!important;margin:0 0 16px!important;color:#fff!important;text-transform:none!important}
.gade-ga-hero p{font-size:clamp(15px,1.7vw,17.5px);color:rgba(255,255,255,.8);margin:0;max-width:78ch;line-height:1.7}
.gade-ga-stats{display:flex;flex-wrap:wrap;gap:18px 44px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.gade-ga-stats b{display:block;font-family:var(--ga-serif);font-size:26px;font-weight:700;color:var(--ga-gold-bright);line-height:1}
.gade-ga-stats span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:7px}

.gade-ga-midcta{position:relative;padding:20px 0;background:var(--ga-cream);border-top:1px solid rgba(163,120,31,.28);border-bottom:1px solid rgba(163,120,31,.28);box-shadow:0 0 0 100vmax var(--ga-cream);clip-path:inset(0 -100vmax)}
.gade-ga-midcta-wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:24px 32px;flex-wrap:wrap}
.gade-ga-midcta-text{position:relative;padding-left:20px}
.gade-ga-midcta-text::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:var(--ga-gold)}
.gade-ga-midcta-text strong{display:block;font-family:var(--ga-serif);font-weight:700;font-size:clamp(19px,2.2vw,26px);line-height:1.15;color:var(--ga-navy-950)}
.gade-ga-midcta-text span{display:block;font-size:14px;color:#5a6472;margin-top:3px}

.gade-ga-btn{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:44px;padding:12px 18px!important;border-radius:0!important;border:1px solid transparent!important;font-family:var(--ga-sans)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;text-transform:none!important}
.gade-ga-btn-gold{background:var(--ga-gold)!important;color:var(--ga-navy-950)!important}
.gade-ga-btn-gold:hover{background:var(--ga-gold-fill)!important;color:var(--ga-navy-950)!important}

.gade-ga-programmes{padding:clamp(42px,5.4vw,76px) 0;background:#fff}
.gade-ga-lede{max-width:760px;margin-bottom:clamp(26px,3.4vw,42px)}
.gade-ga-eyebrow{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ga-gold-deep)}
.gade-ga-lede h2{font-family:var(--ga-serif)!important;font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--ga-navy-950)!important;margin:12px 0 14px!important;line-height:1.15!important;text-transform:none!important}
.gade-ga-lede p{font-size:16px;line-height:1.78;color:#414d5b;margin:0}
.gade-ga-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.gade-ga-course-card{background:#fff;border:1px solid var(--ga-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.gade-ga-course-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(11,31,63,.45)}
.gade-ga-course-image,.gade-ga-course-placeholder{display:block;height:150px;overflow:hidden;background:var(--ga-cream)}
.gade-ga-course-image img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.gade-ga-course-body{padding:20px;display:flex;flex-direction:column;flex:1}
.gade-ga-course-tag{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ga-gold-deep);margin-bottom:8px}
.gade-ga-course-card h3{font-family:var(--ga-serif)!important;font-size:20px!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--ga-navy-950)!important;margin:0 0 9px!important;line-height:1.25!important;text-transform:none!important}
.gade-ga-course-card p{font-size:13.5px;line-height:1.65;color:#5f6a78;margin:0 0 15px}
.gade-ga-facts{display:flex;flex-direction:column;gap:7px;margin:auto 0 16px;padding-top:14px;border-top:1px solid var(--ga-line)}
.gade-ga-facts div{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}
.gade-ga-facts dt{color:#8a94a1}.gade-ga-facts dd{margin:0;font-weight:600;color:var(--ga-navy-900);text-align:right}
.gade-ga-course-button{width:100%;margin-top:auto}
.gade-ga-empty{padding:20px;border:1px solid var(--ga-line);border-radius:12px;background:#fff}

.gade-ga-final-cta{position:relative;padding:clamp(50px,6vw,82px) 22px;background:#01294C;text-align:center;color:#fff;box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax)}
.gade-ga-final-cta::before{content:none!important;display:none!important}
.gade-ga-final-frame{position:relative;z-index:2;max-width:820px;margin:auto;border:1px solid rgba(193,144,48,.5);padding:clamp(34px,5vw,60px) clamp(24px,4vw,54px)}
.gade-ga-final-frame h2{font-family:var(--ga-serif)!important;font-size:clamp(32px,4.6vw,58px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.05!important;text-transform:uppercase!important;color:#fff!important;margin:0!important}
.gade-ga-final-frame h2 em{color:var(--ga-gold-bright);font-style:italic}
.gade-ga-final-frame p{color:rgba(255,255,255,.74);margin:18px auto 0;max-width:52ch;font-size:16px}
.gade-ga-final-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.gade-ga-btn-ghost{background:transparent!important;border-color:rgba(255,255,255,.26)!important;color:#fff!important}
.gade-ga-btn-ghost:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}

@media(max-width:980px){
  .gade-ga-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .gade-ga-wrap{width:min(100% - 34px,1120px)}
  .gade-ga-hero{padding:46px 0 38px}
  .gade-ga-crumb{font-size:11px;flex-wrap:wrap}
  .gade-ga-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
  .gade-ga-midcta-wrap{align-items:flex-start}
  .gade-ga-midcta .gade-ga-btn{width:100%;justify-content:center}
  .gade-ga-course-grid{grid-template-columns:1fr}
  .gade-ga-course-image,.gade-ga-course-placeholder{height:190px}
  .gade-ga-final-actions{flex-direction:column}
  .gade-ga-final-actions .gade-ga-btn{width:100%;justify-content:center}
}

/* =========================================================
   Full Symposiums & Summits page (v5.2)
   Shared GADE CE system: same full-bleed #01294C hero/final CTA,
   1120px content width and cream bands as Residency/Global Academy.
   ========================================================= */
.gade-sp-page{
  --sp-navy-950:#0b1f3f;
  --sp-navy-900:#16305c;
  --sp-gold:#d4a331;
  --sp-gold-deep:#7f5d0f;
  --sp-gold-fill:#b3861f;
  --sp-gold-bright:#efcd72;
  --sp-cream:#f2ecdf;
  --sp-line:#e6e2d8;
  --sp-body:#4a5058;
  --sp-soft:#63686f;
  --sp-serif:"Merriweather",Georgia,"Times New Roman",serif;
  --sp-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  width:100%;background:#fff;color:var(--sp-body);font-family:var(--sp-sans);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.gade-sp-page *{box-sizing:border-box}
.gade-sp-page a{text-decoration:none}
.gade-sp-wrap{width:min(1120px,calc(100% - 44px));margin-inline:auto}

.gade-sp-hero{position:relative;overflow:hidden;background:#01294C;color:#fff;padding:72px 0 clamp(38px,5vw,62px);box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax);margin-top:-1px}
.gade-sp-hero::after{content:none!important;display:none!important}
.gade-sp-hero-wrap{max-width:none;position:relative;z-index:2}
.gade-sp-crumb{display:flex;gap:8px;align-items:center;font-size:12.5px;color:rgba(255,255,255,.62);margin-bottom:20px}
.gade-sp-crumb a{color:rgba(255,255,255,.78)}
.gade-sp-crumb span:nth-child(2),.gade-sp-crumb span:nth-child(4){opacity:.4}
.gade-sp-hero h1{font-family:var(--sp-serif)!important;font-size:clamp(28px,3.9vw,46px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.1!important;margin:0 0 16px!important;color:#fff!important;text-transform:none!important}
.gade-sp-hero p{font-size:clamp(15px,1.7vw,17.5px);color:rgba(255,255,255,.8);margin:0;max-width:78ch;line-height:1.7}
.gade-sp-stats{display:flex;flex-wrap:wrap;gap:18px 44px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.gade-sp-stats b{display:block;font-family:var(--sp-serif);font-size:26px;font-weight:700;color:var(--sp-gold-bright);line-height:1}
.gade-sp-stats span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:7px}

.gade-sp-midcta{position:relative;padding:20px 0;background:var(--sp-cream);border-top:1px solid rgba(163,120,31,.28);border-bottom:1px solid rgba(163,120,31,.28);box-shadow:0 0 0 100vmax var(--sp-cream);clip-path:inset(0 -100vmax)}
.gade-sp-midcta-wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:24px 32px;flex-wrap:wrap}
.gade-sp-midcta-text{position:relative;padding-left:20px}
.gade-sp-midcta-text::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:var(--sp-gold)}
.gade-sp-midcta-text strong{display:block;font-family:var(--sp-serif);font-weight:700;font-size:clamp(19px,2.2vw,26px);line-height:1.15;color:var(--sp-navy-950)}
.gade-sp-midcta-text span{display:block;font-size:14px;color:#5a6472;margin-top:3px}

.gade-sp-btn{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:44px;padding:12px 18px!important;border-radius:0!important;border:1px solid transparent!important;font-family:var(--sp-sans)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;text-transform:none!important}
.gade-sp-btn-gold{background:var(--sp-gold)!important;color:var(--sp-navy-950)!important}
.gade-sp-btn-gold:hover{background:var(--sp-gold-fill)!important;color:var(--sp-navy-950)!important}

.gade-sp-events{padding:clamp(42px,5.4vw,76px) 0;background:#fff}
.gade-sp-lede{max-width:760px;margin-bottom:clamp(26px,3.4vw,42px)}
.gade-sp-eyebrow{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-gold-deep)}
.gade-sp-lede h2{font-family:var(--sp-serif)!important;font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--sp-navy-950)!important;margin:12px 0 0!important;line-height:1.15!important;text-transform:none!important}
.gade-sp-list{display:flex;flex-direction:column;gap:0}
.gade-sp-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--sp-line)}
.gade-sp-row:last-child{border-bottom:0}
.gade-sp-when{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--sp-gold-deep)}
.gade-sp-row-main h3{font-family:var(--sp-serif)!important;font-size:19px!important;font-weight:700!important;letter-spacing:-.01em!important;color:var(--sp-navy-950)!important;margin:0 0 4px!important;line-height:1.25!important;text-transform:none!important}
.gade-sp-row-main p{font-size:13px;color:#6b7684;margin:0;line-height:1.6}
.gade-sp-register{min-width:150px}
.gade-sp-empty{padding:20px;border:1px solid var(--sp-line);border-radius:12px;background:#fff}

.gade-sp-why{position:relative;padding:clamp(42px,5.4vw,76px) 0;background:var(--sp-cream);box-shadow:0 0 0 100vmax var(--sp-cream);clip-path:inset(0 -100vmax)}
.gade-sp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gade-sp-step{background:#fff;border:1px solid var(--sp-line);border-radius:12px;padding:22px}
.gade-sp-step b{display:block;font-family:var(--sp-serif);font-weight:700;font-size:24px;color:var(--sp-gold-deep);line-height:1;margin-bottom:11px}
.gade-sp-step h4{font-family:var(--sp-sans)!important;font-size:14px!important;font-weight:600!important;color:var(--sp-navy-950)!important;margin:0 0 6px!important;line-height:1.25!important;text-transform:none!important}
.gade-sp-step p{font-size:13px;line-height:1.6;color:#5f6a78;margin:0}

.gade-sp-final-cta{position:relative;padding:clamp(50px,6vw,82px) 22px;background:#01294C;text-align:center;color:#fff;box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax)}
.gade-sp-final-cta::before{content:none!important;display:none!important}
.gade-sp-final-frame{position:relative;z-index:2;max-width:820px;margin:auto;border:1px solid rgba(193,144,48,.5);padding:clamp(34px,5vw,60px) clamp(24px,4vw,54px)}
.gade-sp-final-frame h2{font-family:var(--sp-serif)!important;font-size:clamp(32px,4.6vw,58px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.05!important;text-transform:uppercase!important;color:#fff!important;margin:0!important}
.gade-sp-final-frame h2 em{color:var(--sp-gold-bright);font-style:italic}
.gade-sp-final-frame p{color:rgba(255,255,255,.74);margin:18px auto 0;max-width:52ch;font-size:16px}
.gade-sp-final-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.gade-sp-btn-ghost{background:transparent!important;border-color:rgba(255,255,255,.26)!important;color:#fff!important}
.gade-sp-btn-ghost:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}

@media(max-width:980px){
  .gade-sp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .gade-sp-wrap{width:min(100% - 34px,1120px)}
  .gade-sp-hero{padding:46px 0 38px}
  .gade-sp-crumb{font-size:11px;flex-wrap:wrap}
  .gade-sp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
  .gade-sp-midcta-wrap{align-items:flex-start}
  .gade-sp-midcta .gade-sp-btn{width:100%;justify-content:center}
  .gade-sp-row{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .gade-sp-register{width:100%;justify-content:center}
  .gade-sp-steps{grid-template-columns:1fr}
  .gade-sp-final-actions{flex-direction:column}
  .gade-sp-final-actions .gade-sp-btn{width:100%;justify-content:center}
}


/* =========================================================
   Full Executive Academy page (v5.3)
   Shared GADE CE system: identical hero blue, full-bleed bands,
   1120px content width and final CTA treatment as Residency.
   ========================================================= */
.gade-ex-page{
  --ex-navy-950:#0b1f3f;
  --ex-navy-900:#16305c;
  --ex-gold:#d4a331;
  --ex-gold-deep:#7f5d0f;
  --ex-gold-fill:#b3861f;
  --ex-gold-bright:#efcd72;
  --ex-cream:#f2ecdf;
  --ex-line:#e6e2d8;
  --ex-body:#4a5058;
  --ex-serif:"Merriweather",Georgia,"Times New Roman",serif;
  --ex-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  width:100%;background:#fff;color:var(--ex-body);font-family:var(--ex-sans);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.gade-ex-page *{box-sizing:border-box}
.gade-ex-page a{text-decoration:none}
.gade-ex-wrap{width:min(1120px,calc(100% - 44px));margin-inline:auto}

.gade-ex-hero{position:relative;overflow:hidden;background:#01294C;color:#fff;padding:72px 0 clamp(38px,5vw,62px);box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax);margin-top:-1px}
.gade-ex-hero::after{content:none!important;display:none!important}
.gade-ex-hero-wrap{max-width:none;position:relative;z-index:2}
.gade-ex-crumb{display:flex;gap:8px;align-items:center;font-size:12.5px;color:rgba(255,255,255,.62);margin-bottom:20px}
.gade-ex-crumb a{color:rgba(255,255,255,.78)}
.gade-ex-crumb span:nth-child(2),.gade-ex-crumb span:nth-child(4){opacity:.4}
.gade-ex-hero h1{font-family:var(--ex-serif)!important;font-size:clamp(28px,3.9vw,46px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.1!important;margin:0 0 16px!important;color:#fff!important;text-transform:none!important}
.gade-ex-hero p{font-size:clamp(15px,1.7vw,17.5px);color:rgba(255,255,255,.8);margin:0;max-width:78ch;line-height:1.7}
.gade-ex-stats{display:flex;flex-wrap:wrap;gap:18px 44px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.gade-ex-stats b{display:block;font-family:var(--ex-serif);font-size:26px;font-weight:700;color:var(--ex-gold-bright);line-height:1}
.gade-ex-stats span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:7px}

.gade-ex-midcta{position:relative;padding:20px 0;background:var(--ex-cream);border-top:1px solid rgba(163,120,31,.28);border-bottom:1px solid rgba(163,120,31,.28);box-shadow:0 0 0 100vmax var(--ex-cream);clip-path:inset(0 -100vmax)}
.gade-ex-midcta-wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:24px 32px;flex-wrap:wrap}
.gade-ex-midcta-text{position:relative;padding-left:20px}
.gade-ex-midcta-text::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:var(--ex-gold)}
.gade-ex-midcta-text strong{display:block;font-family:var(--ex-serif);font-weight:700;font-size:clamp(19px,2.2vw,26px);line-height:1.15;color:var(--ex-navy-950)}
.gade-ex-midcta-text span{display:block;font-size:14px;color:#5a6472;margin-top:3px}

.gade-ex-btn{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:44px;padding:12px 18px!important;border-radius:0!important;border:1px solid transparent!important;font-family:var(--ex-sans)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;text-transform:none!important}
.gade-ex-btn-gold{background:var(--ex-gold)!important;color:var(--ex-navy-950)!important}
.gade-ex-btn-gold:hover{background:var(--ex-gold-fill)!important;color:var(--ex-navy-950)!important}

.gade-ex-tracks{padding:clamp(42px,5.4vw,76px) 0;background:#fff}
.gade-ex-lede{max-width:760px;margin-bottom:clamp(26px,3.4vw,42px)}
.gade-ex-eyebrow{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ex-gold-deep)}
.gade-ex-lede h2{font-family:var(--ex-serif)!important;font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--ex-navy-950)!important;margin:12px 0 0!important;line-height:1.15!important;text-transform:none!important}
.gade-ex-lede p{font-size:14px;color:#63686f;margin:14px 0 0;max-width:72ch;line-height:1.7}
.gade-ex-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gade-ex-course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ex-line);border-radius:12px;overflow:hidden;min-width:0}
.gade-ex-course-image,.gade-ex-course-placeholder{display:block;width:100%;height:190px;background:var(--ex-cream);overflow:hidden}
.gade-ex-course-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.gade-ex-course-body{display:flex;flex:1;flex-direction:column;padding:20px 20px 18px}
.gade-ex-course-tag{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ex-gold-deep);margin-bottom:7px}
.gade-ex-course-body h3{font-family:var(--ex-serif)!important;font-size:19px!important;font-weight:700!important;letter-spacing:-.012em!important;color:var(--ex-navy-950)!important;margin:0 0 8px!important;line-height:1.25!important;text-transform:none!important}
.gade-ex-course-body>p{font-size:13px;color:#69737f;line-height:1.6;margin:0 0 14px}
.gade-ex-facts{border-top:1px solid var(--ex-line);padding-top:10px;margin:0 0 14px;font-size:12.5px}
.gade-ex-facts div{display:flex;justify-content:space-between;gap:16px;padding:3px 0}
.gade-ex-facts dt{color:#8a94a1}.gade-ex-facts dd{margin:0;font-weight:600;color:var(--ex-navy-900);text-align:right}
.gade-ex-course-button{width:100%;margin-top:auto}
.gade-ex-empty{padding:20px;border:1px solid var(--ex-line);border-radius:12px;background:#fff}

.gade-ex-final-cta{position:relative;padding:clamp(50px,6vw,82px) 22px;background:#01294C;text-align:center;color:#fff;box-shadow:0 0 0 100vmax #01294C;clip-path:inset(0 -100vmax)}
.gade-ex-final-cta::before{content:none!important;display:none!important}
.gade-ex-final-frame{position:relative;z-index:2;max-width:820px;margin:auto;border:1px solid rgba(193,144,48,.5);padding:clamp(34px,5vw,60px) clamp(24px,4vw,54px)}
.gade-ex-final-frame h2{font-family:var(--ex-serif)!important;font-size:clamp(32px,4.6vw,58px)!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.05!important;text-transform:uppercase!important;color:#fff!important;margin:0!important}
.gade-ex-final-frame h2 em{color:var(--ex-gold-bright);font-style:italic}
.gade-ex-final-frame p{color:rgba(255,255,255,.74);margin:18px auto 0;max-width:52ch;font-size:16px}
.gade-ex-final-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.gade-ex-btn-ghost{background:transparent!important;border-color:rgba(255,255,255,.26)!important;color:#fff!important}
.gade-ex-btn-ghost:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}

@media(max-width:980px){
  .gade-ex-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .gade-ex-wrap{width:min(100% - 34px,1120px)}
  .gade-ex-hero{padding:46px 0 38px}
  .gade-ex-crumb{font-size:11px;flex-wrap:wrap}
  .gade-ex-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
  .gade-ex-midcta-wrap{align-items:flex-start}
  .gade-ex-midcta .gade-ex-btn{width:100%;justify-content:center}
  .gade-ex-course-grid{grid-template-columns:1fr}
  .gade-ex-course-image,.gade-ex-course-placeholder{height:190px}
  .gade-ex-final-actions{flex-direction:column}
  .gade-ex-final-actions .gade-ex-btn{width:100%;justify-content:center}
}

/* ========================================================================
   v5.5 — section-only CE blocks for Elementor pages.
   Elementor owns the page. These shortcodes own only the dynamic course area.
   Shared 1120px width matches the approved Residency page system.
   ======================================================================== */
.gade-ce-page{
  --gade-ce-gold:#d4a331;
  --gade-ce-gold-deep:#7f5d0f;
  --gade-ce-gold-hover:#b3861f;
  --gade-ce-navy:#0b1f3f;
  --gade-ce-navy-2:#16305c;
  --gade-ce-line:#e6e2d8;
  --gade-ce-body:#4a5058;
  --gade-ce-serif:"Merriweather",Georgia,"Times New Roman",serif;
  --gade-ce-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  width:100%;
  background:#fff;
  color:var(--gade-ce-body);
  font-family:var(--gade-ce-sans);
}
.gade-ce-page *{box-sizing:border-box}
.gade-ce-section-only{width:100%;padding:clamp(42px,5.4vw,76px) 0;background:#fff}
.gade-ce-inner{width:min(1120px,calc(100% - 44px));margin-inline:auto}
.gade-ce-section-lede{max-width:760px;margin-bottom:clamp(26px,3.4vw,42px)}
.gade-ce-eyebrow{display:inline-block;font-family:var(--gade-ce-sans);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gade-ce-gold-deep)}
.gade-ce-section-lede h2{font-family:var(--gade-ce-serif)!important;font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--gade-ce-navy)!important;margin:12px 0 0!important;line-height:1.15!important;text-transform:none!important}
.gade-ce-section-lede p{font-family:var(--gade-ce-sans);font-size:16px;line-height:1.78;color:#414d5b;margin:14px 0 0;max-width:72ch}

/* Lists: Symposiums already has its own classes; these style webinars/podcasts. */
.gade-ce-section-only .gade-ce-list{display:flex;flex-direction:column;gap:0;border-top:0}
.gade-ce-section-only .gade-ce-list-row{display:grid!important;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;align-items:center;width:100%;padding:18px 0;border-bottom:1px solid var(--gade-ce-line);color:inherit!important;text-decoration:none!important}
.gade-ce-section-only .gade-ce-list-row:last-child{border-bottom:0}
.gade-ce-section-only .gade-ce-list-date{color:var(--gade-ce-gold-deep);font-family:var(--gade-ce-sans);font-size:11.5px;font-weight:700;line-height:1.35;letter-spacing:.07em;text-transform:uppercase}
.gade-ce-section-only .gade-ce-list-main h3{font-family:var(--gade-ce-serif)!important;font-size:19px!important;font-weight:700!important;color:var(--gade-ce-navy)!important;margin:0 0 4px!important;line-height:1.25!important;text-transform:none!important}
.gade-ce-section-only .gade-ce-list-main p{font-family:var(--gade-ce-sans);font-size:13px;line-height:1.5;color:#6b7684;margin:0}
.gade-ce-section-only .gade-ce-list-row>.gade-ce-button{display:inline-flex!important;width:auto!important;min-width:145px;margin:0!important;justify-self:end;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:13px 18px!important;background:var(--gade-ce-gold)!important;color:var(--gade-ce-navy)!important;border:0!important;border-radius:0!important;font-family:var(--gade-ce-sans)!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important}
.gade-ce-section-only .gade-ce-list-row:hover>.gade-ce-button{background:var(--gade-ce-gold-hover)!important}
.gade-ce-note{font-family:var(--gade-ce-sans);font-size:13.5px;line-height:1.6;color:#6b7684;margin:26px 0 0}

/* On-demand cards: mirror the supplied three-column CE library design. */
.gade-ce-section-only .gade-ce-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.gade-ce-section-only .gade-ce-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--gade-ce-line);border-radius:14px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.gade-ce-section-only .gade-ce-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(11,31,63,.45)}
.gade-ce-section-only .gade-ce-card-image{display:block;width:100%;height:150px;aspect-ratio:auto;overflow:hidden;background:#f2ecdf}
.gade-ce-section-only .gade-ce-card-image img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.gade-ce-section-only .gade-ce-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.gade-ce-section-only .gade-ce-label{display:block;margin:0 0 8px;color:var(--gade-ce-gold-deep);font-family:var(--gade-ce-sans);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gade-ce-section-only .gade-ce-card h3{font-family:var(--gade-ce-serif)!important;font-size:20px!important;font-weight:700!important;color:var(--gade-ce-navy)!important;margin:0 0 9px!important;line-height:1.25!important;text-transform:none!important}
.gade-ce-section-only .gade-ce-card p{font-family:var(--gade-ce-sans);font-size:13.5px;line-height:1.65;color:#5f6a78;margin:0 0 15px}
.gade-ce-section-only .gade-ce-meta{display:flex;flex-direction:column;gap:7px;margin:0 0 16px;padding-top:14px;border-top:1px solid var(--gade-ce-line)}
.gade-ce-section-only .gade-ce-meta-row{display:flex;justify-content:space-between;gap:12px;padding:0;font-family:var(--gade-ce-sans);font-size:12.5px;line-height:1.35}
.gade-ce-section-only .gade-ce-meta-row span{color:#8a94a1}
.gade-ce-section-only .gade-ce-meta-row strong{margin:0;font-weight:600;color:var(--gade-ce-navy-2);text-align:right}
.gade-ce-section-only .gade-ce-card .gade-ce-button{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;margin-top:auto!important;padding:13px 18px!important;background:var(--gade-ce-gold)!important;color:var(--gade-ce-navy)!important;border:0!important;border-radius:0!important;font-family:var(--gade-ce-sans)!important;font-size:11px!important;font-weight:700!important;text-decoration:none!important}
.gade-ce-section-only .gade-ce-card .gade-ce-button:hover{background:var(--gade-ce-gold-hover)!important}

@media(max-width:980px){
  .gade-ce-section-only .gade-ce-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .gade-ce-inner{width:min(100% - 34px,1120px)}
  .gade-ce-section-only .gade-ce-grid{grid-template-columns:1fr}
  .gade-ce-section-only .gade-ce-card:hover{transform:none;box-shadow:none}
  .gade-ce-section-only .gade-ce-list-row{grid-template-columns:1fr;gap:8px;padding:18px 0}
  .gade-ce-section-only .gade-ce-list-row>.gade-ce-button{justify-self:start;width:auto!important;min-width:0}
}

/* v5.6: one canonical course-card system site-wide.
   Card-based CE shortcodes reuse the Home page Academic Programmes component exactly. */
.gade-lw.gade-programs.gade-unified-cards{
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
}
.gade-lw.gade-programs.gade-unified-cards .gade-prog-grid{
  width:100%!important;
  margin:0!important;
}

/* v5.7: prevent the canonical course-card hover from being clipped inside
   section-only CE blocks (notably Mini & Maxi Residency Programmes).
   The card still keeps its own rounded overflow for the image/body; only
   ancestor wrappers are allowed to show the translated card + shadow. */
.gade-lw.gade-programs.gade-unified-cards{
  overflow:visible!important;
  isolation:auto!important;
}
.gade-lw.gade-programs.gade-unified-cards .gade-prog-grid{
  overflow:visible!important;
  position:relative!important;
  z-index:1;
}
.gade-lw.gade-programs.gade-unified-cards .gade-prog-card{
  position:relative;
  z-index:1;
}
.gade-lw.gade-programs.gade-unified-cards .gade-prog-card:hover{
  z-index:20;
}
.gade-rp-page.gade-section-only,
.gade-rp-page.gade-section-only .gade-rp-programmes,
.gade-rp-page.gade-section-only .gade-rp-wrap{
  overflow:visible!important;
}


/* v5.8: Residency section shortcode now outputs course cards only.
   Elementor controls the surrounding heading/spacing, so remove the old
   programme-section top padding that belonged to the deleted intro copy. */
.gade-rp-page.gade-section-only .gade-rp-programmes{
  padding-top:0!important;
}


/* v5.9: Global Academy section shortcode now outputs course cards only.
   Remove the spacing that belonged to the deleted "What it is" intro block,
   and keep hover effects visible like the Residency card section. */
.gade-ga-page.gade-section-only,
.gade-ga-page.gade-section-only .gade-ga-programmes,
.gade-ga-page.gade-section-only .gade-ga-wrap{
  overflow:visible!important;
}
.gade-ga-page.gade-section-only .gade-ga-programmes{
  padding-top:0!important;
}


/* v6.1: Executive Academy section shortcode outputs course cards only.
   Remove the padding that belonged to the deleted Tracks / Three directions intro. */
.gade-ex-page.gade-section-only,
.gade-ex-page.gade-section-only .gade-ex-tracks,
.gade-ex-page.gade-section-only .gade-ex-wrap{
  overflow:visible!important;
}
.gade-ex-page.gade-section-only .gade-ex-tracks{
  padding-top:0!important;
}


/* v6.8: Global Academy uses the Home-page event-row component without
   the Home-page section heading. Remove the generic section top padding
   so the list begins at the Elementor section position instead of leaving
   a large empty block above the first course. */
.gade-lw.gade-events.gade-global-events{
  padding-top:0!important;
}
.gade-lw.gade-events.gade-global-events .gade-wrap{
  padding-top:0!important;
}


/* v6.9: keep the Elementor site header and all navigation dropdowns above
   dynamic GADE course sections. The menu was falling behind page content
   because separate Elementor containers created competing stacking contexts. */
.elementor-location-header,
[data-elementor-type="header"],
header.elementor-location-header,
body > header,
.elementor-sticky--active{
  position:relative;
  z-index:999999!important;
  overflow:visible!important;
}
.elementor-location-header .elementor-element,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
[data-elementor-type="header"] .elementor-element,
[data-elementor-type="header"] .e-con,
[data-elementor-type="header"] .e-con-inner{
  overflow:visible!important;
}
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu .sub-menu,
.elementor-location-header .sub-menu,
[data-elementor-type="header"] .elementor-nav-menu--dropdown,
[data-elementor-type="header"] .elementor-nav-menu .sub-menu,
[data-elementor-type="header"] .sub-menu{
  z-index:1000000!important;
}
/* Keep all plugin-rendered sections in the normal page stack. */
.gade-lw,
.gade-section,
.gade-ce-page,
.gade-ga-page,
.gade-rp-page,
.gade-ex-page{
  z-index:auto;
}

/* v7.2: WordPress frontend admin toolbar must remain above the site header.
   v6.9 intentionally raised the Elementor header so dropdowns sit above page
   content, but that also placed the site header above #wpadminbar for logged-in
   administrators. Keep a simple three-level stack: page < site header/dropdowns
   < WordPress admin bar. */
#wpadminbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:2147483647!important;
}
/* The site navigation may stay high enough to clear every normal page section,
   but it must always remain below the WordPress toolbar. */
.elementor-location-header,
[data-elementor-type="header"],
header.elementor-location-header,
body > header,
.elementor-sticky--active{
  z-index:100000!important;
}
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu .sub-menu,
.elementor-location-header .sub-menu,
[data-elementor-type="header"] .elementor-nav-menu--dropdown,
[data-elementor-type="header"] .elementor-nav-menu .sub-menu,
[data-elementor-type="header"] .sub-menu{
  z-index:100001!important;
}


/* v7.4: Short Courses now uses the same Home-page event-row component as
   Global Academy. Remove the generic section top padding so it aligns with
   the Elementor section position exactly like Global Academy. */
.gade-lw.gade-events.gade-short-events{
  padding-top:0!important;
}
.gade-lw.gade-events.gade-short-events .gade-wrap{
  padding-top:0!important;
}

/* v7.5: align all plugin-rendered section content with the wider CE hero width.
   Desktop heroes use an approximately 1280px inner content area. Older course,
   calendar and CE wrappers were intentionally narrower (about 1120px, or a
   1280px wrapper with large internal gutters), which made the sections below
   the hero look pinched. Standardise the desktop inner width while preserving
   the existing mobile gutters and every component's styling/behaviour. */
@media (min-width:768px){
  /* Home Academic Programmes + all Home-style event rows used on Global,
     Short Courses, Executive, Live Webinars and similar section shortcodes. */
  .gade-lw .gade-wrap,
  .gade-lw.gade-events .gade-wrap,
  .gade-lw.gade-programs .gade-wrap{
    width:min(1280px,calc(100% - 44px))!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Section-only CE families and legacy page wrappers. */
  .gade-rp-wrap,
  .gade-ga-wrap,
  .gade-sp-wrap,
  .gade-ex-wrap,
  .gade-ce-inner{
    width:min(1280px,calc(100% - 44px))!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Keep any CTA/content sub-wrappers from shrinking back to the old 1080px
     width when those legacy blocks are used elsewhere on the site. */
  .gade-rp-midcta-wrap,
  .gade-ga-midcta-wrap,
  .gade-sp-midcta-wrap,
  .gade-ex-midcta-wrap{
    width:100%!important;
    max-width:none!important;
  }

  /* Course Calendar page should align to the same site-wide content rails. */
  .gade-lw.gade-calendar .gade-calendar-wrap,
  .gade-calendar-wrap{
    width:min(1280px,calc(100% - 44px))!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .gade-lw.gade-calendar .gade-calendar-inner,
  .gade-calendar-inner{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* v11.4: structural additions retained from the newer plugin while the established GADE v7.6 styling remains authoritative. */

/* v8.8: Elementor owns vertical spacing on Continuing Education destination pages.
   Remove only the OUTER top/bottom padding from plugin-rendered section shortcodes.
   Internal row/card/button padding is intentionally untouched. This lets each
   Elementor shortcode container control its own desktop/tablet/mobile spacing. */
.gade-lw.gade-events.gade-short-events,
.gade-lw.gade-events.gade-global-events,
.gade-ce-page.gade-section-only > .gade-ce-section-only,
.gade-rp-page.gade-section-only > .gade-rp-programmes,
.gade-ga-page.gade-section-only > .gade-ga-programmes,
.gade-ex-page.gade-section-only > .gade-ex-tracks,
.gade-lw.gade-programs.gade-unified-cards.gade-section-only,
.gade-lw.gade-calendar.gade-calendar-section{
  padding-top:0!important;
  padding-bottom:0!important;
}


/* v9.5: Center row/event dates between the image and course details.
   Desktop/tablet rows have a dedicated date grid column; centering the contents
   within that column places the date precisely midway between poster and copy.
   The compact mobile layout intentionally keeps its existing left alignment. */
@media (min-width:768px){
  .gade-lw.gade-events .gade-event-date{
    justify-self:stretch!important;
    align-self:center!important;
    text-align:center!important;
  }
}



/* v9.9: GADE Short Courses seasonal list detail + CTA.
   Extends the v9.8 seasonal list with synced short descriptions and the shared Course → CTA. */

/* v9.8: GADE Short Courses seasonal list.
   The Short Courses shortcode now uses the reference seasonal calendar treatment:
   no images, season/year headings, compact date ranges and alternating linked rows.
   This is scoped to Short Courses only and keeps Elementor in control of outer spacing. */
.gade-lw.gade-short-calendar{
  --gade-calendar-navy:#01294C;
  --gade-calendar-gold:#F2A900;
  --gade-calendar-cream:#F6F1E8;
  --gade-calendar-line:rgba(1,41,76,.14);
}
.gade-lw.gade-short-calendar .gade-short-season + .gade-short-season{
  margin-top:42px;
}
.gade-lw.gade-short-calendar .gade-short-season-title{
  margin:0 0 14px!important;
  padding:0 0 12px!important;
  border:0!important;
  border-bottom:1px solid rgba(242,169,0,.58)!important;
  color:#01294C!important;
  font-family:var(--gade-serif,"Cormorant Garamond",Georgia,"Times New Roman",serif)!important;
  font-size:clamp(28px,2.7vw,36px)!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.gade-lw.gade-short-calendar .gade-calendar-list{
  overflow:hidden;
  border:1px solid rgba(1,41,76,.14)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.gade-lw.gade-short-calendar .gade-calendar-row{
  grid-template-columns:minmax(220px,290px) minmax(0,1fr)!important;
  gap:30px!important;
  align-items:center!important;
  padding:22px 26px!important;
  background:#fff!important;
}
.gade-lw.gade-short-calendar .gade-calendar-row-alt{
  background:#fff!important;
}
.gade-lw.gade-short-calendar .gade-calendar-row + .gade-calendar-row{
  border-top:1px solid rgba(1,41,76,.10)!important;
}
.gade-lw.gade-short-calendar .gade-calendar-date{
  padding-top:0!important;
}
.gade-lw.gade-short-calendar .gade-calendar-date-text{
  color:#F2A900!important;
  font-size:12.5px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.gade-lw.gade-short-calendar .gade-calendar-titles{
  gap:10px!important;
}
.gade-lw.gade-short-calendar .gade-short-course-item{
  display:grid!important;
  width:100%!important;
  align-self:stretch!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
}
.gade-lw.gade-short-calendar .gade-short-course-item + .gade-short-course-item{
  margin-top:16px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(1,41,76,.10)!important;
}
.gade-lw.gade-short-calendar .gade-short-course-main{
  min-width:0!important;
}
.gade-lw.gade-short-calendar .gade-short-course-desc{
  margin:8px 0 0!important;
  color:var(--gade-body,#4A5058)!important;
  font-family:var(--gade-sans,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.55!important;
}
.gade-lw.gade-short-calendar .gade-short-course-cta{
  display:flex!important;
  width:auto!important;
  max-width:none!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:normal!important;
  letter-spacing:normal!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.gade-lw.gade-short-calendar .gade-short-course-cta:hover,
.gade-lw.gade-short-calendar .gade-short-course-cta:focus{
  border:0!important;
  border-bottom:0!important;
  color:inherit!important;
}
.gade-lw.gade-short-calendar .gade-short-course-cta .gade-event-tag{
  box-shadow:inset 0 0 0 1px #F2A900!important;
}
.gade-lw.gade-short-calendar .gade-short-course-cta .gade-event-arrow{
  color:#F2A900!important;
  transition:transform .35s var(--gade-ease-out,ease)!important;
}
.gade-lw.gade-short-calendar .gade-short-course-cta:hover .gade-event-arrow,
.gade-lw.gade-short-calendar .gade-short-course-cta:focus .gade-event-arrow{
  transform:translateX(5px)!important;
}
.gade-lw.gade-short-calendar .gade-calendar-course-link{
  color:#01294C!important;
  border-bottom-color:rgba(242,169,0,.55)!important;
  font-size:20px!important;
  line-height:1.28!important;
}
.gade-lw.gade-short-calendar .gade-calendar-course-link:hover,
.gade-lw.gade-short-calendar .gade-calendar-course-link:focus{
  color:#01294C!important;
  border-bottom-color:#F2A900!important;
}
@media(max-width:640px){
  .gade-lw.gade-short-calendar .gade-short-season + .gade-short-season{
    margin-top:32px;
  }
  .gade-lw.gade-short-calendar .gade-short-season-title{
    font-size:28px!important;
    margin-bottom:12px!important;
    padding-bottom:10px!important;
  }
  .gade-lw.gade-short-calendar .gade-calendar-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:18px!important;
  }
  .gade-lw.gade-short-calendar .gade-short-course-item{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .gade-lw.gade-short-calendar .gade-short-course-cta{
    justify-content:flex-start!important;
  }
  .gade-lw.gade-short-calendar .gade-short-course-desc{
    font-size:13.5px!important;
  }
  .gade-lw.gade-short-calendar .gade-calendar-course-link{
    font-size:17px!important;
    line-height:1.32!important;
  }
}


/* v10.0: Short Courses CTA specificity fix.
   The generic calendar anchor rule also targets the CTA anchor because it lives
   inside .gade-calendar-titles. Override it explicitly so the CTA matches the
   standard site-wide Course -> treatment and never inherits title underlines. */
.gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta,
.gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta:hover,
.gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta:focus{
  display:flex!important;
  width:auto!important;
  max-width:none!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:22px!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-family:var(--gade-sans,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:normal!important;
  letter-spacing:normal!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta .gade-event-tag{
  font-family:var(--gade-sans,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:var(--gade-body,#4A5058)!important;
  padding:8px 16px!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:100px!important;
  background:transparent!important;
  box-shadow:inset 0 0 0 1px #F2A900!important;
  text-decoration:none!important;
}
.gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta .gade-event-arrow{
  font-family:var(--gade-sans,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  color:#F2A900!important;
  font-size:18px!important;
  line-height:1!important;
  border:0!important;
  text-decoration:none!important;
}
@media(max-width:640px){
  .gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta,
  .gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta:hover,
  .gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta:focus{
    justify-content:flex-start!important;
    gap:12px!important;
  }
  .gade-lw.gade-short-calendar .gade-calendar-titles a.gade-short-course-cta .gade-event-tag{
    font-size:9px!important;
    padding:6px 11px!important;
  }
}


/* v10.1: Short Courses typography parity.
   Match the seasonal Short Courses title and description to the standard
   site-wide row/event course typography shown elsewhere on GADE. */
.gade-lw.gade-short-calendar .gade-short-course-title{
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  color:#01294C!important;
  font-family:var(--gade-sans,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
}
.gade-lw.gade-short-calendar .gade-calendar-titles .gade-short-course-title a.gade-calendar-course-link,
.gade-lw.gade-short-calendar .gade-calendar-titles .gade-short-course-title a.gade-calendar-course-link:hover,
.gade-lw.gade-short-calendar .gade-calendar-titles .gade-short-course-title a.gade-calendar-course-link:focus{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#01294C!important;
  font:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  text-decoration:none!important;
  text-transform:inherit!important;
}
.gade-lw.gade-short-calendar .gade-short-course-desc{
  margin:0!important;
  padding:0!important;
  color:#4A5058!important;
  font-family:var(--gade-sans,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
@media(max-width:640px){
  .gade-lw.gade-short-calendar .gade-short-course-title{
    font-size:17px!important;
  }
  .gade-lw.gade-short-calendar .gade-short-course-desc{
    font-size:13.5px!important;
    line-height:1.48!important;
  }
}

/* v10.3: GADE Short Courses + Global Academy grouped-list date colour.
   Both layouts share .gade-short-calendar, so this single scoped rule keeps
   the saved date/date-range text consistent across those two pages only. */
.gade-lw.gade-short-calendar .gade-calendar-date-text{
  color:#01294C!important;
}


/* v10.4: Short Courses + Global Academy row hover treatment.
   Remove the hard-coded alternating beige row background. All grouped-list
   course rows are white at rest and use #F6F1E8 only as an interaction state. */
.gade-lw.gade-short-calendar .gade-calendar-row,
.gade-lw.gade-short-calendar .gade-calendar-row-alt{
  background:#fff!important;
  transition:background-color .25s ease!important;
}
.gade-lw.gade-short-calendar .gade-calendar-row:hover,
.gade-lw.gade-short-calendar .gade-calendar-row:focus-within,
.gade-lw.gade-short-calendar .gade-calendar-row-alt:hover,
.gade-lw.gade-short-calendar .gade-calendar-row-alt:focus-within{
  background:#F6F1E8!important;
}

/* v10.6: GADE Course Calendar visual-system refresh.
   Bring the standalone Course Calendar into the same GADE styling used by the
   current Short Courses, Global Academy and homepage program controls. */
.gade-lw.gade-calendar:not(.gade-short-calendar){
  --gade-calendar-navy:#01294C;
  --gade-calendar-gold:#F2A900;
  --gade-calendar-cream:#F6F1E8;
  --gade-calendar-line:rgba(1,41,76,.14);
}

.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-title{
  color:#01294C!important;
  border-bottom-color:rgba(242,169,0,.55)!important;
}

.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter{
  border-color:#F2A900!important;
  color:#141414!important;
  fill:#141414!important;
  background:#fff!important;
  background-color:#fff!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter:hover,
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter:focus,
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter:focus-visible{
  border-color:#F2A900!important;
  color:#141414!important;
  fill:#141414!important;
  background:#F6F1E8!important;
  background-color:#F6F1E8!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter.active,
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter.active:hover,
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter.active:focus,
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter.active:focus-visible,
.gade-lw.gade-calendar:not(.gade-short-calendar) button.gade-calendar-filter[aria-pressed="true"]{
  border-color:#01294C!important;
  background:#01294C!important;
  background-color:#01294C!important;
  color:#fff!important;
  fill:#fff!important;
}

.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-list{
  border-color:rgba(1,41,76,.14)!important;
  background:#fff!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row,
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row-alt{
  background:#fff!important;
  transition:background-color .25s ease!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row:hover,
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row:focus-within,
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row-alt:hover,
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row-alt:focus-within{
  background:#F6F1E8!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-row + .gade-calendar-row{
  border-top-color:rgba(1,41,76,.12)!important;
}

.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-date-text{
  color:#01294C!important;
  font-size:13.5px!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-status{
  border-color:#F2A900!important;
  color:#01294C!important;
  background:#fff!important;
}

.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles{
  justify-content:center!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles a.gade-calendar-course-link,
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles a.gade-calendar-course-link:hover,
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles a.gade-calendar-course-link:focus{
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  color:#01294C!important;
  font-family:var(--gade-sans,"Montserrat","Helvetica Neue",Arial,sans-serif)!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
}

@media (max-width:640px){
  .gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-date-text{
    font-size:12.5px!important;
  }
  .gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles a.gade-calendar-course-link,
  .gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles a.gade-calendar-course-link:hover,
  .gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-titles a.gade-calendar-course-link:focus{
    font-size:16px!important;
  }
}

/* v10.9.0 - Course Calendar synced short descriptions */
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-course-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-course-description{
  margin:0!important;
  padding:0!important;
  color:#4A5058!important;
  font-family:var(--gade-sans,"Montserrat","Helvetica Neue",Arial,sans-serif)!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
@media (max-width:640px){
  .gade-lw.gade-calendar:not(.gade-short-calendar) .gade-calendar-course-description{
    font-size:13.5px!important;
    line-height:1.55!important;
  }
}

/* ========================================================================
   v11.1 — Dedicated GADE On-Demand + Podcasts media rows.
   Matches the supplied reference layout and deliberately avoids the legacy
   .gade-ce-* / generic .gade-event-* cascade so Elementor cannot restyle it.
   ======================================================================== */
.gade-lw.gade-media-list{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#4A5058!important;
  overflow:visible!important;
}
.gade-lw.gade-media-list .gade-media-wrap{
  width:min(1280px,calc(100% - 44px))!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:0!important;
}
.gade-lw.gade-media-list .gade-media-rows{
  width:100%!important;
  border-top:1px solid #E6E2D8!important;
}
.gade-lw.gade-media-list a.gade-media-row{
  display:grid!important;
  grid-template-columns:116px 120px minmax(0,1fr) auto!important;
  column-gap:clamp(28px,3.6vw,58px)!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:28px 4px!important;
  border:0!important;
  border-bottom:1px solid #E6E2D8!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background-color .25s ease!important;
}
.gade-lw.gade-media-list a.gade-media-row:hover,
.gade-lw.gade-media-list a.gade-media-row:focus-visible{
  background:#F6F1E8!important;
  color:inherit!important;
  text-decoration:none!important;
}
.gade-lw.gade-media-list .gade-media-poster{
  position:relative!important;
  display:block!important;
  width:116px!important;
  min-width:116px!important;
  max-width:116px!important;
  height:140px!important;
  min-height:140px!important;
  max-height:140px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#F6F1E8!important;
}
.gade-lw.gade-media-list .gade-media-poster img{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
}
.gade-lw.gade-media-list .gade-media-poster-placeholder{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:var(--gade-sans)!important;
  font-size:9px!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#8A8F98!important;
}
.gade-lw.gade-media-list .gade-media-marker{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  align-self:center!important;
  justify-self:stretch!important;
}
.gade-lw.gade-media-list .gade-media-marker b{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#01294C!important;
  font-family:var(--gade-serif)!important;
  font-size:42px!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:.95!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  font-variant-numeric:tabular-nums!important;
}
.gade-lw.gade-media-list .gade-media-marker span{
  display:block!important;
  margin:9px 0 0!important;
  padding:0!important;
  color:#F2A900!important;
  font-family:var(--gade-sans)!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.gade-lw.gade-media-list .gade-media-main{
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.gade-lw.gade-media-list .gade-media-main h3{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  color:#01294C!important;
  font-family:var(--gade-sans)!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.gade-lw.gade-media-list .gade-media-main p{
  display:block!important;
  width:auto!important;
  max-width:72ch!important;
  margin:0!important;
  padding:0!important;
  color:#4A5058!important;
  font-family:var(--gade-sans)!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.55!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.gade-lw.gade-media-list .gade-media-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:22px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  justify-self:end!important;
}
.gade-lw.gade-media-list .gade-media-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:88px!important;
  margin:0!important;
  padding:8px 16px!important;
  border:1px solid #F2A900!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#4A5058!important;
  font-family:var(--gade-sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.gade-lw.gade-media-list .gade-media-arrow{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  color:#F2A900!important;
  font-family:var(--gade-sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1!important;
  transition:transform .25s ease!important;
}
.gade-lw.gade-media-list a.gade-media-row:hover .gade-media-arrow,
.gade-lw.gade-media-list a.gade-media-row:focus-visible .gade-media-arrow{
  transform:translateX(5px)!important;
}

@media (max-width:980px) and (min-width:768px){
  .gade-lw.gade-media-list a.gade-media-row{
    grid-template-columns:96px 96px minmax(0,1fr) auto!important;
    column-gap:24px!important;
    padding:24px 2px!important;
  }
  .gade-lw.gade-media-list .gade-media-poster{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:120px!important;
    min-height:120px!important;
    max-height:120px!important;
  }
  .gade-lw.gade-media-list .gade-media-marker b{font-size:36px!important}
  .gade-lw.gade-media-list .gade-media-main h3{font-size:16px!important}
  .gade-lw.gade-media-list .gade-media-cta{gap:14px!important}
  .gade-lw.gade-media-list .gade-media-tag{min-width:82px!important;padding:7px 13px!important}
}

@media (max-width:767px){
  .gade-lw.gade-media-list .gade-media-wrap{
    width:min(100% - 34px,1280px)!important;
  }
  .gade-lw.gade-media-list a.gade-media-row{
    grid-template-columns:100px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:14px!important;
    row-gap:6px!important;
    align-items:start!important;
    padding:20px 0!important;
  }
  .gade-lw.gade-media-list .gade-media-poster{
    grid-column:1!important;
    grid-row:1 / span 3!important;
    width:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
  }
  .gade-lw.gade-media-list .gade-media-marker{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    text-align:left!important;
    justify-self:start!important;
  }
  .gade-lw.gade-media-list .gade-media-marker b{
    display:inline!important;
    font-family:var(--gade-sans)!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.2!important;
  }
  .gade-lw.gade-media-list .gade-media-marker span{
    display:inline!important;
    margin:0 0 0 6px!important;
    font-size:10px!important;
  }
  .gade-lw.gade-media-list .gade-media-main{
    grid-column:2!important;
    grid-row:2!important;
  }
  .gade-lw.gade-media-list .gade-media-main h3{
    font-size:16px!important;
    line-height:1.25!important;
    margin-bottom:4px!important;
  }
  .gade-lw.gade-media-list .gade-media-main p{
    font-size:13px!important;
    line-height:1.45!important;
  }
  .gade-lw.gade-media-list .gade-media-cta{
    grid-column:2!important;
    grid-row:3!important;
    justify-self:start!important;
    justify-content:flex-start!important;
    gap:12px!important;
    margin-top:4px!important;
  }
  .gade-lw.gade-media-list .gade-media-tag{
    min-width:0!important;
    padding:7px 13px!important;
    font-size:9.5px!important;
  }
  .gade-lw.gade-media-list .gade-media-arrow{font-size:16px!important}
}

/* v11.9 temporary launch mode: content masking only.\n   Coming Soon Mode must preserve every GADE shortcode's native layout. */\n.gade-lw.gade-coming-soon-mode a[aria-disabled="true"]{cursor:default!important;pointer-events:none!important}\n.gade-lw.gade-coming-soon-mode .gade-prog-meta{display:none!important}\n.gade-lw.gade-coming-soon-mode .gade-cloud,\n.gade-lw.gade-coming-soon-mode .gade-prog-hills{display:none!important}\n.gade-lw.gade-coming-soon-mode .gade-prog-scene>img,\n.gade-lw.gade-coming-soon-mode .gade-ph img,\n.gade-lw.gade-coming-soon-mode .gade-media-poster img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}\n.gade-lw.gade-coming-soon-mode .gade-calendar-status{display:none!important}\n.gade-lw.gade-coming-soon-mode .gade-prog-card:hover{transform:none!important}\n\n/* Homepage Upcoming Courses: keep the user's approved simplified placeholder\n   while preserving the row's original dimensions and surrounding section. */\n@media (min-width:768px){\n  .gade-lw.gade-home-upcoming.gade-coming-soon-mode .gade-event-row{\n    grid-template-columns:96px minmax(0,1fr) auto!important;\n    column-gap:clamp(28px,3.4vw,56px)!important;\n  }\n  .gade-lw.gade-home-upcoming.gade-coming-soon-mode .gade-event-date{display:none!important}\n  .gade-lw.gade-home-upcoming.gade-coming-soon-mode .gade-event-main{grid-column:2!important;align-self:center!important}\n  .gade-lw.gade-home-upcoming.gade-coming-soon-mode .gade-event-cta{grid-column:3!important;justify-self:end!important;align-self:center!important}\n}\n@media (max-width:767px){\n  .gade-lw.gade-home-upcoming.gade-coming-soon-mode .gade-event-date{display:none!important}\n}\n\n/* Hide only the homepage catalogue CTA in temporary mode. */\n.gade-lw.gade-home-upcoming.gade-coming-soon-mode .gade-view-all-courses{display:none!important}\n
/* v12.1 Coming Soon row alignment: remove the temporary date marker and
   center the Coming Soon copy between the image and CTA on every row layout. */
@media (min-width:768px){
  .gade-lw.gade-coming-soon-mode .gade-event-row{
    grid-template-columns:96px minmax(0,1fr) auto!important;
    column-gap:clamp(28px,3.4vw,56px)!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-date{display:none!important}
  .gade-lw.gade-coming-soon-mode .gade-event-main{
    grid-column:2!important;
    align-self:center!important;
    justify-self:stretch!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-cta{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
  }

  .gade-lw.gade-media-list.gade-coming-soon-mode a.gade-media-row{
    grid-template-columns:116px minmax(0,1fr) auto!important;
    column-gap:clamp(28px,3.6vw,58px)!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-marker{display:none!important}
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-main{
    grid-column:2!important;
    align-self:center!important;
    justify-self:stretch!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-cta{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
  }
}
@media (max-width:767px){
  .gade-lw.gade-coming-soon-mode .gade-event-date,
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-marker{display:none!important}
}

/* v12.2 Coming Soon row width fix.
   Use a simple flex row so legacy/page-specific grid rules cannot squeeze the copy column. */
@media (min-width:768px){
  .gade-lw.gade-coming-soon-mode a.gade-event-row,
  .gade-lw.gade-coming-soon-mode .gade-event-row{
    display:flex!important;
    align-items:center!important;
    gap:clamp(28px,3.4vw,56px)!important;
    width:100%!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-poster{
    flex:0 0 96px!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-date{
    display:none!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-main{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    align-self:center!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-main h3,
  .gade-lw.gade-coming-soon-mode .gade-event-main p{
    width:100%!important;
    max-width:none!important;
  }
  .gade-lw.gade-coming-soon-mode .gade-event-cta{
    flex:0 0 auto!important;
    margin-left:auto!important;
    align-self:center!important;
  }

  .gade-lw.gade-media-list.gade-coming-soon-mode a.gade-media-row,
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-row{
    display:flex!important;
    align-items:center!important;
    gap:clamp(28px,3.6vw,58px)!important;
    width:100%!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-poster{
    flex:0 0 116px!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-marker{
    display:none!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-main{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-main h3,
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-main p{
    width:100%!important;
    max-width:none!important;
  }
  .gade-lw.gade-media-list.gade-coming-soon-mode .gade-media-cta{
    flex:0 0 auto!important;
    margin-left:auto!important;
    align-self:center!important;
  }
}
