  :root {
    --bg: #0d0f14;
    --bg2: #13161e;
    --bg3: #1a1e2a;
    --card: #1e2333;
    --border: #2a2f42;
    --gold: #e8b84b;
    --gold2: #f5d27a;
    --teal: #38c9b0;
    --rose: #e86b6b;
    --text: #e8eaf0;
    --muted: #dde2f2;
    --accent: #5b7fff;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.75;overflow-x:hidden;padding-bottom:60px;}

  /* ── SCROLLBAR ── */
  ::-webkit-scrollbar{width:6px;}
  ::-webkit-scrollbar-track{background:var(--bg);}
  ::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}

  /* ── NAV ── */
  nav{position:fixed;top:0;left:0;width:100%;z-index:100;background:rgba(13,15,20,0.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 2rem;}
  .nav-inner{margin:0 auto;height:62px;display:flex;align-items:center;justify-content:space-between;}
  .nav-logo{display:flex;align-items:center;gap:0.7rem;text-decoration:none;}
  .nav-logo img{height:26px;width:auto;object-fit:contain;}
  .nav-logo span{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--gold);letter-spacing:0.02em;}
  .nav-links{display:flex;align-items:center;gap:0;list-style:none;flex-wrap:nowrap;}
  .nav-links li{display:flex;align-items:center;}
  .nav-links li+li::before{content:'|';color:var(--muted);margin:0 0.55rem;font-size:0.75rem;}
  .nav-links a{color:var(--muted);text-decoration:none;font-size:0.72rem;font-weight:500;letter-spacing:0.03em;text-transform:uppercase;transition:color 0.2s;white-space:nowrap;}
  .nav-links a:hover{color:var(--gold);}
  .progress-bar{position:fixed;top:62px;left:0;height:2px;background:var(--gold);width:0%;z-index:101;transition:width 0.1s linear;}

  /* ── HERO ── */
  .hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden;}
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(232,184,75,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(232,184,75,0.06) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 20s linear infinite;}
  @keyframes gridMove{0%{transform:translate(0,0);}100%{transform:translate(60px,60px);}}
  .hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(91,127,255,0.12) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);}
  .hero-content{position:relative;z-index:1;}
  .hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900;line-height:1.1;margin-bottom:1.5rem;animation:fadeUp 0.8s 0.1s ease both;}
  .hero h1 em{font-style:normal;color:var(--gold);}
  .hero p{font-size:1.15rem;color:var(--muted);margin:0 auto 2.5rem;animation:fadeUp 0.8s 0.2s ease both;}
  .hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp 0.8s 0.3s ease both;}
  .btn{padding:0.85rem 2rem;border-radius:6px;font-weight:600;font-size:0.95rem;cursor:pointer;text-decoration:none;transition:all 0.2s;display:inline-block;border:none;}
  .btn-gold{background:var(--gold);color:#0d0f14;}
  .btn-gold:hover{background:var(--gold2);transform:translateY(-2px);}
  .btn-outline{border:1px solid var(--border);color:var(--text);background:transparent;}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold);}
  .hero-stats{display:flex;gap:3rem;justify-content:center;margin-top:4rem;animation:fadeUp 0.8s 0.4s ease both;}
  .stat span{display:block;}
  .stat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--gold);}
  .stat-label{font-size:0.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;}
  @keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

  /* ── SECTIONS ── */
  .section{max-width:1100px;margin:0 auto;padding:5rem 2rem;}
  .section-label{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--gold);font-weight:600;margin-bottom:0.8rem;font-family:'DM Mono',monospace;}
  .section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;line-height:1.2;margin-bottom:1.2rem;}
  .section-intro{color:#dde2f2;font-size:1.05rem;margin-bottom:3rem;}

  /* ── COURSE MAP ── */
  .course-map{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:2.5rem;margin-bottom:4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;}
  .module-pill{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem;display:flex;align-items:center;gap:0.8rem;text-decoration:none;color:var(--text);transition:all 0.2s;cursor:pointer;}
  .module-pill:hover{border-color:var(--gold);background:rgba(232,184,75,0.05);}
  .module-num{font-family:'DM Mono',monospace;font-size:0.75rem;color:var(--gold);min-width:24px;}
  .module-name{font-size:0.9rem;font-weight:500;}

  /* ── CARDS ── */
  .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
  .card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:2rem;transition:border-color 0.2s,transform 0.2s;}
  .card:hover{border-color:var(--gold);transform:translateY(-3px);}
  .card-header{display:flex;align-items:flex-start;gap:0.8rem;margin-bottom:0.8rem;} .card-icon{flex-shrink:0;margin-top:0.1rem;}
  .card h3{font-family:'Playfair Display',serif;font-size:1rem;margin:0;}
  .card-header{display:flex;align-items:flex-start;gap:0.8rem;margin-bottom:0.8rem;} .card-icon{flex-shrink:0;margin-top:0.1rem;}
  .card p{color:#dde2f2;font-size:0.93rem;}

  /* ── MODULE SECTIONS ── */
  .module-section{background:var(--bg2);border:1px solid var(--border);border-radius:20px;margin-bottom:3rem;overflow:hidden;}
  .module-header{padding:2rem 2.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1.2rem;}
  .module-badge{background:rgba(232,184,75,0.12);border:1px solid rgba(232,184,75,0.3);color:var(--gold);padding:0.3rem 0.8rem;border-radius:6px;font-family:'DM Mono',monospace;font-size:0.78rem;white-space:nowrap;}
  .module-header h2{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;}
  .module-body{padding:2.5rem;}
  .module-body p{margin-bottom:1.2rem;color:#e8eaf0;}
  .module-body p:last-child{margin-bottom:0;}

  /* ── CALLOUT ── */
  .callout{background:rgba(91,127,255,0.07);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:1.2rem 1.5rem;margin:1.5rem 0;color:var(--text);font-size:0.95rem;}
  .callout.gold{background:rgba(232,184,75,0.07);border-left-color:var(--gold);}
  .callout.teal{background:rgba(56,201,176,0.07);border-left-color:var(--teal);}
  .callout.rose{background:rgba(232,107,107,0.07);border-left-color:var(--rose);}
  .callout strong{color:var(--gold);}
  .callout.teal strong{color:var(--teal);}
  .callout.rose strong{color:var(--rose);}

  /* ── FIGURE ── */
  .fig-wrap{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:2rem;margin:2rem 0;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box;}
  .fig-wrap svg{display:block;margin:0 auto;max-width:100%;}
  .fig-caption{font-size:0.85rem;color:#dde2f2;margin-top:1rem;}

  /* ── VIDEO ── */
  .video-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin:2rem 0;}
  .video-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color 0.2s;}
  .video-card:hover{border-color:var(--gold);}
  .video-thumb{position:relative;aspect-ratio:16/9;background:#0a0b10;cursor:pointer;overflow:hidden;}
  .video-thumb iframe{width:100%;height:100%;border:none;}
  .video-info{padding:1rem 1.2rem;}
  .video-title{font-weight:600;font-size:0.95rem;margin-bottom:0.3rem;}
  .video-meta{font-size:0.8rem;color:#dde2f2;}

  /* ── NEURAL NET ANIMATION ── */
  .neural-net{width:100%;margin:0 auto;display:block;}
  .node{fill:var(--bg3);stroke:var(--border);stroke-width:2;}
  .node.input{stroke:var(--rose);}
  .node.hidden{stroke:var(--accent);}
  .node.output{stroke:var(--teal);}
  .edge{stroke:var(--border);stroke-width:1;opacity:0.4;}
  .pulse{stroke-width:1.5;fill:none;stroke-dasharray:4,4;animation:dashMove 2s linear infinite;}
  .pulse.p1{stroke:var(--teal);animation-delay:0s;}
  .pulse.p2{stroke:var(--accent);animation-delay:0.4s;}
  .pulse.p3{stroke:var(--gold);animation-delay:0.8s;}
  @keyframes dashMove{to{stroke-dashoffset:-20;}}

  /* ── AI TYPES DIAGRAM ── */
  .ai-types{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0;}
  @media(max-width:768px){.ai-types{grid-template-columns:1fr;}}
  .ai-type-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:1.5rem;}
  .ai-type-card h4{font-family:'Playfair Display',serif;margin-bottom:0.5rem;font-size:1.1rem;}
  .ai-type-card p{font-size:0.88rem;color:#dde2f2;}
  .ai-type-card .tag{display:inline-block;padding:0.2rem 0.6rem;border-radius:4px;font-size:0.72rem;font-weight:600;margin-bottom:0.6rem;font-family:'DM Mono',monospace;white-space:nowrap;}
  .tag-gold{background:rgba(232,184,75,0.12);color:var(--gold);}

  /* ── RESPONSIBILITY CHECKLIST ── */
  .checklist{list-style:none;margin:1.5rem 0;}
  .checklist li{padding:0.9rem 1.2rem;background:var(--bg3);border:1px solid var(--border);border-radius:10px;margin-bottom:0.7rem;display:flex;gap:1rem;align-items:flex-start;font-size:0.95rem;}
  .checklist li .icon{flex-shrink:0;margin-top:0.15rem;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
  .checklist li strong{color:var(--text);display:block;margin-bottom:0.2rem;}
  .checklist li span{color:#dde2f2;font-size:0.88rem;}

  /* ── BIAS VIZ ── */
  .bias-bars{margin:1.5rem 0;}
  .bias-bar-row{display:flex;align-items:center;gap:1rem;margin-bottom:0.8rem;}
  .bias-label{font-size:0.82rem;color:var(--muted);width:110px;flex-shrink:0;font-family:'DM Mono',monospace;}
  .bias-bar-outer{flex:1;background:var(--bg3);border-radius:4px;height:22px;overflow:hidden;border:1px solid var(--border);}
  .bias-bar-inner{height:100%;border-radius:4px;display:flex;align-items:center;padding-left:8px;font-size:0.75rem;font-weight:600;transition:width 1.5s ease;}
  .bar-teal{background:rgba(56,201,176,0.3);border-right:2px solid var(--teal);color:var(--teal);}
  .bar-rose{background:rgba(232,107,107,0.3);border-right:2px solid var(--rose);color:var(--rose);}
  .bar-gold{background:rgba(232,184,75,0.3);border-right:2px solid var(--gold);color:var(--gold);}

  /* ── FUTURE TIMELINE ── */
  .timeline{position:relative;padding-left:2.5rem;margin:2rem 0;}
  .timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--teal),var(--accent),var(--gold));}
  .tl-item{position:relative;margin-bottom:2rem;padding-left:0;}
  .tl-item::before{display:none;}
  .tl-year{font-family:'DM Mono',monospace;font-size:0.78rem;color:var(--gold);margin-bottom:0.3rem;}
  .tl-title{font-weight:600;font-size:1rem;margin-bottom:0.3rem;}
  .tl-desc{color:#dde2f2;font-size:0.88rem;}

  /* ── QUIZ ── */
  .quiz{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:2rem;margin:2rem 0;}
  .quiz h4{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:1.2rem;}
  .quiz-options{display:flex;flex-direction:column;gap:0.6rem;}
  .quiz-opt{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:0.8rem 1.2rem;cursor:pointer;font-size:0.92rem;transition:all 0.2s;text-align:left;color:var(--text);}
  .quiz-opt:hover{border-color:var(--gold);color:var(--gold);background:rgba(232,184,75,0.05);}
  .quiz-opt.correct{border-color:var(--gold);background:rgba(232,184,75,0.1);color:var(--gold);}
  .quiz-opt.wrong{border-color:var(--rose);background:rgba(232,107,107,0.1);color:var(--rose);}
  .quiz-feedback{margin-top:1rem;padding:0.8rem 1rem;border-radius:8px;font-size:0.9rem;display:none;}
  .quiz-feedback.show{display:block;}
  .quiz-feedback.correct{background:rgba(232,184,75,0.1);color:var(--gold);border:1px solid rgba(232,184,75,0.3);}
  .quiz-feedback.wrong{background:rgba(232,107,107,0.1);color:var(--rose);border:1px solid rgba(232,107,107,0.3);}

  /* ── GLOSSARY WIDGET ── */
  .gloss-widget{background:var(--bg2);border:1px solid var(--border);border-radius:20px;overflow:hidden;}
  .gloss-controls{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--bg3);}
  .gloss-search-wrap{display:flex;align-items:center;gap:0.5rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:0.5rem 0.8rem;flex:1;min-width:200px;}
  .gloss-search-icon{font-size:0.9rem;flex-shrink:0;}
  .gloss-search-wrap input{background:transparent;border:none;outline:none;color:var(--text);font-size:0.9rem;font-family:'DM Sans',sans-serif;width:100%;}
  .gloss-search-wrap input::placeholder{color:var(--muted);}
  .gloss-clear{background:none;border:none;color:var(--muted);cursor:pointer;font-size:0.85rem;padding:0 0.2rem;line-height:1;}
  .gloss-clear:hover{color:var(--text);}
  .gloss-tabs{display:flex;gap:0.4rem;flex-shrink:0;}
  .gtab{background:transparent;border:1px solid var(--border);color:var(--muted);padding:0.4rem 0.9rem;border-radius:6px;cursor:pointer;font-size:0.8rem;font-family:'DM Mono',monospace;font-weight:500;transition:all 0.15s;}
  .gtab:hover{border-color:var(--gold);color:var(--gold);}
  .gtab.active{background:var(--gold);border-color:var(--gold);color:#0d0f14;}
  .gloss-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;}
  @media(max-width:700px){.gloss-grid{grid-template-columns:1fr;}}
  .gloss-entry{padding:1rem 1.5rem;border-bottom:1px solid var(--border);transition:background 0.15s;}
  .gloss-entry:nth-child(odd){border-right:1px solid var(--border);}
  .gloss-entry:hover{background:rgba(232,184,75,0.04);}
  .gloss-entry.hidden{display:none;}
  .gloss-term{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--gold);margin-bottom:0.3rem;}
  .gloss-def{color:#dde2f2;font-size:0.88rem;line-height:1.6;}
  .gloss-def em{color:var(--teal);font-style:normal;}
  .gloss-highlight{background:rgba(232,184,75,0.25);border-radius:2px;padding:0 1px;}
  .gloss-count{text-align:center;padding:0.8rem;font-size:0.8rem;color:var(--muted);font-family:'DM Mono',monospace;border-top:1px solid var(--border);background:var(--bg3);}

  /* ── BACK TO TOP ── */
  .back-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--gold);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);transition:opacity 0.3s,transform 0.3s;z-index:200;box-shadow:0 4px 16px rgba(0,0,0,0.4);}
  .back-top.visible{opacity:1;transform:translateY(0);}
  .back-top:hover{background:var(--gold2);transform:translateY(-2px);}
  .back-top svg{width:18px;height:18px;}

  /* ── UTILITY ── */
  .section-inner{padding-top:2rem;}
  .section-h3{font-family:'Playfair Display',serif;margin:1.5rem 0 0.8rem;}
  .fig-caption-left{text-align:left;margin:0.5rem 0 1.5rem;}

  /* ── FOOTER ── */
  footer{background:var(--bg2);border-top:1px solid var(--border);padding:1.2rem 2rem;text-align:center;position:fixed;bottom:0;left:0;right:0;z-index:100;}
  .footer-inner{margin:0 auto;}
  .footer-logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--gold);margin-bottom:0.8rem;}
  .footer-text{color:var(--muted);font-size:0.88rem;line-height:1.7;}

  /* ── REVEAL ON SCROLL ── */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* ── RESPONSIVE ── */
  /* ── HAMBURGER ── */
  .nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
  .nav-hamburger span{display:block;width:22px;height:2px;background:var(--muted);border-radius:2px;transition:all 0.25s;}
  .nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-hamburger.open span:nth-child(2){opacity:0;}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-mobile-menu{display:none;position:fixed;top:62px;left:0;width:100%;background:rgba(13,15,20,0.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:99;padding:0;flex-direction:column;}
  .nav-mobile-menu.open{display:flex;}
  .nav-mobile-menu a{color:var(--muted);text-decoration:none;font-size:0.85rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;padding:0.75rem 2rem;border-bottom:1px solid var(--border);transition:color 0.2s;}
  .nav-mobile-menu a:last-child{border-bottom:none;}
  .nav-mobile-menu a:hover{color:var(--gold);background:rgba(232,184,75,0.05);}

  /* ── RESPONSIVE ── */
  @media(max-width:768px){
    /* ML steps — compact on mobile, all 5 fit without scroll */

    /* Nav */
    .nav-links{display:none;}
    .nav-hamburger{display:flex;}
    .nav-inner{padding:0 1rem;}

    /* Hero */
    .hero{padding:5rem 1.2rem 3rem;}
    .hero h1{font-size:clamp(2rem,10vw,3.5rem);}
    .hero p{font-size:1rem;}
    .hero-stats{gap:1.5rem;}
    .stat-num{font-size:1.6rem;}
    .hero-cta{flex-direction:column;align-items:center;}
    .btn{width:100%;max-width:280px;text-align:center;}

    /* Sections */
    .section{padding:3rem 1.2rem;}

    /* Module headers */
    .module-header{flex-direction:column;align-items:flex-start;gap:0.6rem;padding:1.2rem 1.5rem;}
    .module-header h2{font-size:1.3rem;}
    .module-body{padding:1.5rem;}

    /* Cards — single column */
    .cards{grid-template-columns:1fr;}
    .ai-types{grid-template-columns:1fr;}

    /* Course map — 2 cols */
    .course-map{grid-template-columns:1fr 1fr;padding:1.2rem;gap:0.7rem;}
    .module-pill{padding:0.7rem 0.8rem;}
    .module-name{font-size:0.82rem;}

    /* Figures — scale down to fit, no scroll needed */
    .fig-wrap{padding:1rem 0.8rem;overflow:visible;}
    .fig-wrap svg{min-width:unset;width:100%;height:auto;}

    /* Canvas animations — scale proportionally */
    #kmeansCanvas { width:100% !important; height:auto !important; aspect-ratio:700/320; }
    #regressionCanvas { width:100% !important; height:auto !important; aspect-ratio:700/320; }
    #gdCanvas { width:100% !important; height:auto !important; aspect-ratio:700/300; }

    /* Quiz — natural flow on mobile, no fixed height */
    #quiz-question{height:auto !important;min-height:unset !important;overflow-y:visible !important;}
    .bias-label{width:80px;font-size:0.75rem;}

    /* Timeline */
    .timeline{padding-left:1.5rem;}

    /* Checklist */
    .checklist li{padding:0.8rem 1rem;}

    /* Glossary */
    .gloss-controls{flex-direction:column;align-items:stretch;}
    .gloss-tabs{justify-content:center;}
    .gloss-grid{grid-template-columns:1fr;}
    .gloss-entry:nth-child(odd){border-right:none;}

    /* Video */
    .video-row{grid-template-columns:1fr;}

    /* Section titles */
    .section-title{font-size:clamp(1.5rem,6vw,2.2rem);}

    /* Callouts */
    .callout{font-size:0.88rem;padding:1rem 1.2rem;}

    /* Footer */
    footer{padding:0.5rem 1rem;}
    footer .footer-text, footer button{font-size:0.72rem;}
    footer .footer-inner{gap:0.8rem;}
    .footer-credit{display:none;}
  }

  @media(max-width:420px){
    /* Very small phones */
    .course-map{grid-template-columns:1fr;}
    .hero-stats{flex-wrap:wrap;justify-content:center;gap:1.2rem;}
    .gtab{padding:0.35rem 0.6rem;font-size:0.72rem;}
    .module-body{padding:1.2rem 1rem;}
  }

  /* ── NAV OVERRIDE: part links ── */
  .nav-parts{display:flex;align-items:center;gap:0;}
  .nav-parts li{display:flex;align-items:center;}
  .nav-parts li+li::before{content:'|';color:var(--muted);margin:0 0.55rem;font-size:0.75rem;opacity:0.4;}
  .nav-parts a{color:var(--muted);text-decoration:none;font-size:0.72rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;transition:color 0.2s;white-space:nowrap;}
  .nav-parts a:hover{color:var(--gold);}
  .nav-parts a.active-p1{color:var(--gold);font-weight:700;}
  .nav-parts a.active-p2{color:var(--gold);font-weight:700;}
  .nav-parts a.active-p3{color:var(--gold);font-weight:700;}
  .nav-parts a.active-gloss{color:var(--gold);font-weight:700;}

  /* ── SSAI LOGO ── */
  .ssai-logo{font-family:'DM Mono',monospace;font-size:1.1rem;font-weight:700;text-decoration:none;letter-spacing:0.04em;line-height:1;}
  .ssai-logo .ss{color:#ffffff;}
  .ssai-logo .ai{color:var(--gold);}

  /* ── PART CARDS ── */
  .part-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1rem;}
  .part-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:2.5rem;text-decoration:none;color:var(--text);transition:all 0.3s;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;}
  .part-card::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity 0.3s;}
  .part-card.p1::before{background:radial-gradient(circle at top left,rgba(232,184,75,0.08),transparent 70%);}
  .part-card.p2::before{background:radial-gradient(circle at top left,rgba(91,127,255,0.08),transparent 70%);}
  .part-card.p3::before{background:radial-gradient(circle at top left,rgba(56,201,176,0.08),transparent 70%);}
  .part-card:hover{transform:translateY(-4px);}
  .part-card.p1:hover{border-color:var(--gold);}
  .part-card.p2:hover{border-color:var(--accent);}
  .part-card.p3:hover{border-color:var(--teal);}
  .part-card:hover::before{opacity:1;}
  .part-num{font-family:'DM Mono',monospace;font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
  .part-card.p1 .part-num{color:var(--gold);}
  .part-card.p2 .part-num{color:var(--accent);}
  .part-card.p3 .part-num{color:var(--teal);}
  .part-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;line-height:1.2;}
  .part-desc{color:var(--muted);font-size:0.92rem;line-height:1.6;flex:1;}
  .part-modules{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.5rem;}
  .part-tag{font-size:0.72rem;background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:0.2rem 0.55rem;color:var(--muted);font-family:'DM Mono',monospace;}
  .part-cta{display:flex;align-items:center;gap:0.5rem;font-size:0.9rem;font-weight:600;margin-top:0.5rem;}
  .part-card.p1 .part-cta{color:var(--gold);}
  .part-card.p2 .part-cta{color:var(--accent);}
  .part-card.p3 .part-cta{color:var(--teal);}

  /* ── MODEL TABLE ── */
  .model-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:0.88rem;}
  .model-table th{background:var(--bg3);border:1px solid var(--border);padding:0.7rem 1rem;text-align:left;font-family:'DM Mono',monospace;font-size:0.78rem;color:var(--gold);text-transform:uppercase;letter-spacing:0.06em;}
  .model-table td{border:1px solid var(--border);padding:0.7rem 1rem;color:var(--muted);vertical-align:top;}
  .model-table tr:hover td{background:rgba(232,184,75,0.03);}

  /* ── MOBILE ── */
  @media(max-width:768px){
    .nav-parts{display:none;}
    .nav-hamburger{display:flex;}
    .nav-inner{padding:0 1rem;}
    .hero{padding:5rem 1.2rem 3rem;}
    .hero h1{font-size:clamp(2rem,10vw,3.5rem);}
    .hero p{font-size:1rem;}
    .hero-stats{gap:1.5rem;}
    .hero-cta{flex-direction:column;align-items:center;}
    .btn{width:100%;max-width:280px;text-align:center;}
    .section{padding:3rem 1.2rem;}
    .module-header{flex-direction:column;align-items:flex-start;gap:0.6rem;padding:1.2rem 1.5rem;}
    .module-header h2{font-size:1.3rem;}
    .module-body{padding:1.5rem;}
    .cards{grid-template-columns:1fr;}
    .ai-types{grid-template-columns:1fr;}
    .fig-wrap{padding:1rem 0.8rem;overflow:visible;}
    .fig-wrap svg{min-width:unset;width:100%;height:auto;}
    #kmeansCanvas{width:100% !important;height:auto !important;aspect-ratio:700/320;}
    #regressionCanvas{width:100% !important;height:auto !important;aspect-ratio:700/320;}
    #gdCanvas{width:100% !important;height:auto !important;aspect-ratio:700/300;}
    #quiz-question{height:auto !important;min-height:unset !important;overflow-y:visible !important;}
    .bias-label{width:80px;font-size:0.75rem;}
    .timeline{padding-left:1.5rem;}
    .checklist li{padding:0.8rem 1rem;}
    .gloss-controls{flex-direction:column;align-items:stretch;}
    .gloss-tabs{justify-content:center;}
    .gloss-grid{grid-template-columns:1fr;}
    .gloss-entry:nth-child(odd){border-right:none;}
    .video-row{grid-template-columns:1fr;}
    .section-title{font-size:clamp(1.5rem,6vw,2.2rem);}
    .callout{font-size:0.88rem;padding:1rem 1.2rem;}
    footer{padding:0.5rem 1rem;}
    .part-cards{grid-template-columns:1fr;}
  }
  @media(max-width:420px){
    .hero-stats{flex-wrap:wrap;justify-content:center;gap:1.2rem;}
    .gtab{padding:0.35rem 0.6rem;font-size:0.72rem;}
    .module-body{padding:1.2rem 1rem;}
  }

/* ── Global SVG text defaults ── */
.fig-wrap svg text{font-family:'DM Sans',sans-serif;font-size:12px;}
.fig-wrap svg text.mono{font-family:'DM Mono',monospace;font-weight:normal;}
.fig-wrap svg text.label{font-weight:600;}
.fig-wrap svg text.sm{font-size:10px;}
.fig-wrap svg text.lg{font-size:13px;}
