.elementor-kit-6{--e-global-color-primary:#2D1B5E;--e-global-color-secondary:#C6A25E;--e-global-color-text:#4A4757;--e-global-color-accent:#6B4FBB;--e-global-color-8c7e3b0b:#EDE9F8;--e-global-color-a713f3d3:#F7F4EE;--e-global-color-66cdde21:#F3EFE7;--e-global-color-754c021f:#FFFFFF;--e-global-color-4f56e7c6:#F7F4EF;--e-global-color-65e29446:#8C8898;--e-global-color-849fdaa0:#B7B2C0;--e-global-color-b6143922:#CFC7E2;--e-global-color-efc57ac9:#EAE4D8;--e-global-color-ca5d8f21:#3D2680;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.02em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Hanken Grotesk";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.4em;--e-global-typography-d06eb51b-font-family:"Hanken Grotesk";--e-global-typography-d06eb51b-font-size:13px;--e-global-typography-d06eb51b-font-weight:600;--e-global-typography-d06eb51b-text-transform:uppercase;--e-global-typography-d06eb51b-line-height:1.4em;--e-global-typography-d06eb51b-letter-spacing:0.14em;--e-global-typography-f987d4d7-font-family:"Caveat";--e-global-typography-f987d4d7-font-size:40px;--e-global-typography-f987d4d7-font-weight:600;--e-global-typography-f987d4d7-line-height:0.8em;background-color:#F7F4EE;color:#4A4757;font-family:"Hanken Grotesk", Sans-serif;font-size:17px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#2D1B5E;font-family:"Hanken Grotesk", Sans-serif;font-size:16px;font-weight:600;color:#F7F4EF;border-radius:100px 100px 100px 100px;padding:16px 30px 16px 30px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#3D2680;color:#F7F4EF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:1em;}.elementor-kit-6 a{color:#6B4FBB;}.elementor-kit-6 a:hover{color:#2D1B5E;}.elementor-kit-6 h1{color:#2D1B5E;font-family:"Bricolage Grotesque", Sans-serif;font-size:62px;font-weight:700;line-height:0.98em;letter-spacing:-0.03em;}.elementor-kit-6 h2{color:#2D1B5E;font-family:"Bricolage Grotesque", Sans-serif;font-size:42px;font-weight:700;line-height:1.05em;letter-spacing:-0.03em;}.elementor-kit-6 h3{color:#2D1B5E;font-family:"Bricolage Grotesque", Sans-serif;font-size:26px;font-weight:700;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-6 h4{color:#2D1B5E;font-family:"Bricolage Grotesque", Sans-serif;font-size:22px;font-weight:700;line-height:1.15em;letter-spacing:-0.02em;}.elementor-kit-6 h5{color:#2D1B5E;font-family:"Bricolage Grotesque", Sans-serif;font-size:19px;font-weight:700;line-height:1.2em;letter-spacing:-0.01em;}.elementor-kit-6 h6{color:#2D1B5E;font-family:"Bricolage Grotesque", Sans-serif;font-size:16px;font-weight:700;line-height:1.3em;letter-spacing:-0.01em;}.elementor-kit-6 img{border-radius:24px 24px 24px 24px;}.elementor-kit-6 label{color:#2D1B5E;font-family:"Hanken Grotesk", Sans-serif;font-size:13px;font-weight:600;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Hanken Grotesk", Sans-serif;font-size:15px;color:#4A4757;background-color:#F9F7F2;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E3DDD1;border-radius:12px 12px 12px 12px;padding:13px 15px 13px 15px;}.elementor-kit-6 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea:focus,.elementor-kit-6 .elementor-field-textual:focus{background-color:#FFFFFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --ske-purple:#2D1B5E; --ske-gold:#C6A25E; --ske-violet:#6B4FBB; --ske-lavender:#EDE9F8; --ske-ground:#F7F4EE; --ske-ink:#4A4757; --ske-muted:#8C8898; --ske-hairline:#EAE4D8; --ske-display-font:Bricolage Grotesque; --ske-body-font:Hanken Grotesk; --ske-container:1200px; }
/* Start custom CSS *//* ===== SKE ambient ground ===== */
html { -webkit-font-smoothing: antialiased; }
body {
  background-color: #F7F4EE;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(220,180,140,.15) 0%, transparent 40%),
    radial-gradient(circle at 90% 80%, rgba(240,200,180,.20) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.60) 0%, transparent 60%);
  background-attachment: fixed;
  overflow-x: clip;
}
body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
body::before {
  background-image:
    radial-gradient(circle at 88% 8%, rgba(198,162,94,.12) 0%, transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(107,79,187,.09) 0%, transparent 36%);
  filter: blur(28px);
  animation: skeDrift 28s ease-in-out infinite;
}
body::after {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMjAwIDIwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48ZmlsdGVyIGlkPSdub2lzZUZpbHRlcic+PGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuNjUnIG51bU9jdGF2ZXM9JzMnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWx0ZXI9J3VybCgjbm9pc2VGaWx0ZXIpJy8+PC9zdmc+");
  opacity: .02;
}

/* ===== keyframes ===== */
@keyframes skeDrift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(30px,-26px); } }
@keyframes skeFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes skeFadeUp { from { opacity:0; transform: translateY(30px); } to { opacity:1; transform: translateY(0); } }
@keyframes skePulse {
  0%   { box-shadow: 0 14px 34px rgba(45,27,94,.4), 0 0 0 0 rgba(198,162,94,.55); }
  70%  { box-shadow: 0 14px 34px rgba(45,27,94,.4), 0 0 0 26px rgba(198,162,94,0); }
  100% { box-shadow: 0 14px 34px rgba(45,27,94,.4), 0 0 0 0 rgba(198,162,94,0); }
}

/* ===== motion utilities (applied via the element's CSS Classes field) ===== */
.ske-floaty  { animation: skeFloat 6s ease-in-out infinite; }
.ske-floaty2 { animation: skeFloat 7.5s ease-in-out infinite; }
.ske-pulse   { animation: skePulse 2.6s ease-out infinite; }
.ske-rise    { animation: skeFadeUp .7s cubic-bezier(.2,.7,.2,1) both; }
.ske-rise2   { animation: skeFadeUp .8s cubic-bezier(.2,.7,.2,1) .12s both; }

/* Scroll-driven reveal where supported; degrades to visible everywhere else */
@supports (animation-timeline: view()) {
  .ske-reveal {
    animation: skeFadeUp linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 52%;
  }
}

/* Media zoom on hover */
.ske-zoom { overflow: hidden; }
.ske-zoom img,
.ske-zoom .ske-media-fill { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.ske-zoom:hover img,
.ske-zoom:hover .ske-media-fill { transform: scale(1.05); }

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
  .ske-floaty, .ske-floaty2, .ske-pulse, .ske-rise, .ske-rise2, .ske-reveal { animation: none !important; }
  .ske-zoom:hover img, .ske-zoom:hover .ske-media-fill { transform: none; }
}
/* ===== Account dropdown: CSS-only reveal, no JS ===== */
.account-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.account-menu::before {
  content: "";
  position: absolute;
  inset-block-start: -14px;
  inset-inline: 0;
  height: 14px;
}
.account:hover .account-menu,
.account:focus-within .account-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.account-trigger { -webkit-tap-highlight-color: transparent; }

/* Nav menu: keep the pill pointer tidy and the burger aligned with the avatar */
.primary-nav .elementor-nav-menu--main .elementor-item { transition: color .18s ease; }
.primary-nav .elementor-menu-toggle { margin: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .account-menu { transition: none; }
}
/* ===== Reset Elementor v4 atomic container affordances =====
   Elementor ships editor-affordance defaults on every atomic container:
     .e-con                       -> width:100%
     .elementor .e-flexbox-base   -> padding:10px
     .elementor .e-div-block-base -> padding:10px; min-width:30px
   They fight authored layout (they stretch pills/badges and inflate small
   decorative shapes). Zero them here; every element sets its own width and
   padding explicitly in its own styles, which still override these. */
