:root{
 --bg:#0b0b0b;--fg:#f2f2f2;--dim:#8c8c8c;--soft:#565656;--line:#242424;
 --mono:"Courier New",Courier,monospace;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);line-height:1.6;-webkit-font-smoothing:antialiased;letter-spacing:.01em}
a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:9}
.top .wrap{display:flex;align-items:center;height:64px;gap:24px}
.top .brand{font-weight:bold;letter-spacing:.28em;font-size:13px}.top .sp{flex:1}
.top .lnk{color:var(--dim);font-size:11px;letter-spacing:.18em}.top .lnk:hover{color:var(--fg)}
/* hero */
.hero{padding:120px 0 84px;border-bottom:1px solid var(--line)}
.hero .word{font-weight:bold;letter-spacing:.03em;line-height:.95;font-size:clamp(52px,11vw,128px);margin:0}
.hero .tag{font-family:var(--serif);font-style:italic;color:var(--dim);font-size:clamp(18px,2.6vw,27px);margin:28px 0 0}
.stats{display:flex;flex-wrap:wrap;margin:56px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:20px 36px 20px 0;margin-right:36px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0;margin-right:0}
.stat .n{font-size:22px;font-weight:bold}.stat .l{color:var(--dim);font-size:10px;letter-spacing:.2em;margin-top:7px}
.cta{display:inline-block;margin-top:52px;border:1px solid var(--fg);padding:17px 32px;font-size:12px;letter-spacing:.24em}
.cta:hover{background:var(--fg);color:var(--bg)}
/* curriculum */
.slabel{color:var(--soft);font-size:11px;letter-spacing:.28em;margin:84px 0 0}
.module{margin:52px 0 0}
.mh{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px}
.mh .mn{font-size:12px;color:var(--dim);letter-spacing:.18em;white-space:nowrap}
.mh .mt{font-size:12px;letter-spacing:.06em;color:#bdbdbd}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:22px}
.card{border:1px solid var(--line);padding:22px 20px;display:flex;flex-direction:column;min-height:158px;transition:none}
.card .wk{font-size:12px;color:var(--soft);letter-spacing:.18em}
.card .ti{font-family:var(--serif);font-size:16px;line-height:1.42;margin:16px 0 auto}
.card .st{font-size:10px;letter-spacing:.2em;margin-top:18px;color:var(--soft)}
.card.av{border-color:#3c3c3c}.card.av .ti{color:var(--fg)}.card.av .st{color:var(--fg)}
.card.av:hover{background:var(--fg);color:var(--bg)}.card.av:hover .wk,.card.av:hover .st{color:var(--bg)}
.card.sc .ti{color:#6e6e6e}
/* lesson page */
.lhead{padding:74px 0 34px;border-bottom:1px solid var(--line)}
.lhead .wk{font-size:clamp(40px,8vw,92px);font-weight:bold;letter-spacing:.02em;line-height:1}
.lhead .mod{color:var(--dim);font-size:12px;letter-spacing:.22em;margin:24px 0 0}
.lhead .lt{font-family:var(--serif);font-size:clamp(27px,4.2vw,44px);line-height:1.14;margin:10px 0 0;max-width:18ch}
.lhead .desc{font-family:var(--serif);color:var(--dim);max-width:62ch;margin:24px 0 0;font-size:17px;line-height:1.7}
.player{aspect-ratio:16/9;width:100%;border:1px solid var(--fg);background:#000;margin:42px 0 0}
.player iframe{width:100%;height:100%;border:0;display:block}
.dl{display:flex;gap:12px;margin:18px 0 0;flex-wrap:wrap}
.btn{border:1px solid var(--fg);padding:14px 24px;font-size:11px;letter-spacing:.18em}
.btn:hover{background:var(--fg);color:var(--bg)}
.article{margin-top:72px;border-top:1px solid var(--line);padding-top:6px;font-family:var(--serif);font-size:18px;line-height:1.82}
.article h2{font-family:var(--mono);color:var(--soft);font-size:11px;letter-spacing:.26em;border-top:1px solid var(--line);padding-top:32px;margin:56px 0 0;font-weight:normal}
.article h3{font-family:var(--mono);font-size:21px;letter-spacing:.01em;margin:30px 0 2px;font-weight:bold}
.article figure{margin:28px 0}
.article img{width:100%;max-height:82vh;object-fit:contain;border:1px solid var(--fg);background:#000;display:block}
.article .cap{font-family:var(--mono);color:var(--soft);font-size:11px;letter-spacing:.08em;margin-top:8px}
.article p{margin:14px 0}
.lnav{display:flex;align-items:center;border-top:1px solid var(--line);margin-top:74px;padding:36px 0}
.lnav .sp{flex:1}.lnav a,.lnav span{font-size:12px;letter-spacing:.16em}.lnav .next{color:var(--soft);text-align:right}
.foot{border-top:1px solid var(--line);margin-top:96px}
.foot .wrap{display:flex;min-height:80px;align-items:center;color:var(--soft);font-size:11px;letter-spacing:.14em;padding-top:20px;padding-bottom:20px}
.foot .sp{flex:1}
@media(max-width:620px){
 .stats{flex-direction:column}
 .stat{border-right:0;border-bottom:1px solid var(--line);margin-right:0;padding:16px 0;width:100%}
 .stat:last-child{border-bottom:0}
 .cards{grid-template-columns:1fr}
}
