/* ===== KrisLMS — cafram.css ===== */

:root{--navy:#0f2044;--navy-mid:#1b3a6b;--teal:#0e7490;--gold:#c9a84c;--gold-lt:#f0d080;--cream:#faf8f3;--white:#fff;--g100:#f3f4f6;--g200:#e5e7eb;--g300:#d1d5db;--g400:#9ca3af;--g500:#6b7280;--g700:#374151;--text:#1a2332;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:300;background:rgba(15,32,68,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:68px;}
.nl{display:flex;flex-direction:column;line-height:1;text-decoration:none;}
.nl .wm{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#fff;}
.nl .wm span{color:var(--gold);}
.nl .tg{font-size:9px;color:rgba(255,255,255,.4);letter-spacing:.15em;text-transform:uppercase;margin-top:3px;font-family:'DM Mono',monospace;}
.nv{display:flex;align-items:center;gap:28px;list-style:none;}
.nv a{font-size:13px;font-weight:500;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s;}
.nv a:hover,.nv a.active{color:var(--gold-lt);}
.nv .login{background:var(--gold);color:var(--navy)!important;padding:8px 20px;border-radius:4px;font-weight:600!important;}

/* HERO */
.hero{background:var(--navy);padding-top:102px;position:relative;overflow:hidden;min-height:280px;display:flex;align-items:flex-end;}
.h-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.2;}
.h-pat{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.05) 1px,transparent 1px);background-size:60px 60px;}
.h-glow{position:absolute;inset:0;background:radial-gradient(ellipse 50% 90% at 0% 60%,rgba(14,116,144,.22) 0%,transparent 70%);}
.h-in{position:relative;z-index:2;width:100%;padding:44px 64px 40px;max-width:1300px;margin:0 auto;}
.bc{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.bc a,.bc span{font-size:11px;font-family:'DM Mono',monospace;text-decoration:none;}
.bc a{color:rgba(255,255,255,.35);transition:color .2s;}.bc a:hover{color:var(--gold);}
.bc-sep{color:rgba(255,255,255,.2);}.bc .cur{color:var(--gold);}
.h-dom{font-size:10px;font-weight:600;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-family:'DM Mono',monospace;margin-bottom:8px;}
.h-title{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px;max-width:680px;}
.h-sf{font-family:'DM Mono',monospace;font-size:12px;color:rgba(255,255,255,.38);margin-bottom:8px;}
.h-tag{font-size:14px;color:rgba(255,255,255,.52);line-height:1.6;margin-bottom:20px;max-width:560px;}
.pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:26px;}
.pill{display:inline-flex;align-items:center;padding:4px 11px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:'DM Mono',monospace;}
.p-cert{background:rgba(255,255,255,.12);color:rgba(255,255,255,.85);}
.p-cpd{background:var(--gold);color:var(--navy);}
.p-cpd-pending{background:rgba(201,168,76,.2);color:var(--gold-lt);border:1px solid rgba(201,168,76,.4);}
.p-live{background:#16a34a;color:#fff;}
.p-launching{background:#0369a1;color:#fff;}
.p-corporate{background:rgba(14,116,144,.3);color:#67e8f9;}
.p-nism{background:#4c1d95;color:#c4b5fd;}
.h-cta{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy);padding:12px 26px;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;}
.h-cta:hover{background:var(--gold-lt);}

/* PAGE BODY */
.body{max-width:1300px;margin:0 auto;padding:44px 64px 72px;display:grid;grid-template-columns:1fr 296px;gap:44px;align-items:start;}

/* LEFT COLUMN */
.sec{margin-bottom:30px;}
.sec:last-child{margin-bottom:0;}
.sec-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;color:var(--navy);margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--g200);}
.para{font-size:14px;color:var(--g500);line-height:1.88;margin-bottom:10px;}
.para:last-child{margin-bottom:0;}

.note{background:#fefce8;border:1px solid #fde68a;border-left:4px solid var(--gold);border-radius:8px;padding:11px 14px;margin-top:14px;display:flex;gap:10px;}
.note-lbl{font-size:9px;font-weight:700;color:#92400e;font-family:'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;margin-top:2px;white-space:nowrap;}
.note-txt{font-size:12px;color:var(--g700);line-height:1.7;}

.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.oc{display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--g200);border-radius:7px;padding:9px 11px;}
.oc-tick{width:16px;height:16px;border-radius:50%;background:rgba(14,116,144,.1);color:var(--teal);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.oc-txt{font-size:12px;color:var(--g700);line-height:1.5;}

.aud{display:flex;flex-wrap:wrap;gap:7px;}
.aud-tag{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--g200);border-radius:20px;padding:5px 12px;font-size:12px;color:var(--g700);}
.aud-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;}

.instr{background:var(--navy);border-radius:12px;padding:22px;display:flex;gap:18px;align-items:flex-start;}
.instr-lbl{font-size:9px;font-weight:700;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-family:'DM Mono',monospace;margin-bottom:7px;}
.instr-photo{width:70px;height:70px;border-radius:50%;flex-shrink:0;background:rgba(255,255,255,.08);border:2px solid rgba(201,168,76,.35);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;font-family:'Playfair Display',serif;color:var(--gold);font-weight:700;}
.instr-photo img{width:100%;height:100%;object-fit:cover;}
.instr-name{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:#fff;margin-bottom:2px;}
.instr-role{font-size:11px;color:rgba(255,255,255,.38);margin-bottom:7px;}
.instr-bio{font-size:12px;color:rgba(255,255,255,.56);line-height:1.7;}

.related{display:flex;flex-direction:column;gap:7px;}
.rel-card{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--g200);border-radius:8px;padding:11px 13px;text-decoration:none;transition:all .2s;}
.rel-card:hover{border-color:var(--gold);transform:translateX(3px);}
.rel-sf{font-family:'DM Mono',monospace;font-size:10px;font-weight:700;color:var(--navy-mid);background:var(--g100);border-radius:4px;padding:3px 7px;flex-shrink:0;}
.rel-ttl{font-size:12px;font-weight:600;color:var(--navy);line-height:1.35;}
.rel-dom{font-size:10px;color:var(--g400);margin-top:1px;font-family:'DM Mono',monospace;}
.rel-arr{color:var(--g300);font-size:13px;flex-shrink:0;margin-left:auto;}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:84px;}