.e-atomic-element { width: auto; }
.elementor .e-flexbox-base,
.elementor .e-div-block-base { padding: 0; min-width: 0; }
/* ===== Mobile nav toggle: clean two-line burger that morphs to an X ===== */
.primary-nav .elementor-menu-toggle{
  width:44px;height:44px;padding:0;border:0;
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;
  transition:background-color .2s ease;
}
.primary-nav .elementor-menu-toggle i,
.primary-nav .elementor-menu-toggle svg{display:none !important;}
.primary-nav .elementor-menu-toggle::before,
.primary-nav .elementor-menu-toggle::after{
  content:"";position:absolute;left:50%;top:50%;
  width:18px;height:1.5px;border-radius:2px;
  background-color:#2D1B5E;
  transition:transform .28s cubic-bezier(.2,.7,.2,1),background-color .2s ease;
}
.primary-nav .elementor-menu-toggle::before{transform:translate(-50%,-50%) translateY(-4px);}
.primary-nav .elementor-menu-toggle::after{transform:translate(-50%,-50%) translateY(4px);}
.primary-nav .elementor-menu-toggle.elementor-active{background-color:#2D1B5E;}
.primary-nav .elementor-menu-toggle.elementor-active::before{transform:translate(-50%,-50%) rotate(45deg);background-color:#F7F4EF;}
.primary-nav .elementor-menu-toggle.elementor-active::after{transform:translate(-50%,-50%) rotate(-45deg);background-color:#F7F4EF;}
@media (prefers-reduced-motion: reduce){
  .primary-nav .elementor-menu-toggle,
  .primary-nav .elementor-menu-toggle::before,
  .primary-nav .elementor-menu-toggle::after{transition:none;}
}

/* ===== Form messages: branded panel instead of grey-on-white ===== */
.elementor-widget-form .elementor-message{
  margin-block-start:10px;
  padding:13px 16px;
  border-radius:12px;
  line-height:1.5;
}
.elementor-widget-form .elementor-message.elementor-message-success{
  background-color:#EDE9F8;
  border:1px solid #DDD3EE;
}
.elementor-widget-form .elementor-message.elementor-message-danger,
.elementor-widget-form .elementor-message.elementor-message-error{
  background-color:#FBEEF0;
  border:1px solid #F0D5DA;
}
.elementor-widget-form .elementor-message::before{
  color:#C6A25E;
  margin-inline-end:8px;
}

/* Burger lines invert with the toggle background on hover */
.primary-nav .elementor-menu-toggle:hover::before,
.primary-nav .elementor-menu-toggle:hover::after,
.primary-nav .elementor-menu-toggle:focus-visible::before,
.primary-nav .elementor-menu-toggle:focus-visible::after{background-color:#F7F4EF;}


/* ===== SKE LMS: catalogue ===== */
.elementor-widget-taxonomy-filter .e-filter{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 30px}
.elementor-widget-taxonomy-filter .e-filter-item{font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;padding:11px 20px;border-radius:100px;border:1.5px solid #D9D2C4;background:transparent;color:#4A4757;cursor:pointer;transition:all .18s;line-height:1.2}
.elementor-widget-taxonomy-filter .e-filter-item:hover{border-color:#C6A25E;background:#FBF9F4}
.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"]{background:#2D1B5E;border-color:#2D1B5E;color:#F7F4EF}
.elementor-widget-taxonomy-filter .e-filter-item[data-filter="__all"]{order:0}
.elementor-widget-taxonomy-filter .e-filter-item[data-filter="oral-health"]{order:1}
.elementor-widget-taxonomy-filter .e-filter-item[data-filter="positive-health"]{order:2}
.elementor-widget-taxonomy-filter .e-filter-item[data-filter="coaching"]{order:3}
.elementor-widget-taxonomy-filter .e-filter-item[data-filter="leadership"]{order:4}
.elementor-widget-taxonomy-filter .e-filter-item[data-filter="communication"]{order:5}
.elementor-widget-loop-grid .elementor-grid{--grid-column-gap:22px;--grid-row-gap:22px}
.elementor-widget-loop-grid [data-elementor-type='loop-item']{height:100%}


/* ===== SKE LMS: course ===== */
/* hero stats */
.ske-stats{display:flex;gap:44px;flex-wrap:wrap;margin-top:40px}
.ske-stat-value{font-family:'Bricolage Grotesque',sans-serif;font-size:44px;font-weight:700;line-height:1;color:#F7F4EF}
.ske-stat-value.is-gold{color:#C6A25E}
.ske-stat-label{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:500;color:#9C93B8;margin-top:8px}

/* enrolment aside */
.ske-enrol,.ske-enrol-btn{display:block;width:100%;margin-top:26px}
.ske-enrol-btn,.ske-enrol .btn-join,.ske-enrol #btn-join,.ske-enrol input[type=submit],.ske-enrol button{
  display:block;width:100%;box-sizing:border-box;text-align:center;
  background:#2D1B5E;color:#F7F4EF;border:none;border-radius:14px;padding:16px;
  font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;
  text-decoration:none;cursor:pointer;transition:background .2s}
.ske-enrol-btn:hover,.ske-enrol .btn-join:hover,.ske-enrol #btn-join:hover,.ske-enrol input[type=submit]:hover,.ske-enrol button:hover{background:#3D2680;color:#F7F4EF}
.ske-preview-btn{display:block;width:100%;box-sizing:border-box;text-align:center;margin-top:10px;
  background:#EDE9F8;color:#2D1B5E;border:none;border-radius:14px;padding:16px;
  font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s}
.ske-preview-btn:hover{background:#E0D8F5}
.ske-features{list-style:none;padding:26px 0 0;margin:28px 0 0;border-top:1px solid #EAE4D8;display:flex;flex-direction:column;gap:15px}
.ske-feature{display:flex;align-items:center;gap:13px;font-family:'Hanken Grotesk',sans-serif;font-size:14.5px;font-weight:500;color:#4A4757}
.ske-feature-dot{width:7px;height:7px;border-radius:50%;background:#C6A25E;flex:none}

/* Eduqual approval card */
.ske-accred{background:#EDE9F8;border-radius:24px;padding:26px}
.ske-accred-label{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6B4FBB;margin-bottom:10px}
.ske-accred-body{font-family:'Hanken Grotesk',sans-serif;font-size:15px;line-height:1.55;font-weight:500;color:#2D1B5E}

/* LearnDash course content list -> SKE module rows */
.learndash-wrapper .ld-item-list .ld-item-list-item{background:#FFF;border:1px solid #EAE4D8;border-radius:16px;margin-bottom:8px;overflow:hidden;transition:background .16s}
.learndash-wrapper .ld-item-list .ld-item-list-item:hover{background:#EDE9F8}
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-topic-title{font-family:'Hanken Grotesk',sans-serif;font-size:16px;font-weight:600;color:#2D1B5E}
.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover{color:#2D1B5E}
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-details,
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-component{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:500;color:#8C8898}
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-status-icon{border-color:#D9D2C4}
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-status-complete{background:#2D1B5E;border-color:#2D1B5E}
.learndash-wrapper .ld-progress .ld-progress-bar{background:#EDE9F8;border-radius:100px;height:7px}
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage{background:#C6A25E;border-radius:100px;height:7px}
.learndash-wrapper .ld-item-list-section-heading,
.learndash-wrapper h2,.learndash-wrapper h3{font-family:'Bricolage Grotesque',sans-serif;color:#2D1B5E;letter-spacing:-.02em}

/* ===== SKE LMS: lesson ===== */
.s-aside-instal:empty{display:none}
.ske-empty{font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:#8C8898;margin:0}

/* lesson rail */
.ske-lesson-rail-head{padding:0 14px 20px}
.ske-lesson-rail-cat{display:inline-block;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;color:#2D1B5E;background:#C6A25E;padding:5px 12px;border-radius:100px;margin-bottom:12px}
.ske-lesson-rail-title{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:700;line-height:1.1;letter-spacing:-.01em;color:#F7F4EF;text-decoration:none}
.s-lesson-rail .learndash-wrapper,.s-lesson-rail .learndash-wrapper *{background:transparent!important;border-color:rgba(247,244,239,.15)!important}
.s-lesson-rail .learndash-wrapper .ld-item-list .ld-item-list-item{border:none!important;border-radius:12px!important;margin-bottom:3px}
.s-lesson-rail .learndash-wrapper .ld-item-list .ld-item-list-item:hover{background:#3D2680!important}
.s-lesson-rail .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
.s-lesson-rail .learndash-wrapper a{color:#CFC7E2!important;font-size:14px;font-weight:500;line-height:1.25}
.s-lesson-rail .learndash-wrapper .ld-item-list-item.ld-is-current-lesson,
.s-lesson-rail .learndash-wrapper .ld-item-list-item-preview.ld-is-current-lesson{background:#3D2680!important}
.s-lesson-rail .learndash-wrapper .ld-item-list-item.ld-is-current-lesson .ld-item-name{color:#F7F4EF!important;font-weight:700}
.s-lesson-rail .learndash-wrapper .ld-status-icon{border-color:rgba(247,244,239,.35)!important}
.s-lesson-rail .learndash-wrapper .ld-status-complete{background:#C6A25E!important;border-color:#C6A25E!important}
.s-lesson-rail .learndash-wrapper .ld-item-details,.s-lesson-rail .learndash-wrapper .ld-text{color:#9C93B8!important}

/* lesson eyebrow + video */
.ske-lesson-eyebrow{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#C6A25E;margin-bottom:10px}
.ske-lesson-video{position:relative;aspect-ratio:16/9;background:#2D1B5E;border-radius:24px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ske-lesson-video.is-real{display:block;aspect-ratio:auto}
.ske-lesson-video.is-real iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.ske-lesson-video-arcs{position:absolute;right:-90px;top:-110px;opacity:.35;pointer-events:none}
.ske-lesson-video-play{position:relative;width:92px;height:92px;border-radius:50%;background:#C6A25E;display:flex;align-items:center;justify-content:center}
.ske-lesson-video-label{position:absolute;bottom:26px;left:26px;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#B9AFD4}

/* mark complete – LD renders this bare (no .learndash-wrapper ancestor) when called via shortcode */
.ske-mark-complete form.sfwd-mark-complete{margin:0}
.ske-mark-complete input[type=submit],.ske-mark-complete .learndash_mark_complete_button,.ske-mark-complete .learndash-wrapper input[type=submit],.ske-mark-complete .learndash-wrapper .ld-button{background:#FFF!important;-webkit-appearance:none!important;appearance:none!important;width:auto!important;border:1.5px solid #C6A25E!important;border-radius:12px!important;color:#8A6A2E!important;padding:10px 18px!important;font-family:'Hanken Grotesk',sans-serif!important;font-size:13px!important;font-weight:600!important;box-shadow:none!important;transition:all .18s}
.ske-mark-complete input[type=submit]:hover,.ske-mark-complete .learndash_mark_complete_button:hover,.ske-mark-complete .learndash-wrapper input[type=submit]:hover,.ske-mark-complete .learndash-wrapper .ld-button:hover{background:#C6A25E!important;color:#2D1B5E!important}

/* tabs */
.s-lesson-main .elementor-widget-tabs{margin-top:26px}
.s-lesson-main .elementor-tabs-wrapper{display:flex;gap:30px;border-bottom:1px solid #EAE4D8}
.s-lesson-main .elementor-tab-title{border:none!important;background:none!important;padding:14px 2px!important;margin-bottom:-1px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:500;color:#8C8898!important;border-bottom:3px solid transparent!important;cursor:pointer}
.s-lesson-main .elementor-tab-title.elementor-active{color:#2D1B5E!important;font-weight:700;border-bottom-color:#C6A25E!important}
.s-lesson-main .elementor-tabs-content-wrapper{border:none!important}
.s-lesson-main .elementor-tab-content{background:#FFF;border:1px solid #EAE4D8;border-radius:20px;padding:34px 36px!important;margin-top:20px;min-height:280px}
.ske-lesson-overview p{font-family:'Hanken Grotesk',sans-serif;font-size:17px;line-height:1.75;color:#4A4757}
.ske-lesson-overview blockquote,blockquote.ske-lesson-quote{margin:26px 0;padding:26px 30px;background:#EDE9F8;border-radius:18px;border:none}
.ske-lesson-overview blockquote p{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:#2D1B5E;margin:0}

/* notes */
.ske-notes-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.ske-notes-title{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:700;color:#2D1B5E}
.ske-notes-status{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:500;color:#8C8898}
.ske-notes-input{width:100%;height:260px;resize:none;border:1px solid #EAE4D8;border-radius:16px;background:#F9F7F2;padding:18px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;line-height:1.65;color:#4A4757;outline:none;box-sizing:border-box}
.ske-notes-input:focus{border-color:#C6A25E}

/* resources */
.ske-resources{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:767px){.ske-resources{grid-template-columns:1fr}}
.ske-resource{display:flex;align-items:center;gap:16px;padding:16px;border-radius:16px;background:#F9F7F2;border:1px solid #EFE9DD;transition:background .16s}
.ske-resource:hover{background:#EDE9F8}
.ske-resource-thumb{width:52px;height:64px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-size:14px;font-weight:700;background:#C6A25E;color:#2D1B5E}
.ske-resource-doc{background:#EDE9F8;color:#6B4FBB}
.ske-resource-mp3{background:#6B4FBB;color:#F7F4EF}
.ske-resource-body{flex:1;min-width:0}
.ske-resource-name{font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;color:#2D1B5E;line-height:1.3}
.ske-resource-meta{font-family:'Hanken Grotesk',sans-serif;font-size:13px;color:#8C8898;margin-top:4px}
.ske-resource-dl{width:34px;height:34px;border-radius:50%;background:#FFF;border:1px solid #EAE4D8;display:flex;align-items:center;justify-content:center;color:#6B4FBB;flex:none}

/* roleplay brief */
.ske-roleplay{background:#FFF;border:1px solid #EAE4D8;border-radius:20px;padding:26px 28px;margin-top:20px}
.ske-roleplay-scenario{display:flex;align-items:flex-start;gap:14px}
.ske-roleplay-mark{font-size:22px;color:#6B4FBB;line-height:1;flex:none;margin-top:2px}
.ske-roleplay-title{font-family:'Bricolage Grotesque',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.01em;color:#2D1B5E;line-height:1.15}
.ske-roleplay-label{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8C8898;margin:26px 0 12px}
.ske-roleplay-persona{font-family:'Hanken Grotesk',sans-serif;font-size:15px;line-height:1.7;color:#4A4757;margin:0}
.ske-rubric{display:flex;flex-direction:column;gap:18px}
.ske-rubric-item{display:flex;gap:12px;align-items:flex-start}
.ske-rubric-tick{width:20px;height:20px;border-radius:50%;background:#EDE9F8;color:#6B4FBB;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none;margin-top:1px}
.ske-rubric-title{font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:700;color:#2D1B5E}
.ske-rubric-body{font-family:'Hanken Grotesk',sans-serif;font-size:13.5px;line-height:1.6;color:#8C8898;margin-top:4px}

/* prev / next */
.ske-lesson-nav{display:flex;justify-content:space-between;gap:16px;margin-top:22px}
.ske-lesson-nav a{display:inline-block;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;text-decoration:none;border-radius:14px;padding:14px 24px}
.ske-lesson-nav-prev a{background:#EDE9F8;color:#2D1B5E}
.ske-lesson-nav-prev a:hover{background:#E0D8F5}
.ske-lesson-nav-next a{background:#2D1B5E;color:#F7F4EF}
.ske-lesson-nav-next a:hover{background:#3D2680}

/* ===== SKE LMS: account ===== */
.ske-acct-avatar{width:38px;height:38px;border-radius:50%;background:#2D1B5E;color:#F7F4EF;display:flex;align-items:center;justify-content:center;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;flex:none}
.ske-acct-user{display:flex;align-items:center;gap:12px}
.ske-acct-user-avatar{width:42px;height:42px;border-radius:50%;background:#2D1B5E;color:#F7F4EF;display:flex;align-items:center;justify-content:center;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;flex:none}
.ske-acct-user-text{min-width:0;display:flex;flex-direction:column}
.ske-acct-user-name{font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:700;color:#2D1B5E}
.ske-acct-user-email{font-family:'Hanken Grotesk',sans-serif;font-size:12px;color:#8C8898;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ske-signout{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;padding:10px 12px;border-radius:10px;color:#4A4757;text-decoration:none;margin-top:4px}
.ske-signout:hover{background:#EDE9F8}

/* ===== SKE LMS: flow 1:1 ===== */
/* shared practice badge */
.ske-practice{font-family:'Hanken Grotesk',sans-serif;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2D1B5E;background:#C6A25E;padding:3px 8px;border-radius:100px;flex:none;white-space:nowrap}

/* course page module rows */
.ske-modules{display:flex;flex-direction:column;gap:8px}
.ske-mod{display:flex;align-items:center;gap:20px;padding:16px 18px;border-radius:16px;background:#FFF;border:1px solid #EAE4D8;text-decoration:none;transition:background .16s}
.ske-mod:hover{background:#EDE9F8}
.ske-mod-num{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:700;color:#C9C2DA;width:28px;flex:none}
.ske-mod-dot{width:13px;height:13px;border-radius:50%;flex:none;box-sizing:border-box}
.ske-mod-dot.is-done{background:#2D1B5E}
.ske-mod-dot.is-active{background:transparent;border:3px solid #C6A25E}
.ske-mod-dot.is-todo{background:transparent;border:1.5px solid #D9D2C4}
.ske-mod-star{width:13px;flex:none;color:#C6A25E;font-size:17px;line-height:1;text-align:center}
.ske-mod-title{flex:1;font-family:'Hanken Grotesk',sans-serif;font-size:16px;font-weight:600;color:#2D1B5E;display:flex;align-items:center;gap:10px}
.ske-mod-meta{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:500;color:#8C8898;flex:none}
@media(max-width:767px){.ske-mod{gap:12px;padding:14px}.ske-mod-meta{display:none}}

/* lesson rail rows */
.ske-rail-list{display:flex;flex-direction:column;gap:3px}
.ske-rail-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;text-decoration:none;background:transparent;transition:background .16s}
.ske-rail-row:hover{background:#3D2680}
.ske-rail-row.is-active{background:#3D2680}
.ske-rail-dot{width:11px;height:11px;border-radius:50%;flex:none;box-sizing:border-box}
.ske-rail-dot.is-done{background:#C6A25E}
.ske-rail-dot.is-active{background:transparent;border:3px solid #C6A25E}
.ske-rail-dot.is-todo{background:transparent;border:1.5px solid rgba(247,244,239,.35)}
.ske-rail-star{width:12px;flex:none;color:#C6A25E;font-size:15px;line-height:1;text-align:center}
.ske-rail-title{flex:1;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:500;color:#CFC7E2;line-height:1.25}
.ske-rail-row.is-active .ske-rail-title{color:#F7F4EF;font-weight:700}

/* meta row */
.ske-lesson-meta{display:flex;gap:10px;align-items:center;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#8C8898}
.ske-lesson-meta-sep{width:4px;height:4px;border-radius:50%;background:#C9C2DA;display:inline-block;flex:none}

/* tabs */
.ske-tabs-wrap{margin-top:26px;width:100%}
.ske-tabs{display:flex;gap:30px;border-bottom:1px solid #EAE4D8;flex-wrap:wrap}
.ske-tab{background:none;border:none;padding:14px 2px 20px;margin-bottom:-1px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:500;color:#8C8898;border-bottom:3px solid transparent;cursor:pointer;display:flex;align-items:center;gap:8px}
.ske-tab.is-active{color:#2D1B5E;font-weight:700;border-bottom-color:#C6A25E}
.ske-tab-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:100px;background:#F0ECE3;color:#6B4FBB}
.ske-tab.is-active .ske-tab-badge{background:#EDE9F8}
.ske-tab-panel{display:none;background:#FFF;border:1px solid #EAE4D8;border-radius:20px;padding:34px 36px;margin-top:28px;min-height:300px}
.ske-tab-panel.is-active{display:block}
@media(max-width:767px){.ske-tab-panel{padding:24px 20px}.ske-tabs{gap:18px}}

/* prev / next */
.ske-lesson-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px}
.ske-nav-prev,.ske-nav-next{display:inline-block;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;text-decoration:none;border-radius:14px;padding:14px 24px}
.ske-nav-prev{background:#EDE9F8;color:#2D1B5E}
.ske-nav-prev:hover{background:#E0D8F5}
.ske-nav-next{background:#2D1B5E;color:#F7F4EF;padding:14px 28px}
.ske-nav-next:hover{background:#3D2680}
.ske-nav-spacer{display:block;width:1px}

/* ===== SKE LMS: account area ===== */
/* auth panel */
.ske-auth-points{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:12px}
.ske-auth-points li{display:flex;align-items:center;gap:12px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:500;color:#CFC7E2}
.ske-auth-dot{width:7px;height:7px;border-radius:50%;background:#C6A25E;flex:none;display:inline-block}
.ske-auth-toggle{display:flex;gap:6px;background:#F3EFE7;border-radius:100px;padding:5px;margin-bottom:24px}
.ske-auth-tab{flex:1;background:none;border:none;border-radius:100px;padding:11px 18px;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;color:#8C8898;cursor:pointer;transition:all .18s}
.ske-auth-tab.is-active{background:#2D1B5E;color:#F7F4EF}
.ske-auth-form{display:none;flex-direction:column;gap:16px}
.ske-auth-form.is-active{display:flex}
.ske-field{display:flex;flex-direction:column;gap:7px}
.ske-label{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#4A4757}
.ske-field input{border:1px solid #EAE4D8;border-radius:12px;background:#F9F7F2;padding:14px 16px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:#4A4757;outline:none;width:100%;box-sizing:border-box}
.ske-field input:focus{border-color:#C6A25E}
.ske-hint{font-family:'Hanken Grotesk',sans-serif;font-size:12px;color:#8C8898}
.ske-auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ske-check{display:flex;align-items:center;gap:8px;font-family:'Hanken Grotesk',sans-serif;font-size:13px;color:#4A4757}
.ske-auth-link{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#6B4FBB;text-decoration:none}
.ske-auth-link:hover{color:#2D1B5E}
.ske-auth-submit{background:#2D1B5E;color:#F7F4EF;border:none;border-radius:100px;padding:16px 30px;font-family:'Hanken Grotesk',sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px}
.ske-auth-submit:hover{background:#3D2680;transform:translateY(-2px)}
.ske-auth-notice{border-radius:12px;padding:13px 16px;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:500;margin-bottom:18px}
.ske-auth-notice.is-error{background:#F7ECEE;color:#8E2E3F}
.ske-auth-notice.is-ok{background:#EDE9F8;color:#2D1B5E}

/* dashboard */
.ske-dash-date{font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;color:#C6A25E;margin-bottom:14px;position:relative;z-index:1}
.ske-dash-greet{font-family:'Bricolage Grotesque',sans-serif;font-size:56px;font-weight:700;line-height:1;letter-spacing:-.03em;color:#F7F4EF;margin:0;position:relative;z-index:1}
.ske-dash-sub{font-family:'Hanken Grotesk',sans-serif;font-size:18px;line-height:1.6;color:#CFC7E2;margin:16px 0 0;position:relative;z-index:1}
@media(max-width:1024px){.ske-dash-greet{font-size:42px}}
@media(max-width:767px){.ske-dash-greet{font-size:32px}.ske-dash-sub{font-size:16px}}
.ske-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
@media(max-width:1024px){.ske-dash-stats{grid-template-columns:repeat(2,1fr)}}
.ske-dash-stat{background:#FFF;border:1px solid #EAE4D8;border-radius:22px;padding:28px 26px}
.ske-dash-stat-value{font-family:'Bricolage Grotesque',sans-serif;font-size:50px;font-weight:700;line-height:1;letter-spacing:-.02em;color:#2D1B5E}
.ske-dash-stat-value.is-gold{color:#C6A25E}
.ske-dash-stat-label{font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:500;color:#8C8898;margin-top:12px}
.ske-continue{display:flex;flex-direction:column;gap:14px}
.ske-continue-card{background:#FFF;border:1px solid #EAE4D8;border-radius:20px;padding:24px 26px}
.ske-continue-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.ske-continue-cat{display:inline-block;font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;color:#6B4FBB;background:#EDE9F8;padding:5px 12px;border-radius:100px;margin-bottom:12px}
.ske-continue-title{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:#2D1B5E;margin:0}
.ske-continue-cta{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#C6A25E;text-decoration:none;white-space:nowrap;flex:none}
.ske-continue-progress{display:flex;align-items:center;gap:16px;margin-top:20px}
.ske-bar{flex:1;height:7px;background:#EDE9F8;border-radius:100px;position:relative;overflow:hidden}
.ske-bar-fill{position:absolute;left:0;top:0;height:7px;border-radius:100px;background:#C6A25E}
.ske-continue-pct{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#8C8898;flex:none}
.ske-dash-notes .ske-notes-input{height:230px}

/* ===== SKE LMS: specificity overrides ===== */
/* The kit styles headings and links as .elementor-kit-6 h1 / a (0,1,1), which
   beats a bare .ske-* class (0,1,0). Re-declare colour-critical rules scoped to
   .elementor (0,2,0) so the intended colours win. */

/* headings on dark grounds */
.elementor h1.ske-dash-greet{color:#F7F4EF}
.elementor .ske-dash-date{color:#C6A25E}
.elementor .ske-dash-sub{color:#CFC7E2}

/* lesson rail (dark) */
.elementor a.ske-lesson-rail-title{color:#F7F4EF;text-decoration:none}
.elementor .ske-lesson-rail-cat{color:#2D1B5E}
.elementor a.ske-rail-row{text-decoration:none}
.elementor .ske-rail-title{color:#CFC7E2}
.elementor .ske-rail-row.is-active .ske-rail-title{color:#F7F4EF}
.elementor .ske-practice{color:#2D1B5E}

/* course module rows */
.elementor a.ske-mod{text-decoration:none}
.elementor .ske-mod-title{color:#2D1B5E}
.elementor .ske-mod-meta{color:#8C8898}
.elementor .ske-mod-num{color:#C9C2DA}

/* buttons rendered as links */
.elementor a.ske-enrol-btn,.elementor .ske-enrol .btn-join,.elementor .ske-enrol #btn-join{color:#F7F4EF;text-decoration:none}
/* v4 paragraph links: base css sets all:unset (0,2,0) but the kit a:hover (0,2,1) wins, repainting label text kit-purple on hover */
.elementor a.e-paragraph-link-base:hover,.elementor a.e-paragraph-link-base:focus{color:inherit}
.elementor a.ske-preview-btn{color:#2D1B5E;text-decoration:none}
.elementor a.ske-nav-next{color:#F7F4EF;text-decoration:none}
.elementor a.ske-nav-prev{color:#2D1B5E;text-decoration:none}
.elementor a.ske-continue-cta{color:#C6A25E;text-decoration:none}
.elementor a.ske-auth-link{color:#6B4FBB;text-decoration:none}
.elementor a.ske-auth-link:hover{color:#2D1B5E}
.elementor a.ske-signout{color:#4A4757;text-decoration:none}

/* buttons */
.elementor button.ske-auth-submit{color:#F7F4EF;background:#2D1B5E}
.elementor button.ske-auth-tab{background:none;border:none;border-radius:100px;padding:11px 18px;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;color:#8C8898}
.elementor button.ske-auth-tab:hover,.elementor button.ske-auth-tab:focus{background:none;color:#2D1B5E}
.elementor button.ske-auth-tab.is-active{background:#2D1B5E;color:#F7F4EF}
.elementor button.ske-auth-tab.is-active:hover,.elementor button.ske-auth-tab.is-active:focus{background:#3D2680;color:#F7F4EF}
.elementor button.ske-tab{background:none;border:none;border-bottom:3px solid transparent;border-radius:0;padding:14px 2px 20px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:500;color:#8C8898;box-shadow:none}
.elementor button.ske-tab:hover,.elementor button.ske-tab:focus{background:none;color:#2D1B5E}
.elementor button.ske-tab.is-active{color:#2D1B5E;font-weight:700;border-bottom-color:#C6A25E}

/* body copy inside panels */
.elementor .ske-lesson-overview p{color:#4A4757}
.elementor .ske-lesson-overview blockquote p{color:#2D1B5E}
.elementor .ske-empty{color:#8C8898}
.elementor .ske-continue-title{color:#2D1B5E}
.elementor .ske-auth-points li{color:#CFC7E2}
.elementor .ske-stat-value{color:#F7F4EF}
.elementor .ske-stat-value.is-gold{color:#C6A25E}
.elementor .ske-stat-label{color:#9C93B8}
.elementor .ske-dash-stat-value{color:#2D1B5E}
.elementor .ske-dash-stat-value.is-gold{color:#C6A25E}

/* the category pill must never render its term as a link */
.elementor .ske-pill-lav a,.elementor .s-course-cat a{color:inherit;text-decoration:none;pointer-events:none}
/* ── SKE sign-up (enrolment) form ───────────────────────────────── */
.ske-auth-form.is-signup{gap:26px}
.ske-auth-section{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;align-items:start}
.ske-auth-section .ske-field{grid-column:1 / -1;min-width:0}
.ske-auth-section .ske-field.is-half{grid-column:span 1}
.ske-section-head{grid-column:1 / -1;border-bottom:1px solid #EAE4D8;padding-bottom:10px}
.elementor .ske-section-title{font-family:'Bricolage Grotesque',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#2D1B5E;margin:0}
.elementor .ske-section-blurb{font-family:'Hanken Grotesk',sans-serif;font-size:13px;line-height:1.5;color:#8C8898;margin:5px 0 0}
.ske-req{color:#C6A25E;font-weight:700;margin-left:3px}
.ske-opt{color:#B7B2C0;font-weight:500}
.elementor .ske-field select,.elementor .ske-field textarea{border:1px solid #EAE4D8;border-radius:12px;background:#F9F7F2;padding:14px 16px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:#4A4757;outline:none;width:100%;box-sizing:border-box}
.elementor .ske-field textarea{line-height:1.55;resize:vertical;min-height:86px}
.elementor .ske-field select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238C8898' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.elementor .ske-field select:focus,.elementor .ske-field textarea:focus{border-color:#C6A25E}
.ske-field.is-check{padding:2px 0}
.ske-field.is-check .ske-check{align-items:flex-start;gap:10px;font-size:14px;line-height:1.45}
.ske-check input[type=checkbox]{accent-color:#2D1B5E;width:17px;height:17px;flex:none;margin-top:1px}
.ske-hint.is-indent{padding-left:27px;margin-top:2px}
.ske-course-price{margin-top:7px;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#2D1B5E;background:#EDE9F8;border-radius:100px;padding:6px 13px;align-self:flex-start}
.elementor .ske-signup-note{font-family:'Hanken Grotesk',sans-serif;font-size:13px;line-height:1.55;color:#8C8898;background:#F3EFE7;border-radius:14px;padding:13px 16px;margin:0}
.ske-reveal-field[hidden],.ske-course-price[hidden]{display:none}
@media(max-width:767px){
.ske-auth-section{grid-template-columns:1fr}
.ske-auth-section .ske-field.is-half{grid-column:1 / -1}
}
/* ── Hero video lightbox + play-button colour guard ──────────────────── */
/* The play button opens a modal but is NOT a link. Pin every state anyway so a
   future markup change can never let the kit's `a` colour or underline in. */
.elementor .hero-play,
.elementor a.hero-play,
.elementor .hero-play:link,
.elementor .hero-play:visited,
.elementor .hero-play:hover,
.elementor .hero-play:focus,
.elementor .hero-play:active{background-color:#C6A25E;color:inherit;text-decoration:none;border:0}
.elementor .hero-play:focus-visible{outline:3px solid #2D1B5E;outline-offset:4px}
.elementor .hero-play .hero-play-tri,
.elementor .hero-play:hover .hero-play-tri,
.elementor .hero-play:focus .hero-play-tri,
.elementor .hero-play:active .hero-play-tri{background-color:#2D1B5E}

.ske-vb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(45,27,94,.86);opacity:0;transition:opacity .22s ease}
.ske-vb.is-open{opacity:1}
@supports (backdrop-filter:blur(6px)){.ske-vb{backdrop-filter:blur(6px)}}
.ske-vb-dialog{position:relative;width:min(1040px,92vw);aspect-ratio:16/9;max-height:82vh;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 40px 90px rgba(45,27,94,.5);transform:scale(.96);transition:transform .22s ease}
.ske-vb.is-open .ske-vb-dialog{transform:scale(1)}
.ske-vb-dialog iframe{width:100%;height:100%;border:0;display:block}
.elementor .ske-vb-close,.ske-vb-close{position:absolute;top:-52px;right:0;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#C6A25E;color:#2D1B5E;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s ease}
.elementor .ske-vb-close:hover,.ske-vb-close:hover{background:#D2B06D;color:#2D1B5E}
.ske-vb-close:focus-visible{outline:3px solid #F7F4EF;outline-offset:3px}
@media(max-width:860px){.ske-vb-close{top:auto;bottom:-52px;right:50%;transform:translateX(50%)}}
@media(prefers-reduced-motion:reduce){.ske-vb,.ske-vb-dialog{transition:none}}

/* ── Dashboard: the learner's own lesson notes ─────────────────────── */
.ske-mynotes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ske-mynote{padding:16px 18px;border:1px solid #EAE4D8;border-radius:16px;background:#F9F7F2;transition:border-color .18s ease,transform .18s ease}
.ske-mynote:hover{border-color:#C6A25E;transform:translateY(-2px)}
.elementor a.ske-mynote-lesson{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.25;color:#2D1B5E;text-decoration:none}
.elementor a.ske-mynote-lesson:hover{color:#6B4FBB}
.ske-mynote-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:500;color:#8C8898}
.ske-mynote-dot{width:3px;height:3px;border-radius:50%;background:#B7B2C0;display:inline-block}
.elementor .ske-mynote-text{margin:10px 0 0;font-family:'Hanken Grotesk',sans-serif;font-size:14px;line-height:1.6;color:#4A4757;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.elementor a.ske-mynote-go{display:inline-block;margin-top:10px;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#C6A25E;text-decoration:none}
.elementor a.ske-mynote-go:hover{color:#2D1B5E}
.elementor .ske-mynotes-more{margin:14px 0 0;font-family:'Hanken Grotesk',sans-serif;font-size:12px;color:#8C8898}
/* ── Two-level course structure: units + the sessions inside them ───────── */
/* A unit (sfwd-lessons) is a container; sessions (sfwd-topic) sit under it.
   These blocks only render when a unit actually HAS sessions. */

/* rail (dark sidebar) */
.ske-rail-sessions{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px;padding-left:13px;border-left:1px solid rgba(247,244,239,.16)}
.ske-rail-row.is-unit .ske-rail-title{font-weight:600;color:#F7F4EF}
.elementor .ske-rail-row.is-unit .ske-rail-title{color:#F7F4EF}
.ske-rail-row.is-session{padding:9px 12px;gap:10px}
.ske-rail-row.is-session .ske-rail-title{font-size:13px;color:#CFC7E2;font-weight:500}
.elementor .ske-rail-row.is-session .ske-rail-title{color:#CFC7E2}
.ske-rail-row.is-session .ske-rail-dot{width:8px;height:8px}
.ske-rail-row.is-session.is-active .ske-rail-title{color:#F7F4EF;font-weight:700}
.elementor .ske-rail-row.is-session.is-active .ske-rail-title{color:#F7F4EF}

/* course page module list */
.ske-mod-sessions{display:flex;flex-direction:column;gap:6px;margin:2px 0 6px;padding-left:30px}
.ske-mod.is-session{padding:12px 16px;gap:14px;background:#F9F7F2;border-color:#EFE9DC}
.ske-mod.is-session:hover{background:#EDE9F8}
.ske-mod.is-session .ske-mod-title{font-size:14.5px;font-weight:500}
.ske-mod.is-session .ske-mod-dot{width:10px;height:10px}
@media(max-width:767px){.ske-mod-sessions{padding-left:14px}}

/* fallback when a recording is not oEmbeddable */
.elementor a.ske-lesson-video-link{display:inline-flex;align-items:center;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;color:#C6A25E;text-decoration:none}
.elementor a.ske-lesson-video-link:hover{color:#2D1B5E}
/* Resources are real download links now (migrated attachments), so pin the
   anchor states – the kit's `a` colour/underline must not reach them. */
.elementor a.ske-resource,
.elementor a.ske-resource:link,
.elementor a.ske-resource:visited,
.elementor a.ske-resource:hover,
.elementor a.ske-resource:focus{text-decoration:none;color:inherit}
.elementor a.ske-resource:hover{background:#EDE9F8}
.elementor a.ske-resource:focus-visible{outline:3px solid #C6A25E;outline-offset:2px}
.elementor a.ske-resource .ske-resource-name{color:#2D1B5E}
.elementor a.ske-resource .ske-resource-meta{color:#8C8898}
.ske-resource-name{overflow-wrap:anywhere}
/* long filenames must not blow out the two-column grid */
.ske-resources{align-items:start}
/* ── Unit page: the sessions inside it, in the media slot ──────────────── */
/* A unit has no recording of its own, so the space the video would occupy
   carries its sessions instead. Renders only when there are some. */
.ske-unit-nav{display:flex;flex-direction:column;gap:8px;padding:26px 28px;border-radius:24px;background:#FFF;border:1px solid #EAE4D8;box-shadow:0 24px 54px rgba(45,27,94,.07)}
.ske-unit-nav-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:6px}
.elementor .ske-unit-nav-title{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.02em;color:#2D1B5E}
.elementor .ske-unit-nav-count{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#8C8898}
.elementor a.ske-unit-session,
.elementor a.ske-unit-session:link,
.elementor a.ske-unit-session:visited{display:flex;align-items:center;gap:16px;padding:15px 17px;border-radius:16px;background:#F9F7F2;border:1px solid #EFE9DC;text-decoration:none;color:inherit;transition:background .16s,border-color .16s,transform .16s}
.elementor a.ske-unit-session:hover{background:#EDE9F8;border-color:#C6A25E;transform:translateY(-1px)}
.elementor a.ske-unit-session:focus-visible{outline:3px solid #C6A25E;outline-offset:2px}
.ske-unit-session-num{width:30px;height:30px;flex:none;border-radius:50%;background:#EDE9F8;color:#2D1B5E;display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-size:14px;font-weight:700}
.ske-unit-session.is-done .ske-unit-session-num{background:#2D1B5E;color:#F7F4EF}
.ske-unit-session.is-active .ske-unit-session-num{background:#C6A25E;color:#2D1B5E}
.ske-unit-session-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.elementor .ske-unit-session-title{font-family:'Hanken Grotesk',sans-serif;font-size:15.5px;font-weight:600;color:#2D1B5E;line-height:1.3}
.elementor .ske-unit-session-meta{font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;font-weight:500;color:#8C8898}
.ske-unit-session-go{flex:none;color:#C6A25E;font-size:17px;line-height:1}
@media(max-width:767px){.ske-unit-nav{padding:20px 18px}.elementor a.ske-unit-session{gap:12px;padding:13px 14px}}

/* Resource type chip – brand purple with ivory text (this palette has no blue). */
.ske-resource-thumb,
.ske-resource-doc,
.ske-resource-docx,
.ske-resource-pdf,
.ske-resource-mp3,
.ske-resource-mp4{background:#2D1B5E;color:#F7F4EF}
.elementor a.ske-resource .ske-resource-thumb{color:#F7F4EF}
/* ── Assignments ──────────────────────────────────────────────── */
/* LearnDash renders its own upload form + submission list (so grading, points
   and approval stay LearnDash's). Its ld30 stylesheet is not loaded on this
   custom template, so the markup is dressed here instead. */
.ske-assignment .ld-table-list{border:1px solid #EAE4D8;border-radius:18px;overflow:hidden;background:#FFF}
.ske-assignment .ld-table-list-header,
.ske-assignment .ld-primary-background{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;background:#2D1B5E;color:#F7F4EF}
.elementor .ske-assignment .ld-table-list-title{font-family:'Bricolage Grotesque',sans-serif;font-size:16px;font-weight:700;color:#F7F4EF;display:flex;align-items:center;gap:10px}
.elementor .ske-assignment .ld-table-list-columns,
.elementor .ske-assignment .ld-assignment-column-approved{font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;color:#CFC7E2}
.ske-assignment .ld-item-icon,.ske-assignment .ld-icon-assignment{display:inline-flex}
.ske-assignment .ld-table-list-items{padding:20px}
.elementor .ske-assignment .ld-file-upload-heading{font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;color:#2D1B5E;margin-bottom:12px}
.elementor .ske-assignment .ld-file-upload-heading span{display:block;font-size:12.5px;font-weight:500;color:#8C8898;margin-top:3px}
.ske-assignment .ld-file-upload-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* the real input is hidden; its label is the button */
.ske-assignment .ld-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.elementor .ske-assignment .ld-file-upload-form label{display:inline-flex;align-items:center;gap:9px;cursor:pointer;padding:13px 22px;border-radius:100px;border:1px solid #E3DDD1;background:#FFF;font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:#2D1B5E;transition:background .16s,border-color .16s}
.elementor .ske-assignment .ld-file-upload-form label:hover{background:#EDE9F8;border-color:#C6A25E}
.elementor .ske-assignment .ld-file-upload-form label strong{font-weight:600}
.elementor .ske-assignment .ld-file-upload-form label span{font-weight:500;color:#8C8898}
.ske-assignment .ld-file-input:focus-visible + label{outline:3px solid #C6A25E;outline-offset:2px}
.elementor .ske-assignment input.ld-button{padding:13px 26px;border-radius:100px;border:0;background:#2D1B5E;color:#F7F4EF;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .16s}
.elementor .ske-assignment input.ld-button:hover:not([disabled]){background:#3D2680}
.elementor .ske-assignment input.ld-button[disabled]{opacity:.45;cursor:not-allowed}
.elementor .ske-assignment .ld-file-upload-message{font-family:'Hanken Grotesk',sans-serif;font-size:13.5px;color:#8C8898;width:100%}
.ske-assignment .ld-table-list-footer:empty{display:none}
/* submitted rows */
.ske-assignment .ld-table-list-item{border-top:1px solid #EFE9DC;padding:14px 0}
.elementor .ske-assignment .ld-table-list-item a{color:#2D1B5E;font-weight:600;text-decoration:none}
.elementor .ske-assignment .ld-table-list-item a:hover{color:#6B4FBB}
.ske-assignment .ld-status-icon{border-radius:50%}
@media(max-width:767px){
 .ske-assignment .ld-table-list-header{flex-direction:column;align-items:flex-start;gap:6px}
 .ske-assignment .ld-file-upload-form{flex-direction:column;align-items:stretch}
 .elementor .ske-assignment .ld-file-upload-form label,
 .elementor .ske-assignment input.ld-button{justify-content:center;text-align:center}
}
/* ── Course page: "About this programme" ───────────────────────────── */
/* This is the client's own migrated HTML, so it is dressed generically rather
   than assuming a structure. */
.ske-course-about{margin-bottom:44px}
.elementor h2.ske-course-about-h2{font-family:'Bricolage Grotesque',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#2D1B5E;margin:0 0 20px}
.ske-course-about-body{font-family:'Hanken Grotesk',sans-serif;font-size:16px;line-height:1.7;color:#4A4757}
.elementor .ske-course-about-body p{margin:0 0 16px;color:#4A4757}
.elementor .ske-course-about-body p:last-child{margin-bottom:0}
.elementor .ske-course-about-body h1,
.elementor .ske-course-about-body h2,
.elementor .ske-course-about-body h3,
.elementor .ske-course-about-body h4{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#2D1B5E;margin:30px 0 12px}
.elementor .ske-course-about-body h2{font-size:22px}
.elementor .ske-course-about-body h3{font-size:19px}
.elementor .ske-course-about-body h4{font-size:17px}
.elementor .ske-course-about-body h2:empty,
.elementor .ske-course-about-body h3:empty,
.elementor .ske-course-about-body p:empty{display:none;margin:0}
.elementor .ske-course-about-body strong{color:#2D1B5E;font-weight:700}
.elementor .ske-course-about-body a{color:#6B4FBB;text-decoration:underline;text-underline-offset:2px}
.elementor .ske-course-about-body a:hover{color:#2D1B5E}
.ske-course-about-body ul,.ske-course-about-body ol{margin:0 0 16px;padding-left:22px}
.ske-course-about-body li{margin-bottom:7px}
.ske-course-about-body img{max-width:100%;height:auto;border-radius:14px;display:block}
/* the migrated copy floats images side by side; keep them tidy */
.ske-course-about-body .alignnone{margin:0 12px 14px 0}
.ske-course-about-body figure,.ske-course-about-body .wp-caption{max-width:100%;margin:0 12px 18px 0;display:inline-block;vertical-align:top}
.ske-course-about-body .wp-caption-text,.ske-course-about-body figcaption{font-size:12.5px;color:#8C8898;margin-top:6px;text-align:left}
.ske-course-about-body table{width:100%;border-collapse:collapse;margin:0 0 18px;display:block;overflow-x:auto}
.ske-course-about-body td,.ske-course-about-body th{border:1px solid #EAE4D8;padding:9px 12px;text-align:left}
.ske-course-about-body iframe{max-width:100%;border-radius:14px}
@media(max-width:767px){
 .elementor h2.ske-course-about-h2{font-size:24px}
 .ske-course-about-body img{margin-bottom:12px}
}
/* clamp the long migrated description so the module list stays reachable */
.ske-course-about-clip{position:relative}
.ske-course-about.is-clamped .ske-course-about-clip{max-height:420px;overflow:hidden}
.ske-course-about.is-clamped .ske-course-about-clip::after{content:'';position:absolute;left:0;right:0;bottom:0;height:130px;pointer-events:none;background:linear-gradient(180deg,rgba(247,244,238,0) 0%,#F7F4EE 82%)}
.elementor button.ske-course-about-toggle{margin-top:16px;padding:12px 24px;border-radius:100px;border:1px solid #E3DDD1;background:#FFF;color:#2D1B5E;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .16s,border-color .16s}
.elementor button.ske-course-about-toggle:hover{background:#EDE9F8;border-color:#C6A25E}
.elementor button.ske-course-about-toggle:focus-visible{outline:3px solid #C6A25E;outline-offset:2px}
.ske-course-about-toggle[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.ske-course-about-clip{scroll-behavior:auto}}
/* dashboard continue-learning: period + recorded-runtime bubbles */
.ske-continue-bubbles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ske-continue-cat{margin-bottom:0}
.ske-continue-dur{display:inline-flex;align-items:center;font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;color:#2D1B5E;background:#F3EFE7;border:1px solid #EAE4D8;padding:4px 12px;border-radius:100px}
/* ── Hero video: plays in place, not in a lightbox ───────────────────── */
/* The source is 1920x1080 but the poster frame is nearly square, so the frame
   switches to 16:9 on play and the video fills it with no letterboxing. */
.hero-media.is-playing{height:auto;aspect-ratio:16/9;background:#000}
.hero-media.is-playing .hero-media-fill,
.hero-media.is-playing .hero-scrim,
.hero-media.is-playing .hero-play,
.hero-media.is-playing .hero-caption{display:none}
.ske-hero-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* ── Course introduction video (replaces "Preview a lesson") ─────────── */
.ske-preview{display:flex;flex-direction:column;gap:12px}
.elementor button.ske-preview-btn{width:100%;padding:15px 22px;border-radius:100px;border:1px solid #E3DDD1;background:#FFF;color:#2D1B5E;font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .16s,border-color .16s}
.elementor button.ske-preview-btn:hover{background:#EDE9F8;border-color:#C6A25E}
.elementor button.ske-preview-btn:focus-visible{outline:3px solid #C6A25E;outline-offset:2px}
.ske-preview-btn.is-disabled{display:block;width:100%;text-align:center;padding:15px 22px;border-radius:100px;border:1px dashed #E3DDD1;background:transparent;color:#B7B2C0;font-family:'Hanken Grotesk',sans-serif;font-size:14px;font-weight:600;cursor:not-allowed}
.ske-preview-frame{border-radius:16px;overflow:hidden;background:#000}
.ske-preview-frame[hidden]{display:none}
.ske-preview-frame iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;display:block}
.ske-preview-frame video.ske-preview-video{width:100%;aspect-ratio:16/9;height:auto;display:block;background:#000;object-fit:contain}

/* ── AI Mentor tab ──────────────────────────────────────────── */
.elementor .ske-mentor-intro{font-family:'Hanken Grotesk',sans-serif;font-size:14.5px;line-height:1.6;color:#8C8898;margin:0 0 16px;max-width:60ch}
.ske-mentor-frame{border:1px solid #EAE4D8;border-radius:18px;overflow:hidden;background:#FFF;height:min(70vh,620px)}
.ske-mentor-frame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:767px){.ske-mentor-frame{height:min(72vh,520px)}}
/* Hero frame is 16:9 at rest too, so the poster and the 1920x1080 video are the
   same shape and nothing shifts when it starts playing. Height must be unset at
   every breakpoint, since the local styles set 540/460/380px. */
.elementor .hero-media{height:auto;aspect-ratio:16/9}
@media(max-width:1024px){.elementor .hero-media{height:auto;aspect-ratio:16/9}}
@media(max-width:767px){.elementor .hero-media{height:auto;aspect-ratio:16/9}}
.hero-media.is-playing{aspect-ratio:16/9;height:auto}
/* sign-up form: CPD variant + neurodivergent-support privacy note */
.ske-eduqual-only[hidden],.ske-reveal-field[hidden]{display:none !important}
.elementor .ske-privacy{grid-column:1 / -1;margin:4px 0 0;padding:13px 16px;border-radius:14px;background:#F3EFE7;font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;line-height:1.55;color:#8C8898}
.elementor .ske-privacy a{color:#6B4FBB;text-decoration:underline;text-underline-offset:2px}
.elementor .ske-privacy a:hover{color:#2D1B5E}
.ske-auth-section[data-section="programme"] .ske-field{grid-column:1 / -1}
/* social icons: one inline-SVG set, reused in the header and on the contact page */
.elementor .ske-socials{display:flex;flex-direction:row;align-items:center;gap:var(--ske-social-gap,10px)}
.elementor .ske-social{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:inherit;text-decoration:none;transition:background 180ms,color 180ms,transform 180ms}
.elementor .ske-social svg{display:block;width:var(--ske-social-size,18px);height:var(--ske-social-size,18px);fill:currentColor}
/* plain: bare glyph on a light ground, used in the header */
.elementor .ske-socials--plain .ske-social{width:34px;height:34px;border-radius:100px;color:#6B4FBB}
.elementor .ske-socials--plain a.ske-social:hover,.elementor .ske-socials--plain a.ske-social:focus-visible{background:#EDE9F8;color:#2D1B5E}
/* chip: filled tile, used on the dark contact panel */
.elementor .ske-socials--chip .ske-social{width:38px;height:38px;border-radius:10px;background:rgba(247,244,239,0.12);color:#F7F4EF}
.elementor .ske-socials--chip a.ske-social:hover,.elementor .ske-socials--chip a.ske-social:focus-visible{background:#C6A25E;color:#2D1B5E;transform:translate3d(0,-2px,0)}
.elementor .ske-social:focus-visible{outline:2px solid #C6A25E;outline-offset:2px}
/* the header is tight below the nav breakpoint; the footer still carries them */
@media(max-width:1024px){.elementor .header-socials{display:none}}

/* sign-up form: the Eduqual / CPD switch */
.elementor .ske-variant-switch{margin:0;padding:0;border:0}
.elementor .ske-variant-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.elementor .ske-variant-option{position:relative;display:flex;flex-direction:column;gap:2px;padding:13px 16px;border:1px solid #E3DDD1;border-radius:14px;background:#FFFFFF;cursor:pointer;transition:border-color 180ms,background 180ms,box-shadow 180ms}
.elementor .ske-variant-option:hover{border-color:#C6A25E}
.elementor .ske-variant-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.elementor .ske-variant-title{font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#2D1B5E}
.elementor .ske-variant-sub{font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;line-height:1.4;color:#8C8898}
.elementor .ske-variant-option.is-active,.elementor .ske-variant-option:has(input:checked){border-color:#6B4FBB;background:#EDE9F8;box-shadow:inset 0 0 0 1px #6B4FBB}
.elementor .ske-variant-option:has(input:focus-visible){outline:2px solid #C6A25E;outline-offset:2px}
@media(max-width:600px){.elementor .ske-variant-options{grid-template-columns:1fr}}

/* course description: speaker and testimonial rows above the copy */
.elementor .ske-course-gallery{display:grid;gap:16px;margin:0 0 22px}
.elementor .ske-course-gallery--3{grid-template-columns:repeat(3,1fr)}
.elementor .ske-course-gallery--2{grid-template-columns:repeat(2,1fr);max-width:560px}
.elementor .ske-course-gallery-link{display:block;border-radius:14px;overflow:hidden;cursor:zoom-in;transition:transform 200ms,box-shadow 200ms}
.elementor .ske-course-gallery-link:hover,.elementor .ske-course-gallery-link:focus-visible{transform:translate3d(0,-3px,0);box-shadow:0 16px 34px rgba(45,27,94,0.16)}
.elementor .ske-course-gallery-link:focus-visible{outline:2px solid #C6A25E;outline-offset:3px}
.elementor .ske-course-gallery img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid #EAE4D8}
@media(prefers-reduced-motion:reduce){.elementor .ske-course-gallery-link{transition:none}.elementor .ske-course-gallery-link:hover{transform:none}}
@media(max-width:640px){
  .elementor .ske-course-gallery--3{grid-template-columns:repeat(2,1fr)}
  .elementor .ske-course-gallery--2{grid-template-columns:1fr;max-width:320px}
}

/* course introduction video, in the hero band under the title */
.elementor .ske-course-intro{margin:18px 0 4px;max-width:520px;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 18px 40px rgba(0,0,0,0.28)}
.elementor .ske-course-intro video,.elementor .ske-course-intro iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}

/* account dropdown: the whole row is the target, not just the words */
.elementor .acct-link-list a{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;text-decoration:none;color:#2D1B5E;transition:background 140ms}
.elementor .acct-link-list a:hover,.elementor .acct-link-list a:focus-visible{background:#EDE9F8;color:#2D1B5E}
.elementor .acct-link-list a:focus-visible{outline:2px solid #C6A25E;outline-offset:-2px}
.elementor .acct-link-list a > span,.elementor .acct-link-list a > .e-paragraph-base{display:block;width:100%}

/* footer credit link */
.elementor .footer-madein a{color:#C6BFD8;text-decoration:none;border-bottom:1px solid rgba(198,191,216,0.4);transition:color 160ms,border-color 160ms}
.elementor .footer-madein a:hover,.elementor .footer-madein a:focus-visible{color:#FFFFFF;border-color:#FFFFFF}
.elementor .footer-madein a:focus-visible{outline:2px solid #C6A25E;outline-offset:2px}

/* landscape logos need a wider box than the square ones */
.elementor .press-logos .press-wide,.elementor .press2-logos .press-wide{width:180px}
@media(max-width:1024px){.elementor .press-logos .press-wide,.elementor .press2-logos .press-wide{width:132px}}
@media(max-width:640px){.elementor .press-logos .press-wide,.elementor .press2-logos .press-wide{width:92px}}

/* four speaker pages in one row; the last is near-square while the rest are
   portrait, so they are pinned to one aspect and contained rather than cropped,
   which would cut the speakers' names off. The artwork is white-on-white, so the
   letterboxing is invisible. */
.elementor .ske-course-gallery--4{grid-template-columns:repeat(4,1fr);gap:12px}
.elementor .ske-course-gallery--4 img{aspect-ratio:707/1000;height:auto;object-fit:contain;background:#FFFFFF}
@media(max-width:640px){.elementor .ske-course-gallery--4{grid-template-columns:repeat(2,1fr)}}

/* programme timetable, in place of the unit list */
.elementor .ske-timetable{margin:0}
.elementor .ske-tt-note{margin:0 0 10px;font-size:14px;line-height:1.55;color:#8C8898}
.elementor .ske-tt-month{margin:26px 0 10px;font-family:'Bricolage Grotesque',Georgia,serif;font-weight:700;font-size:17px;letter-spacing:-.01em;color:#2D1B5E}
.elementor .ske-tt-month:first-child{margin-top:6px}
.elementor .ske-tt-scroll{overflow-x:auto;border:1px solid #EAE4D8;border-radius:14px;background:#FFFFFF}
.elementor .ske-tt-table{width:100%;border-collapse:collapse;font-family:'Hanken Grotesk',sans-serif;font-size:14px}
.elementor .ske-tt-table th{text-align:left;padding:11px 16px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8C8898;background:#FBF9F4;white-space:nowrap}
.elementor .ske-tt-table td{padding:11px 16px;border-top:1px solid #EFE9DD;color:#4A4757;line-height:1.45;vertical-align:top}
.elementor .ske-tt-table td:first-child{font-weight:600;color:#2D1B5E;white-space:nowrap}
.elementor .ske-tt-table tbody tr:hover{background:#FBF9F4}
@media(max-width:700px){
  .elementor .ske-tt-scroll{border:0;border-radius:0;background:transparent}
  .elementor .ske-tt-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .elementor .ske-tt-table tr{display:block;margin:0 0 10px;border:1px solid #EAE4D8;border-radius:12px;background:#FFFFFF;padding:4px 2px}
  .elementor .ske-tt-table td{display:flex;gap:12px;border-top:0;padding:6px 14px;white-space:normal}
  .elementor .ske-tt-table td:first-child{white-space:normal}
  .elementor .ske-tt-table td::before{content:attr(data-label);flex:0 0 84px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8C8898;padding-top:2px}
}


/* timetable download – secondary button under the enrolment CTA */
.elementor .ske-tt-dl{display:block;width:100%;margin-top:10px}
.elementor .ske-tt-dl-btn{
  display:block;width:100%;box-sizing:border-box;text-align:center;
  background:transparent;color:#2D1B5E;border:2px solid #2D1B5E;border-radius:14px;padding:14px;
  font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;
  cursor:pointer;transition:background .2s,color .2s}
.elementor .ske-tt-dl-btn:hover{background:#2D1B5E;color:#F7F4EF}
.elementor .ske-tt-dl-btn:focus-visible{outline:2px solid #6B4FBB;outline-offset:2px}

/* dialog */
.ske-tt-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.ske-tt-modal[hidden]{display:none}
.ske-tt-modal-veil{position:absolute;inset:0;background:rgba(24,16,48,.62)}
.ske-tt-modal-card{
  position:relative;width:100%;max-width:420px;box-sizing:border-box;
  background:#FFFFFF;border-radius:24px;padding:32px 30px 28px;
  box-shadow:0 30px 70px rgba(24,16,48,.34);text-align:left}
.ske-tt-modal .ske-tt-modal-card button.ske-tt-modal-x{
  position:absolute;top:12px;right:12px;z-index:2;
  width:24px;height:24px;min-width:0;min-height:0;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;border-radius:50%;box-shadow:none;
  padding:0;margin:0;font-size:17px;font-weight:400;line-height:1;
  color:#B3AFBD;cursor:pointer;transition:color .15s,background .15s}
.ske-tt-modal .ske-tt-modal-card button.ske-tt-modal-x:hover{background:#F3F0EA;color:#2D1B5E}
.ske-tt-modal-h{
  margin:0 0 10px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;
  font-size:24px;letter-spacing:-.02em;color:#2D1B5E;padding-right:28px}
.ske-tt-modal-p{
  margin:0 0 18px;font-family:'Hanken Grotesk',sans-serif;font-size:15px;
  line-height:1.55;color:#4A4757}
.ske-tt-modal-label{
  display:block;margin:0 0 6px;font-family:'Hanken Grotesk',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8C8898}
.ske-tt-modal-input{
  width:100%;box-sizing:border-box;padding:13px 15px;margin:0 0 4px;
  border:1px solid #EAE4D8;border-radius:12px;background:#FBF9F4;
  font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:#2D1B5E}
.ske-tt-modal-input:focus{outline:none;border-color:#6B4FBB;background:#FFFFFF}
.ske-tt-modal-input:disabled{opacity:.6}
.ske-tt-modal-send{
  display:block;width:100%;box-sizing:border-box;margin-top:14px;text-align:center;
  background:#2D1B5E;color:#F7F4EF;border:none;border-radius:14px;padding:15px;
  font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;
  cursor:pointer;transition:background .2s}
.ske-tt-modal-send:hover{background:#3D2680}
.ske-tt-modal-send:disabled{opacity:.6;cursor:default}
.ske-tt-modal-msg{
  margin:12px 0 0;min-height:1px;font-family:'Hanken Grotesk',sans-serif;
  font-size:13.5px;line-height:1.45;color:#8C8898}
.ske-tt-modal-msg.is-good{color:#2F7A55}
.ske-tt-modal-msg.is-bad{color:#B4413C}
.ske-tt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){
  .ske-tt-modal-card{padding:28px 22px 24px;border-radius:20px}
  .ske-tt-modal-h{font-size:21px}
}/* End custom CSS */