/* Shared reading and control sizes, applied after the page-specific layouts. */
body{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}
header nav{font-size:18px}
header nav a{min-height:44px;display:inline-flex;align-items:center;padding-top:8px;padding-bottom:8px}
#mode-switch{--segment:72px;padding:4px;border-radius:40px}
#mode-switch button{width:var(--segment);height:40px;font-size:12px;letter-spacing:.25px}
#mode-switch::before,#mode-switch.is-text::before{left:4px;top:4px;bottom:4px;width:var(--segment);border-radius:30px;transform:translateX(calc(var(--switch-index) * (var(--segment) + 2px)))}
.caption h2{font-size:18px;line-height:1.4}.caption p{font-size:14px;line-height:1.5}
.project-filters{gap:0}.project-filters button{font-size:13px;min-height:32px;padding:5px 8px;margin-left:-8px;text-align:left}
.text-work-head{font-size:13px}.text-project-name h3{font-size:19px}.text-project-name small{font-size:12px;line-height:1.6}.text-project-row>p{font-size:13px;line-height:1.85}.text-project-row{padding-top:25px;padding-bottom:25px}
.footer-main h2{font-size:12px;line-height:1.6}.footer-main p{font-size:12px;line-height:1.85}.footer-wechat figcaption{font-size:11px;line-height:1.6}.copyright{font-size:10px;line-height:1.7}
.back-top{position:relative}.back-top::after{content:"";position:absolute;inset:-8px}
.about .about-contact p{font-size:14px}.about .about-copy p{font-size:18px;line-height:1.8}.team-member h3{font-size:19px}.about .team-member p{font-size:17px}.service-grid small{font-size:12px}
.case-meta dt,.case-copy-label{font-size:12px}.case-meta dd{font-size:14px}.case-copy p{font-size:15px;line-height:1.9}.case-bottom button{font-size:14px;min-height:44px;padding:12px 4px}
.video-kicker{font-size:12px}.video-card p{font-size:15px;line-height:1.8}.video-card-label{font-size:13px}.video-number{font-size:15px}.video-progress{font-size:13px}.video-scroll-hint{font-size:12px}.video-auto-toggle{font-size:12px;min-height:36px;bottom:66px;padding:6px 0}
.video-more-cursor span{font-size:14px}
@media(min-width:1800px){.caption h2{font-size:22px}.caption p{font-size:16px}}
@media(max-width:1050px){header nav{font-size:16px}.text-project-row>p{font-size:12px}.text-project-name h3{font-size:17px}}
@media(max-width:600px){
 header .brand img{width:100px}header nav{font-size:12px;gap:16px}header nav a{min-height:44px}
 #mode-switch{--segment:64px}#mode-switch button{height:44px;font-size:12px}
 .caption h2{font-size:14px}.caption p{font-size:12px}
 .text-intro h2{font-size:24px}.project-filters button{font-size:12px;min-height:36px}.text-work-head{font-size:12px}.text-project-name h3{font-size:16px}.text-project-name small{font-size:11px}.text-project-row>p{font-size:12px}
 .footer-main h2{font-size:12px}.footer-main p{font-size:12px}.footer-wechat figcaption{font-size:11px}.copyright{font-size:10px}
 .about .about-copy p{font-size:16px}.about .about-contact p{font-size:14px}.team-member h3{font-size:16px}.about .team-member p{font-size:14px}.about .service-grid p{font-size:14px}.service-grid small{font-size:10px}
 .case-meta dt,.case-copy-label{font-size:12px}.case-meta dd{font-size:13px}.case-copy p{font-size:14px}
 .video-kicker{font-size:10px;letter-spacing:1px}.video-card p{font-size:13px}.video-card-label{font-size:11px}.video-number{font-size:12px}.video-scroll-hint{font-size:11px}.video-auto-toggle{font-size:12px;bottom:110px}
}
@media(max-width:360px){header nav{gap:12px;font-size:11px}header .brand img{width:92px}.footer-main{column-gap:14px}.about .team-member p{font-size:13px}}
