:root{--bg:#f7f7f5;--surface:#eaeae6;--ink:#171816;--muted:#60615b;--accent:#171816;--accent-ink:#fff;--dark-muted:#c6c6be;--margin:clamp(20px,2.2vw,36px);--gutter:24px;--small:14px;--body:18px;--lead:clamp(20px,1.8vw,26px);--head:clamp(34px,4.4vw,68px);--display:clamp(48px,6.6vw,108px);--font:'Erode','PingFang SC','Microsoft YaHei',Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}html[lang=zh-CN]{--font:'PingFang SC','Microsoft YaHei','Erode',sans-serif}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400;text-wrap:balance;line-height:1.1;letter-spacing:-.03em}h1{font-size:var(--display)}h2{font-size:var(--head)}h3{font-size:var(--lead)}p{max-width:64ch;text-wrap:pretty}p+p{margin-top:1em}a{color:inherit;text-decoration:none;text-underline-offset:.24em}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;width:100%;height:auto}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:6px}.contact-section :focus-visible,.footer :focus-visible{outline-color:var(--bg)}::selection{background:var(--ink);color:var(--bg)}.section{padding:120px var(--margin)}.small{font-size:var(--small);color:var(--muted)}.lead{font-size:var(--lead);line-height:1.45}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;min-height:52px;background:var(--accent);color:var(--accent-ink);font-size:16px;line-height:1.4;transition:transform .25s var(--ease),opacity .25s}.button:hover{opacity:.8}.button:active{transform:scale(.97)}.button.light{background:var(--bg);color:var(--ink)}.text-link{display:inline-block;text-decoration:underline;text-decoration-thickness:1px;padding-block:8px;transition:opacity .2s}.text-link:hover{opacity:.6}.skip-link{position:fixed;left:20px;top:8px;transform:translateY(-150%);background:var(--ink);color:var(--bg);padding:12px;z-index:200}.skip-link:focus{transform:none}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:26px var(--margin);gap:30px;position:relative;z-index:10;background:var(--bg)}.brand{display:flex;flex-direction:column;line-height:1}.brand>span:first-child{font:500 38px/.9 'Erode',Georgia,serif;letter-spacing:-.055em}.brand-caption{font-size:13px;line-height:1.3;margin-top:9px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:16px}.site-header nav>a:not(.header-contact){padding-block:8px}.site-header nav a[aria-current=page]{text-decoration:underline}.language-switch{display:flex;align-items:center;gap:10px;font-size:14px}.language-switch [aria-current=true]{text-decoration:underline}.language-switch span{color:var(--muted)}.header-contact{background:var(--ink);color:var(--bg);padding:12px 19px;white-space:nowrap;transition:opacity .2s}.header-contact:hover{opacity:.8}.menu-toggle{display:none}
.home-hero{padding:0 var(--margin)}.hero-media{height:clamp(340px,43vw,530px);display:grid;grid-template-columns:74% 26%;overflow:hidden}.hero-media img{height:100%;object-fit:cover}.hero-main{object-position:center 40%}.hero-side{object-position:50% 29%}.hero-title{display:grid;grid-template-columns:42% 58%;padding:44px 0 110px;gap:0}.hero-note{display:flex;flex-direction:column;justify-content:space-between;padding-top:9px;gap:40px;font-size:16px}.hero-note span{font-size:var(--small);color:var(--muted)}.hero-statement h1{max-width:14ch}.hero-statement .lead{margin-top:28px;max-width:40ch}.hero-statement .text-link{margin-top:24px}.hero-statement .text-link span{display:inline-block;margin-left:20px}.section-heading{display:grid;grid-template-columns:42% 58%;gap:0;margin-bottom:58px}.section-heading h2{max-width:17ch;padding-right:30px}.section-heading>div{padding-top:5px;max-width:49ch}.section-heading .text-link{margin-top:20px}.intro{background:var(--surface)}.intro-mosaic{display:grid;grid-template-columns:22% 56% 22%;height:clamp(340px,45vw,620px);overflow:hidden}.intro-mosaic img{height:100%;object-fit:cover}.intro-mosaic img:nth-child(2){object-position:center}.work-section{padding-bottom:120px}.work-band{display:grid;grid-template-columns:37% 29% 34%;gap:0;align-items:start}.work-band .photo-link{margin-top:0}.work-band .photo-link:nth-child(2){margin-top:110px}.work-band .photo-link:nth-child(3){margin-top:220px}.work-band img{aspect-ratio:3/4;object-fit:cover}.photo-link{display:block;position:relative}.photo-caption{display:block;font-size:var(--small);padding:14px 14px 0 0}.work-band .photo-link+.photo-link{padding-left:20px}.courses-section{background:var(--surface)}.course-row{display:grid;grid-template-columns:22% 1fr 17%;gap:42px;padding:36px 0;align-items:center}.course-row+.course-row{margin-top:24px}.course-row-image img{aspect-ratio:4/3;object-fit:cover;object-position:center 30%}.course-row-copy h3{font-size:clamp(26px,2.7vw,42px);margin-bottom:18px}.course-row-copy p{max-width:42ch}.course-row-copy .schedule{margin-top:20px;font-size:var(--small)}[data-state]{display:block;margin-top:8px;color:var(--muted);font-size:var(--small)}.price{font-size:clamp(30px,3vw,46px);font-variant-numeric:tabular-nums;line-height:1.1}.course-row-action{align-self:end;padding-bottom:6px}.course-row-action .text-link{margin-top:18px}.home-about{display:grid;grid-template-columns:42% 58%;gap:0;align-items:center}.home-about-photo{width:73%}.home-about-photo img{aspect-ratio:3/4;object-fit:cover}.home-about-copy h2{max-width:17ch;margin-bottom:34px}.home-about-copy p{max-width:44ch;margin-bottom:24px}.faq{background:var(--surface);display:grid;grid-template-columns:42% 58%}.faq>h2{padding-right:60px}.faq-row h3{font-size:var(--lead);margin-bottom:18px;max-width:35ch}.faq-row p{max-width:51ch}.faq-row+.faq-row{margin-top:52px}.contact-section{background:var(--ink);color:var(--bg);display:grid;grid-template-columns:68% 32%;gap:30px;align-items:center}.contact-copy h2{max-width:15ch}.contact-copy>p{margin:34px 0;max-width:44ch}.contact-person{max-width:235px;justify-self:end}.contact-person img{width:120px;height:150px;object-fit:cover;margin-bottom:20px}.contact-person p{font-size:16px}.contact-person .small{color:var(--dark-muted);font-size:14px}.footer{padding:70px var(--margin) 25px;background:var(--ink);color:var(--bg);overflow:hidden}.footer-top{display:grid;grid-template-columns:42% 35% 23%;gap:0;font-size:16px}.footer-top>p{max-width:25ch}.footer-links{display:flex;flex-direction:column;align-items:flex-start}.footer-wordmark{font:500 clamp(90px,23.3vw,410px)/1 'Erode',Georgia,serif;letter-spacing:-.06em;display:block;margin:90px 0 35px;white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--dark-muted)}
.page-intro{padding-top:80px;padding-bottom:75px}.page-intro h1{max-width:17ch}.axis-copy{margin:42px 0 0 42%;max-width:48ch}.axis-copy .small{margin-top:25px}.axis-copy>p+p{margin-top:28px}.course-picker{padding-top:10px}.picker-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.picker-buttons button{padding:15px 24px;background:var(--surface);font-size:16px;transition:background .2s,color .2s}.picker-buttons button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.picker-panel{display:grid;grid-template-columns:42% 58%;background:var(--surface);margin-bottom:30px}.picker-photo img{height:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 26%}.picker-copy{padding:clamp(30px,5vw,75px)}.picker-copy h2{font-size:clamp(32px,3.4vw,54px);margin-bottom:25px}.picker-copy>.lead{margin-bottom:22px}.picker-copy .price{margin-top:40px}.picker-copy .price+p{margin-top:23px;font-size:16px}.picker-copy .button{margin-top:28px}.js .picker-panel:not(.is-current){display:none}.course-overview{background:var(--surface)}.course-hero{display:grid;grid-template-columns:54% 46%;padding-top:45px;padding-bottom:80px;gap:0}.course-hero-heading{padding:18px 60px 20px 0}.course-hero-heading h1{font-size:clamp(42px,5.5vw,84px);margin:35px 0 26px;max-width:14ch}.course-hero-heading .lead{max-width:30ch}.course-price-block{margin:40px 0 30px}.course-price-block>span{font-size:var(--small)}.course-price-block .price{margin-top:10px}.course-price-block .small{margin-top:15px}.course-hero-image{overflow:hidden}.course-hero-image img{height:100%;min-height:600px;object-fit:cover;object-position:center 32%}.course-facts{padding-top:50px;padding-bottom:50px;background:var(--surface)}.course-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.course-facts dt{color:var(--muted);font-size:var(--small);margin-bottom:14px}.course-facts dd{font-size:18px}.course-learning{display:grid;grid-template-columns:42% 58%;margin-top:70px}.course-learning article{padding-right:60px}.course-learning h2{font-size:var(--lead);margin-bottom:20px}.course-learning p{max-width:46ch}.curriculum{background:var(--surface);display:grid;grid-template-columns:42% 58%}.curriculum ul{padding:0;margin:0;list-style:none}.curriculum li{font-size:var(--lead);padding:18px 0;line-height:1.4}.curriculum li+li{margin-top:8px}.work-pair{display:grid;grid-template-columns:37% 63%;gap:0;align-items:center}.work-pair .photo-link:nth-child(2){padding-left:40px}.work-pair img{aspect-ratio:4/5;object-fit:cover}.work-pair .photo-link:nth-child(2) img{aspect-ratio:4/3}.gallery{padding-top:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 32px;align-items:start}.gallery-item{grid-column:span 6}.gallery-item-1{grid-column:8/span 5;margin-top:110px}.gallery-item-2{grid-column:2/span 4;margin-top:40px}.gallery-item-3{grid-column:7/span 6;margin-top:80px}.gallery-item img{aspect-ratio:3/4;object-fit:cover}.gallery-item .photo-caption{display:none}.gallery figcaption{font-size:var(--small);margin-top:14px}.campus-hero{padding-top:0;padding-bottom:0}.campus-hero img{max-height:700px;aspect-ratio:16/8;object-fit:cover}.team>h2{margin-bottom:70px;max-width:20ch}.team-person{display:grid;grid-template-columns:42% 58%;align-items:center}.team-person>div:first-child{max-width:76%}.team-person h3{font-size:var(--head);margin-bottom:32px}.team-person p{max-width:38ch}.team-person .text-link{margin-top:20px}.team-person+.team-person{margin-top:100px}.team-person.reversed>div:first-child{grid-column:2;grid-row:1;justify-self:end;max-width:70%;width:100%}.team-person.reversed>div:last-child{grid-column:1;grid-row:1;padding-right:40px}.team-person img{aspect-ratio:3/4;object-fit:cover}.campus{background:var(--surface)}.campus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.campus-grid img{aspect-ratio:2/3;object-fit:cover}.students img{width:100%;max-height:640px;object-fit:contain}
dialog{padding:0;border:0;max-width:min(92vw,560px);width:560px;background:var(--bg);color:var(--ink);max-height:92svh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-close{position:absolute;top:10px;right:12px;font-size:30px;width:44px;height:44px;z-index:2;line-height:1;background:var(--bg)}.qr-content{padding:40px;text-align:center}.qr-content>h2{font-size:34px;margin-top:10px}.qr-content>p{font-size:16px;margin-top:18px}.qr-content>.small{font-size:var(--small);margin-top:0}.qr-image{max-height:44svh;width:auto;max-width:100%;margin:22px auto;object-fit:contain;background:white}.qr-links{display:flex;flex-direction:column;gap:12px;margin-top:24px;align-items:center}.mobile-qr{display:none}#image-dialog{max-width:95vw;width:max-content;background:var(--ink);color:var(--bg);overflow:auto}#image-dialog>img{max-width:90vw;max-height:83svh;width:auto;margin:auto;object-fit:contain}#image-dialog>p{font-size:var(--small);padding:14px 20px}body:has(dialog[open]){overflow:hidden}
@media(prefers-reduced-motion:no-preference){.shutter{animation:shutter 1.1s var(--ease) both}.shutter img{animation:settle 1.6s var(--ease) both}@keyframes shutter{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes settle{from{transform:scale(1.07)}to{transform:scale(1)}}.hero-media .hero-main{animation:hero-settle 12s var(--ease) both}@keyframes hero-settle{from{transform:scale(1.07)}to{transform:scale(1)}}}
@media(min-width:1920px){body{max-width:1920px;margin:auto}.footer-wordmark{font-size:410px}}
@media(max-width:1000px){.site-header nav{gap:20px}.site-header{padding-block:24px}.brand>span:first-child{font-size:32px}.site-header .header-contact{display:none}.hero-media{height:420px;grid-template-columns:72% 28%}.section{padding-block:90px}.section-heading{grid-template-columns:42% 58%}.course-row{gap:24px;grid-template-columns:24% 1fr 20%}.course-row-copy h3{font-size:29px}.course-row-action .price{font-size:30px}.course-hero-heading{padding-right:30px}.course-hero-image img{min-height:560px}.course-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section{grid-template-columns:65% 35%}.qr-content{padding:36px}}
@media(max-width:700px){:root{--body:17px;--head:34px;--display:48px;--margin:20px}.section{padding:72px var(--margin)}h2{line-height:1.15}.site-header{padding:22px var(--margin);gap:15px;align-items:center}.brand>span:first-child{font-size:32px}.brand-caption{font-size:13px}.menu-toggle{display:block;padding:10px 0 10px 15px;font-size:16px}.site-header nav{flex-wrap:wrap;gap:14px 22px}.js .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px var(--margin) 32px;background:var(--bg);box-shadow:0 20px 20px rgba(0,0,0,.08)}.js .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:12px}.js .site-header nav .header-contact{display:block;text-align:center;margin-top:14px}.language-switch{margin-block:10px}.hero-media{height:370px;grid-template-columns:100%}.hero-side{display:none}.hero-main{object-position:54% center}.hero-title{display:flex;flex-direction:column-reverse;gap:32px;padding:32px 0 65px}.hero-statement h1{font-size:47px;max-width:14ch;line-height:1.1}.hero-statement .lead{margin-top:23px;font-size:20px}.hero-statement .text-link{margin-top:20px}.hero-note{flex-direction:row;gap:20px;font-size:14px;padding:0;align-items:end}.hero-note span{font-size:13px}.hero-note p{max-width:190px}.section-heading{display:block;margin-bottom:36px}.section-heading h2{padding:0;margin-bottom:25px;max-width:19ch}.section-heading>div{padding:0}.section-heading .text-link{margin-top:14px}.intro-mosaic{height:370px;grid-template-columns:38% 62%}.intro-mosaic img:nth-child(2){object-position:46% center}.intro-mosaic img:nth-child(3){display:none}.work-band{grid-template-columns:1fr 1fr;gap:25px 12px}.work-band .photo-link:nth-child(2){margin-top:60px}.work-band .photo-link:nth-child(3){grid-column:1/-1;margin:0;width:82%}.work-band .photo-link+.photo-link{padding:0}.photo-caption{font-size:13px;padding-top:10px}.course-row{grid-template-columns:29% 1fr;gap:20px;padding:24px 0;align-items:start}.course-row+.course-row{margin-top:26px}.course-row-image img{aspect-ratio:3/4}.course-row-copy h3{font-size:25px;margin-bottom:12px}.course-row-copy p{font-size:16px}.course-row-copy .schedule{font-size:13px;margin-top:15px}.course-row-copy [data-state]{font-size:13px}.course-row-action{grid-column:2;padding:0;display:flex;gap:15px;justify-content:space-between;align-items:center}.course-row-action .price{font-size:25px;white-space:nowrap}.course-row-action .text-link{margin:0;font-size:14px;white-space:nowrap}.home-about{display:block}.home-about-photo{width:64%;margin-bottom:40px}.home-about-copy h2{margin-bottom:28px}.faq{display:block}.faq>h2{padding:0;margin-bottom:42px;max-width:20ch}.faq-row+.faq-row{margin-top:38px}.faq-row h3{font-size:21px}.contact-section{display:block}.contact-copy h2{max-width:16ch}.contact-copy>p{margin:24px 0 30px}.contact-person{display:grid;grid-template-columns:86px 1fr;gap:8px 20px;max-width:100%;margin-top:50px}.contact-person img{grid-row:1/3;width:86px;height:112px;margin:0}.contact-person p{font-size:16px}.contact-person .small{font-size:13px}.footer{padding:40px var(--margin) 22px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px;font-size:15px}.footer-top>p{grid-column:1/-1;max-width:100%}.footer-wordmark{font-size:22vw;margin:65px 0 30px}.footer-bottom{font-size:13px;flex-direction:column;gap:7px}.page-intro{padding-top:45px;padding-bottom:45px}.page-intro h1{font-size:46px;max-width:13ch}.axis-copy{margin:30px 0 0;max-width:100%}.axis-copy .lead{font-size:21px}.course-picker{padding-top:0}.picker-buttons{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:20px}.picker-buttons button{padding:14px 18px;text-align:left}.picker-panel{display:flex;flex-direction:column}.picker-photo img{height:360px;aspect-ratio:auto;object-position:50% 28%}.picker-copy{padding:28px 22px 34px}.picker-copy h2{font-size:32px}.picker-copy>.lead{font-size:21px}.picker-copy .price{font-size:34px;margin-top:28px}.course-hero{display:flex;flex-direction:column;padding-top:25px;padding-bottom:0}.course-hero-heading{padding:0 0 45px}.course-hero-heading h1{font-size:43px;margin-top:26px;max-width:14ch}.course-hero-heading .lead{font-size:22px}.course-price-block{margin-top:32px}.course-hero-image{margin-inline:calc(-1 * var(--margin))}.course-hero-image img{min-height:0;aspect-ratio:4/5;max-height:570px;object-position:center 25%}.course-facts{padding-block:35px}.course-facts dl{gap:25px 18px}.course-facts dd{font-size:16px}.course-facts dt{font-size:13px;margin-bottom:9px}.course-facts [data-state]{font-size:13px}.course-learning{display:block;margin-top:42px}.course-learning article{padding:0}.course-learning article+article{margin-top:32px}.course-learning h2{font-size:23px;margin-bottom:15px}.curriculum{display:block}.curriculum h2{margin-bottom:28px}.curriculum li{font-size:20px;padding-block:14px}.work-pair{display:block}.work-pair .photo-link:first-child{width:72%}.work-pair .photo-link:nth-child(2){padding:0;margin-top:35px}.gallery{grid-template-columns:1fr 1fr;gap:40px 15px;padding-top:0}.gallery-item,.gallery-item-1,.gallery-item-2,.gallery-item-3{grid-column:auto;margin-top:0}.gallery-item:nth-child(3n+1){grid-column:1/-1}.gallery-item img{aspect-ratio:3/4}.gallery-item:nth-child(3n+1) img{aspect-ratio:4/5}.gallery figcaption{font-size:13px}.campus-hero{padding-top:0;padding-bottom:0}.campus-hero img{aspect-ratio:4/3}.team>h2{margin-bottom:40px}.team-person{display:block}.team-person>div:first-child{max-width:76%;margin-bottom:28px}.team-person h3{font-size:32px;margin-bottom:20px}.team-person+.team-person{margin-top:65px}.team-person.reversed>div:first-child{max-width:76%;margin-left:auto}.team-person.reversed>div:last-child{padding:0}.campus-grid{grid-template-columns:1fr 1fr;gap:12px}.campus-grid>div:last-child{grid-column:1/-1;width:70%;margin:25px auto 0}.students img{object-fit:contain}.qr-content{padding:40px 23px 25px}.qr-content>h2{font-size:28px}.qr-content>p{font-size:15px}.qr-image{max-height:41svh}.desktop-qr{display:none}.mobile-qr{display:block}#image-dialog .dialog-close{top:8px;right:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:28px}.hero-statement .hero-actions .text-link{margin-top:0}.hero-actions .text-link span{margin-left:10px}.contact-section{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
@media(max-width:1000px){.contact-section{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}}
@media(max-width:700px){.hero-actions{gap:14px;margin-top:25px}.hero-actions .button{padding-inline:19px;font-size:15px}.hero-actions .text-link{font-size:16px}.contact-section{display:block}}

.shutter{overflow:hidden}
