@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/SpaceGrotesk-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/SpaceGrotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 700;font-display:swap;src:url(/fonts/SpaceGrotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Newsreader-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Newsreader-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Newsreader-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/PublicSans-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/PublicSans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/PublicSans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--p50:#eeedfe;--p100:#cecbf6;--p200:#afa9ec;--p400:#7f77dd;--p600:#534ab7;--p800:#3c3489;--p900:#26215c;--b50:#e6f1fb;--b400:#378add;--b600:#185fa5;--b800:#0c447c;--b900:#042c53;--ink:#17151f;--ink2:#4e4e56;--w100:#f2e4ce;--w400:#d9a25a;--w600:#b87a2e;--line:#e4e2ee;--bg:#fff;--bg2:#f7f6fc;--font-sans:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif;--font-serif:"Newsreader", Georgia, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--wrap:1120px;--r-ctl:8px;--r-sm:10px;--r-md:16px;--r-photo:4px;--r-lg:26px;--lift-1:0 1px 2px #17151f0d;--lift-2:0 14px 34px -10px #26215c2e, 0 3px 8px #26215c0f}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul[role=list]{padding:0;list-style:none}img,svg{max-width:100%;height:auto;display:block}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.65}a{color:var(--p600);text-underline-offset:3px;text-decoration-thickness:1px}::selection{background:var(--p100);color:var(--p900)}:focus-visible{outline:2px solid var(--p600);outline-offset:3px;border-radius:2px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--dark:#07070f;--on-dark:#f4f2fd;--on-dark-dim:#c6c1e2;--bg2:#fff;--line:#e7e5ef;--ink2:#55535f;--fs-min:16px;--fs-body:17px;--fs-label:16px}section{padding-block:var(--s6)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;hanging-punctuation:allow-end;line-height:1.2}h2{font-size:clamp(28px,4.2vw,42px);font-weight:800}h3{font-size:20px;font-weight:700}p{text-wrap:pretty}.lede{font-size:clamp(var(--fs-body), 2vw, 20px);color:var(--ink2);max-width:62ch;margin-top:var(--s2)}.eyebrow{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--p600);font-weight:700}.btn{font-family:var(--font-display);align-items:center;gap:var(--s1);white-space:nowrap;font-weight:700;font-size:var(--fs-body);border:1px solid #0000;border-radius:999px;padding:14px 26px;text-decoration:none;transition:transform .12s,background-color .12s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--p600);color:#fff}.btn-primary:hover{background:var(--p800)}.btn-ghost{color:inherit;border-color:currentColor}.btn-on-dark.btn-ghost{color:var(--on-dark)}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{align-items:center;gap:var(--s3);min-height:72px;display:flex}.brand{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.brand img{width:auto;height:34px}@media (width<=400px){.brand img{height:29px}}.site-nav{align-items:center;gap:var(--s2);font-size:var(--fs-label);margin-left:auto;display:flex}.site-nav a{color:var(--ink2);white-space:nowrap;text-decoration:none}.site-nav a:hover{color:var(--p600)}.site-nav .btn{font-size:var(--fs-label);color:#fff;padding:10px 18px}.navmenu{display:none;position:relative}@media (width<=1100px){.navmenu{display:block}}.navmenu summary{cursor:pointer;border:1px solid var(--line);color:var(--ink2);user-select:none;border-radius:999px;align-items:center;padding:8px 11px;list-style:none;display:flex}.navmenu summary::-webkit-details-marker{display:none}.navmenu summary::marker{content:""}.navmenu summary:hover,.navmenu[open] summary{color:var(--p600);border-color:var(--p400)}.navmenu summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px;height:20px}.navmenu-panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);z-index:45;min-width:210px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 34px #26215c24}.navmenu-panel a{font-size:var(--fs-body);color:var(--ink);white-space:nowrap;border-radius:9px;padding:11px 14px;text-decoration:none;display:block}.navmenu-panel a:hover{background:var(--bg2);color:var(--p600)}.navmenu-cta{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.navmenu-cta a{color:var(--p600);font-weight:700}.lang{position:relative}.lang summary{cursor:pointer;border:1px solid var(--line);font-family:var(--font-display);font-size:var(--fs-label);color:var(--ink2);white-space:nowrap;user-select:none;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-weight:700;list-style:none;display:flex}.lang summary::-webkit-details-marker{display:none}.lang summary::marker{content:""}.lang summary:hover{color:var(--p600);border-color:var(--p400)}.lang summary svg{fill:none;stroke:currentColor;stroke-width:1.6px;flex-shrink:0;width:17px;height:17px}.lang[open] summary{color:var(--p600);border-color:var(--p400)}.lang-menu{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);z-index:40;min-width:180px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 34px #26215c24}.lang-menu a{font-size:var(--fs-body);color:var(--ink);white-space:nowrap;border-radius:9px;padding:10px 14px;text-decoration:none;display:block}.lang-menu a:hover{background:var(--bg2);color:var(--p600)}.lang-menu a[aria-current=true]{background:var(--p50);color:var(--p800);font-weight:700}@media (width<=560px){.lang-menu{min-width:168px;right:-6px}}@media (width<=1100px){.site-nav .nav-link{display:none}}@media (width<=520px){.site-nav .btn{display:none}}.hero{background:var(--dark);color:#fff;padding-block:var(--s6) var(--s5);border-top:0;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(620px 520px at 82% -10%, color-mix(in srgb, var(--p400) 62%, transparent), transparent 68%), radial-gradient(560px 480px at 4% 30%, color-mix(in srgb, var(--b400) 34%, transparent), transparent 66%), radial-gradient(640px 560px at 62% 118%, color-mix(in srgb, var(--p200) 40%, transparent), transparent 66%);position:absolute;inset:0}.hero>.wrap{z-index:1;position:relative}.hero .eyebrow{color:var(--on-dark-dim)}.hero h1{margin-top:var(--s2);max-width:20ch;font-size:clamp(36px,6.4vw,62px);font-weight:900}.hero .lede{color:var(--on-dark);max-width:58ch}.hero-actions{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.hero-note{font-family:var(--font-display);margin-top:var(--s2);font-size:var(--fs-body);color:var(--on-dark-dim)}.card-awards{margin-top:var(--s2);padding-top:var(--s2);border-top:1px dashed var(--line)}.card-awards .lead{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.02em;color:var(--p600);margin-bottom:var(--s1);font-weight:700}.card-awards ul{margin-top:var(--s1);font-size:var(--fs-body);color:var(--ink);flex-direction:column;gap:4px;padding:0;font-weight:600;list-style:none;display:flex}.card-awards li{border-top:1px solid var(--line);align-items:baseline;gap:11px;padding:7px 0;display:flex}.card-awards li:first-child{border-top:0}.prose>p+p{margin-top:.7em}.prose-lede>p+p{margin-top:.55em}.card .prose>p{color:var(--ink2);font-size:var(--fs-body);margin-top:0}.card .prose>p+p{margin-top:.7em}.card .prose{margin-top:var(--s1)}.grid{gap:var(--s3);margin-top:var(--s4);display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg2)}.card p{margin-top:var(--s1);color:var(--ink2);font-size:var(--fs-body)}.module{gap:var(--s2);flex-direction:column;height:100%;display:flex}.module-head{align-items:center;gap:12px;display:flex}.module-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:var(--p600);color:#fff;width:38px;height:38px;font-size:var(--fs-label);border-radius:11px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.module-output{padding-top:var(--s2);border-top:1px dashed var(--line);font-size:var(--fs-body);margin-top:auto}.module-output span{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--p600);font-weight:700;display:block}.module-output strong{font-weight:700}.footnote{margin-top:var(--s3);font-size:var(--fs-body);color:var(--ink2)}.shot{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg2);margin:0;overflow:hidden}.shot img{width:100%;height:auto;display:block}.shots{margin-top:var(--s4);gap:var(--s3);display:grid}blockquote{margin:var(--s4) 0 0;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--p50);border:1px solid var(--p100)}blockquote p{font-size:clamp(18px,2.4vw,22px);font-weight:500}blockquote cite{margin-top:var(--s2);font-size:var(--fs-label);color:var(--ink2);font-style:normal;display:block}.teacher{gap:var(--s4);align-items:start;display:grid}@media (width>=821px){.teacher:has(.team-note){grid-template-columns:minmax(0,1fr) minmax(0,400px)}}.team-note{padding:var(--s3);border:1px solid var(--p100);border-radius:var(--r-md);background:var(--p50)}.team-note-label{font-size:var(--fs-label);letter-spacing:.1em;color:var(--p600);margin-bottom:var(--s1);font-weight:800}.team-note p{color:var(--ink2);font-size:var(--fs-body)}.teacher-id{align-items:center;gap:var(--s3);margin-top:var(--s3);display:flex}.portrait{background:linear-gradient(140deg, var(--p600), var(--b400));border-radius:50%;flex-shrink:0;width:132px;height:132px;padding:3px}.portrait img{object-fit:cover;border:3px solid var(--bg);border-radius:50%;width:100%;height:100%}@media (width<=420px){.teacher-id{gap:var(--s2)}.portrait{width:104px;height:104px}}.teacher-name{font-size:24px;font-weight:800}.teacher-role{color:var(--p600);font-weight:600;font-size:var(--fs-body)}.teacher-bio{margin-top:var(--s3);gap:var(--s2);color:var(--ink2);flex-direction:column;display:flex}.facts{margin-top:var(--s4);gap:0;padding:0;list-style:none;display:grid}.facts li{gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,200px) 1fr;display:grid}.facts li:last-child{border-bottom:0}@media (width<=560px){.facts li{grid-template-columns:1fr;gap:2px}}.facts{font-size:var(--fs-body)}.facts dt,.facts .k{font-weight:700;font-family:var(--font-display)}.facts .v{color:var(--ink2)}.faq-list details{border-bottom:1px solid var(--line);padding:var(--s2) 0}.faq-list details summary{cursor:pointer;justify-content:space-between;gap:var(--s3);align-items:center;font-size:18px;font-weight:700;list-style:none;display:flex}.faq-list details summary::-webkit-details-marker{display:none}.faq-list details summary:after{content:"+";color:var(--p600);flex-shrink:0;font-size:22px;font-weight:400}.faq-list details[open] summary:after{content:"–"}.faq-list details p{margin-top:var(--s2);color:var(--ink2);max-width:72ch;font-size:var(--fs-body)}.contact{background:var(--dark);color:#fff}.contact h2{color:#fff}.contact .lede{color:var(--on-dark)}.contact-grid{gap:var(--s4);margin-top:var(--s4);display:grid}@media (width>=760px){.contact-grid{gap:var(--s5);grid-template-columns:220px minmax(0,1fr);align-items:start}}.qr{border-radius:var(--r-md);background:#fff;width:220px;margin:0;padding:12px}.qr img{border-radius:8px}.qr figcaption{text-align:center;font-size:var(--fs-label);color:var(--ink2);padding-top:10px}@media (width<=759px){.qr{margin-inline:auto}}.contact-facts{gap:0;margin:0;padding:0;list-style:none;display:grid}.contact-facts li{padding:var(--s2) 0;border-top:1px solid #ffffff24}.contact-facts li:first-child{border-top:0;padding-top:0}.contact-facts .k{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-dim);font-weight:700}.contact-facts .v{margin-top:3px;font-size:19px}.contact-facts a{color:#fff;border-bottom:1px solid #ffffff59;text-decoration:none}.contact-facts a:hover{border-bottom-color:#fff}@media (width>=1000px){.contact-facts{column-gap:var(--s4);grid-template-columns:repeat(3,minmax(0,1fr))}.contact-facts li{border-top:0;padding-top:0}}.site-footer{padding-block:var(--s4);border-top:1px solid var(--line);font-size:var(--fs-label);color:var(--ink2)}.footer-grid{gap:var(--s4);display:grid}.footer-about p{max-width:54em}.footer-about .prose>p+p{margin-top:.6em}.footer-link{margin-top:var(--s2)}.footer-link a{font-family:var(--font-display);border-bottom:1px solid var(--p200);padding-bottom:2px;font-weight:700;text-decoration:none}.footer-link a:hover{border-bottom-color:var(--p600)}.footer-nav ul{gap:10px;display:grid}.footer-nav a{color:var(--ink2);font-size:var(--fs-label);text-decoration:none}.footer-nav a:hover{color:var(--p600)}.footer-legal p{color:var(--ink2);opacity:.85}.footer-legal p+p{margin-top:4px}@media (width>=640px){.footer-grid{gap:var(--s4) var(--s5);grid-template-columns:minmax(0,1fr) auto}.footer-legal{grid-column:1/-1}}@media (width>=900px){.footer-grid{gap:var(--s5);grid-template-columns:minmax(0,1fr) auto minmax(0,300px)}.footer-legal{text-align:right;grid-column:auto}.footer-nav ul{column-gap:var(--s4);grid-template-rows:repeat(4,auto);grid-auto-flow:column}}.skip-link{background:var(--p600);color:#fff;z-index:100;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.notfound-langs{justify-content:center;gap:var(--s1) var(--s3);margin-top:var(--s3);font-size:var(--fs-label);flex-wrap:wrap;display:flex}.notfound-langs a{color:var(--ink2);text-decoration:none}.notfound-langs a:hover{color:var(--p600)}.center-page{text-align:center;place-items:center;min-height:60vh;display:grid}@media (width<=640px){section{padding-block:var(--s5)}h2{font-size:30px}.grid{gap:var(--s2);margin-top:var(--s3)}.card{padding:var(--s3) var(--s3) calc(var(--s3) - 2px)}.hero{padding-block:var(--s4) var(--s4)}.hero-actions{margin-top:var(--s3)}}@media (width<=480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:center}}html[lang=ko]{word-break:keep-all;overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.card{border:0;border-top:1px solid var(--line);padding:var(--s3) 0 var(--s2);background:0 0;border-radius:0}.grid-2{grid-template-columns:1fr}.card h3{letter-spacing:-.01em;font-size:21px}section>.wrap>h2,.teacher>div>h2{padding-top:var(--s2);position:relative}section>.wrap>h2:before,.teacher>div>h2:before{content:"";background:linear-gradient(90deg, var(--p600), var(--b400));width:46px;height:3px;position:absolute;top:0;left:0}.card-awards{border-top:0;border-left:2px solid var(--p200);padding:2px 0 2px var(--s2);margin-top:var(--s3)}blockquote{border:0;border-left:2px solid var(--p400);padding:4px 0 4px var(--s3);background:0 0;border-radius:0}.team-note{border:0;border-top:2px solid var(--p600);padding:var(--s3) 0 0;background:0 0;border-radius:0}.hero:before{opacity:.85}.btn-primary,.btn-ghost{border-radius:6px}@media (width>=900px){.grid-2{grid-template-columns:1fr 1fr}.grid-2>.card:first-child,.grid-2>.card:nth-child(2n):last-child{grid-column:1/-1}.card p,.module-output,.footnote{max-width:42em}.facts li{max-width:58em}details p,blockquote{max-width:46em}.shots{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}}@media (width>=760px){.grid-3{grid-template-rows:auto 1fr auto;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3>.module{grid-row:span 3;grid-template-rows:subgrid;gap:var(--s2);display:grid}.grid-3>.module .module-output{margin-top:0}}section>.wrap>h2,.teacher>div>h2,blockquote p{font-family:var(--font-serif);letter-spacing:-.005em;font-weight:500}html[lang^=zh] section>.wrap>h2,html[lang^=zh] .teacher>div>h2,html[lang=ko] section>.wrap>h2,html[lang=ko] .teacher>div>h2{font-family:var(--font-display);font-weight:800}html[lang^=zh] blockquote p,html[lang=ko] blockquote p{font-family:var(--font-sans);font-weight:500}.lede{font-size:clamp(18px,2.1vw,21px);line-height:1.6}html[lang^=zh] body,html[lang=ko] body{line-height:1.8}html[lang^=zh] h1,html[lang^=zh] h2,html[lang^=zh] h3,html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3{letter-spacing:0}html[lang^=zh] .lede,html[lang=ko] .lede{line-height:1.85}.facts .v,.module-num,.contact-facts .v{font-variant-numeric:tabular-nums}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero:after,.contact:after{content:"";background-image:var(--grain);opacity:.038;pointer-events:none;mix-blend-mode:overlay;position:absolute;inset:0}.contact{position:relative;overflow:hidden}.contact>.wrap{z-index:1;position:relative}.btn,.btn-primary,.btn-ghost{border-radius:var(--r-ctl)}.shot{border-radius:var(--r-photo)}.card-awards{margin-top:var(--s3);padding:var(--s3);border-radius:var(--r-md);background:radial-gradient(420px 220px at 88% -30%, color-mix(in srgb, var(--w600) 34%, transparent), transparent 70%), linear-gradient(158deg, #221d3f, var(--dark) 72%);color:var(--on-dark);box-shadow:var(--lift-1);border:0;position:relative;overflow:hidden}.card-awards:after{content:"";background-image:var(--grain);opacity:.05;pointer-events:none;mix-blend-mode:overlay;position:absolute;inset:0}.card-awards>*{z-index:1;position:relative}.card-awards .lead{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.11em;text-transform:uppercase;color:var(--w400);margin-bottom:var(--s2);font-weight:700}.card-awards ul{color:var(--on-dark);gap:0;font-weight:500}.card-awards li{gap:var(--s2);font-size:clamp(var(--fs-body), 1.9vw, 19px);border-top:1px solid #ffffff1c;padding:11px 0}.card-awards li:before{content:"";background:var(--w400);border-radius:0;flex-shrink:0;width:18px;height:1px;transform:translateY(-.55em)}#teacher{background:linear-gradient(180deg, color-mix(in srgb, var(--p50) 55%, #fff), #fff 78%)}@media (width>=1024px){.shots{margin-inline:calc(50% + min(1400px,100vw - 56px)/-2);margin-top:var(--s5)}}@media (width>=900px){.portrait{width:208px;height:208px;padding:4px}.teacher-id{gap:var(--s4);align-items:center}.teacher-name{font-size:30px}.teacher-bio{max-width:46em}.teacher:has(.team-note){grid-template-columns:minmax(0,1.55fr) minmax(0,380px)}}.prose a,.footer-about a{text-underline-offset:3px;text-decoration-thickness:1px}.btn-primary:hover{box-shadow:var(--lift-2)}.faq-list details summary:hover{color:var(--p600)}.faq-list details summary:after{font-weight:300}section>.wrap>h2:before,.teacher>div>h2:before{background:linear-gradient(90deg, var(--p600), var(--b400) 68%, var(--w400));width:52px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.hero .eyebrow,.hero h1,.hero .lede,.hero .hero-actions,.hero .hero-note{animation:.72s cubic-bezier(.22,.68,.3,1) backwards rise}.hero .eyebrow{animation-delay:40ms}.hero h1{animation-delay:.13s}.hero .lede{animation-delay:.24s}.hero .hero-actions{animation-delay:.35s}.hero .hero-note{animation-delay:.44s}.hero:before{animation:1.5s ease-out backwards fade}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal>*{animation:.6s cubic-bezier(.22,.68,.3,1) both rise view();animation-range:entry 8% entry 34%}.stagger>:nth-child(2){animation-range:entry 12% entry 38%}.stagger>:nth-child(3){animation-range:entry 16% entry 42%}.stagger>:nth-child(4){animation-range:entry 20% entry 46%}.stagger>:nth-child(5){animation-range:entry 23% entry 49%}.stagger>:nth-child(6){animation-range:entry 26% entry 52%}.shots .shot{animation:.9s cubic-bezier(.22,.68,.3,1) both rise view();animation-range:entry 5% entry 45%}}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-progress{transform-origin:0;background:linear-gradient(90deg, var(--p600), var(--b400) 62%, var(--w400));pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.scroll-progress{animation:linear both progress scroll(root)}}}@media (hover:hover) and (width>=641px){.card{z-index:0;transition:border-top-color .24s;position:relative}.card:before{content:"";z-index:-1;inset:calc(-1 * var(--s2));border-radius:var(--r-md);background:color-mix(in srgb, var(--p50) 60%, #fff);opacity:0;pointer-events:none;transition:opacity .24s;position:absolute;box-shadow:0 12px 30px -14px #26215c4d}.card:hover:before{opacity:1}.card:hover{border-top-color:#0000}.shot:hover{box-shadow:var(--lift-2);transform:translateY(-2px)}}.btn{transition:transform .12s,background-color .12s,box-shadow .12s}.btn:active{transform:translateY(1px)scale(.985)}@supports selector(::details-content){@media (prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}.faq-list details::details-content{block-size:0;transition:block-size .32s cubic-bezier(.22, .68, .3, 1), content-visibility .32s allow-discrete;overflow:hidden}.faq-list details[open]::details-content{block-size:auto}}}.faq-list summary:after{transition:color .2s}:target,section[id]{scroll-margin-top:88px}@media (prefers-reduced-motion:reduce){.reveal>*,.shots .shot,.hero .eyebrow,.hero h1,.hero .lede,.hero .hero-actions,.hero .hero-note,.hero:before{opacity:1!important;animation:none!important;transform:none!important}.scroll-progress{display:none}}section+section{border-top:0}.card{border-top:0;padding:0}.module{border-top:0}.module-output{margin-top:var(--s3);border-top:0;padding-top:0}.facts li{border-bottom:0;padding:0}.faq-list details{border-bottom:0}.contact-facts li{border-top:0;padding-top:0}.site-footer{border-top:0}.card-awards,blockquote{border-left:0}.team-note{border-top:0}section>.wrap>h2:before,.teacher>div>h2:before{content:none}section>.wrap>h2,.teacher>div>h2{padding-top:0}.site-header{border-bottom:0;box-shadow:0 10px 24px -22px #17151f8c}.grid{row-gap:var(--s5);column-gap:var(--s4)}.facts{gap:var(--s4);margin-top:var(--s5)}.faq-list{margin-top:var(--s5)}.faq-list details+details{margin-top:var(--s1)}.contact-facts{gap:var(--s4)}.team-note{padding:var(--s4) 0 0}.hero h1{font-size:clamp(40px,11.8vw,76px);font-weight:800;line-height:1.08}html[lang=vi] .hero h1{font-size:clamp(34px,9vw,66px)}h2{font-size:clamp(34px,10vw,56px);line-height:1.14}html[lang^=zh] h1,html[lang^=zh] h2,html[lang^=zh] h3,html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3{text-wrap:wrap}html[lang^=zh] .hero h1,html[lang=ko] .hero h1{max-width:11em}html[lang^=zh] .hero h1{font-size:38px}@media (width>=480px){html[lang^=zh] .hero h1{font-size:46px}}@media (width>=900px){html[lang^=zh] .hero h1{font-size:64px}}@media (width>=1200px){html[lang^=zh] .hero h1{font-size:72px}}section>.wrap>h2,.teacher>div>h2{font-size:clamp(34px,10vw,56px)}.card h3{font-size:22px}ul.hero-specs{gap:var(--s3);z-index:1;width:100%;max-width:var(--wrap);margin:var(--s4) auto 0;grid-template-columns:repeat(3,1fr);padding-inline:24px;display:grid;position:relative}.hero-specs .k{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-dim);font-weight:700;display:block}.hero-specs .v{color:#fff;margin-top:4px;font-size:19px;font-weight:700;line-height:1.35;display:block}.hero{padding-block:var(--s4) var(--s5)}@media (width>=900px){.hero{padding-block:var(--s6) var(--s5)}}.card{padding-left:46px;position:relative}.card.module{padding-left:0}.card-idx{font-family:var(--font-display);font-size:var(--fs-label);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--p400);font-weight:700;position:absolute;top:4px;left:0}.module-num{letter-spacing:-.03em;color:#0000;-webkit-text-stroke:1.5px var(--p200);background:0 0;border-radius:0;width:auto;height:auto;font-size:64px;line-height:.82;display:block}.module-head{gap:14px}.module h3{font-size:26px}@media (width<=899px){.shots{gap:var(--s1);margin-inline:-24px}.shot{border:0;border-radius:0}.card-awards{padding:var(--s4) 24px;border-radius:0;margin-inline:-70px -24px}blockquote{padding:var(--s5) 24px var(--s4);background:var(--ink);color:#fff;margin-inline:-24px;position:relative;overflow:hidden}blockquote:before{content:"“";font-family:var(--font-serif);color:var(--p400);opacity:.34;font-size:130px;font-weight:600;line-height:.7;position:absolute;top:14px;left:16px}blockquote p,blockquote cite{z-index:1;position:relative}blockquote p{font-size:22px;line-height:1.6}blockquote cite{font-family:var(--font-display);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w400);font-weight:700}}.teacher-id{margin-top:var(--s3);display:block}.teacher-name{font-size:30px;line-height:1.25}.teacher-role{margin-top:4px}.hero-dock{z-index:30;text-align:center;font-family:var(--font-display);color:#fff;background:var(--p600);padding:17px 20px calc(17px + env(safe-area-inset-bottom));font-size:18px;font-weight:700;text-decoration:none;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 30px -22px #17151f73}@media (width>=900px){.hero-dock{display:none}}@media (width<=899px){body{padding-bottom:68px}}@supports (animation-timeline:view()) and (timeline-scope:--hero-cta){.hero{overflow:clip}body{timeline-scope:--hero-cta}.hero-actions{view-timeline-name:--hero-cta}.hero-dock{--dock-y:100%;animation-name:hero-dock-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--hero-cta;animation-range:exit;animation-duration:auto!important}@keyframes hero-dock-in{0%{opacity:0;translate:0 var(--dock-y);pointer-events:none}to{opacity:1;pointer-events:auto;translate:0}}@media (prefers-reduced-motion:reduce){.hero-dock{--dock-y:0%}}}@media (width>=900px){.card-awards{margin-top:var(--s3);border-radius:var(--r-md)}.shot{border-radius:var(--r-photo)}.card{padding-left:54px}}
