
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@600;700&family=Source+Sans+3:wght@400;600;700&family=Source+Serif+4:wght@600;700&display=swap');
:root{--red:#9f242c;--red-dark:#721820;--gold:#d8a737;--ink:#1f2528;--muted:#667075;--paper:#f7f3ea;--soft:#f1eadc;--line:#ded7c9;--white:#fff;--max:1180px;--shadow:0 16px 45px rgba(42,31,20,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"Noto Sans SC","Microsoft YaHei","Segoe UI",sans-serif;line-height:1.62}html[lang="en"] body{font-family:"Source Sans 3","Segoe UI",sans-serif}html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] .page-hero h1,html[lang="en"] .section h2,html[lang="en"] .fee{font-family:"Source Serif 4",Georgia,serif}a{color:inherit}img{max-width:100%}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;background:white;padding:12px;z-index:1000}.topbar{background:var(--red-dark);color:white;font-size:.86rem}.topbar .wrap{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-row{height:76px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;text-decoration:none;min-width:238px}.brand img{width:50px;height:50px;object-fit:contain;margin-right:12px}.brand-text,.brand-cn,.brand-en{display:block}.brand-cn{font-family:"Noto Serif SC","Songti SC",serif;font-size:1.23rem;font-weight:700;color:var(--red-dark);line-height:1.15}.brand-en{font-size:.72rem;letter-spacing:.06em;color:var(--muted);line-height:1.2;margin-top:5px}.nav{display:flex;align-items:center;gap:4px;margin-left:auto}.nav a{padding:9px 9px;text-decoration:none;font-size:.88rem;font-weight:600;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{color:var(--red);border-color:var(--red)}.lang{border:1px solid var(--red)!important;border-radius:3px;padding:7px 11px!important;color:var(--red)!important;margin-left:8px}.mobile-lang{display:none;border:1px solid var(--red);border-radius:3px;padding:6px 10px;color:var(--red);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:white;padding:10px 13px;font-size:1rem}.hero{background:var(--paper);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero:after{content:"华";position:absolute;right:-10px;bottom:-150px;font-family:"Noto Serif SC",serif;font-size:25rem;line-height:1;color:rgba(159,36,44,.045);pointer-events:none}.hero-grid{min-height:400px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:48px;padding:44px 0}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:700;color:var(--red)}.eyebrow:before{content:"";width:34px;height:2px;background:var(--gold)}.back-home{text-decoration:none;width:max-content}.back-home:before{display:none}.back-home:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin-top:0}h1{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(2.25rem,4vw,3.65rem);letter-spacing:-.025em;margin:.24em 0 .22em;color:var(--red-dark)}.hero p{font-size:1.02rem;max-width:690px;color:#4c5559}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 20px;text-decoration:none;font-weight:700;border:1px solid var(--red);border-radius:2px}.btn-primary{background:var(--red);color:white}.btn-primary:hover{background:var(--red-dark)}.btn-secondary{background:white;color:var(--red)}.hero-panel{background:var(--red-dark);color:white;padding:26px;box-shadow:var(--shadow);position:relative}.hero-panel:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--gold)}.hero-panel h2{font-family:"Noto Serif SC",serif;font-size:1.4rem;margin-bottom:12px}.hero-panel a{color:white}.notice{border-top:1px solid rgba(255,255,255,.25);padding:12px 0}.notice:last-child{padding-bottom:0}.notice-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#ead18f}.section{padding:54px 0}.section.soft{background:var(--paper)}.section.red{background:var(--red-dark);color:white}.section-head{display:grid;grid-template-columns:.42fr 1fr;gap:44px;margin-bottom:28px}.section h2,.page-hero h1{font-family:"Noto Serif SC","Songti SC",serif}.section h2{font-size:clamp(1.7rem,2.8vw,2.45rem);color:var(--red-dark);margin-bottom:6px}.red h2{color:white}.lead{font-size:1.11rem;color:var(--muted);max-width:760px}.red .lead{color:#efe5df}.rule{width:55px;height:3px;background:var(--gold);margin-top:18px}.link-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.link-card{min-height:148px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;background:white;display:flex;flex-direction:column;transition:.2s}.link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);position:relative;z-index:2}.num{color:var(--red);font-size:.76rem;font-weight:700;letter-spacing:.1em}.link-card h3{font-size:1.16rem;margin:0 0 6px}.arrow{margin-top:auto;color:var(--red);font-size:1.25rem}.campus-grid,.course-grid,.two-col,.gallery-grid,.stats,.contact-grid{display:grid;gap:24px}.campus-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);background:white;padding:24px}.card h3{font-size:1.32rem;color:var(--red-dark)}.meta{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.tag{display:inline-block;background:var(--soft);color:var(--red-dark);font-weight:700;font-size:.77rem;padding:4px 9px;margin:2px}.two-col{grid-template-columns:1fr 1fr;gap:32px}.stats{grid-template-columns:repeat(4,1fr);padding-top:28px}.stat{border-top:3px solid var(--gold);padding-top:16px}.stat b{display:block;font-family:"Noto Serif SC",serif;font-size:2.2rem;color:var(--red-dark)}.red .stat b{color:white}.page-hero{padding:36px 0 32px;background:var(--paper);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:.84rem;color:var(--muted);margin-bottom:18px}.page-hero h1{font-size:clamp(2rem,3.6vw,3.15rem);margin:0 0 8px}.page-hero p{max-width:760px;font-size:1rem;color:var(--muted);margin:0}.prose{max-width:840px}.prose h2{font-size:1.75rem;margin-top:1.45em}.prose h3{font-size:1.25rem;margin-top:1.8em;color:var(--red-dark)}.prose li{margin:.55em 0}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:700px}.compact-table table{min-width:0}.compact-table th:first-child,.compact-table td:first-child{width:28%;white-space:nowrap}.table-title{font-size:1.15rem;color:var(--red-dark);margin:18px 0 8px}th,td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}th{background:var(--red-dark);color:white}tr:last-child td{border-bottom:0}.fee{font-family:"Noto Serif SC",serif;font-size:2.3rem;color:var(--red-dark);display:block}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:210px}.placeholder{border:1px dashed #b9ab95;background:var(--soft);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#776b5c;text-align:center;padding:20px}.placeholder:first-child{grid-row:span 2}.placeholder-mark{font-size:2rem;color:var(--red);margin-bottom:9px}.achievement-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:38px;align-items:start}.achievement-copy{min-width:0}.achievement-intro{font-size:1.08rem;color:#4c5559;margin:0 0 24px}.award-group{border-top:3px solid var(--gold);padding-top:18px;margin-top:24px}.award-group h2{font-size:1.55rem;margin-bottom:10px}.award-row{display:grid;grid-template-columns:112px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.award-row:last-of-type{border-bottom:0}.award-label{font-size:.84rem;font-weight:700;color:var(--red-dark)}.award-detail strong{display:block}.award-detail small{font-size:.9rem;color:var(--muted)}.honour-box{background:var(--paper);border-left:4px solid var(--gold);padding:16px 18px;margin-top:14px}.honour-box h3{font-size:1rem;color:var(--red-dark);margin-bottom:7px}.honour-box p{margin:0}.achievement-media{position:sticky;top:124px}.media-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.media-photos img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--soft)}.side-video,.wide-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#111}.side-video{margin-top:10px}.video-section{padding-top:0}.video-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px}.video-heading h2{margin:0}.wide-video{box-shadow:var(--shadow)}.resource-list{border-top:1px solid var(--line)}.resource{display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}.resource-type{color:var(--red);font-weight:700;font-size:.77rem}.resource:hover strong{color:var(--red)}.contact-grid{grid-template-columns:.8fr 1.2fr}.contact-box{background:var(--red-dark);color:white;padding:30px}.contact-box a{color:white}.form-demo{border:1px solid var(--line);padding:30px}.form-demo label{display:block;font-size:.84rem;font-weight:700;margin:15px 0 7px}.form-demo input,.form-demo textarea{width:100%;border:1px solid #bfb8ac;padding:13px;font:inherit}.form-demo textarea{height:120px}.callout{padding:20px;border-left:4px solid var(--gold);background:var(--paper);margin:20px 0}.footer{background:#202426;color:#e7e2da;padding:40px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:40px}.footer h3{color:white}.footer a{color:#e7e2da;text-decoration:none}.footer a:hover{text-decoration:underline}.copyright{font-size:.78rem;color:#aeb4b4;border-top:1px solid #45494b;margin-top:28px;padding-top:16px}.calendar-grid{gap:20px}.calendar-grid table{min-width:0}.calendar-section{padding-bottom:38px}.calendar-actions{margin-top:16px}.mobile-only{display:none}
.intro-prose,.wide-prose{max-width:920px}.method-grid,.textbook-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px}.method-card{display:flex;flex-direction:column}.textbook-figure{margin:20px 0 16px}.textbook-figure img{display:block;width:100%;height:280px;object-fit:contain;background:#fff;border:1px solid var(--line)}.textbook-figure figcaption,.campus-map figcaption{font-size:.83rem;color:var(--muted);margin-top:7px}.textbook-strip{margin-top:28px}.textbook-strip .textbook-figure img{height:330px}.campus-card{display:flex;flex-direction:column}.campus-map{margin:18px 0 0}.campus-map img{display:block;width:100%;height:230px;object-fit:contain;background:#fff;border:1px solid var(--line)}.fee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}.fee-grid .card{margin:0}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.award-table table{min-width:720px}.award-table th:nth-child(1){width:24%}.award-table th:nth-child(2){width:29%}.award-table td{vertical-align:top}.achievement-page{max-width:none}.event-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}.event-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--paper);border:1px solid var(--line)}.staff-list p{margin:.62em 0}.contact-box h2{color:#fff}.contact-box .eyebrow{color:#ead18f}.contact-details{display:flex;flex-direction:column;justify-content:center;background:#fff;color:var(--ink);border:1px solid var(--line)}.contact-details h2{color:var(--red-dark)}.contact-details a{color:var(--red-dark);overflow-wrap:anywhere}.contact-details .callout{color:var(--ink)}
.home-photo-hero{position:relative;background:linear-gradient(90deg,rgba(26,20,20,.72) 0%,rgba(26,20,20,.30) 43%,rgba(26,20,20,.04) 72%),url('homepage-hero.jpg') center 48%/cover no-repeat;border-bottom:1px solid var(--line)}.home-photo-hero .wrap{min-height:clamp(410px,40vw,610px);display:flex;align-items:flex-end;padding-top:54px;padding-bottom:54px}.home-photo-hero h1{max-width:730px;margin:0;color:#fff;font-size:clamp(2.7rem,5.3vw,5rem);line-height:1.17;letter-spacing:-.035em;text-shadow:0 3px 24px rgba(0,0,0,.52)}.home-intro-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:48px;align-items:start}.home-intro-copy .lead{max-width:760px;line-height:1.78}.home-intro .hero-panel{max-width:none}.page-banner{width:min(var(--max),calc(100% - 40px));margin:30px auto 0;overflow:hidden;background:var(--paper);border:1px solid var(--line)}.page-banner img{display:block;width:100%;aspect-ratio:5/2;object-fit:cover;object-position:center}.about-banner img{object-position:center 48%}.programs-banner img{object-position:center 47%}.campuses-banner img{object-position:center 48%}.enrolment-banner img{object-position:center 46%}.resources-banner img{object-position:center 48%}.flyer-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px}.flyer-heading h2{margin:8px 0 4px}.flyer-heading p{margin:0;color:var(--muted)}.flyer-heading .actions{margin:0}.flyer-image-link{display:block;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.flyer-image-link img{display:block;width:100%;height:auto}.letter-section{background:linear-gradient(180deg,#f7f3ea 0%,#f1eadc 100%)}.letter-heading{max-width:920px;margin:0 auto 24px;text-align:center}.letter-heading h2{margin:8px 0 0}.letter-paper{max-width:920px;margin:auto;padding:44px 54px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-family:"Noto Serif SC","Songti SC",serif;font-size:1.02rem;line-height:1.95}.letter-paper p{margin:0 0 1.1em;text-indent:2em}.letter-paper .letter-salutation,.letter-paper .letter-greeting,.letter-paper .letter-signature,.letter-paper .letter-date{text-indent:0}.letter-paper .letter-greeting{margin-left:2em}.letter-paper .letter-signature,.letter-paper .letter-date{margin:0;text-align:right}.letter-paper .letter-signature{margin-top:1.6em}
@media(min-width:1001px){.contact-box h2 small{display:block;white-space:nowrap;font-size:.58em;line-height:1.3;margin-top:8px}.campus-grid{grid-template-columns:1fr}.campus-card{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);column-gap:30px;align-items:start}.campus-card>.eyebrow,.campus-card>h3,.campus-card>p,.campus-card>.meta{grid-column:1}.campus-card>.campus-map{grid-column:2;grid-row:1/6;margin:0}.campus-card>.campus-map img{height:auto;max-height:none}}
@media(max-width:1000px){.fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-grid,.textbook-strip,.policy-grid,.home-intro-grid{grid-template-columns:1fr}.home-intro-grid{gap:30px}}
@media(max-width:1000px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:16px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:12px}.nav .lang{display:none}.mobile-lang{display:inline-flex;margin-left:auto;align-items:center;justify-content:center}.menu-btn{display:block;margin-left:0}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-panel{max-width:680px}.link-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:1fr;gap:14px}.achievement-layout{grid-template-columns:1fr}.achievement-media{position:static}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.wrap{width:min(100% - 28px,var(--max))}.topbar .wrap{justify-content:center}.topbar span:first-child{display:none}.header-row{height:68px;gap:6px}.brand{min-width:0}.brand img{width:38px;height:38px;margin-right:7px}.brand-cn{font-size:.9rem}.brand-en{display:none}.mobile-lang{padding:6px 9px}.nav{top:68px}.hero-grid{min-height:auto;padding:36px 0}.hero-panel{padding:22px}.section{padding:40px 0}.link-grid,.campus-grid,.course-grid,.two-col,.contact-grid,.stats,.footer-grid{grid-template-columns:1fr}.link-card{min-height:120px;position:relative;padding-right:62px}.link-card h3{margin-top:0}.link-card .arrow{position:absolute;right:22px;top:20px;margin-top:0}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:190px}.placeholder:first-child{grid-row:span 1}.award-row{grid-template-columns:1fr;gap:3px}.award-group h2{font-size:1.38rem}.media-photos{gap:5px}.video-heading{align-items:start;flex-direction:column;gap:8px}.resource{grid-template-columns:60px 1fr}.resource span:last-child{display:none}.page-hero{padding:28px 0}.footer{padding-top:32px}.home-photo-hero{background-position:58% center}.home-photo-hero .wrap{min-height:350px;padding-top:34px;padding-bottom:34px}.home-photo-hero h1{font-size:2.45rem;line-height:1.2}.page-banner{width:calc(100% - 28px);margin-top:20px}.page-banner img{aspect-ratio:2/1}.home-intro-copy .lead{font-size:1rem}.flyer-heading{align-items:flex-start;flex-direction:column;gap:14px}.letter-heading{margin-bottom:18px}.letter-paper{padding:24px 20px;font-size:.98rem;line-height:1.88}.letter-paper p{margin-bottom:1em;text-indent:2em}.letter-paper .letter-greeting{margin-left:1em}}
@media(max-width:680px){.fee-grid,.event-gallery{grid-template-columns:1fr}.textbook-figure img,.textbook-strip .textbook-figure img,.campus-map img{height:auto;max-height:none}.award-table table,.award-table tbody{display:block;min-width:0}.award-table thead{display:none}.award-table tr{display:block;padding:8px 10px;border-bottom:1px solid var(--line)}.award-table tr:last-child{border-bottom:0}.award-table td{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;width:auto!important;padding:4px 0;border:0;font-size:.86rem;overflow-wrap:anywhere}.award-table td::before{font-weight:700;color:var(--red-dark)}html[lang="zh-CN"] .award-table td:nth-child(1)::before{content:"奖项"}html[lang="zh-CN"] .award-table td:nth-child(2)::before{content:"获奖者"}html[lang="zh-CN"] .award-table td:nth-child(3)::before{content:"作品"}html[lang="en"] .award-table td:nth-child(1)::before{content:"Award"}html[lang="en"] .award-table td:nth-child(2)::before{content:"Student"}html[lang="en"] .award-table td:nth-child(3)::before{content:"Work"}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
