*{box-sizing:border-box}body{margin:0;color:#222;background:#fff;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;font-size:14px;line-height:1.65}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:2px solid #81b7bf;outline-offset:4px}.site-width{width:56.3%;max-width:1800px;margin:0 auto}.site-header{height:clamp(64px,3.2vw,110px);background:#fff}.header-row{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Songti SC,SimSun,serif;color:#80b7bf;font-size:clamp(22px,1.15vw,39px);white-space:nowrap;line-height:1}.brand sup{font-size:10px;vertical-align:top}.brand span{font-family:Microsoft YaHei,sans-serif;font-weight:300;margin-left:5px}.header-row nav{display:flex;gap:clamp(36px,3.1vw,100px);font-size:clamp(13px,.62vw,20px)}.header-row nav a:hover{color:#80b7bf}.menu-button{display:none}.site-footer{text-align:center;background:#efefef;padding:30px 20px 34px;font-size:12px}.site-footer strong{font-size:16px;color:#111}.site-footer sup{font-size:8px}.site-footer nav{display:flex;gap:14px;justify-content:center;margin:8px 0 18px}.site-footer p{color:#999;font-size:11px}.reference-hero{position:relative;aspect-ratio:6173/2863;overflow:hidden;background:#bbdce0}.reference-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}.reference-hero>img.active{opacity:1}.slide-prev,.slide-next{position:absolute;top:46%;color:#fff;font:300 42px Arial;padding:12px;z-index:2}.slide-prev{left:1%}.slide-next{right:1%}.slide-bars{position:absolute;bottom:4%;left:0;right:0;display:flex;justify-content:center;gap:10px}.slide-bars button{width:30px;height:20px;position:relative}.slide-bars button:after{content:"";display:block;height:3px;background:#fff6}.slide-bars button.active:after{background:#fff}.reference-intro{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:18%;padding:clamp(40px,3vw,110px) 0 clamp(30px,3.5vw,130px)}.reference-intro h2,.reference-heading h2{font-size:clamp(20px,.95vw,30px);color:#080808;line-height:1.3;font-weight:700}.reference-intro small,.reference-heading small{font-size:11px}.reference-intro p{font-size:clamp(12px,.5vw,16px);line-height:1.65;margin-top:20px;color:#444}.reference-intro img{width:100%}.reference-section{padding:0 0 clamp(48px,4vw,140px)}.reference-heading{text-align:center;margin-bottom:28px}.reference-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.reference-card{border:1px solid #ededed;display:block;transition:box-shadow .2s}.reference-card:hover{box-shadow:0 4px 16px #0000000b}.reference-card>img{width:100%;aspect-ratio:820/595;object-fit:cover}.card-copy{padding:14px 12px 24px}.card-copy h3{font-size:14px;font-weight:500;line-height:1.5;margin-bottom:6px}.card-copy p{font-size:12px;color:#888;line-height:1.65}.news-card>img{aspect-ratio:820/492}.news-card time{display:block;color:#999;font-size:10px;margin-bottom:8px}.news-card .card-copy{padding:12px 10px 22px}.reference-more{text-align:right;color:#999;font-size:12px;margin-top:12px}.reference-space{position:relative}.reference-space img{width:100%;aspect-ratio:820/505;object-fit:cover}.reference-space span{position:absolute;right:8px;bottom:6px;color:#fff;font-size:10px;text-shadow:0 1px 3px #555}.spaces-section{padding-bottom:38px}.news-note{font-size:12px;color:#888;text-align:right}.locations-page{padding-top:28px;padding-bottom:65px}.locations-page>h1{text-align:center;font-size:clamp(24px,1.8vw,56px);font-weight:500;line-height:1.4}.city-section{margin-top:32px}.city-section>h2{text-align:center;font-size:clamp(22px,1.1vw,34px);font-weight:500;margin-bottom:30px}.location-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:26px 20px}.location-grid figure{grid-column:span 3}.location-grid .wide-location{grid-column:span 5}.location-grid img{width:100%;height:clamp(180px,16.7vw,550px);object-fit:cover;border-radius:18px}.location-grid figcaption{padding:12px 8px 0}.location-grid h3{font-weight:400;font-size:13px}.location-grid p{font-size:11px;color:#666;margin-top:3px}.single-location figure,.single-location .wide-location{grid-column:span 8}.careers-hero img{width:100%;aspect-ratio:4182/1162;object-fit:cover}.recruitment{display:grid;grid-template-columns:1fr 4fr 1.6fr;gap:8%;padding-top:90px}.recruitment nav button{display:block;border-bottom:1px solid #ddd;padding:14px 0;width:100%;text-align:left;color:#999;white-space:nowrap;font-size:18px}.recruitment nav button.selected{color:#222}.job-copy h2,.recruitment aside h2{font-size:18px;font-weight:500;margin-bottom:14px}.job-copy h2:not(:first-child){margin-top:48px}.job-copy p{line-height:2;font-size:14px}.recruitment aside p{margin-top:14px}.reference-contact{display:flex;justify-content:center;gap:110px;text-align:center;padding-top:120px;padding-bottom:90px}.reference-contact h2{font-size:18px;font-weight:400;margin-bottom:30px}.qr-placeholder{width:130px;height:130px;border:1px dashed #ccc;margin:auto;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:12px}.reference-contact p{margin-top:20px;font-size:12px;color:#777}.article-page{min-height:60vh;padding:50px 0 80px}.article-page time{display:block;color:#999;margin-top:35px}.article-page h1{font-size:26px;margin:10px 0 30px}.article-page img{max-width:700px;width:100%;margin-bottom:30px}.article-page p{margin-top:18px}.article-note{color:#999}@media(min-width:2000px){.reference-cards{gap:28px}.card-copy{padding:20px 16px 36px}.card-copy h3{font-size:18px}.card-copy p{font-size:15px}.reference-heading{margin-bottom:40px}.site-footer{padding:36px 20px 44px}.reference-section{padding-bottom:100px}}@media(max-width:1200px){.site-width{width:80%}.reference-intro{gap:8%;grid-template-columns:1fr 1.3fr}.recruitment{gap:5%;grid-template-columns:1fr 4fr}.recruitment aside{grid-column:2}.reference-cards{gap:12px}.card-copy{padding:12px 9px 18px}.location-grid img{height:24vw}}@media(max-width:767px){.site-width{width:90%}.site-header{height:64px}.brand{font-size:22px}.menu-button{display:block;font-size:23px}.header-row nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;z-index:10;padding:24px 5%;gap:30px}.header-row nav.expanded{display:flex}.reference-hero{aspect-ratio:1.6}.reference-hero>img{object-fit:cover}.reference-intro{grid-template-columns:1fr;gap:24px;padding:38px 0 50px}.reference-intro p{font-size:13px}.reference-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reference-section{padding-bottom:50px}.reference-heading{margin-bottom:24px}.card-copy p{font-size:12px}.reference-space span{font-size:9px}.locations-page>h1{font-size:25px}.location-grid{display:block}.location-grid figure{margin-bottom:28px}.location-grid img{height:auto;aspect-ratio:1.7;border-radius:12px}.city-section{margin-top:32px}.careers-hero img{aspect-ratio:2;object-fit:cover}.recruitment{display:block;padding-top:30px}.recruitment nav{display:flex;overflow-x:auto;gap:18px;margin-bottom:30px}.recruitment nav button{width:auto;font-size:15px;flex-shrink:0}.job-copy h2{font-size:17px}.job-copy p{font-size:13px}.recruitment aside{margin-top:35px}.reference-contact{gap:30px;padding:65px 0}.reference-contact h2{font-size:16px}.reference-contact p{font-size:10px}.qr-placeholder{width:115px;height:115px}.site-footer p{line-height:2;max-width:290px;margin:auto}.article-page h1{font-size:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.careers-hero img{aspect-ratio:1400/251;height:auto;object-fit:contain}.recruitment{grid-template-columns:minmax(0,8%) minmax(0,49%) minmax(0,30%);column-gap:6.5%;padding-top:clamp(42px,3vw,100px);align-items:start}.recruitment nav button{padding:0 0 16px;margin-bottom:17px;font-size:clamp(14px,1vw,22px);line-height:1.5}.recruitment nav button:last-child{border-bottom:0}.job-copy h2,.recruitment aside h2{font-size:clamp(15px,1vw,22px);line-height:1.5;font-weight:500}.job-copy p{font-size:clamp(12px,.78vw,18px);line-height:1.85}.job-copy h2:not(:first-child){margin-top:clamp(35px,2.5vw,70px)}.recruitment aside h2{text-align:center;color:#777}.recruitment aside p{font-size:clamp(12px,.78vw,18px)}.reference-contact{gap:clamp(55px,6.5vw,180px);padding-top:clamp(70px,6vw,180px);padding-bottom:clamp(50px,3.8vw,110px)}.reference-contact h2{font-size:clamp(15px,1vw,22px);margin-bottom:22px}.contact-qr{width:clamp(115px,4.1vw,180px);height:auto;margin:auto}.reference-contact p{font-size:clamp(11px,.65vw,16px);margin-top:15px}@media(max-width:1100px){.recruitment{grid-template-columns:90px minmax(0,1fr) 160px;gap:28px}.recruitment aside{grid-column:auto}}@media(max-width:767px){.careers-hero img{aspect-ratio:1400/360;object-fit:cover;object-position:center}.recruitment{display:block;padding-top:32px}.recruitment nav button{margin:0;padding:10px 0;font-size:15px}.recruitment nav{margin-bottom:28px}.job-copy p{font-size:13px}.recruitment aside h2{text-align:left}.reference-contact{gap:32px;padding-top:60px;padding-bottom:50px}.reference-contact h2{font-size:15px}.reference-contact p{font-size:10px}}.resume-contact{overflow-wrap:anywhere}.resume-contact a:hover{text-decoration:underline;color:#659fa8}.brand-logo{width:clamp(210px,18vw,310px);height:auto;max-height:48px;object-fit:contain}.footer-logo{width:190px;height:auto;margin:0 auto 14px}.header-row nav{font-size:16px}.reference-intro p{font-size:clamp(14px,1vw,18px);line-height:1.85}.card-copy h3{font-size:17px;line-height:1.65}.card-copy p{font-size:14px;line-height:1.8}.news-card time{font-size:12px}.reference-more{font-size:14px}.reference-intro small,.reference-heading small{font-size:13px}.reference-heading h2,.reference-intro h2{font-size:clamp(24px,1.5vw,32px)}.location-grid h3{font-size:16px}.location-grid p{font-size:14px;line-height:1.8}.job-copy p,.recruitment aside p{font-size:clamp(14px,1vw,18px);line-height:1.9}.job-copy h2,.recruitment aside h2{font-size:19px}.reference-contact p{font-size:13px}.site-footer nav{font-size:14px}.site-footer p{font-size:12px}.reference-hero{touch-action:pan-y pinch-zoom}.reference-hero>img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(max-width:767px){.brand-logo{width:220px;max-width:62vw;max-height:38px}.footer-logo{width:180px}.reference-intro p,.card-copy p{font-size:14px}.card-copy h3{font-size:16px}.reference-hero .slide-prev,.reference-hero .slide-next{display:none}.location-grid p{font-size:13px}.reference-contact p{font-size:12px}.job-copy p,.recruitment aside p{font-size:14px}.job-copy h2{font-size:18px}}.page-seo-heading{text-align:center;font-size:clamp(22px,2vw,32px);padding:32px 16px;color:#333}.locations-subtitle{text-align:center;margin-top:-24px;margin-bottom:32px}
