/* Shared brand layout. Desktop artwork uses a centered 1280px content width. */
.site-header{box-sizing:border-box;height:90px;width:100%;padding:0 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;font-family:AlibabaPuHui,Arial,sans-serif;position:relative;z-index:11000}
.site-header a{text-decoration:none;color:#111}
.site-brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;line-height:46px;color:#ff5400;white-space:nowrap}
.site-brand img{width:40px;height:40px;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,50px)}
.site-header nav a{font-size:18px;line-height:30px;white-space:nowrap;font-weight:700}
.site-header nav a[data-section=language]{font-size:16px;line-height:26px;min-width:110px;padding:4px 18px;text-align:center;color:#ff5400;border:1px solid #ff5400;border-radius:99px;font-weight:400}
.home-header{position:absolute;inset:0 0 auto}
.review-ticker{position:absolute;left:0;top:1000px;box-sizing:border-box;width:1920px;height:80px;z-index:9000;overflow:hidden;background:rgba(255,243,232,.2);border:3px solid rgba(244,70,23,.3);font-family:AlibabaPuHui,Arial,sans-serif}
.ticker-track{display:flex;width:max-content;height:100%;animation:ticker-loop 28s linear infinite}
.ticker-row{display:flex;align-items:center;justify-content:space-around;width:1920px;height:100%;flex:none}
.ticker-row span{display:flex;align-items:center;gap:20px;font-size:15px;line-height:25px;font-weight:700;white-space:nowrap}
.ticker-row img{width:36px;height:36px;object-fit:contain}
@keyframes ticker-loop{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.site-header a:focus-visible,.orange-link:focus-visible{outline:3px solid #ff5400;outline-offset:5px}
.review-section{position:absolute;left:320px;width:1280px;z-index:9000;box-sizing:border-box;font-family:AlibabaPuHui,Arial,sans-serif;color:#111}
.review-section *{box-sizing:border-box}
.review-section h2{font-size:45px;line-height:60px;text-align:center;margin:0 0 70px;font-weight:700}
.review-section h3,.review-section h4,.review-section p{margin:0}
.review-heading .rich-text{overflow:visible!important;height:auto!important;display:block!important}
.review-heading p,.review-heading span,.review-heading .text{font-size:45px!important;line-height:60px!important}
/* The exported card is scaled to 5/6; these local dimensions render at 160 × 40 on the 1920px canvas. */
.review-tech-badge{position:absolute;z-index:20;left:-96px;top:-127.5px;width:192px;height:48px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:54px;background:linear-gradient(180deg,rgba(249,152,96,.8) 0%,rgba(244,74,27,.8) 18%,rgba(244,70,23,.8) 96%);color:#fff;font:700 21.6px/1.2 AlibabaPuHui,Arial,sans-serif;white-space:nowrap}
.review-tech-badge.popular{background: url('/assets/badge-popular.png') center/100% 100% no-repeat}
.review-about{top:1240px}
.about-columns{display:grid;grid-template-columns:625px minmax(0,1fr);gap:40px;align-items:start}
.about-photo{width:625px;height:500px;object-fit:cover;border-radius:25px;box-shadow:3px 5px 10px #0002}
.review-about h3{color:#ff5400;font-size:26px;line-height:38px;margin-bottom:30px}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;margin-bottom:28px}
.about-features article{border-radius:25px;padding:20px 15px;min-height:100px;text-align:center;box-shadow:3px 5px 10px #0001;background:white}
.about-features h4{font-size:18px;line-height:28px;margin-bottom:10px}
.about-features p{font-size:14px;line-height:21px;color:#666}
.review-about .about-copy{font-size:15px;line-height:25px;color:#666;margin-top:12px}
.review-stats{top:3773px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:50px 90px}
.review-stats article{height:180px;background:#fff3e7;border-radius:25px;text-align:center;padding:25px 16px;box-shadow:3px 5px 10px #0001}
.review-stats strong{display:block;font-size:45px;line-height:60px;margin-bottom:25px}
.review-stats p{font-size:15px;line-height:25px;color:#666}
.review-services{top:4711px;display:grid;grid-template-columns:1fr 1fr;gap:50px 120px}
.review-services article{display:flex;align-items:flex-start;gap:22px;min-height:195px;padding:35px;background:#fff;border-radius:25px;box-shadow:3px 5px 10px #0002}
.service-number{padding:15px;border-radius:8px;background:#ff5400;color:#fff;font-size:18px;line-height:26px;font-weight:700;flex:none}
.review-services h3{font-size:18px;line-height:30px;margin:0 0 14px}
.review-services p{font-size:15px;line-height:25px;color:#777}
.review-applications{top:5666px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 40px}
.review-applications article{position:relative;height:320px;border-radius:25px;overflow:hidden;box-shadow:3px 5px 10px #0002}
.review-applications img{display:block;width:100%;height:100%;object-fit:cover}
.review-applications article>div{position:absolute;inset:auto 0 0;background:#ffffffe6;padding:16px 24px;min-height:115px}
.review-applications h3{text-align:center;font-size:18px;line-height:26px;margin-bottom:8px}
.review-applications p{font-size:15px;line-height:25px;color:#444}
.review-oem{left:321px;top:7366px;display:grid;grid-template-columns:repeat(2,615px);gap:50px}
.review-oem article{height:365px;padding:30px;border-radius:25px;background-position:center;background-size:cover;box-shadow:3px 5px 10px rgba(0,0,0,.1);color:rgb(16,16,16);font:14px/20px PingFangSC,Arial,sans-serif;text-align:center}
.review-oem h3,.review-odm h3{font-size:20px;line-height:32px;margin-bottom:14px}
.oem-audience{font-size:18px;line-height:30px;color:#ff5400;font-weight:700}
.review-oem ul{list-style:none;padding:0;margin:12px 0 20px}
.review-oem li{font-size:14px;line-height:20px;padding:7.5px 0}
.orange-link{display:block;box-sizing:border-box;width:300px;max-width:100%;margin:auto;padding:10px 20px;background:#ff5400;color:white;text-align:center;border-radius:99px;font-size:15px;line-height:25px;text-decoration:none;font-weight:700}
.review-odm{top:7775px;height:520px;border-radius:25px;padding:40px 30px;text-align:center;box-shadow:3px 5px 10px #0002;background:linear-gradient(#ffffffe0,#ffffffe0),url('/assets/prototype-wide.jpg') center/cover}
.review-odm>p:not(.oem-audience){font-size:15px;line-height:25px}
.review-odm>.orange-link{position:absolute;bottom:25px;left:490px}
.contact-region{box-sizing:border-box;padding:70px 30px 25px;background:linear-gradient(#fff,#ffd5b4);font-family:AlibabaPuHui,Arial,sans-serif;color:#111}
.contact-region *{box-sizing:border-box}
.contact-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;width:min(100%,1280px);margin:0 auto 100px;padding:28px 40px;background:linear-gradient(100deg,#ffd7b7,#fbe5f0);border-radius:25px;box-shadow:3px 5px 10px #0002}
.contact-intro h2{font-size:40px;line-height:1.4;margin:0 0 35px;font-weight:700}
.contact-qr{display:flex;gap:55px}
.contact-qr figure{margin:0;text-align:center}
.contact-qr img{display:block;width:120px;height:120px}
.contact-qr figcaption{font-size:24px;line-height:35px;margin-top:20px;color:#555}
.contact-fields{display:grid;gap:24px;align-content:center}
.contact-field{display:block;min-width:0;text-decoration:none;color:#555;background:#fff;border-radius:24px;padding:18px 35px;box-shadow:3px 5px 10px #0001}
.contact-field[type=button]{border:0;width:100%;font:inherit;text-align:left;cursor:pointer}
.contact-field:focus-visible{outline:3px solid #ff5400;outline-offset:4px}
.contact-field span{display:block;font-size:15px;line-height:25px}
.contact-field strong{display:block;font-size:24px;line-height:34px;overflow-wrap:anywhere}
.site-legal{display:flex;justify-content:space-between;gap:20px;font-size:15px;line-height:25px;max-width:1800px;margin:auto;color:#555}
.site-legal a{color:inherit;text-decoration:none}
.home-contact{position:absolute;z-index:9500;left:0;top:9580px;width:1920px;height:919px;padding:60px}
.home-contact .contact-card{margin:0 auto}
.home-contact .site-legal{position:absolute;bottom:35px;left:60px;right:60px}
.home-contact.mobile{top:19910px;width:780px;height:1190px;padding:40px 60px}
.home-contact.mobile .contact-card{display:block;padding:35px;margin:0}
.home-contact.mobile .contact-intro h2{font-size:42px;line-height:58px;margin-bottom:30px}
.home-contact.mobile .contact-qr{gap:50px;margin:0 0 30px}
.home-contact.mobile .contact-qr img{width:140px;height:140px}
.home-contact.mobile .contact-fields{gap:20px}
.home-contact.mobile .contact-field{padding:18px 26px}
.home-contact.mobile .contact-field span{font-size:24px;line-height:32px}
.home-contact.mobile .contact-field strong{font-size:30px;line-height:42px}
.home-contact.mobile .site-legal{font-size:21px;line-height:30px;flex-wrap:wrap;bottom:20px}
.cms-board{top:8785px;min-height:0;background:transparent}
.cms-board h3{font-size:21px;line-height:30px;margin:0}
.cms-section-title{margin:0 0 20px}
.cms-section-title{justify-content:flex-end}
.cms-section-title h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cms-grid{margin-bottom:35px}
.cms-card{text-decoration:none;color:#222}
.cms-news-list{padding:16px 30px;background:white;border-radius:20px;box-shadow:3px 5px 10px #0001}
.cms-news-row{display:grid;grid-template-columns:110px 130px 1fr;align-items:center;gap:25px;padding:18px 0;border-bottom:1px dashed #ddd;text-decoration:none;color:#555;font-size:18px;line-height:28px}
.cms-news-row:last-child{border-bottom:0}
.cms-news-row time{font-size:14px}
.cms-news-row .news-type{color:#fff;background:#ff6d39;border-radius:99px;padding:6px 15px;text-align:center;font-size:15px}
.cms-news-row strong{font-weight:400;overflow-wrap:anywhere}
/* The desktop artwork uses 1920px design coordinates. Keep each product
   tile fixed even when only one product has been published. */
#stage .cms-gallery:not(.mobile){left:409px;top:7965px;width:1122px;height:190px;background:transparent;display:block}
#stage .cms-gallery:not(.mobile) .cms-gallery-inner{position:absolute;left:89px;top:0;display:flex;gap:50px;align-items:flex-start}
#stage .cms-gallery:not(.mobile) figure{flex:0 0 150px;width:150px}
#stage .cms-gallery:not(.mobile) img{width:150px;height:150px;object-fit:cover;object-position:center;background:rgba(229,229,229,1);border-radius:25px}
#stage .cms-gallery:not(.mobile) .cms-gallery-placeholder img{object-fit:contain}
#stage .cms-gallery:not(.mobile) figcaption{font-size:15px;line-height:25px;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#stage .cms-gallery:not(.mobile) button{position:absolute;top:43px;left:0;width:40px;height:40px;border:0;padding:0;background:transparent url('/assets/odm-arrow.png') center/contain no-repeat;font-size:0}
#stage .cms-gallery:not(.mobile) .cms-gallery-previous{transform:rotate(180deg)}
#stage .cms-gallery:not(.mobile) .cms-gallery-next{left:1082px}
#stage .cms-gallery:not(.mobile) button:disabled{opacity:.35;cursor:default}
#stage .cms-gallery:not(.mobile) .cms-gallery-status{position:absolute;left:89px;top:160px;width:950px;margin:0;color:#766b63;text-align:center;font-size:15px;line-height:25px}
.cms-gallery .cms-empty{font-size:20px}
.cms-gallery.mobile{padding-bottom:100px}
.gallery-catalogue{position:absolute;bottom:15px;left:180px;font-size:24px;line-height:34px}
.cms-gallery.mobile img{height:350px;object-fit:cover;object-position:center}
.news-site{background:linear-gradient(#ffd5b4 0,#fff 650px);min-height:100svh}
.news-main{box-sizing:border-box;max-width:1340px;min-height:550px;padding:90px 30px 100px}
@font-face{font-family:AlibabaPuHui;src:url('/mb-sigma/fonts/zh-CN/AlibabaPuHui/Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
.news-main h1{box-sizing:border-box;width:min(600px,100%);margin:0 auto 70px;color:#101010;font-family:AlibabaPuHui,Arial,sans-serif;font-size:45px;font-weight:700;line-height:60px;text-align:center;overflow-wrap:break-word}
.news-main .news-lead{text-align:center}
.news-article{max-width:1280px}
.article-title{text-align:center;font-size:18px;line-height:30px;margin:0 0 15px;overflow-wrap:anywhere}
.news-article>.cms-meta{text-align:center;font-size:12px;line-height:18px;color:#777}
.news-cover{width:400px;max-width:100%;aspect-ratio:4/3;object-fit:cover;margin:45px auto;border-radius:25px}
.news-body{font-size:15px;line-height:25px;margin-bottom:55px}
.news-back.orange-link{margin-top:55px;margin-bottom:0;color:white}
.odm-heading{text-align:center}
.odm-heading h1{margin-bottom:40px}
.odm-heading p{font-size:18px;line-height:30px;color:#ff5400;margin:0}
.odm-heading small{font-size:15px;line-height:25px;color:#555}
.odm-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:70px 90px;margin:55px 0 120px}
.odm-product{margin:0;min-width:0}
.odm-product img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center;background:#fff;border-radius:25px;box-shadow:3px 5px 10px #0002}
.odm-product figcaption{font-size:15px;line-height:25px;margin-top:18px;text-align:center;overflow-wrap:anywhere}
.odm-products>.cms-empty{grid-column:1/-1}
@media(max-width:1400px){.site-header{padding:0 35px;gap:20px}.site-header nav{gap:22px}.site-brand{font-size:24px}.site-header nav a{font-size:15px}.site-header nav a[data-section=language]{min-width:85px;font-size:14px;padding:3px 14px}}
@media(max-width:1050px){.site-header{padding:0 25px}.site-header nav{gap:14px}.site-header nav a{font-size:13px}.site-brand{font-size:21px;gap:5px}.site-brand img{width:30px}.site-header nav a[data-section=language]{min-width:70px}}
@media(max-width:767px){.home-header{display:none}.site-header{height:auto;min-height:90px;padding:20px;align-items:flex-start;flex-wrap:wrap;gap:18px}.site-brand{font-size:24px}.site-header nav{width:100%;gap:12px 20px;flex-wrap:wrap}.site-header nav a{font-size:14px;line-height:26px}.site-header nav a[data-section=language]{margin-left:auto}.news-main{padding:45px 20px 65px}.news-main h1{font-size:30px;line-height:42px;margin-bottom:40px}.news-cover{width:100%;margin:30px auto}.news-body{font-size:16px;line-height:28px}.news-body h2{font-size:22px}.contact-region{padding:45px 20px 25px}.contact-card{display:block;padding:25px;margin-bottom:50px}.contact-intro h2{font-size:26px;line-height:38px;margin-bottom:25px}.contact-qr{gap:30px;margin-bottom:30px}.contact-qr img{width:95px;height:95px}.contact-qr figcaption{font-size:16px;line-height:25px;margin-top:12px}.contact-field{padding:15px 20px;border-radius:18px}.contact-field span{font-size:13px;line-height:23px}.contact-field strong{font-size:17px;line-height:27px}.contact-fields{gap:16px}.site-legal{font-size:12px;line-height:20px;flex-wrap:wrap}.odm-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;margin:35px 0 60px}.odm-heading p{font-size:16px;line-height:26px}.odm-heading small{font-size:13px;line-height:22px}.odm-product img{border-radius:15px}.odm-product figcaption{font-size:14px;line-height:23px}.cms-board.mobile .cms-news-list{padding:15px 25px}.cms-board.mobile .cms-news-row{grid-template-columns:110px 125px 1fr;gap:18px;font-size:24px;line-height:35px;padding:24px 0}.cms-board.mobile .cms-news-row time{font-size:20px}.cms-board.mobile .news-type{font-size:20px}.cms-board.mobile h3{font-size:30px;line-height:42px}}
@media(max-width:767px){.news-main .odm-heading h1{margin-bottom:28px}}

#stage .cms-gallery:not(.mobile) .cms-gallery-inner{touch-action:pan-y;user-select:none}
#stage .cms-gallery:not(.mobile) .cms-gallery-inner img{-webkit-user-drag:none;user-select:none}

/* Compact navigation for article and catalogue pages. */
.site-mobile-menu{display:none}
@media(max-width:767px){
 .site-header{min-height:70px;height:70px;padding:0 20px;align-items:center;flex-wrap:nowrap}
 .site-header > nav{display:none}
 .site-mobile-menu{display:block;position:static}
 .site-mobile-menu summary{list-style:none;width:44px;height:44px;border-radius:8px;background:#ff5400;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
 .site-mobile-menu summary::-webkit-details-marker{display:none}
 .site-mobile-menu summary span{width:20px;height:2px;border-radius:3px;background:white}
 .site-header .site-mobile-menu nav{position:absolute;top:70px;left:20px;right:20px;width:auto;box-sizing:border-box;padding:0 12px;display:grid;gap:0;background:transparent;text-align:center;z-index:50}
 .site-header .site-mobile-menu nav a{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;text-align:center;border-bottom:1px dashed #d3b7a5;font-size:15px;line-height:1.3}
 .site-header .site-mobile-menu nav a[data-section=language]{justify-self:center;margin:12px auto 0;min-width:120px;min-height:40px;padding:7px 20px;border:1px solid #ff5400;border-radius:99px;color:#f45113;font-weight:700}
 .news-site:has(.site-mobile-menu[open])::after{content:'';position:fixed;inset:70px 0 0;background:#fff5edb3;z-index:10999;pointer-events:none}
 .news-site:has(.site-mobile-menu[open]) .news-main :is(h1,h2,h3,p,small,figcaption){visibility:hidden}
}

/* News listing follows the prototype: one mixed list of published stories. */
#news-page .news-main > .news-list{display:block;box-sizing:border-box;width:100%;padding:16px 30px;background:#fff;border-radius:25px;box-shadow:3px 5px 10px #0002}
#news-page .news-list .cms-news-row{grid-template-columns:75px 160px minmax(0,1fr);gap:25px;min-height:58px;padding:16px 0;font-size:15px;line-height:25px}
#news-page .news-list .cms-news-row time{font-size:14px;white-space:nowrap}
#news-page .news-list .news-type{font-size:15px;line-height:25px;padding:6px 12px;white-space:nowrap}
#news-page .news-list-empty{margin:0;padding:25px 0;color:#777;font-size:15px;line-height:25px;text-align:center}
#news-page .news-list-back{margin:100px auto 0;color:#fff}
@media(max-width:767px){
 #news-page .news-main > .news-list{padding:8px 16px;border-radius:18px}
 #news-page .news-list .cms-news-row{grid-template-columns:55px 90px minmax(0,1fr);gap:8px;padding:14px 0;font-size:14px;line-height:22px}
 #news-page .news-list .cms-news-row time{font-size:12px}
 #news-page .news-list .news-type{font-size:12px;line-height:16px;padding:4px 8px;white-space:normal;overflow-wrap:anywhere}
 #news-page .news-list-back{margin-top:50px}
}

/* Keep the finished page shell visible while content is fetched. */
.content-loading,.content-error{min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;text-align:center;color:#777}
.content-loading-spinner{width:28px;height:28px;border:3px solid #f5ded0;border-top-color:#f45113;border-radius:50%;animation:content-loading-spin .8s linear infinite}
@keyframes content-loading-spin{to{transform:rotate(360deg)}}
.content-error p{margin:0;font-size:16px;line-height:26px}
.content-error .orange-link{border:0;cursor:pointer}
@media(prefers-reduced-motion:reduce){.content-loading-spinner{animation:none}}
