@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_49a339{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_49a339{--font-space-grotesk:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}.course-page{--bg:#F5F2EC;--pane:#FFFEFA;--ink:#0A0A0A;--ink-2:#1f1f1f;--mute:#6a6a6a;--red:#E5311C;--max:1180px;--gut:clamp(20px,5vw,56px);background:var(--bg);color:var(--ink);font-family:var(--font-space-grotesk),"Space Grotesk",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip;min-height:100vh}.course-page *,.course-page :after,.course-page :before{box-sizing:border-box}.course-page a{color:var(--red);text-decoration:none}.course-page a:hover{color:var(--ink)}.course-page ::selection{background:var(--red);color:#fff}.course-page .mono{font-family:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,monospace}.course-page .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}.course-page iframe,.course-page img{max-width:100%}.course-page[data-lang=en] [data-l=vi],.course-page[data-lang=vi] [data-l=en]{display:none!important}.course-page .nav{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--ink)}.course-page .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.course-page .brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:15px;color:var(--ink)}.course-page .brand .dot{width:9px;height:9px;background:var(--red);border-radius:50%;animation:course-beat 1.8s ease-in-out infinite}@keyframes course-beat{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(229,49,28,.45)}50%{transform:scale(1.15);box-shadow:0 0 0 8px rgba(229,49,28,0)}}.course-page .lang{display:flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}.course-page .lang button{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:9px 13px;min-height:38px;transition:background .2s,color .2s}.course-page .lang button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.course-page .lang button:not([aria-pressed=true]):hover{color:var(--ink)}.course-page h1,.course-page h2,.course-page h3{margin:0;letter-spacing:-.028em;font-weight:600;text-wrap:balance}.course-page .eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);line-height:1.4}.course-page .eyebrow:before{content:"";flex:0 0 7px;width:7px;height:7px;background:var(--red);border-radius:50%;animation:course-beat 1.8s ease-in-out infinite}.course-page section{padding:clamp(44px,7vw,88px) 0;position:relative;scroll-margin-top:68px}.course-page .sec-head{margin-bottom:clamp(26px,4vw,44px)}.course-page .sec-head .num{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--mute);margin-bottom:14px}.course-page .sec-head .num:after{content:"";width:30px;height:1px;background:currentColor;display:inline-block}.course-page .sec-title{font-size:clamp(28px,5.2vw,46px);line-height:1.05;max-width:24ch}.course-page .sec-title em{font-style:normal;color:var(--red)}.course-page .sec-sub{margin:14px 0 0;font-size:clamp(16px,1.5vw,18px);color:var(--ink-2);max-width:56ch;text-wrap:pretty}.course-page .rule{border:0;border-top:1px solid var(--ink);margin:0}.course-page .hk{font-family:"Noto Sans HK","PingFang HK","Microsoft JhengHei",var(--font-space-grotesk),sans-serif}.course-page .btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:15px 24px;min-height:52px;border-radius:999px;font-family:inherit;font-weight:500;font-size:16px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;transition:transform .18s,color .25s}.course-page .btn:before{content:"";position:absolute;inset:0;background:var(--red);border-radius:inherit;transform:translateY(101%);transition:transform .35s cubic-bezier(.7,0,.2,1);z-index:-1}.course-page .btn:hover{color:#fff;transform:translateY(-2px);border-color:var(--red)}.course-page .btn:hover:before{transform:translateY(0)}.course-page .arr{display:inline-block;width:14px;height:1.5px;background:currentColor;position:relative;flex:0 0 auto}.course-page .arr:after{content:"";position:absolute;right:-1px;top:-4px;width:9px;height:9px;border-right:1.5px solid;border-top:1.5px solid;transform:rotate(45deg)}.course-page .hero{padding:clamp(32px,6vw,64px) 0 clamp(36px,5vw,56px);scroll-margin-top:68px}.course-page .hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px);align-items:start}@media (min-width:960px){.course-page .hero-grid{grid-template-columns:1.35fr .65fr}}.course-page .hero h1{font-size:clamp(34px,7.4vw,66px);line-height:1.02;margin:22px 0 20px;max-width:20ch}.course-page .hero h1 em{font-style:normal;color:var(--red);position:relative;display:inline-block}.course-page .hero h1 em:after{content:"";position:absolute;left:-1%;right:-1%;bottom:.06em;height:.1em;background:var(--red);transform-origin:left;transform:scaleX(0);animation:course-ul 1.2s cubic-bezier(.7,0,.2,1) .5s forwards}@keyframes course-ul{to{transform:scaleX(1)}}.course-page .hero-sub{font-size:clamp(16px,1.7vw,19px);color:var(--ink-2);max-width:48ch;margin:0 0 26px;text-wrap:pretty}.course-page .hero-sub b{font-weight:600;color:var(--ink)}.course-page .hero .btn{width:100%}@media (min-width:520px){.course-page .hero .btn{width:auto}}.course-page .hero-note{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--mute);margin:14px 0 0;line-height:1.6}.course-page .mark{border:1.5px solid var(--ink);background:var(--pane);padding:24px 20px 20px;position:relative;background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(10,10,10,.04) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(10,10,10,.04) 39px 40px)}.course-page .mark .corner{position:absolute;width:9px;height:9px;background:var(--ink)}.course-page .mark .corner.tl{top:-1px;left:-1px}.course-page .mark .corner.tr{top:-1px;right:-1px}.course-page .mark .corner.bl{bottom:-1px;left:-1px}.course-page .mark .corner.br{bottom:-1px;right:-1px;background:var(--red)}.course-page .mark .lbl{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}.course-page .mark .idm{font-size:clamp(26px,4.6vw,34px);line-height:1.25;font-weight:700;letter-spacing:.01em;margin:0}.course-page .mark .idm em{font-style:normal;color:var(--red)}.course-page .mark .gloss{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:12px 0 0}.course-page .meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:clamp(28px,4vw,44px)}@media (min-width:820px){.course-page .meta{grid-template-columns:repeat(4,1fr)}}.course-page .meta>div{padding:16px 16px 16px 0;border-right:1px solid rgba(10,10,10,.15)}.course-page .meta>div:nth-child(2n){border-right:0}.course-page .meta>div:first-child,.course-page .meta>div:nth-child(2){border-bottom:1px solid rgba(10,10,10,.15)}@media (min-width:820px){.course-page .meta>div{border-right:1px solid rgba(10,10,10,.15)}.course-page .meta>div:last-child{border-right:0}.course-page .meta>div:nth-child(2){border-right:1px solid rgba(10,10,10,.15)}.course-page .meta>div:first-child,.course-page .meta>div:nth-child(2){border-bottom:0}}.course-page .meta .k{display:block;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}.course-page .meta .v{font-size:15px;font-weight:500;line-height:1.35}.course-page .who{display:grid;grid-template-columns:1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}@media (min-width:640px){.course-page .who{grid-template-columns:1fr 1fr}}.course-page .who article{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:26px 22px;position:relative;overflow:hidden;min-height:190px;display:flex;flex-direction:column;gap:10px}.course-page .who article:before{content:"";position:absolute;inset:0;background:var(--ink);z-index:0;transform:translateY(101%);transition:transform .4s cubic-bezier(.7,0,.2,1)}.course-page .who article>*{position:relative;z-index:1;transition:color .25s}.course-page .who article:hover{color:var(--bg)}.course-page .who article:hover:before{transform:translateY(0)}.course-page .who .tag{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.course-page .who article:hover .tag{color:var(--red)}.course-page .who h3{font-size:clamp(20px,2.4vw,24px);line-height:1.15}.course-page .who p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}.course-page .who article:hover p{color:rgba(245,242,236,.85)}.course-page .who-foot{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--mute);margin:18px 0 0;line-height:1.6}.course-page .lessons{background:var(--pane);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.course-page .lesson-frame{border:1.5px solid var(--ink);background:var(--bg);padding:clamp(18px,3vw,26px);margin-bottom:clamp(24px,3vw,34px)}.course-page .lesson-frame p{margin:0;font-size:clamp(17px,2vw,22px);line-height:1.4;font-weight:500;max-width:44ch;text-wrap:pretty}.course-page .lesson-frame p em{font-style:normal;color:var(--red)}.course-page .sub-badge{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:7px 12px;border:1px solid var(--ink);border-radius:999px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.11em;text-transform:uppercase;line-height:1.4}.course-page .sub-badge:before{content:"";width:7px;height:7px;flex:0 0 7px;background:var(--red);border-radius:50%}.course-page .vids{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vw,26px)}@media (min-width:820px){.course-page .vids{grid-template-columns:1fr 1fr}}.course-page .vid{border:1.5px solid var(--ink);background:var(--bg)}.course-page .vid .screen{position:relative;aspect-ratio:16/9;background:var(--ink);display:block;width:100%;border:0;padding:0;cursor:pointer;overflow:hidden}.course-page .vid .screen[disabled]{cursor:default}.course-page .vid .screen:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px)}.course-page .vid .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:var(--red);display:grid;place-items:center;z-index:2;transition:transform .25s}.course-page .vid .screen:not([disabled]):hover .play{transform:translate(-50%,-50%) scale(1.08)}.course-page .vid .play span{width:0;height:0;border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}.course-page .vid .ph{position:absolute;left:14px;bottom:12px;z-index:2;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}.course-page .vid iframe{display:block;aspect-ratio:16/9;width:100%;height:auto;border:0}.course-page .vid .cap{padding:16px 18px;border-top:1.5px solid var(--ink);display:flex;flex-direction:column;gap:6px}.course-page .vid .cap .n{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.course-page .vid .cap h3{font-size:19px;line-height:1.2}.course-page .vid .cap p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}.course-page .arts{border-top:1px solid var(--ink)}.course-page .art{display:grid;grid-template-columns:1fr;gap:8px;padding:24px 0;border-bottom:1px solid var(--ink);transition:padding-left .25s}@media (min-width:760px){.course-page .art{grid-template-columns:140px 1fr;gap:clamp(20px,4vw,48px);align-items:baseline}.course-page .art:hover{padding-left:12px}}.course-page .art .wk{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.course-page .art h3{font-size:clamp(20px,2.8vw,28px);line-height:1.15;margin-bottom:8px}.course-page .art h3 em{font-style:normal;color:var(--red)}.course-page .art p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2);max-width:58ch;text-wrap:pretty}.course-page .art .chip{display:inline-block;margin-top:12px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.11em;text-transform:uppercase;border:1px solid rgba(10,10,10,.25);padding:5px 9px;color:var(--ink-2)}.course-page .honest{background:var(--ink);color:var(--bg)}.course-page .honest .sec-head .num{color:#8f8f8f}.course-page .honest .sec-title em{color:var(--red)}.course-page .honest .sec-sub{color:#c8c4bc}.course-page .hgrid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #2c2c2c;border-left:1px solid #2c2c2c}@media (min-width:760px){.course-page .hgrid{grid-template-columns:1fr 1fr}}.course-page .hgrid>div{border-right:1px solid #2c2c2c;border-bottom:1px solid #2c2c2c;padding:26px 22px;background:#0f0f0f}.course-page .hgrid h3{font-size:19px;line-height:1.2;margin-bottom:14px;color:#fff}.course-page .hgrid h3 .n{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;color:var(--red);display:block;margin-bottom:8px;font-weight:400}.course-page .hgrid ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}.course-page .hgrid li{font-size:15px;line-height:1.5;color:#cfcbc3;padding-left:18px;position:relative;text-wrap:pretty}.course-page .hgrid li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:1.5px;background:var(--red)}.course-page .hgrid .big{font-size:clamp(30px,5vw,42px);font-weight:600;letter-spacing:-.03em;line-height:1;color:#fff;margin-bottom:10px}.course-page .hgrid .big span{font-size:.4em;color:#8f8f8f;letter-spacing:0;margin-left:6px}.course-page .why{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,56px)}@media (min-width:900px){.course-page .why{grid-template-columns:1.1fr .9fr;align-items:start}}.course-page .why-lines{display:flex;flex-direction:column;gap:18px;border-left:1.5px solid var(--ink);padding-left:clamp(18px,3vw,28px)}.course-page .why-lines p{margin:0;font-size:clamp(19px,2.6vw,26px);line-height:1.3;letter-spacing:-.02em;font-weight:500;text-wrap:pretty}.course-page .why-lines p em{font-style:normal;color:var(--red)}.course-page .why-aside{border:1.5px solid var(--ink);background:var(--pane);padding:22px 20px}.course-page .why-aside .q{font-size:clamp(22px,3vw,30px);font-weight:600;letter-spacing:-.03em;line-height:1.15;margin:0 0 12px}.course-page .why-aside p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}.course-page .log{display:grid;grid-template-columns:1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}@media (min-width:700px){.course-page .log{grid-template-columns:1fr 1fr}}@media (min-width:1000px){.course-page .log{grid-template-columns:repeat(3,1fr)}}.course-page .log>div{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:22px 20px}.course-page .log .k{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}.course-page .log .v{font-size:17px;font-weight:500;line-height:1.3;margin-bottom:8px}.course-page .log p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}.course-page .log ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.course-page .log li{font-size:14px;line-height:1.45;color:var(--ink-2);padding-left:16px;position:relative}.course-page .log li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:1.5px;background:var(--red)}.course-page .cta-sec{background:var(--pane);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.course-page .cta-grid{display:grid;grid-template-columns:1fr;gap:clamp(26px,4vw,52px)}@media (min-width:900px){.course-page .cta-grid{grid-template-columns:1fr 1fr;align-items:start}}.course-page .cta-grid .num{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--mute);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.course-page .cta-grid h2{font-size:clamp(30px,5.6vw,50px);line-height:1.03;max-width:18ch}.course-page .cta-grid h2 em{font-style:normal;color:var(--red)}.course-page .cta-lead{margin:18px 0 0;font-size:clamp(16px,1.6vw,18px);color:var(--ink-2);max-width:44ch;text-wrap:pretty}.course-page .form-panel{border:1.5px solid var(--ink);background:var(--bg);padding:clamp(20px,3vw,28px)}.course-page .field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.course-page .field[hidden]{display:none}.course-page .field label{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.course-page .field label .opt{color:var(--ink-2);text-transform:none;letter-spacing:.02em}.course-page .field input,.course-page .field select,.course-page .field textarea{font-family:inherit;font-size:16px;color:var(--ink);background:var(--pane);border:1.5px solid var(--ink);border-radius:0;padding:14px;min-height:52px;width:100%;outline:0}.course-page .field input:focus,.course-page .field select:focus,.course-page .field textarea:focus{border-color:var(--red)}.course-page .field input::placeholder,.course-page .field textarea::placeholder{color:#9a9a9a}.course-page .field textarea{min-height:84px;resize:vertical}.course-page .form-panel .btn{width:100%}.course-page .microcopy{margin:14px 0 0;font-size:11px;line-height:1.7;letter-spacing:.05em;color:var(--mute)}.course-page .err,.course-page .microcopy{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace}.course-page .err{font-size:12px;color:var(--red);letter-spacing:.04em;margin:0 0 14px}.course-page .done{display:flex;flex-direction:column;gap:12px}.course-page .done .big{font-size:clamp(21px,2.6vw,26px);font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0}.course-page .done p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}.course-page .dep-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--ink);margin-bottom:20px}.course-page .dep-list>div{border-bottom:1px solid var(--ink);padding:16px 0;display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:baseline}.course-page .dep-list .n{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;color:var(--red)}.course-page .dep-list p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}.course-page .dep-list b{color:var(--ink);font-weight:600}.course-page .price{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.course-page .price span{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);padding:8px 11px}.course-page .price span b{color:var(--red)}.course-page .filter-line{border-left:2px solid var(--red);padding:4px 0 4px 16px;margin:0 0 20px;font-size:clamp(16px,1.8vw,19px);line-height:1.4;font-weight:500;text-wrap:pretty}.course-page .faq{border-top:1px solid var(--ink)}.course-page .faq details{border-bottom:1px solid var(--ink)}.course-page .faq summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;gap:14px;align-items:baseline;font-size:clamp(17px,2vw,20px);font-weight:500;letter-spacing:-.015em;min-height:52px}.course-page .faq summary::-webkit-details-marker{display:none}.course-page .faq summary:after{content:"+";margin-left:auto;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:18px;color:var(--red);flex:0 0 auto}.course-page .faq details[open] summary:after{content:"–"}.course-page .faq summary .q{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;color:var(--mute);flex:0 0 auto}.course-page .faq .a{padding:0 0 22px;max-width:64ch}.course-page .faq .a p{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--ink-2);text-wrap:pretty}.course-page .faq .a p:last-child{margin-bottom:0}@media (min-width:760px){.course-page .faq .a{padding-left:34px}}.course-page footer{padding:26px 0 34px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-top:1px solid var(--ink)}.course-page .foot{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;align-items:center}.course-page .foot a{color:var(--mute)}.course-page .foot a:hover{color:var(--ink)}.course-page .foot .set{display:flex;gap:20px;flex-wrap:wrap}.course-page .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.course-page .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.course-page *,.course-page :after,.course-page :before{animation:none!important;transition:none!important}.course-page .reveal{opacity:1;transform:none}}