/* Shared English / Simplified Chinese visual and responsive improvements. */
html{scroll-padding-top:110px;touch-action:auto!important}
body{touch-action:auto!important}
img,video{max-width:100%}
main,section,.container,.hero-copy,.service-card,.card,.proof-copy{min-width:0}
a,button,input,select,textarea{touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
.refresh-skip{position:fixed;top:10px;left:10px;z-index:2000;background:#fff;color:#111;padding:12px 18px;transform:translateY(-200%)}
.refresh-skip:focus{transform:none}
.topic-image,.service-art{margin:0;overflow:hidden;border:1px solid var(--border,#26314a);border-radius:18px;background:#fff;color:#151820}
.topic-image img,.service-art img{display:block;width:100%;height:auto;object-fit:contain}
.topic-image figcaption,.service-art figcaption{padding:13px 16px;font:500 12px/1.6 Inter,Arial,"Microsoft YaHei",sans-serif;text-align:left;border-top:1px solid #e9e9ed;background:#f5f5f3;color:#45454f;letter-spacing:.01em}
.hero>.container:has(.topic-image){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px)}
.hero:has(.topic-image){padding:clamp(48px,7vw,100px) 0}
.hero:has(.topic-image) h1{font-size:clamp(40px,5vw,70px);line-height:1.1}
.hero:has(.topic-image) .lead{font-size:18px;line-height:1.7;margin:24px 0}
.topic-image img{max-height:490px;object-fit:contain}
.service-art{margin-bottom:24px}
.service-art img{aspect-ratio:826/501}
#services .service-card:has(.service-art)>.service-icon{display:none}
#services .service-card{display:flex;flex-direction:column;min-width:0}
#services .service-card h3{line-height:1.3}
#services .service-features{margin-bottom:20px}
#services .service-demo-video{max-height:430px;object-fit:contain;background:#050508}
.service-site-preview{max-height:430px;overflow:hidden}
:lang(zh) .hero h1,:lang(zh) .hero .lead,:lang(zh) .answer p,:lang(zh) .section h2,:lang(zh) .section p,:lang(zh) .card h3,:lang(zh) .faq summary,:lang(zh) .cta h2{word-break:normal!important;line-break:strict!important;overflow-wrap:break-word!important;line-height:1.5!important}
:lang(zh) .hero h1{line-height:1.3!important}
.detail-menu{display:none}
.btn{min-height:48px;white-space:normal;overflow-wrap:anywhere;text-align:center}
.lang a,.lang-switch a{display:inline-flex;align-items:center;min-height:28px}
input,select,textarea{max-width:100%;font-size:16px!important}
.scroll-reveal{opacity:1;transform:none}
@media(min-width:641px) and (max-width:1000px){
 #services .services-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
 .hero>.container:has(.topic-image){grid-template-columns:1fr}
 .hero:has(.topic-image) h1{max-width:800px}
 .topic-image{width:100%;max-width:700px}
 .site-header .topbar{position:relative;gap:12px;flex-wrap:wrap;padding:12px 0}
 .site-header .brand{margin-right:auto}
 .site-header .brand img{width:clamp(130px,23vw,190px)}
 .detail-menu{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:inherit;background:transparent;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:13px;cursor:pointer}
 .site-header .lang{padding:3px 9px;min-height:44px;display:flex;align-items:center}
 .site-header .nav{display:flex;order:4;flex-basis:100%;flex-wrap:wrap;gap:4px 18px;border-top:1px solid var(--border);padding-top:8px}
 .site-header .nav a{padding:10px 4px;min-height:44px}
 .site-header.menu-ready .nav{display:none}
 .site-header.menu-ready.menu-expanded .nav{display:flex}
 .section-head{gap:24px;margin-bottom:32px}
 .breadcrumbs{overflow-wrap:anywhere}
}
@media(max-width:640px){
 html{scroll-padding-top:90px}
 header.sticky .topbar{gap:8px}
 header.sticky .brand{flex:1;min-width:0}
 header.sticky .brand img{width:clamp(115px,35vw,172px)}
 header.sticky .brand-name{display:none}
 header.sticky .menu-toggle{flex:0 0 44px}
 header.sticky .header-actions{margin-left:0}
 header.sticky .lang-switch{padding:4px 7px;gap:4px;max-width:none;overflow:visible}
 .lang-switch a{min-height:36px}
 #services .services-grid,.portfolio-grid{grid-template-columns:minmax(0,1fr)!important}
 .hero-content{gap:24px!important}
 .logo-container img{max-height:300px;width:auto;max-width:100%;object-fit:contain}
 .hero:has(.topic-image) h1{font-size:40px}
 :lang(zh) .hero:has(.topic-image) h1{font-size:32px!important}
 .hero:has(.topic-image) .lead{font-size:16px}
 .topic-image img{max-height:350px}
 .service-art figcaption{padding:11px 13px}
 .hero .container{gap:30px}
 .moar-stage{padding:36px 20px}
 .moar-beat{padding:24px 0;border-bottom:1px solid #27272b;max-width:100%}
 .moar-beat:last-child{border-bottom:0}
 .moar-media{margin-bottom:16px}
 .moar-scroll .moar-beat h2{font-size:30px}
 .moar-scroll .moar-label{font-size:11px}
 .cta .btn{max-width:100%;font-size:12px}
 #allia-chat-widget,#lbm-chat-panel{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 100px)!important;right:12px!important;bottom:max(80px,env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.scroll-reveal{opacity:1!important;transform:none!important}}
/* Override legacy serif-only Chinese headings with readable CJK system fonts. */
html[lang^="zh"] .hero h1,html[lang^="zh"] .section h2,html[lang^="zh"] .cta h2,html[lang^="zh"] .proof-copy h2,html[lang^="zh"] .card h3,html[lang^="zh"] .faq summary,html[lang^="zh"] .answer p{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif!important}