.enrol{background:var(--navy);border-radius:12px;padding:20px;text-align:center;}
.enrol-tagline{font-size:11px;color:rgba(255,255,255,.38);font-family:'DM Mono',monospace;margin-bottom:16px;letter-spacing:.04em;line-height:1.5;}
.cta-buy{display:block;width:100%;background:var(--gold);color:var(--navy);padding:13px;border-radius:6px;font-size:14px;font-weight:700;text-decoration:none;text-align:center;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;}
.cta-buy:hover{background:var(--gold-lt);}
.cta-enquire{display:block;width:100%;background:transparent;color:rgba(255,255,255,.75);padding:13px;border-radius:6px;border:1px solid rgba(255,255,255,.25);font-size:14px;font-weight:600;text-decoration:none;text-align:center;transition:all .2s;cursor:pointer;font-family:'DM Sans',sans-serif;}
.cta-enquire:hover{border-color:var(--gold);color:var(--gold);}

/* Unified detail+delivery+geo card */
.scard{background:#fff;border:1px solid var(--g200);border-radius:12px;overflow:hidden;}
.card-head{background:var(--g100);padding:8px 14px;font-size:9px;font-weight:700;color:var(--g500);letter-spacing:.1em;text-transform:uppercase;font-family:'DM Mono',monospace;border-bottom:1px solid var(--g200);}

.drow{display:flex;align-items:flex-start;gap:9px;padding:9px 14px;border-bottom:1px solid var(--g100);}
.drow:last-child{border-bottom:none;}
.drow-icon{font-size:13px;flex-shrink:0;margin-top:2px;}
.drow-lbl{font-size:9px;color:var(--g400);font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1px;}
.drow-val{font-size:12px;color:var(--g700);font-weight:500;line-height:1.4;}

/* Section divider within card */
.card-divider{height:1px;background:var(--g200);}

.del-item{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--g100);font-size:12px;font-weight:500;}
.del-item:last-child{border-bottom:none;}
.del-item.on{color:var(--teal);}
.del-item.off{color:var(--g300);}
.del-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.del-item.on .del-dot{background:var(--teal);}
.del-item.off .del-dot{background:var(--g200);}

.geo-row{display:flex;gap:7px;padding:11px 14px;flex-wrap:wrap;}
.geo-pill{padding:4px 11px;border-radius:20px;font-size:11px;font-weight:600;font-family:'DM Mono',monospace;}
.geo-pill.on{background:rgba(14,116,144,.1);color:var(--teal);border:1px solid rgba(14,116,144,.2);}
.geo-pill.off{background:var(--g100);color:var(--g300);border:1px solid var(--g200);}

