
:root{
  --primary:#0F5DA8;
  --primary-dark:#0B4B89;
  --primary-light:#5EA9E6;
  --secondary:#8FC3E5;
  --bg:#F8FBFE;
  --bg-soft:#EEF5FB;
  --surface:#FFFFFF;
  --text:#0B1F38;
  --text-light:#5C6D84;
  --border:#DCE8F5;
  --accent:#0F5DA8;
  --accent-light:#3D8BD8;
  --gold:#FFD166;
  --green:#1E9E6C;
  --shadow:0 20px 60px rgba(15,93,168,.12);
  --shadow-lg:0 35px 80px rgba(15,93,168,.18);
  --sans:'Manrope',sans-serif;
  --disp:'Sora',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.15;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
::selection{background:var(--primary);color:#fff}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:12.5px;color:var(--primary);letter-spacing:.04em;display:inline-block;margin-bottom:12px}
.section{padding:38px 0}
.section.soft{background:var(--bg-soft)}
.section.band{background:linear-gradient(135deg,#0B1220 0%,#4b1acc 55%,#0B5FA8 100%);color:#fff}
.section.band .eyebrow{color:#6EEBB4}
.head{max-width:580px;margin-bottom:44px}
.head h2{font-size:clamp(22px,3.2vw,32px);font-weight:700}
.head p{color:var(--text-light);margin-top:10px;font-size:14.5px}
.section.band .head p{color:rgba(255,255,255,.7)}

/* ---------- reveal utility (shared brand micro-interaction) ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.lr-line{display:inline-block;overflow:hidden;vertical-align:top}
.lr-word{display:inline-block;transform:translateY(115%);opacity:0;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .4s ease}
.reveal.in .lr-word,.head.in .lr-word{transform:translateY(0);opacity:1}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:12px 24px;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent;transition:.2s;white-space:nowrap}
.btn-solid{background:linear-gradient(135deg,#0B5FA8,#287FD1);box-shadow:0 20px 40px rgba(11,95,168,.30);color:#fff}
.btn-solid:hover{background:var(--primary-dark);transform:translateY(-1px)}
.btn-outline{border-color:var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--text)}
.btn-ghost{color:var(--text-light)}
.btn-ghost:hover{color:var(--text)}
.btn-lg{padding:14px 28px;font-size:15px}
.btn-block{width:100%}

/* ================= NAV (original, unchanged) ================= */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.72);backdrop-filter:blur(25px);border-bottom:1px solid rgba(11,95,168,.08);box-shadow:0 15px 40px rgba(11,95,168,.05)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo img{height:55px;width:auto;display:block}
.logo span{color:var(--primary)}
.nav-links{display:flex;gap:8px;align-items:center}
.nav-links>a,.nav-item>a{font-size:14px;color:var(--text-light);transition:.2s;padding:10px 12px;display:inline-block}
.nav-links>a:hover,.nav-item>a:hover{color:var(--text)}
.nav-cta{display:flex;gap:10px;align-items:center}
.burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:22px;height:2px;background:var(--text)}
.nav-item{position:relative}
.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);width:600px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px rgba(11,18,32,.14);padding:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:200}
.nav-item:hover .mega,.nav-item:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega h5{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:10px}
.mega a{display:block;font-size:13.5px;padding:5px 0;color:var(--text)}
.mega a:hover{color:var(--primary)}
.mega-all{color:var(--primary)!important;font-weight:600}
.mega-price{color:var(--green)!important;font-weight:700}
@media(max-width:980px){.mega{display:none}}
@media(max-width:880px){
  .nav-links,.nav-cta{display:none}
  .burger{display:flex}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px 24px;border-bottom:1px solid var(--border);align-items:flex-start;z-index:150}
  .nav-links.open .mega{display:none}
}

