:root {
  --ocean-950:#06212F; --ocean-900:#0A3049; --ocean-800:#0D405F; --ocean-700:#115377;
  --ocean-600:#14688F; --ocean-500:#1B82AF; --ocean-400:#3AA0C9; --ocean-300:#74C0DB;
  --ocean-200:#AEDCEB; --ocean-100:#DCF0F6; --ocean-50:#EFF9FC;
  --aqua-700:#0E7C74; --aqua-600:#12968B; --aqua-500:#17ABA0; --aqua-400:#43C3B7;
  --aqua-300:#7FD8CF; --aqua-100:#DAF3F0;
  --coral-700:#C7452B; --coral-600:#E1543A; --coral-500:#F26B4E; --coral-400:#F78B72; --coral-100:#FDE4DD;
  --slate-950:#0C1418; --slate-900:#14212A; --slate-800:#1F313C; --slate-700:#334855;
  --slate-600:#4C6373; --slate-500:#6B8291; --slate-400:#93A7B4; --slate-300:#BCCAD3;
  --slate-200:#DBE4E9; --slate-100:#ECF1F4; --slate-50:#F6F9FA; --white:#FFFFFF;
  --green-600:#1F8A5B; --green-100:#DBF1E6; --amber-600:#D68A1F; --amber-100:#FBEDCF;
  --red-600:#D0432F; --red-100:#FBE1DC;
  --color-primary:var(--ocean-600); --color-primary-hover:var(--ocean-700);
  --color-primary-active:var(--ocean-800); --color-primary-soft:var(--ocean-100);
  --color-secondary:var(--aqua-500); --color-secondary-hover:var(--aqua-600);
  --color-accent:var(--coral-500); --color-accent-hover:var(--coral-600);
  --text-strong:var(--slate-900); --text-body:var(--slate-700); --text-muted:var(--slate-500);
  --text-on-brand:var(--white); --text-link:var(--ocean-600);
  --surface-page:var(--slate-50); --surface-card:var(--white); --surface-sunken:var(--slate-100);
  --surface-brand:var(--ocean-950); --surface-brand-2:var(--ocean-800);
  --border-subtle:var(--slate-200); --border-strong:var(--slate-300);
  --border-brand:var(--ocean-600); --focus-ring:var(--ocean-400);
  --status-success:var(--green-600); --status-success-soft:var(--green-100);
  --status-warning:var(--amber-600); --status-warning-soft:var(--amber-100);
  --status-danger:var(--red-600); --status-danger-soft:var(--red-100);
  --status-info:var(--ocean-600); --status-info-soft:var(--ocean-100);
  --font-display:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --text-xs:0.75rem; --text-sm:0.875rem; --text-base:1rem; --text-md:1.125rem;
  --text-lg:1.375rem; --text-xl:1.75rem; --text-2xl:2.25rem; --text-3xl:3rem; --text-4xl:3.75rem;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700; --weight-extra:800;
  --leading-tight:1.15; --leading-snug:1.3; --leading-normal:1.55; --leading-relaxed:1.72;
  --tracking-tight:-0.02em; --tracking-normal:0; --tracking-wide:0.06em;
  --space-0:0; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;
  --space-16:4rem; --space-20:5rem; --space-24:6rem;
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-xl:24px; --radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(6,33,47,0.06);
  --shadow-sm:0 1px 3px rgba(6,33,47,0.08),0 1px 2px rgba(6,33,47,0.06);
  --shadow-md:0 6px 16px rgba(6,33,47,0.10),0 2px 4px rgba(6,33,47,0.06);
  --shadow-lg:0 16px 40px rgba(6,33,47,0.14),0 4px 10px rgba(6,33,47,0.07);
  --shadow-ring:0 0 0 3px rgba(58,160,201,0.35);
  --container:1200px; --container-narrow:760px; --header-h:76px;
  --ease-standard:cubic-bezier(0.4,0,0.2,1); --ease-out:cubic-bezier(0.16,1,0.3,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:320ms;
}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibmplexmono-400.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibmplexmono-500.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibmplexmono-600.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/publicsans-400i.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/publicsans-400.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/publicsans-500.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/publicsans-600.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/publicsans-700.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/sora-400.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/sora-500.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/sora-600.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/sora-700.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/sora-800.woff2') format('woff2');}
.mdb-scope { font-family: var(--font-body); color: var(--text-body); }
.mdb-scope *, .mdb-scope *::before, .mdb-scope *::after { box-sizing: border-box; }
.mdb-scope h1,.mdb-scope h2,.mdb-scope h3,.mdb-scope h4 { font-family: var(--font-display); color: var(--text-strong); margin: 0; }
.mdb-scope a { color: var(--text-link); text-decoration: none; }
.mdb-scope a:hover { text-decoration: underline; }
.mdb-scope img { max-width: 100%; height: auto; }
.mdb-mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.mdb-eyebrow { font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-secondary); }
.mdb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-body); font-weight: var(--weight-semibold); line-height: 1;
  border: 1px solid transparent; border-radius: var(--radius-pill); cursor: pointer;
  white-space: nowrap; text-decoration: none;
  transition: background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);
}
.mdb-btn:hover { text-decoration: none; }
.mdb-btn:active { transform: translateY(1px); }
.mdb-btn:focus-visible { outline: none; box-shadow: var(--shadow-ring); }
.mdb-btn--sm { min-height: 36px; padding: 8px 14px; font-size: var(--text-sm); }
.mdb-btn--md { min-height: 44px; padding: 11px 20px; font-size: var(--text-base); }
.mdb-btn--lg { min-height: 52px; padding: 14px 26px; font-size: var(--text-md); }
.mdb-btn--block { width: 100%; }
.mdb-btn--primary { background: var(--color-primary); color: var(--text-on-brand); border-color: var(--color-primary); }
.mdb-btn--primary:hover { background: var(--color-primary-hover); }
.mdb-btn--primary:active { background: var(--color-primary-active); }
.mdb-btn--accent { background: var(--color-accent); color: var(--text-on-brand); border-color: var(--color-accent); }
.mdb-btn--accent:hover { background: var(--color-accent-hover); }
.mdb-btn--accent:active { background: var(--coral-700); }
.mdb-btn--secondary { background: var(--color-secondary); color: var(--text-on-brand); border-color: var(--color-secondary); }
.mdb-btn--secondary:hover { background: var(--color-secondary-hover); }
.mdb-btn--outline { background: transparent; color: var(--color-primary); border-color: var(--border-strong); }
.mdb-btn--outline:hover { background: var(--ocean-50); }
.mdb-btn--outline:active { background: var(--ocean-100); }
.mdb-btn--ghost { background: transparent; color: var(--text-body); }
.mdb-btn--ghost:hover { background: var(--slate-100); }
.mdb-btn--ghost:active { background: var(--slate-200); }
.mdb-btn--outline-inverse { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.mdb-btn--outline-inverse:hover { background: rgba(255,255,255,.12); }
.mdb-btn[disabled], .mdb-btn[aria-disabled="true"] { background: var(--slate-200); border-color: var(--slate-200); color: var(--slate-500); cursor: not-allowed; opacity: .7; }
.mdb-badge {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px;
  font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--weight-semibold);
  line-height: 1; border-radius: var(--radius-pill); border: 1px solid transparent; white-space: nowrap;
}
.mdb-badge--sm { padding: 3px 9px; font-size: var(--text-xs); }
.mdb-badge--neutral { background: var(--slate-100); color: var(--slate-700); border-color: var(--slate-200); }
.mdb-badge--primary { background: var(--ocean-100); color: var(--ocean-700); border-color: var(--ocean-200); }
.mdb-badge--aqua    { background: var(--aqua-100); color: var(--aqua-700); border-color: var(--aqua-300); }
.mdb-badge--accent  { background: var(--coral-100); color: var(--coral-700); border-color: var(--coral-400); }
.mdb-badge--success { background: var(--status-success-soft); color: var(--status-success); border-color: var(--green-100); }
.mdb-badge--warning { background: var(--status-warning-soft); color: var(--amber-600); border-color: var(--amber-100); }
.mdb-badge--danger  { background: var(--status-danger-soft); color: var(--status-danger); border-color: var(--red-100); }
.mdb-badge--solid.mdb-badge--primary { background: var(--ocean-700); color: #fff; border-color: transparent; }
.mdb-badge--solid.mdb-badge--aqua    { background: var(--aqua-700); color: #fff; border-color: transparent; }
.mdb-badge--solid.mdb-badge--accent  { background: var(--coral-600); color: #fff; border-color: transparent; }
.mdb-badge--solid.mdb-badge--success { background: var(--status-success); color: #fff; border-color: transparent; }
.mdb-badge--solid.mdb-badge--neutral { background: var(--slate-700); color: #fff; border-color: transparent; }
.mdb-avatar {
  display: inline-flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0;
  border-radius: var(--radius-pill); background: var(--ocean-100); color: var(--ocean-700);
  font-family: var(--font-display); font-weight: var(--weight-semibold);
}
.mdb-avatar img { width: 100%; height: 100%; object-fit: cover; }
.mdb-avatar--xs { width: 28px; height: 28px; font-size: 11px; }
.mdb-avatar--sm { width: 36px; height: 36px; font-size: 14px; }
.mdb-avatar--md { width: 44px; height: 44px; font-size: 17px; }
.mdb-avatar--lg { width: 56px; height: 56px; font-size: 21px; }
.mdb-avatar--ring { border: 2px solid var(--surface-card); box-shadow: 0 0 0 2px var(--ocean-300); }
.mdb-rating { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-sm); color: var(--text-body); }
.mdb-rating__stars { display: inline-flex; color: var(--amber-600); }
.mdb-rating__count { color: var(--text-muted); }
.mdb-progress { font-family: var(--font-body); width: 100%; }
.mdb-progress__head { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: var(--text-sm); }
.mdb-progress__label { color: var(--text-body); font-weight: var(--weight-medium); }
.mdb-progress__pct { color: var(--text-strong); font-weight: var(--weight-semibold); }
.mdb-progress__track { width: 100%; height: 8px; background: var(--surface-sunken); border-radius: var(--radius-pill); overflow: hidden; }
.mdb-progress__fill { height: 100%; background: var(--color-primary); border-radius: var(--radius-pill); transition: width var(--dur-slow) var(--ease-out); }
.mdb-progress--success .mdb-progress__fill { background: var(--status-success); }
.mdb-progress--aqua .mdb-progress__fill { background: var(--color-secondary); }
.mdb-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.mdb-breadcrumb li { display: inline-flex; align-items: center; gap: 8px; }
.mdb-breadcrumb a { font-size: var(--text-sm); color: var(--text-muted); }
.mdb-breadcrumb .is-current { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--text-strong); }
.mdb-breadcrumb .sep { color: var(--slate-300); font-size: 12px; }
.mdb-breadcrumb--inverse a, .mdb-breadcrumb--inverse .is-current { color: rgba(255,255,255,.92); }
.mdb-breadcrumb--inverse .sep { color: rgba(255,255,255,.5); }
.mdb-acc { display: flex; flex-direction: column; gap: 10px; }
.mdb-acc__item { border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card); overflow: hidden; }
.mdb-acc__head {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: var(--space-4) var(--space-5); background: var(--surface-card);
  border: none; cursor: pointer; text-align: left; font-family: var(--font-body); color: var(--text-strong);
}
.mdb-acc__head:focus-visible { outline: none; box-shadow: inset var(--shadow-ring); }
.mdb-acc__item[open] .mdb-acc__head, .mdb-acc__head[aria-expanded="true"] { background: var(--ocean-50); }
.mdb-acc__chev { display: inline-flex; color: var(--color-primary); transition: transform var(--dur-base) var(--ease-standard); }
.mdb-acc__head[aria-expanded="true"] .mdb-acc__chev, .mdb-acc__item[open] .mdb-acc__chev { transform: rotate(90deg); }
.mdb-acc__title { flex: 1; font-weight: var(--weight-semibold); }
.mdb-acc__meta { font-size: var(--text-sm); color: var(--text-muted); font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.mdb-acc__body { padding: var(--space-4) var(--space-5) var(--space-5) 52px; font-size: var(--text-sm); color: var(--text-body); line-height: var(--leading-normal); border-top: 1px solid var(--border-subtle); }
.mdb-acc__body ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.mdb-acc__body li { display: flex; align-items: center; gap: 10px; }
.mdb-alert { display: flex; gap: 12px; padding: var(--space-4); border: 1px solid transparent; border-radius: var(--radius-md); font-family: var(--font-body); }
.mdb-alert__icon { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex-shrink: 0; border-radius: var(--radius-pill); color: #fff; }
.mdb-alert__icon svg { width: 15px; height: 15px; }
.mdb-alert__title { font-weight: var(--weight-semibold); color: var(--text-strong); margin-bottom: 4px; }
.mdb-alert__body { font-size: var(--text-sm); color: var(--text-body); line-height: var(--leading-normal); }
.mdb-alert--info    { background: var(--status-info-soft); border-color: var(--ocean-200); }
.mdb-alert--info .mdb-alert__icon { background: var(--ocean-700); }
.mdb-alert--success { background: var(--status-success-soft); border-color: var(--green-100); }
.mdb-alert--success .mdb-alert__icon { background: var(--status-success); }
.mdb-alert--warning { background: var(--status-warning-soft); border-color: var(--amber-100); }
.mdb-alert--warning .mdb-alert__icon { background: var(--amber-600); }
.mdb-alert--danger  { background: var(--status-danger-soft); border-color: var(--red-100); }
.mdb-alert--danger .mdb-alert__icon { background: var(--status-danger); }
.mdb-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-sm); text-decoration: none; color: inherit;
  transition: box-shadow var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);
}
a.mdb-card:hover { text-decoration: none; }
.mdb-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.mdb-card:focus-visible { outline: none; box-shadow: var(--shadow-ring); }
.mdb-card__cover { position: relative; height: 168px; background: linear-gradient(135deg, var(--ocean-700), var(--aqua-600)); background-size: cover; background-position: center; }
.mdb-card__cover--tl { position: absolute; top: 12px; left: 12px; display: flex; gap: 8px; }
.mdb-card__cover--tr { position: absolute; top: 12px; right: 12px; }
.mdb-card__body { display: flex; flex-direction: column; gap: 12px; padding: var(--space-5); flex: 1; }
.mdb-card__title { font-family: var(--font-display); font-size: var(--text-md); font-weight: var(--weight-semibold); line-height: var(--leading-snug); color: var(--text-strong); }
.mdb-card__meta { display: flex; gap: 16px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border-subtle); font-size: var(--text-sm); color: var(--text-muted); align-items: center; }
.mdb-card__meta .mdb-icn { display: inline-flex; align-items: center; gap: 5px; }
.mdb-card__price { margin-left: auto; font-weight: var(--weight-bold); color: var(--status-success); }
.mdb-icn svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mdb-scope a:focus-visible, .mdb-focus:focus-visible { outline: none; box-shadow: var(--shadow-ring); border-radius: var(--radius-sm); }
.mdb-sensei-enrol form, .mdb-sensei-complete form { margin: 0; }
.mdb-sensei-enrol input[type="submit"], .mdb-sensei-enrol button,
.mdb-sensei-complete input[type="submit"], .mdb-sensei-complete button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  font-family: var(--font-body); font-weight: var(--weight-semibold); font-size: var(--text-md);
  min-height: 52px; padding: 14px 26px; border-radius: var(--radius-pill); cursor: pointer;
  border: 1px solid var(--color-accent); background: var(--color-accent); color: #fff;
  transition: background var(--dur-fast) var(--ease-standard);
}
.mdb-sensei-enrol input[type="submit"]:hover, .mdb-sensei-enrol button:hover,
.mdb-sensei-complete input[type="submit"]:hover, .mdb-sensei-complete button:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); }
.mdb-sensei-complete input[type="submit"], .mdb-sensei-complete button { background: var(--color-primary); border-color: var(--color-primary); }
.mdb-sensei-complete input[type="submit"]:hover, .mdb-sensei-complete button:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
@media (prefers-reduced-motion: reduce) {
  .mdb-btn, .mdb-card, .mdb-acc__chev, .mdb-progress__fill { transition: none !important; }
}
.mdb-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.mdb-narrow { max-width: var(--container-narrow); margin: 0 auto; }
.mdb-header {
  position: sticky; top: var(--mdb-pb-h, 0px); z-index: 40; height: var(--header-h);
  background: rgba(255,255,255,.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-subtle); display: flex; align-items: center;
}
.mdb-header__inner { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 24px; }
.mdb-brand { display: flex; align-items: center; gap: 9px; text-decoration: none; }
.mdb-brand:hover { text-decoration: none; }
.mdb-brand__mark { color: var(--ocean-600); flex-shrink: 0; }
.mdb-brand__word { font-family: var(--font-display); font-weight: 800; font-size: 20px; letter-spacing: -.02em; color: var(--text-strong); }
.mdb-brand__word b { color: var(--ocean-600); font-weight: 800; }
.mdb-nav { display: flex; gap: 6px; margin-left: 12px; }
.mdb-nav a { padding: 8px 14px; border-radius: var(--radius-pill); font-size: var(--text-sm); font-weight: 600; color: var(--text-body); }
.mdb-nav a:hover { background: var(--ocean-50); text-decoration: none; }
.mdb-nav a.current-menu-item, .mdb-nav a[aria-current="page"] { color: var(--ocean-700); background: var(--ocean-100); }
.mdb-header__actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.mdb-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-pill); border: 1px solid transparent; background: transparent; color: var(--text-body); cursor: pointer; }
.mdb-iconbtn:hover { background: var(--slate-100); }
.mdb-iconbtn svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }
.mdb-burger { display: none; }
.mdb-mobilenav { display: none; position: fixed; inset: var(--header-h) 0 0 0; z-index: 39; background: var(--surface-card); padding: 24px; flex-direction: column; gap: 6px; overflow-y: auto; }
.mdb-mobilenav.is-open { display: flex; }
.mdb-mobilenav a { padding: 14px 12px; border-radius: var(--radius-md); font-size: var(--text-md); font-weight: 600; color: var(--text-strong); border-bottom: 1px solid var(--border-subtle); }
.mdb-footer { background: var(--surface-brand); color: var(--slate-300); font-family: var(--font-body); }
.mdb-footer__grid { max-width: var(--container); margin: 0 auto; padding: 56px 24px 32px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.mdb-footer__brand-word { font-family: var(--font-display); font-weight: 800; font-size: 18px; color: #fff; }
.mdb-footer__brand-word b { color: var(--aqua-400); }
.mdb-footer p { font-size: var(--text-sm); line-height: var(--leading-normal); max-width: 300px; color: var(--slate-400); }
.mdb-footer h4 { font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700; color: #fff; margin: 0 0 14px; letter-spacing: .04em; text-transform: uppercase; }
.mdb-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.mdb-footer a { font-size: var(--text-sm); color: var(--slate-300); }
.mdb-footer a:hover { color: #fff; }
.mdb-footer__bar { border-top: 1px solid var(--ocean-800); padding: 18px 24px; text-align: center; font-size: var(--text-xs); color: var(--slate-500); }
.mdb-footer__bar a { color: var(--aqua-400); }
.mdb-home-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(180deg, var(--ocean-800), var(--ocean-950)); }
.mdb-home-hero__inner { max-width: var(--container); margin: 0 auto; padding: 80px 24px 96px; position: relative; z-index: 2; }
.mdb-home-hero h1 { font-family: var(--font-display); font-size: var(--text-4xl); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; margin: 18px 0 16px; max-width: 760px; color: #fff; }
.mdb-home-hero__sub { font-size: var(--text-md); line-height: var(--leading-normal); color: var(--ocean-200); max-width: 560px; margin-bottom: 30px; }
.mdb-home-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.mdb-wave { position: absolute; bottom: -1px; left: 0; width: 100%; height: 90px; display: block; }
.mdb-section { padding: 24px 0 72px; }
.mdb-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; flex-wrap: wrap; }
.mdb-section__head h2 { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 700; color: var(--text-strong); margin: 0 0 6px; }
.mdb-section__head p { color: var(--text-muted); margin: 0; }
.mdb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.mdb-editable { padding-top: 8px; padding-bottom: 40px; }
.mdb-course-hero { color: #fff; background: linear-gradient(135deg, var(--ocean-800), var(--aqua-700)); position: relative; }
.mdb-course-hero__inner { max-width: var(--container); margin: 0 auto; padding: 28px 24px 40px; position: relative; z-index: 2; }
.mdb-course-hero h1 { font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 800; line-height: 1.08; letter-spacing: -.02em; margin: 14px 0 16px; max-width: 720px; color: #fff; }
.mdb-course-hero__meta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; color: rgba(255,255,255,.85); font-size: var(--text-sm); }
.mdb-course-hero__badges { display: flex; gap: 10px; }
.mdb-course-body { max-width: var(--container); margin: 0 auto; padding: 40px 24px 80px; display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }
.mdb-course-main { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.mdb-course-main h2 { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 700; color: var(--text-strong); margin: 0 0 12px; }
.mdb-course-main .mdb-prose { font-size: var(--text-md); line-height: var(--leading-relaxed); color: var(--text-body); }
.mdb-enroll { position: sticky; top: calc(var(--mdb-pb-h, 0px) + var(--header-h) + 20px); background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; }
.mdb-enroll__cover { height: 150px; background: linear-gradient(135deg, var(--ocean-600), var(--aqua-500)); display: flex; align-items: center; justify-content: center; }
.mdb-enroll__body { padding: var(--space-6); display: flex; flex-direction: column; gap: 16px; }
.mdb-enroll__price { display: flex; align-items: baseline; gap: 10px; }
.mdb-enroll__price b { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 800; color: var(--status-success); }
.mdb-enroll__features { border-top: 1px solid var(--border-subtle); padding-top: 14px; display: flex; flex-direction: column; gap: 12px; font-size: var(--text-sm); color: var(--text-body); }
.mdb-enroll__features li { display: flex; align-items: center; gap: 10px; list-style: none; }
.mdb-enroll__features ul { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mdb-enroll__features .mdb-icn svg { stroke: var(--color-primary); width: 17px; height: 17px; }
.mdb-lesson { display: grid; grid-template-columns: 320px 1fr; min-height: calc(100vh - var(--header-h)); background: var(--surface-page); }
.mdb-lesson__aside { background: var(--surface-card); border-right: 1px solid var(--border-subtle); padding: 20px 0; overflow-y: auto; }
.mdb-lesson__aside-head { padding: 0 20px 16px; }
.mdb-lesson__back { display: flex; align-items: center; gap: 6px; border: none; background: transparent; color: var(--text-muted); font-size: var(--text-sm); font-weight: 600; cursor: pointer; font-family: var(--font-body); padding: 0; margin-bottom: 12px; text-decoration: none; }
.mdb-lesson__back:hover { color: var(--text-body); }
.mdb-lesson__course-title { font-family: var(--font-display); font-size: var(--text-md); font-weight: 700; color: var(--text-strong); margin: 0 0 12px; line-height: 1.3; }
.mdb-lesson__modtitle { padding: 10px 20px; font-size: var(--text-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.mdb-lesson__item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 10px 20px; border: none; cursor: pointer; font-family: var(--font-body); font-size: var(--text-sm); line-height: 1.35; background: transparent; border-left: 3px solid transparent; color: var(--text-body); text-decoration: none; }
.mdb-lesson__item:hover { background: var(--slate-50); }
.mdb-lesson__item.is-active { background: var(--ocean-50); border-left-color: var(--ocean-600); color: var(--ocean-700); font-weight: 600; }
.mdb-lesson__tick { flex-shrink: 0; width: 18px; height: 18px; border-radius: var(--radius-pill); border: 1.5px solid var(--border-strong); display: inline-flex; align-items: center; justify-content: center; }
.mdb-lesson__item.is-done .mdb-lesson__tick { background: var(--status-success); border-color: var(--status-success); }
.mdb-lesson__main { overflow-y: auto; }
.mdb-lesson__read { max-width: 760px; margin: 0 auto; padding: 44px 40px 80px; }
.mdb-lesson__read h1 { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 800; color: var(--text-strong); letter-spacing: -.02em; margin: 14px 0 8px; line-height: 1.12; }
.mdb-lesson__subline { font-size: var(--text-sm); color: var(--text-muted); margin: 0 0 28px; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.mdb-lesson__prose { font-size: var(--text-md); line-height: var(--leading-relaxed); color: var(--text-body); }
.mdb-lesson__prose p { margin: 0 0 18px; }
.mdb-lesson__prose h2, .mdb-lesson__prose h3 { font-family: var(--font-display); color: var(--text-strong); margin: 28px 0 12px; }
.mdb-lesson__prose strong { color: var(--text-strong); }
.mdb-lesson__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--border-subtle); }
.wp-block-sensei-lms-course-list { max-width: var(--container); margin: 0 auto; padding: 8px 24px 40px; }
.wp-block-sensei-lms-course-list ul.wp-block-post-template {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px;
}
.wp-block-sensei-lms-course-list li.wp-block-post { margin: 0; }
.wp-block-sensei-lms-course-list li.wp-block-post > .wp-block-group {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  overflow: hidden; height: 100%;
  display: flex; flex-direction: column;
  transition: box-shadow var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);
}
.wp-block-sensei-lms-course-list li.wp-block-post > .wp-block-group:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.wp-block-sensei-lms-course-list .wp-block-group__inner-container { padding: 0; flex: 1; display: flex; flex-direction: column; }
.wp-block-sensei-lms-course-list .wp-block-columns { flex: 1; }
.wp-block-sensei-lms-course-list .wp-block-column:last-child { margin-top: auto; }
.wp-block-sensei-lms-course-list li.wp-block-post > .wp-block-group::before {
  content: ""; display: block; height: 6px; background: linear-gradient(90deg, var(--ocean-600), var(--aqua-500));
}
.wp-block-sensei-lms-course-list .wp-block-columns { display: flex !important; flex-direction: column; gap: 0 !important; margin: 0; }
.wp-block-sensei-lms-course-list .wp-block-column { flex: none !important; width: 100% !important; padding: var(--space-5) var(--space-5) 0; display: flex; flex-direction: column; gap: 10px; }
.wp-block-sensei-lms-course-list .wp-block-column:last-child { padding: var(--space-4) var(--space-5) var(--space-5); }
.wp-block-sensei-lms-course-list h2.wp-block-post-title {
  font-family: var(--font-display); font-weight: var(--weight-semibold); font-size: var(--text-md);
  line-height: var(--leading-snug); color: var(--text-strong); margin: 0;
}
.wp-block-sensei-lms-course-list h2.wp-block-post-title a { color: var(--text-strong); text-decoration: none; }
.wp-block-sensei-lms-course-list h2.wp-block-post-title a:hover { color: var(--color-primary); }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt { margin: 0; }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt__excerpt { font-size: var(--text-sm); color: var(--text-muted); line-height: var(--leading-normal); margin: 0; }
.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-overview { font-size: var(--text-sm); color: var(--text-muted); }
.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-categories { font-size: 0; }
.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-categories a {
  display: inline-flex; align-items: center; padding: 3px 10px; margin: 0 6px 0 0;
  font-family: var(--font-body); font-size: var(--text-xs); font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide); text-transform: uppercase;
  color: var(--aqua-700); background: var(--aqua-100); border-radius: var(--radius-pill); text-decoration: none;
}
.wp-block-sensei-lms-button-take-course { margin-top: auto !important; text-align: left !important; }
.wp-block-sensei-lms-button-take-course .wp-block-button__link,
.wp-block-sensei-lms-course-list a.wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent) !important; color: #fff !important; border: none !important;
  border-radius: var(--radius-pill) !important; padding: 11px 20px !important;
  font-family: var(--font-body); font-weight: var(--weight-semibold); font-size: var(--text-sm); text-decoration: none;
  transition: background var(--dur-fast) var(--ease-standard);
}
.wp-block-sensei-lms-button-take-course .wp-block-button__link:hover { background: var(--color-accent-hover) !important; }
.wp-block-sensei-lms-course-list-filter, .sensei-archive-controls { max-width: var(--container); margin: 0 auto 8px; padding: 0 24px; }
.wp-block-sensei-lms-course-list-filter a, .sensei-archive-controls a {
  font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--text-body);
}
.wp-block-sensei-lms-course-list-filter a.is-active, .wp-block-sensei-lms-course-list-filter .current { color: var(--color-primary); }
@media (max-width: 960px) {
  .mdb-course-body { grid-template-columns: 1fr; }
  .mdb-enroll { position: static; order: -1; }
  .mdb-footer__grid { grid-template-columns: 1fr 1fr; }
  .mdb-lesson { grid-template-columns: 1fr; }
  .mdb-lesson__aside { display: none; }
  .mdb-lesson__aside.is-open { display: block; position: fixed; inset: var(--header-h) 0 0 0; z-index: 38; width: 100%; }
}
@media (max-width: 720px) {
  .mdb-nav { display: none; }
  .mdb-burger { display: inline-flex; }
  .mdb-header__actions .mdb-hide-sm { display: none; }
  .mdb-home-hero h1 { font-size: var(--text-2xl); }
  .mdb-home-hero__inner { padding: 56px 24px 72px; }
  .mdb-course-hero h1 { font-size: var(--text-2xl); }
  .mdb-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .mdb-lesson__read { padding: 32px 20px 64px; }
}
.mdb-gauge {
  --mdb-gauge-pct: 0;
  position: relative; display: flex; gap: 12px; align-items: stretch;
  font-family: var(--font-mono); font-variant-numeric: tabular-nums;
}
.mdb-gauge__scale {
  position: relative; width: 10px; flex-shrink: 0; border-radius: var(--radius-pill);
  background: linear-gradient(180deg, var(--ocean-200), var(--ocean-950));
  overflow: hidden; min-height: 120px;
}
.mdb-gauge__scale::before {
  content: ""; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(180deg, transparent 0, transparent calc(25% - 1px), rgba(255,255,255,.35) 25%);
}
.mdb-gauge__diver {
  position: absolute; left: 50%; transform: translate(-50%, -50%);
  top: calc(var(--mdb-gauge-pct) * 1%);
  width: 16px; height: 16px; border-radius: var(--radius-pill);
  background: var(--coral-500); border: 2px solid #fff; box-shadow: var(--shadow-sm);
  transition: top var(--dur-slow) var(--ease-out);
}
.mdb-gauge__read { display: flex; flex-direction: column; justify-content: space-between; font-size: var(--text-xs); color: var(--text-muted); }
.mdb-gauge__depth { font-size: var(--text-lg); font-weight: 600; color: var(--ocean-700); line-height: 1; }
.mdb-gauge__depth small { font-size: var(--text-xs); color: var(--text-muted); font-weight: 500; }
.mdb-gauge__cap { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.mdb-depthbar { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.mdb-depthbar__row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.mdb-depthbar__now { font-size: var(--text-md); font-weight: 600; color: var(--ocean-700); }
.mdb-depthbar__cap { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }
.mdb-depthbar__track { position: relative; height: 8px; border-radius: var(--radius-pill); overflow: hidden;
  background: linear-gradient(90deg, var(--ocean-200), var(--ocean-900)); }
.mdb-depthbar__fill { position: absolute; inset: 0; width: calc(var(--mdb-gauge-pct,0) * 1%);
  background: rgba(255,255,255,.28); border-right: 2px solid var(--coral-500);
  transition: width var(--dur-slow) var(--ease-out); }
.mdb-hud {
  display: inline-flex; gap: 1px; background: var(--slate-200); border-radius: var(--radius-md);
  overflow: hidden; box-shadow: var(--shadow-xs);
}
.mdb-hud--onbrand { background: rgba(255,255,255,.18); }
.mdb-hud__cell {
  display: flex; flex-direction: column; gap: 2px; padding: 10px 16px;
  background: var(--surface-card); min-width: 84px;
}
.mdb-hud--onbrand .mdb-hud__cell { background: rgba(6,33,47,.28); }
.mdb-hud__k { font-family: var(--font-body); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.mdb-hud--onbrand .mdb-hud__k { color: rgba(255,255,255,.7); }
.mdb-hud__v { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: var(--text-md); font-weight: 600; color: var(--text-strong); line-height: 1.1; }
.mdb-hud--onbrand .mdb-hud__v { color: #fff; }
.mdb-hud__v small { font-size: var(--text-xs); color: var(--text-muted); font-weight: 500; }
.mdb-hud--onbrand .mdb-hud__v small { color: rgba(255,255,255,.7); }
.mdb-descent-layer {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, var(--ocean-950), #02121b);
  opacity: calc(var(--mdb-descent, 0) * 0.06);
}
@media (prefers-reduced-motion: reduce) {
  .mdb-descent-layer { display: none; }
  .mdb-gauge__diver, .mdb-depthbar__fill { transition: none; }
}
.mdb-profile { position: relative; width: 100%; overflow-x: auto; }
.mdb-profile svg { display: block; width: 100%; height: auto; min-width: 520px; }
.mdb-profile__curve { fill: none; stroke: var(--ocean-500); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.mdb-profile__area { fill: url(#mdbDepthGrad); opacity: .18; }
.mdb-profile__node { fill: var(--surface-card); stroke: var(--ocean-600); stroke-width: 2; }
.mdb-profile__label { font-family: var(--font-body); font-size: 12px; fill: var(--text-body); }
.mdb-profile__depth { font-family: var(--font-mono); font-size: 11px; fill: var(--text-muted); }
.mdb-tosgate {
  position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center;
  padding: 24px; background: rgba(6,33,47,.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  overflow-y: auto;
}
.mdb-tosgate__box {
  width: 100%; max-width: 560px; background: var(--surface-card); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg); padding: var(--space-8); margin: auto;
}
.mdb-tosgate__box h2 { font-family: var(--font-display); font-size: var(--text-xl); color: var(--text-strong); margin: 0; }
.mdb-tosgate__points { margin: 4px 0 16px; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: var(--text-sm); color: var(--text-body); line-height: var(--leading-normal); }
.mdb-tosgate__form { margin-top: 8px; }
.mdb-cert-account h3 { font-family: var(--font-display); color: var(--text-strong); }
.mdb-cert-form { display: flex; flex-direction: column; gap: 8px; max-width: 460px; }
.mdb-cert-form select, .mdb-cert-form input[type="file"] { padding: 10px 12px; border: 1.5px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-body); width: 100%; }
.mdb-cert-state { padding: 12px 14px; border-radius: var(--radius-md); font-size: var(--text-sm); border: 1px solid transparent; }
.mdb-cert-state.is-ok { background: var(--status-success-soft); color: var(--status-success); border-color: var(--green-100); }
.mdb-cert-state.is-pending { background: var(--status-warning-soft); color: var(--amber-600); border-color: var(--amber-100); }
.mdb-cert-state.is-rej { background: var(--status-danger-soft); color: var(--status-danger); border-color: var(--red-100); }
.mdb-card.is-locked { opacity: .96; }
.mdb-card.is-locked .mdb-card__cover { filter: saturate(.55) brightness(.92); }
.mdb-card__lock {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(180deg, rgba(6,33,47,.35), rgba(6,33,47,.62)); color: #fff; text-align: center; padding: 16px;
}
.mdb-card__lock svg { width: 26px; height: 26px; stroke: #fff; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mdb-card__lock span { font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.mdb-gate {
  max-width: var(--container-narrow); margin: 48px auto; padding: var(--space-10) var(--space-8);
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm); text-align: center;
}
.mdb-gate__icon { width: 56px; height: 56px; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); background: var(--ocean-100); color: var(--ocean-700); }
.mdb-gate__icon svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mdb-gate h1 { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--text-strong); margin: 0 0 10px; letter-spacing: -.02em; }
.mdb-gate p { color: var(--text-body); line-height: var(--leading-normal); margin: 0 auto 20px; max-width: 46ch; }
.mdb-gate__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.mdb-safety { margin: 20px 0; }
@media (max-width: 560px) {
  .mdb-tosgate__box { padding: var(--space-6); }
}

/* fix: botones <a> pierden color de texto por el link-color del padre eduma */
.mdb-scope a.mdb-btn--primary,.mdb-scope a.mdb-btn--primary:hover,.mdb-scope a.mdb-btn--primary:visited,.mdb-scope a.mdb-btn--secondary,.mdb-scope a.mdb-btn--secondary:hover,.mdb-scope a.mdb-btn--accent,.mdb-scope a.mdb-btn--accent:hover,.mdb-scope a.mdb-btn--outline-inverse{color:var(--text-on-brand)!important;}
.mdb-scope a.mdb-btn--outline,.mdb-scope a.mdb-btn--outline:hover,.mdb-scope a.mdb-btn--ghost,.mdb-scope a.mdb-btn--ghost:hover{color:var(--color-primary)!important;}

/* ===== Promobar (escuelas/instructores, solo deslogueado) ===== */
.mdb-promobar{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,var(--ocean-800),var(--aqua-700));color:#fff;}
.mdb-promobar[hidden]{display:none;}
.mdb-promobar__inner{max-width:var(--container);margin:0 auto;padding:8px 24px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:var(--text-sm);}
.mdb-promobar__inner p{margin:0;}
.mdb-scope a.mdb-promobar__cta{color:var(--text-on-brand)!important;}
.mdb-promobar__x{background:transparent;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;opacity:.85;padding:0 4px;}
.mdb-promobar__x:hover{opacity:1;}
@media(max-width:560px){.mdb-promobar__inner{font-size:var(--text-xs);gap:8px;padding:8px 12px;}}