/* CPD block — only shown when accreditation is set */
.cpd-block{background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(201,168,76,.02));border:1px solid rgba(201,168,76,.25);border-radius:12px;padding:14px;display:flex;align-items:center;gap:13px;}
.cpd-logo-wrap{flex-shrink:0;width:50px;height:50px;border-radius:7px;background:#fff;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cpd-logo-wrap img{width:100%;height:100%;object-fit:contain;padding:4px;}
.cpd-badge-box{width:50px;height:50px;border-radius:7px;background:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cpd-badge-box span{font-size:8px;font-weight:700;color:var(--navy);font-family:'DM Mono',monospace;text-align:center;line-height:1.3;letter-spacing:.04em;}
.cpd-lbl{font-size:9px;font-weight:700;color:#92400e;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;}
.cpd-txt{font-size:12px;color:var(--g700);line-height:1.5;}
.cpd-prov{font-size:10px;color:var(--g400);margin-top:2px;font-family:'DM Mono',monospace;}


/* INSTRUCTOR MODAL */
.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(10,18,36,.75);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.3);}
.modal-header{background:var(--navy);border-radius:16px 16px 0 0;padding:28px 28px 24px;display:flex;gap:20px;align-items:flex-start;position:sticky;top:0;z-index:2;}
.modal-photo{width:80px;height:80px;border-radius:50%;flex-shrink:0;border:3px solid rgba(201,168,76,.4);background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:26px;font-family:'Playfair Display',serif;color:var(--gold);font-weight:700;overflow:hidden;}
.modal-photo img{width:100%;height:100%;object-fit:cover;}
.modal-header-info{flex:1;}
.modal-label{font-size:9px;font-weight:700;color:var(--gold);font-family:'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;}
.modal-name{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:3px;}
.modal-role{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5;}
.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;color:rgba(255,255,255,.6);font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.modal-close:hover{background:rgba(255,255,255,.2);color:#fff;}
.modal-body{padding:24px 28px 28px;}
.modal-section-title{font-size:10px;font-weight:700;color:var(--g400);font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;margin-top:20px;}
.modal-section-title:first-child{margin-top:0;}
.modal-para{font-size:13px;color:var(--g700);line-height:1.8;margin-bottom:10px;}
.modal-para:last-child{margin-bottom:0;}
.modal-creds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.modal-cred{background:var(--g100);border:1px solid var(--g200);border-radius:4px;padding:4px 9px;font-size:11px;font-weight:600;color:var(--navy-mid);font-family:'DM Mono',monospace;}
.modal-linkedin{display:inline-flex;align-items:center;gap:8px;margin-top:20px;background:#0a66c2;color:#fff;padding:10px 18px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;}
.modal-linkedin:hover{background:#004182;}
.modal-linkedin svg{width:16px;height:16px;fill:#fff;flex-shrink:0;}
/* View profile trigger */
.instr-view-btn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;font-weight:600;color:rgba(255,255,255,.45);background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;padding:0;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.2);transition:color .2s;}
.instr-view-btn:hover{color:var(--gold-lt);}
/* LinkedIn-only button (training partners) */
.instr-linkedin-sm{display:inline-flex;align-items:center;gap:6px;margin-top:10px;background:rgba(10,102,194,.18);color:#7eb8f7;padding:7px 13px;border-radius:5px;font-size:11px;font-weight:600;text-decoration:none;border:1px solid rgba(10,102,194,.3);transition:all .2s;}
.instr-linkedin-sm:hover{background:rgba(10,102,194,.3);}
.instr-linkedin-sm svg{width:13px;height:13px;fill:#7eb8f7;}

@media(max-width:900px){
  .body{grid-template-columns:1fr;padding:28px 20px 60px;}
  .h-in{padding:36px 20px 32px;}
  .outcomes{grid-template-columns:1fr;}
  nav{padding:0 20px;}
  .sidebar{position:static;}
}

/* ── SITE-WIDE TICKER ── */
.ticker-bar{position:fixed;top:68px;left:0;right:0;z-index:290;background:rgba(8,15,34,.96);border-bottom:1px solid rgba(201,168,76,.15);backdrop-filter:blur(8px);height:34px;overflow:hidden;}
.ticker-bar::before,.ticker-bar::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.ticker-bar::before{left:0;background:linear-gradient(90deg,rgba(8,15,34,.98),transparent);}
.ticker-bar::after{right:0;background:linear-gradient(270deg,rgba(8,15,34,.98),transparent);}
.ticker-track{display:flex;align-items:center;height:34px;animation:tickerSlide 40s linear infinite;width:max-content;}
.ticker-track:hover{animation-play-state:paused;}
.ticker-item{display:inline-flex;align-items:center;gap:9px;padding:0 48px 0 0;white-space:nowrap;}
.ticker-tag{font-size:8px;font-weight:700;padding:2px 7px;border-radius:3px;font-family:'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;}
.ticker-tag.new{background:rgba(201,168,76,.15);color:#c9a84c;border:1px solid rgba(201,168,76,.25);}
.ticker-tag.live{background:rgba(22,163,74,.12);color:#4ade80;border:1px solid rgba(22,163,74,.25);}
.ticker-tag.cpd{background:rgba(139,92,246,.12);color:#a78bfa;border:1px solid rgba(139,92,246,.25);}
.ticker-tag.info{background:rgba(255,255,255,.06);color:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.1);}
.ticker-tag.soon{background:rgba(14,116,144,.15);color:#0ea5c9;border:1px solid rgba(14,116,144,.25);}
.ticker-text{font-size:11.5px;color:rgba(255,255,255,.42);font-family:'DM Sans',sans-serif;font-weight:400;}
.ticker-sep{width:1px;height:14px;background:rgba(255,255,255,.1);margin:0 20px 0 -32px;flex-shrink:0;}
@keyframes tickerSlide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* Push page content down to account for ticker */
body.has-ticker nav ~ *:not(.ticker-bar){margin-top:0;}