/* ================= PAGE HERO ================= */
.page-hero{
  position:relative;
  overflow:hidden;
  padding:60px 0 52px;
  background:
    radial-gradient(circle at 12% 20%, rgba(145,198,232,.30), transparent 32%),
    radial-gradient(circle at 85% 10%, rgba(11,95,168,.24), transparent 38%),
    linear-gradient(180deg,#05172B,#082D52,#0D467A,#07233D);
  color:#fff;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:52px 52px;pointer-events:none;
}
.crumb{position:relative;z-index:2;font-family:var(--mono);font-size:12.5px;color:#9FC6EA;display:flex;gap:8px;align-items:center;margin-bottom:18px}
.crumb a{color:#9FC6EA}
.crumb a:hover{color:#fff}
.crumb .sep{opacity:.5}
.crumb .cur{color:var(--gold)}
.page-hero h1{position:relative;z-index:2;font-size:clamp(28px,4.2vw,44px);font-weight:800;color:#fff;max-width:760px}
.page-hero .tagline{position:relative;z-index:2;font-family:var(--mono);font-size:13px;color:#6EEBB4;margin-top:10px;display:block}
.page-hero .sub{position:relative;z-index:2;color:#cbd5e1;font-size:15.5px;margin-top:14px;max-width:620px}
.hero-badges{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hbadge{font-family:var(--mono);font-size:12px;color:#dbeafe;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:8px 14px;border-radius:20px}

.price-strip{position:relative;z-index:2;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px;padding:16px 22px;background:rgba(255,209,102,.08);border:1px solid rgba(255,209,102,.35);border-radius:14px;max-width:fit-content}
.price-strip .now{font-family:var(--disp);font-size:20px;font-weight:800;color:var(--gold)}
.price-strip .now .on{font-size: 30px; color: rgb(48, 230, 148);}
.price-strip .was{font-family:var(--mono);font-size:15px;color:#9FB2CC;text-decoration:line-through}
.price-strip .off{font-family:var(--mono);font-size:11.5px;background:var(--gold);color:#1a1300;padding:4px 9px;border-radius:6px;font-weight:700}
.price-strip .gstnote{font-family:var(--mono);font-size:11px;color:#fff}
.price-strip .gstnote.on{font-size:18px;}
.price-strip .ani {
    position: relative;

    display: inline-block;

    color: #005495;

    font-weight: 800;

    transform-origin: center;

    animation: priceGlow 1.8s ease-in-out infinite;

    will-change: transform, text-shadow;

    isolation: isolate;
}


/* Moving light */
.price-strip .ani::after {
    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background: linear-gradient(
        110deg,
        transparent,
        rgba(255, 255, 255, 0.9),
        transparent
    );

    transform: skewX(-20deg);

    animation: priceShine 2.8s ease-in-out infinite;

    pointer-events: none;
}


@keyframes priceGlow {

    0%,
    100% {
        transform: scale(1);

        text-shadow:
            0 0 0 rgba(0, 84, 149, 0),
            0 0 0 rgba(0, 168, 255, 0);
    }

    50% {
        transform: scale(1.14);

        text-shadow:
            0 0 5px rgba(0, 84, 149, 0.7),
            0 0 12px rgba(0, 132, 210, 0.6),
            0 0 24px rgba(0, 168, 255, 0.4),
            0 0 40px rgba(0, 168, 255, 0.2);
    }
}


@keyframes priceShine {

    0% {
        left: -120%;
    }

    35%,
    100% {
        left: 150%;
    }
}
.hero-actions{position:relative;z-index:2;display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}

/* ================= MAIN LAYOUT ================= */
.course-layout{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start;padding-top:56px}
.course-main h2{font-size:22px;font-weight:700;margin:44px 0 16px}
.course-main h2:first-child{margin-top:0}
.course-main p{color:var(--text-light);font-size:14.5px;margin-bottom:14px}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:6px}
.check-list li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--text)}
.check-list li::before{content:"✓";color:var(--green);font-weight:700;flex-shrink:0}
@media(max-width:640px){.check-list{grid-template-columns:1fr}}

/* who this is for */
.for-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.for-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px}
.for-card .fi{font-size:18px;margin-bottom:6px}
.for-card strong{display:block;font-size:13.5px;margin-bottom:4px}
.for-card span{font-size:12.5px;color:var(--text-light)}
@media(max-width:640px){.for-grid{grid-template-columns:1fr}}

/* sidebar */
.sidebar{position:sticky;top:92px;display:flex;flex-direction:column;gap:20px}
.info-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.info-card h3{font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.info-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.info-row .ic{width:36px;height:36px;border-radius:9px;background:rgba(11,95,168,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.info-row .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light)}
.info-row .val{font-size:14px;font-weight:600;color:var(--text);margin-top:2px}
.price-row{display:flex;align-items:baseline;gap:10px;margin:18px 0 4px}
.price-row strong{font-family:var(--disp);font-size:28px;color:var(--accent)}
.price-row del{color:var(--text-light);font-size:14px}
.price-row .off-tag{font-family:var(--mono);font-size:11px;background:rgba(30,158,108,.12);color:var(--green);padding:3px 8px;border-radius:6px;font-weight:700}
.price-note{font-size:11.5px;color:var(--text-light);margin-bottom:16px}
.feat-list li{display:flex;justify-content:space-between;font-size:13px;padding:10px 0;border-bottom:1px dashed var(--border);color:var(--text-light)}
.feat-list li span:last-child{color:var(--text);font-weight:600;text-align:right}
.feat-list li:last-child{border-bottom:none}

/* ================= SYLLABUS ACCORDION ================= */
.syllabus{margin-top:6px}
.mod{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden;transition:border-color .2s}
.mod.open{border-color:var(--primary)}
.mod-head{width:100%;display:flex;align-items:center;gap:16px;padding:18px 20px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--sans)}
.mod-num{font-family:var(--mono);font-size:12px;color:var(--primary);background:rgba(11,95,168,.1);border-radius:8px;padding:6px 10px;flex-shrink:0}
.mod-title{flex:1}
.mod-title strong{display:block;font-size:14.5px;font-weight:700;color:var(--text)}
.mod-title span{font-size:12px;color:var(--text-light)}
.mod-plus{font-family:var(--mono);font-size:18px;color:var(--primary);transition:transform .3s;flex-shrink:0}
.mod.open .mod-plus{transform:rotate(45deg)}
.mod-panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.mod-panel-inner{padding:0 20px 20px 66px}
.mod-topics{display:flex;flex-wrap:wrap;gap:8px}
.mod-topics span{font-family:var(--mono);font-size:11.5px;color:var(--primary-dark);background:var(--bg-soft);border:1px solid var(--border);padding:5px 10px;border-radius:6px}
.mod.ai .mod-num{background:rgba(30,158,108,.14);color:var(--green)}

/* ================= TRAINER ================= */
.trainer-card{display:flex;gap:26px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 1px 2px rgba(11,18,32,.03)}
.trainer-avatar{width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--disp);font-size:30px;font-weight:700;overflow:hidden}
.trainer-avatar img{width:100%;height:100%;object-fit:cover}
.trainer-info h4{font-size:16.5px;font-weight:700}
.trainer-info .role{font-size:12.5px;color:var(--primary);font-family:var(--mono);margin:4px 0 10px}
.trainer-info p{font-size:13px;color:var(--text-light)}
.trainer-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.trainer-tags span{font-size:11px;background:var(--bg-soft);border:1px solid var(--border);padding:4px 10px;border-radius:14px;color:var(--text-light)}
@media(max-width:560px){.trainer-card{flex-direction:column;text-align:center}.trainer-tags{justify-content:center}}

/* ================= STATS BAND ================= */
.stats-grid{grid-template-columns:repeat(4,1fr);text-align:center;display:grid;gap:28px}
.stat strong{font-family:var(--disp);font-size:clamp(26px,3vw,38px);color:#fff;display:block;text-shadow:0 0 20px rgba(59,130,246,.35)}
.stat span{font-size:13px;color:rgba(255,255,255,.7)}
@media(max-width:640px){.stats-grid{grid-template-columns:1fr 1fr}}

/* ================= GROW YOUR CAREER ================= */
.career-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.role-cards{display:flex;flex-direction:column;gap:12px}
.role-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 20px;transition:.2s;gap:14px}
.role-card:hover{border-color:var(--primary);transform:translateX(4px)}
.role-card .rname{font-size:14px;font-weight:600}
.role-card .rsalary{font-family:var(--mono);font-size:12.5px;color:var(--accent);font-weight:600;text-align:right;flex-shrink:0}
.partners-box{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px}
.partners-box h4{font-size:12px;font-family:var(--mono);text-transform:uppercase;color:var(--text-light);margin-bottom:16px}
.partner-tags{display:flex;flex-wrap:wrap;gap:10px}
.partner-tags span{font-size:12.5px;background:var(--bg-soft);border:1px solid var(--border);padding:7px 14px;border-radius:8px;color:var(--text)}
@media(max-width:900px){.career-grid{grid-template-columns:1fr}}

/* ================= FINAL CTA ================= */
.final-cta{background:#fff;border:1px solid var(--border);border-radius:20px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:var(--shadow)}
.final-cta h3{font-size:20px;margin-bottom:6px}
.final-cta p{color:var(--text-light);font-size:14px}
.final-cta .fc-price{font-family:var(--mono);font-size:13px;color:var(--green);margin-top:8px;display:block}
@media(max-width:700px){.final-cta{flex-direction:column;text-align:center}}

@media(max-width:960px){
  .course-layout{grid-template-columns:1fr}
  .sidebar{position:static}
}

/* ================= FOOTER (original, unchanged) ================= */
.footer{background:radial-gradient(circle at top,rgba(94,169,230,.18),transparent 45%),linear-gradient(180deg,#08233F 0%,#04182E 100%);color:#8A93AC;padding:60px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:20px}
.f-brand .logo{display:block;margin-bottom:12px;color:#fff;font-family:var(--disp);font-weight:700;font-size:20px}
.footer p{font-size:13px;color:#8A93AC;line-height:1.7}
.f-social{display:flex;gap:8px;margin:16px 0}
.f-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:11px;font-family:var(--mono);color:#8A93AC}
.f-social a:hover{background:var(--primary);color:#fff}
.footer h5{font-size:13px;margin-bottom:14px;color:#fff}
.footer ul li{margin-bottom:9px}
.footer ul li a{font-size:13px;color:#8A93AC}
.footer ul li a:hover{color:#6EEBB4}
.f-contact{font-family:var(--mono);font-size:12.5px;color:#8A93AC;margin-top:6px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding:20px 0;text-align:center;font-size:12px;color:#5B6472}

/* ---- lamp signature (original) ---- */
.lamp-section{position:relative;width:100%;height:40vh;min-height:280px;overflow:hidden;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 50% -15%,rgba(94,169,230,.18) 0%,rgba(94,169,230,.08) 25%,transparent 55%),radial-gradient(circle at center,rgba(11,95,168,.12),transparent 65%),linear-gradient(180deg,#08233F 0%,#06213C 35%,#04182E 100%)}
.lamp-wrapper{width:100%;max-width:1400px;height:100%;position:relative}
.lamp-top-line{position:absolute;top:8%;left:50%;transform:translateX(-50%);width:62%;height:3px;border-radius:20px;background:#5EA9E6;box-shadow:0 0 10px #5EA9E6,0 0 30px rgba(94,169,230,.5),0 0 60px rgba(94,169,230,.35)}
.lamp-glow-back{position:absolute;top:-55%;left:50%;transform:translateX(-50%);width:70vw;height:70vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(94,169,230,.55) 0%,rgba(94,169,230,.28) 22%,rgba(94,169,230,.12) 42%,rgba(94,169,230,.05) 58%,transparent 76%);filter:blur(95px);opacity:.95}
.lamp-glow{position:absolute;max-width:650px;max-height:650px;top:-38%;left:50%;transform:translateX(-50%);width:45vw;height:45vw;border-radius:50%;background:radial-gradient(circle,rgba(94,169,230,.95),rgba(94,169,230,.42) 30%,rgba(94,169,230,.18) 52%,rgba(94,169,230,.08) 66%,transparent 78%);filter:blur(80px);animation:lampPulse 5s ease-in-out infinite}
.lamp-glow-back{animation:lampPulse 5s ease-in-out infinite}
@keyframes lampPulse{0%{transform:translateX(-50%) scale(1);opacity:.92}50%{transform:translateX(-50%) scale(1.08);opacity:1}100%{transform:translateX(-50%) scale(1);opacity:.92}}
.shadow-mask{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,transparent 28%,rgba(8,35,63,.12) 45%,rgba(8,35,63,.35) 60%,rgba(4,24,46,.72) 80%,#04182E 100%)}
.lamp-content{position:absolute;width:100%;top:34%;transform:translateY(-15%);left:0;display:flex;justify-content:center;text-align:center;z-index:20}
.lamp-title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0;user-select:none;opacity:0}
.lamp-main{position:relative;display:block;font-family:Inter,sans-serif;font-size:clamp(52px,7vw,140px);font-weight:900;line-height:.9;letter-spacing:-3px;text-transform:uppercase;background:linear-gradient(90deg,#1d05a3 0%,#6d56db 18%,#11acee 36%,#4d3cd0 50%,#401388 65%,#4867d7 82%,#6583e5 100%);background-size:300% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientFlow 8s linear infinite}
.lamp-sub{position:relative;display:block;margin-top:16px;font-size:clamp(11px,1.1vw,18px);font-weight:700;letter-spacing:5px;text-transform:uppercase;color:#dbeafe;opacity:.92}
@keyframes gradientFlow{from{background-position:0% center}to{background-position:300% center}}

.popup{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;justify-content:center;align-items:center;z-index:9999}
.popup.show{display:flex}
.popup-content{width:420px;max-width:95%;background:#fff;padding:30px;border-radius:15px;position:relative;animation:popup .35s}
@keyframes popup{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.close-popup{position:absolute;right:18px;top:12px;cursor:pointer;font-size:26px}
.popup input{width:100%;padding:12px;margin-top:15px;border:1px solid #ddd;border-radius:8px}
.popup button{width:100%;margin-top:20px;padding:12px;background:#005495;color:#fff;border:none;border-radius:8px;cursor:pointer}
