/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 04 2026 | 07:42:15 */
:root {
      --navy:      #1A365D;
      --navy-deep: #0E1D35;
      --red:       #D34949;
      --gold:      #B8895C;
      --cream:     #FBF7F0;
      --ink:       #111827;
      --muted:     #6B7280;
      --line:      #E5E7EB;
      --serif: 'Fraunces', Georgia, serif;
      --sans:  'IBM Plex Sans', system-ui, sans-serif;
      --mono:  'IBM Plex Mono', monospace;
      --r: 6px;
      --max: 1080px;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 16px; scroll-behavior: smooth; }
    body { font-family: var(--sans); color: var(--ink); background: #fff; line-height: 1.6; }

    /* ── NAV ── */
    .nav { background: var(--navy-deep); padding: 0 24px; position: sticky; top: 0; z-index: 100; }
    .nav-inner { max-width: var(--max); margin: 0 auto; display: flex; align-items: center; height: 64px; gap: 32px; }
    .nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
    .nav-logo-mark { width: 32px; height: 32px; background: var(--red); border-radius: 4px; display: flex; align-items: center; justify-content: center; }
    .nav-logo-mark svg { width: 18px; height: 18px; fill: #fff; }
    .nav-logo-text { font-family: var(--serif); font-size: 1.05rem; font-weight: 600; color: #fff; letter-spacing: -.01em; }
    .nav-links { display: flex; gap: 28px; list-style: none; }
    .nav-links a { font-size: .875rem; color: rgba(255,255,255,.7); text-decoration: none; transition: color .15s; }
    .nav-links a:hover, .nav-links a.active { color: #fff; }
    .nav-spacer { flex: 1; }
    .nav-actions { display: flex; align-items: center; gap: 16px; }
    .nav-signin { font-size: .875rem; color: rgba(255,255,255,.65); text-decoration: none; transition: color .15s; }
    .nav-signin:hover { color: #fff; }
    .btn-nav { background: var(--red); color: #fff; text-decoration: none; border-radius: var(--r); padding: 8px 18px; font-size: .85rem; font-weight: 500; transition: background .15s; white-space: nowrap; }
    .btn-nav:hover { background: #b93f3f; }
    @media (max-width: 768px) { .nav-links { display: none; } }

    /* ── BREADCRUMB ── */
    .breadcrumb-bar { background: var(--cream); border-bottom: 1px solid var(--line); padding: 10px 24px; }
    .breadcrumb { max-width: var(--max); margin: 0 auto; font-family: var(--mono); font-size: .72rem; color: var(--muted); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .breadcrumb a { color: var(--muted); text-decoration: none; }
    .breadcrumb a:hover { color: var(--navy); }
    .breadcrumb-sep { color: var(--line); }

    /* ── COURSE HERO ── */
    .course-hero { background: var(--navy); padding: 56px 24px 48px; }
    .course-hero-inner { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 340px; gap: 48px; align-items: center; }
    .course-badges { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
    .badge { font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; }
    .badge-pathway { background: rgba(184,137,92,.15); color: var(--gold); border: 1px solid rgba(184,137,92,.3); }
    .badge-live { background: rgba(72,199,130,.12); color: #48C782; border: 1px solid rgba(72,199,130,.25); }
    .badge-free { background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.12); }
    .course-hero h1 { font-family: var(--serif); font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 400; color: #fff; line-height: 1.2; margin-bottom: 8px; }
    .course-hero .subtitle { font-family: var(--serif); font-size: 1rem; font-style: italic; color: rgba(255,255,255,.55); margin-bottom: 16px; }
    .course-hero .lead { font-size: 1rem; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; max-width: 560px; }
    .course-meta-row { display: flex; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
    .course-meta-item { display: flex; align-items: center; gap: 7px; font-size: .825rem; color: rgba(255,255,255,.55); }
    .course-meta-item svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; flex-shrink: 0; }
    .course-hero-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
    .btn-hero-primary { display: inline-flex; align-items: center; gap: 8px; background: var(--red); color: #fff; text-decoration: none; border-radius: var(--r); padding: 13px 28px; font-size: .95rem; font-weight: 500; transition: background .15s; }
    .btn-hero-primary:hover { background: #b93f3f; }
    .btn-hero-secondary { font-size: .875rem; color: rgba(255,255,255,.55); text-decoration: none; }
    .btn-hero-secondary:hover { color: rgba(255,255,255,.85); }

    /* Hero right panel */
    .course-hero-panel { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 28px 24px; }
    .panel-heading { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .learn-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
    .learn-list li { display: flex; gap: 10px; font-size: .875rem; color: rgba(255,255,255,.78); line-height: 1.45; }
    .learn-list li::before { content: ''; width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; background: rgba(184,137,92,.2); border-radius: 50%; border: 1.5px solid var(--gold); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5L7 11.5L12 6' stroke='%23B8895C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 12px; }

    @media (max-width: 800px) {
      .course-hero-inner { grid-template-columns: 1fr; }
      .course-hero-panel { display: none; }
    }

    /* ── VIDEO SECTION ── */
    .video-section { background: var(--navy-deep); padding: 56px 24px; }
    .video-inner { max-width: 820px; margin: 0 auto; }
    .video-label { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }

    /* Gate panel (shown to logged-out users) */
    .video-gate { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; aspect-ratio: 16/9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 40px 24px; text-align: center; }
    .gate-icon { width: 56px; height: 56px; background: rgba(255,255,255,.06); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .gate-icon svg { width: 24px; height: 24px; fill: none; stroke: rgba(255,255,255,.4); stroke-width: 1.5; }
    .gate-title { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; color: #fff; }
    .gate-text { font-size: .9rem; color: rgba(255,255,255,.55); line-height: 1.6; max-width: 380px; }
    .gate-actions { display: flex; flex-direction: column; align-items: center; gap: 10px; }
    .btn-gate-primary { display: inline-flex; align-items: center; gap: 8px; background: var(--red); color: #fff; text-decoration: none; border-radius: var(--r); padding: 12px 28px; font-size: .9rem; font-weight: 500; }
    .btn-gate-primary:hover { background: #b93f3f; }
    .btn-gate-signin { font-size: .825rem; color: rgba(255,255,255,.45); text-decoration: none; }
    .btn-gate-signin:hover { color: rgba(255,255,255,.75); }

    /* Video iframe wrapper */
    .video-wrapper { aspect-ratio: 16/9; border-radius: 8px; overflow: hidden; background: #000; }
    .video-wrapper iframe { width: 100%; height: 100%; border: none; display: block; }

    /* Video preview toggle (prototype only) */
    .video-preview-toggle { display: flex; justify-content: flex-end; margin-top: 12px; }
    .toggle-btn { font-family: var(--mono); font-size: .7rem; color: rgba(255,255,255,.3); background: none; border: 1px solid rgba(255,255,255,.12); border-radius: 4px; padding: 5px 12px; cursor: pointer; transition: all .2s; }
    .toggle-btn:hover { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.25); }

    /* ── COURSE CONTENT ── */
    .course-content { padding: 64px 24px; }
    .course-content-inner { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }

    /* Main content */
    .content-main h2 { font-family: var(--serif); font-size: 1.4rem; font-weight: 400; color: var(--navy); margin-bottom: 20px; }
    .content-main h3 { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: var(--ink); margin-bottom: 10px; }
    .content-main p { font-size: .95rem; color: #374151; line-height: 1.75; margin-bottom: 16px; }

    /* Chapter list */
    .chapter-list { list-style: none; display: flex; flex-direction: column; gap: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 40px; }
    .chapter-item { display: flex; gap: 0; border-bottom: 1px solid var(--line); }
    .chapter-item:last-child { border-bottom: none; }
    .chapter-num { font-family: var(--mono); font-size: .7rem; color: var(--muted); padding: 16px 20px; min-width: 56px; background: var(--cream); display: flex; align-items: flex-start; padding-top: 18px; }
    .chapter-body { padding: 16px 20px; flex: 1; }
    .chapter-title { font-size: .9rem; font-weight: 500; color: var(--ink); margin-bottom: 3px; }
    .chapter-desc { font-size: .825rem; color: var(--muted); line-height: 1.5; }
    .chapter-dur { font-family: var(--mono); font-size: .7rem; color: var(--muted); padding: 16px 20px; display: flex; align-items: flex-start; padding-top: 18px; white-space: nowrap; }

    /* Takeaways */
    .takeaways { background: var(--cream); border-radius: 8px; padding: 28px 32px; margin-bottom: 40px; }
    .takeaways h3 { font-family: var(--serif); font-size: 1rem; font-weight: 400; color: var(--navy); margin-bottom: 16px; }
    .takeaway-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
    .takeaway-list li { display: flex; gap: 12px; font-size: .875rem; color: #374151; line-height: 1.5; }
    .takeaway-num { font-family: var(--mono); font-size: .7rem; color: var(--gold); font-weight: 500; flex-shrink: 0; min-width: 20px; padding-top: 1px; }

    /* ── SIDEBAR ── */
    .course-sidebar { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 20px; }
    .sidebar-card { background: var(--cream); border-radius: 8px; padding: 24px; }
    .sidebar-card h4 { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
    .sidebar-detail-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .sidebar-detail-list li { display: flex; justify-content: space-between; align-items: baseline; font-size: .85rem; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
    .sidebar-detail-list li:last-child { border-bottom: none; padding-bottom: 0; }
    .sdl-label { color: var(--muted); }
    .sdl-value { color: var(--ink); font-weight: 500; text-align: right; }
    .sidebar-cta-card { background: var(--navy); border-radius: 8px; padding: 24px; }
    .sidebar-cta-card p { font-size: .875rem; color: rgba(255,255,255,.7); line-height: 1.6; margin-bottom: 16px; }
    .btn-sidebar-cta { display: block; text-align: center; background: var(--red); color: #fff; text-decoration: none; border-radius: var(--r); padding: 11px 20px; font-size: .875rem; font-weight: 500; }
    .btn-sidebar-cta:hover { background: #b93f3f; }
    .sidebar-signin { display: block; text-align: center; font-size: .8rem; color: rgba(255,255,255,.4); text-decoration: none; margin-top: 10px; }
    .sidebar-signin:hover { color: rgba(255,255,255,.7); }

    @media (max-width: 800px) {
      .course-content-inner { grid-template-columns: 1fr; }
      .course-sidebar { position: static; }
    }

    /* ── INSTRUCTOR ── */
    .instructor-section { background: var(--cream); padding: 56px 24px; }
    .instructor-inner { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: start; }
    .instructor-photo { width: 88px; height: 88px; border-radius: 50%; background: var(--navy); overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
    .instructor-photo img { width: 100%; height: 100%; object-fit: cover; }
    .instructor-photo-placeholder { font-family: var(--serif); font-size: 2rem; color: rgba(255,255,255,.4); }
    .instructor-label { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
    .instructor-name { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; color: var(--navy); margin-bottom: 4px; }
    .instructor-title { font-size: .85rem; color: var(--muted); margin-bottom: 14px; }
    .instructor-bio { font-size: .9rem; color: #374151; line-height: 1.7; max-width: 600px; }
    @media (max-width: 640px) {
      .instructor-inner { grid-template-columns: 1fr; }
    }

    /* ── NEXT COURSES ── */
    .next-section { padding: 56px 24px; }
    .next-inner { max-width: var(--max); margin: 0 auto; }
    .section-eyebrow { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; }
    .section-heading { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; color: var(--navy); margin-bottom: 32px; }
    .next-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .next-card { border: 1px solid var(--line); border-radius: 8px; padding: 24px; }
    .next-card-badge { font-family: var(--mono); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
    .next-card h4 { font-family: var(--serif); font-size: 1rem; font-weight: 400; color: var(--navy); line-height: 1.35; margin-bottom: 8px; }
    .next-card p { font-size: .825rem; color: var(--muted); line-height: 1.55; margin-bottom: 14px; }
    .next-card-status { font-family: var(--mono); font-size: .7rem; color: var(--muted); display: flex; align-items: center; gap: 6px; }
    .status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); flex-shrink: 0; }
    .status-dot.coming { background: var(--gold); }
    @media (max-width: 768px) { .next-grid { grid-template-columns: 1fr; } }

    /* ── JOIN CTA ── */
    .join-cta { background: var(--navy); padding: 64px 24px; text-align: center; }
    .join-cta h2 { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 400; color: #fff; margin-bottom: 12px; }
    .join-cta p { font-size: .95rem; color: rgba(255,255,255,.65); margin-bottom: 28px; }
    .btn-join { display: inline-flex; align-items: center; gap: 8px; background: var(--red); color: #fff; text-decoration: none; border-radius: var(--r); padding: 14px 32px; font-size: 1rem; font-weight: 500; }
    .btn-join:hover { background: #b93f3f; }
    .join-note { font-size: .8rem; color: rgba(255,255,255,.35); margin-top: 14px; }