*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#171717;background:#fff;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7;letter-spacing:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.35;overflow-wrap:anywhere}p{overflow-wrap:anywhere}svg{flex-shrink:0;width:18px;height:18px;stroke-width:1.5}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #171717;outline-offset:5px}.shell{width:min(1320px,calc(100% - 96px));margin:auto}.site-header{height:100px;background:rgba(255,255,255,.97);border-bottom:1px solid #e8e8e8;position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;gap:36px}.wordmark{display:flex;align-items:center;gap:12px;margin-right:auto;flex-shrink:0}.mark{width:42px;height:42px;border:1px solid #171717;display:grid;place-content:center;font-family:"Songti SC",serif;font-size:20px;line-height:1.05;writing-mode:vertical-rl}.wordmark small{font-size:10px;line-height:1.4;display:block}.wordmark strong{font-weight:500;font-size:15px;display:block}.nav{display:flex;gap:29px;align-items:center}.nav a{font-size:13px;padding:12px 0;position:relative;white-space:nowrap}.nav a[aria-current=page]:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:#171717}.language{display:flex;align-items:center;gap:9px;border-left:1px solid #ddd;padding-left:23px;font-size:12px;white-space:nowrap}.language span{color:#aaa}.language a{padding:10px 0}.language a[aria-current=true]{font-weight:700}.menu-button{display:none;border:0;background:none;padding:10px}.preview-label{position:fixed;bottom:16px;right:20px;border:1px solid #ddd;background:#fff;padding:5px 10px;font-size:10px;color:#777;z-index:12;box-shadow:0 2px 8px #00000006;pointer-events:none}.skip{position:absolute;left:20px;top:-70px;background:#fff;padding:10px;z-index:30}.skip:focus{top:10px}.home-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:50px 0 35px}.home-intro h1{font-size:48px;line-height:1.2}.home-intro .brand-en{font-size:12px;margin-top:12px;color:#777}.home-intro p{max-width:375px;font-size:14px;line-height:1.9}.hero-banner{width:100%;background:#d2d2d2;position:relative}.hero-banner img{aspect-ratio:3.2;object-fit:contain;max-height:430px}.hero-caption{display:none}.section{padding:60px 0;border-bottom:1px solid #e4e4e4}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:30px}.section-heading h2{font-size:23px}.eyebrow{font-size:11px;line-height:1.5;color:#858585;margin-bottom:12px;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;line-height:1.5;border-bottom:1px solid transparent;padding:5px 0}.text-link:hover{border-bottom-color:currentColor}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}.work-item{min-width:0}.image-wrap{overflow:hidden;background:#f3f3f3;aspect-ratio:16/9}.image-wrap img{height:100%;width:100%;object-fit:contain;transition:transform .4s}.work-item:hover .image-wrap img{transform:scale(1.025)}.item-heading{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-top:16px}.item-heading h3{font-size:16px;line-height:1.55}.item-heading svg{margin-top:4px}.meta{font-size:11px;color:#888;margin-top:8px}.muted{color:#777}.service-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px}.service-layout>div>p{max-width:330px;font-size:14px;color:#666;margin:15px 0 22px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.services article{border-top:1px solid #333;padding-top:18px}.services .number{font-size:11px;color:#888}.services h3{font-size:17px;margin:24px 0 12px}.services p{font-size:13px;color:#777}.course-list{display:grid}.course-row{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:36px 0;border-top:1px solid #dedede;min-width:0}.course-row:first-child{border-top:0;padding-top:0}.course-row h2,.course-row h3{font-size:25px;margin:12px 0 18px;max-width:540px}.course-row p{max-width:480px;color:#666;font-size:14px;margin-bottom:24px}.course-row .course-cover{aspect-ratio:16/9;object-fit:contain;background:#f5f5f5}.course-row .course-links{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.unavailable{font-size:12px;color:#777;border:none;border-bottom:1px solid #ccc;background:transparent;padding:7px 0;display:inline-flex;align-items:center;gap:8px}.badge{font-size:10px;border:1px solid #ddd;color:#777;padding:3px 7px;display:inline-block;margin:7px 0}.page-heading{padding:60px 0 44px;display:flex;justify-content:space-between;gap:40px;align-items:end}.page-heading h1{font-size:42px}.page-heading p{font-size:14px;color:#777;max-width:430px}.page-heading .count{font-size:12px;margin-left:12px;color:#999;vertical-align:top}.page-heading .eyebrow{margin-bottom:16px}.page-main{padding-bottom:70px}.breadcrumb{display:flex;gap:10px;color:#888;font-size:12px;padding:28px 0 10px}.detail-heading{max-width:1050px;padding:30px 0 38px}.detail-heading h1{font-size:40px;margin-top:12px;line-height:1.4}.detail-heading .lead{font-size:16px;color:#666;max-width:740px;margin-top:22px}.detail-cover{width:100%;aspect-ratio:16/9;object-fit:contain;background:#f3f3f3}.detail-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:90px;margin-top:50px}.detail-body h2,.detail-side h2{font-size:20px;margin-bottom:20px}.detail-body section{margin-bottom:44px}.detail-body p{font-size:15px;color:#666}.topic-list{list-style:none;padding:0;margin:0}.topic-list li{display:flex;align-items:center;gap:22px;padding:17px 0;border-bottom:1px solid #e5e5e5;font-size:15px}.topic-list span{font-size:11px;color:#999}.detail-side{border-top:1px solid #333;padding-top:20px;align-self:start}.facts{margin:0 0 25px}.fact{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #e5e5e5;font-size:13px}.fact dt{color:#777}.fact dd{margin:0}.fact dd.pending{color:#999}.full-button{background:#efefef;border:1px solid #e2e2e2;color:#888;width:100%;padding:15px 16px;display:flex;gap:10px;justify-content:center;align-items:center;line-height:1.5;font-size:13px}.pending-copy{min-height:100px;border-top:1px solid #e5e5e5;padding-top:20px;color:#999!important}.work-screening{display:flex;justify-content:space-between;align-items:center;margin:16px 0;color:#888;font-size:12px}.faq details{border-bottom:1px solid #e5e5e5;padding:18px 0}.faq summary{cursor:pointer;list-style:none;font-size:14px;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{font-size:13px;padding-top:16px}.about-content{max-width:930px}.about-content .statement{font-size:26px;line-height:1.9;margin-bottom:65px}.about-row{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:34px 0;border-top:1px solid #ddd}.about-row h2{font-size:18px}.about-row h3{font-size:19px;margin-bottom:16px}.about-row p{font-size:15px;color:#666}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin:24px 0 0}.contact-grid div{border-bottom:1px solid #e5e5e5;padding:12px 0}.contact-grid strong{font-size:13px;font-weight:400;display:block}.contact-grid span{font-size:12px;color:#999}.news-row{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;border-top:1px solid #ddd;padding:35px 0}.news-row img{aspect-ratio:16/9;object-fit:contain}.news-row h2{font-size:26px;margin:18px 0}.news-row p{font-size:14px;color:#999;margin-bottom:20px}.article-body{max-width:760px;margin:40px 0 70px}.site-footer{padding:40px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:42px}.footer-name{font-size:23px;margin-bottom:10px}.footer-top p{font-size:12px;color:#888}.footer-links{display:flex;gap:30px;align-items:start;font-size:12px}.footer-bottom{border-top:1px solid #ddd;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#999}.socials{display:flex;gap:12px;margin-top:20px}.socials img{height:25px;width:25px;opacity:.7}.socials button{padding:0;border:0;background:none}.end-link{border-top:1px solid #ddd;padding-top:28px;margin-top:50px;display:flex;justify-content:space-between;gap:30px}.end-link h3{font-size:18px;max-width:600px}.end-link small{font-size:11px;color:#888}.empty-rule{height:1px;background:#eee;margin:25px 0}
.hero-banner img{height:min(360px,38vh);aspect-ratio:auto;object-fit:contain}.home-intro{padding-top:36px;padding-bottom:28px}
@media(min-width:1600px){.home-intro{padding-top:36px;padding-bottom:28px}}
@media(max-width:1100px){.shell{width:calc(100% - 56px)}.header-inner{gap:22px}.nav{gap:19px}.wordmark small{display:none}.course-row{gap:40px}.service-layout{grid-template-columns:1fr;gap:20px}.detail-grid{gap:45px}.news-row{gap:45px}.home-intro h1{font-size:40px}}
@media(max-width:820px){.site-header{height:78px}.header-inner{gap:18px}.wordmark strong{font-size:14px}.mark{width:36px;height:36px;font-size:17px}.language{margin-left:auto;padding-left:0;border-left:0}.nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;border-bottom:1px solid #ddd;padding:20px 28px;box-shadow:0 8px 12px #00000006}.nav a{display:block;padding:14px 0}.nav a[aria-current=page]:after{right:auto;width:24px;bottom:8px}.menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px}.menu-open .nav{display:block}.home-intro{padding:36px 0 27px;gap:30px}.home-intro h1{font-size:34px}.home-intro p{max-width:260px;font-size:12px}.section{padding:45px 0}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.course-row h2,.course-row h3{font-size:22px}.page-heading h1{font-size:36px}.page-heading{padding:42px 0 34px}.detail-heading h1{font-size:32px}.about-content .statement{font-size:23px}.about-row{gap:35px}.detail-grid{grid-template-columns:1.5fr 1fr;gap:30px}.services{gap:25px}.footer-top{gap:25px}.footer-links{gap:20px}.news-row h2{font-size:23px}}
@media(max-width:560px){.shell{width:calc(100% - 36px)}.header-inner{gap:10px}.wordmark{gap:8px}.wordmark strong{font-size:12px}.wordmark small{display:none}.language{font-size:11px;gap:7px}.menu-button{width:32px}.home-intro{display:block;padding:32px 0 23px}.home-intro h1{font-size:32px}.home-intro .brand-en{margin-top:8px;font-size:10px}.home-intro p{max-width:none;font-size:13px;margin-top:18px;line-height:1.8}.hero-banner img{aspect-ratio:2;object-fit:cover}.hero-caption{display:block;padding:13px 18px;background:#ededed;font-size:12px;color:#444;line-height:1.6}.section{padding:35px 0}.section-heading{margin-bottom:24px}.section-heading h2{font-size:21px}.text-link{font-size:12px;gap:8px}.work-grid{grid-template-columns:1fr;gap:28px}.item-heading h3{font-size:17px}.item-heading{margin-top:12px}.meta{margin-top:5px}.services{grid-template-columns:1fr;gap:18px}.services article{display:grid;grid-template-columns:32px 1fr;gap:0 10px;padding-top:16px}.services h3{margin:0 0 8px;font-size:17px}.services p{grid-column:2}.service-layout{gap:26px}.course-row{grid-template-columns:1fr;gap:22px;padding:28px 0}.course-row .course-image-link{grid-row:1}.course-row h2,.course-row h3{font-size:23px;margin:8px 0 12px}.course-row p{margin-bottom:16px;font-size:14px}.course-row .eyebrow{margin-bottom:5px}.course-row .course-links{gap:22px}.page-heading{display:block;padding:35px 0 30px}.page-heading h1{font-size:32px}.page-heading p{margin-top:17px;font-size:13px}.page-heading .eyebrow{margin-bottom:10px}.page-main{padding-bottom:40px}.breadcrumb{padding-top:20px;font-size:11px}.detail-heading{padding:23px 0 27px}.detail-heading h1{font-size:28px}.detail-heading .lead{font-size:14px;margin-top:18px}.detail-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.detail-side{grid-row:1}.detail-body section{margin-bottom:32px}.detail-body h2,.detail-side h2{font-size:19px}.detail-cover{aspect-ratio:16/9}.about-content .statement{font-size:21px;line-height:1.9;margin-bottom:35px}.about-row{grid-template-columns:1fr;gap:20px;padding:25px 0}.about-row p{font-size:14px}.contact-grid{gap:16px}.news-row{grid-template-columns:1fr;gap:22px;padding:27px 0}.news-row>a{grid-row:1}.news-row h2{font-size:23px;margin:12px 0}.footer-top{display:block;margin-bottom:30px}.footer-links{margin-top:25px;flex-wrap:wrap;gap:18px}.site-footer{padding:30px 0 55px}.footer-bottom{display:block;line-height:1.8}.footer-bottom>span{display:block;margin-bottom:8px}.preview-label{font-size:9px;bottom:10px;right:10px;padding:4px 8px}.end-link h3{font-size:16px}.end-link{gap:20px}.work-screening{align-items:start;gap:20px}.work-screening .unavailable{font-size:11px}.hero-banner{overflow:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:560px){.hero-banner img{height:auto;aspect-ratio:3.2;object-fit:contain}}

/* October revision: supplied logo, quieter intro, two services, accessible QR dialogs. */
.course-row .course-expansion{grid-column:1/-1;min-width:0;margin-top:-36px}
.course-row .course-credits{font-size:12px;line-height:1.8;max-width:none;margin:0 0 14px;color:#666}
.course-outline{border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4}
.course-outline summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:17px 0;font-size:14px}
.course-outline summary::-webkit-details-marker{display:none}
.course-outline[open] summary svg{transform:rotate(180deg)}
.course-outline-body{display:grid;grid-template-columns:1fr 2fr;gap:28px 60px;padding:12px 0 24px}
.course-outline-body section{min-width:0}
.course-outline-body h3{font-size:16px;margin:0 0 14px}
.course-outline-body h4{font-size:14px;font-weight:500;margin:0 0 4px;line-height:1.6}
.course-row .course-outline-body p{font-size:13px;max-width:none;margin:0;line-height:1.85}
.course-outline-body ol{margin:0;padding-left:22px;display:grid;gap:16px}
.course-outline-body li{padding-left:8px}
.course-outline-body .learner-profiles{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:16px}
.course-outline-body .learner-profile{padding:0}
.platform-summary{border-top:1px solid #dedede;padding:24px 0 40px}
.platform-summary h2{font-size:15px;margin:0 0 10px;line-height:1.6}
.platform-summary p{font-size:13px;line-height:1.85;color:#666;max-width:960px}
@media(max-width:1100px){.course-row .course-expansion{margin-top:-12px}}
@media(max-width:560px){.course-row .course-expansion{margin-top:0}.course-outline-body{grid-template-columns:1fr;gap:24px}.course-row .course-credits{font-size:12px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-logo{width:86px;height:86px;object-fit:contain}
.home-intro{justify-content:flex-end;padding:22px 0 24px}
.home-intro p{max-width:440px;font-size:14px;margin:0}
.hero-banner img{width:100%;height:auto;max-height:450px;aspect-ratio:1920/600;object-fit:contain}
.hero-caption{display:block;position:absolute;bottom:18px;left:5%;font-size:12px;background:transparent;color:#454545;padding:0}
.services{grid-template-columns:repeat(2,minmax(0,1fr))}
.about-content .statement{font-size:18px;line-height:1.95;margin-bottom:48px}
.statement p+p{margin-top:22px}
.statement p:first-child{font-size:22px;color:#222}
.contact-grid h3{font-size:14px;margin-bottom:16px}
.contact-grid>div{border:0}
.contact-qr{width:100%;max-width:217px;height:245px;object-fit:contain;object-position:top left}
.socials a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px}
.socials a:hover{background:#f2f2f2}
.socials svg{width:24px;height:24px}
.qr-dialog{border:1px solid #ddd;border-radius:6px;padding:36px 30px 26px;max-width:calc(100% - 32px);width:340px;max-height:90dvh;overflow:auto;color:#171717}
.qr-dialog::backdrop{background:rgba(0,0,0,.45)}
.qr-dialog h2{font-size:18px;margin-bottom:22px;padding-right:20px}
.qr-dialog .qr-image{width:auto;max-width:100%;max-height:340px;margin:auto}
.qr-dialog#qr-1 .qr-image{width:260px;aspect-ratio:1;object-fit:contain}
.contact-dialog{text-align:center}
.contact-dialog h2{font-size:19px;padding:0 12px}
.contact-dialog .qr-image{width:217px;aspect-ratio:1;object-fit:contain}
.qr-caption{font-size:13px;color:#666;margin-bottom:12px}
.business-label{font-size:12px!important;color:#666;margin-top:22px}
.wechat-id{font-size:20px!important;color:#171717!important;font-weight:600;user-select:all;margin-top:5px}
.news-cover{aspect-ratio:3/2!important;object-fit:contain!important;background:#fff}
.dialog-close{position:absolute;top:8px;right:8px;background:none;border:0;width:36px;height:36px;display:grid;place-items:center}
.news-text{grid-template-columns:1fr 3fr;align-items:start;gap:40px;padding:40px 0}.news-text h2{margin-top:0;max-width:820px;font-size:25px}
@media(max-width:560px){.news-text{grid-template-columns:1fr;gap:0}.news-text h2{font-size:22px}}
@media(max-width:820px){.brand-logo{width:68px;height:68px}.home-intro p{max-width:440px}.about-content .statement{font-size:17px}.statement p:first-child{font-size:21px}}
@media(max-width:560px){.home-intro{padding:19px 0}.home-intro p{font-size:12px;line-height:1.9;margin:0}.hero-banner img{aspect-ratio:1920/600;max-height:none}.hero-caption{position:static;padding:10px 18px;background:#ededed}.services{grid-template-columns:1fr}.about-content .statement{font-size:16px}.statement p:first-child{font-size:19px}.contact-grid{grid-template-columns:1fr 1fr;gap:20px}.contact-qr{height:210px}.contact-grid h3{font-size:13px}}
