/* Shared language control and English copy fit. */
.site-language-link{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;color:#c7d1cc;text-decoration:none;font:600 14px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.04em;white-space:nowrap}
.site-language-link:hover,.site-language-link:focus-visible{color:#54e3b4}
.desktop-nav .site-language-link{order:5;margin-right:0;padding:0 8px;border:1px solid rgba(180,196,186,.35);border-radius:999px;height:36px;min-height:36px}
.desktop-nav .site-language-link::before{display:none!important}
.mobile-language-link{display:none}
.fc_nav_menu_con>.site-language-link{align-self:center;margin-left:4px;border:1px solid rgba(180,196,186,.35);border-radius:999px;height:36px;min-height:36px}
.en-page{font-family:Arial,Helvetica,sans-serif}
.en-page h1,.en-page h2,.en-page h3,.en-page p,.en-page a,.en-page button{overflow-wrap:normal}
.fc_nav_menu_item{font-size:18px}
.fc_nav_menu_ico{height:.94em;align-self:center;padding:0}
.en-page .fc_nav_menu_ico{height:.74em}
.en-page .desktop-nav{font-family:Arial,Helvetica,sans-serif;font-size:18px}
.en-page .desktop-nav>a:not(.site-language-link){margin-right:clamp(15px,2vw,34px);font-size:18px}
.en-page .desktop-nav>a:not(.site-language-link):is(:hover,[aria-current="page"])::before{height:.74em;top:calc(50% + .04em)}
.en-page .fc_nav_menu{width:auto;min-width:64%}
.en-page .fc_nav_menu_text{font:600 18px/1.4 Arial,Helvetica,sans-serif;margin-right:clamp(14px,2vw,34px)}
.en-page .hero h1,.en-page .detail-hero h1{max-width:12ch;font-size:clamp(44px,5.4vw,88px);line-height:1.04;letter-spacing:-.035em}
.en-page .industry-showcase h2{font-size:clamp(34px,4vw,66px);line-height:1.08;letter-spacing:-.025em}
.en-page .poster-item h3{line-height:1.35;overflow-wrap:anywhere}
.en-page .poster-item figcaption p{line-height:1.4}
.en-page .section-head h2,.en-page .contact-band h2{line-height:1.15;letter-spacing:-.025em}
.en-page .fc_id_case_con_cn.home-service-heading{font-size:clamp(32px,5.25vw,76px);line-height:1.08}
.en-page .services-page-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.en-page .fc_id_banner_con.en-brand-lockup{left:0;top:0;width:100%;height:100%;transform:none;animation:none;align-items:center;justify-content:center;pointer-events:none;z-index:11}
.en-page .en-brand-wordmark{display:flex;flex-direction:column;align-items:center;margin:0;padding:0 4vw;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(68px,10vw,170px);font-weight:600;line-height:1;letter-spacing:-.07em;text-align:center;text-shadow:0 7px 32px rgba(0,0,0,.48)}
.en-page .en-brand-wordmark span{display:block;margin-top:clamp(18px,2.5vw,40px);color:#f5f9f8;font-size:.34em;font-weight:400;line-height:1;letter-spacing:.35em;text-transform:uppercase;text-indent:.35em}

/* The home industry scenes should fade between still images without zooming. */
.fc_id_yw_menu_item:hover .fc_id_ymi_img img{transform:none}

/* Match the approved footer contrast and QR treatment on desktop. */
.footer_menu_item_item,.footer_menu_item_code_text span{color:rgba(255,255,255,.46)}
.footer_copy,.footer_copy a{color:rgba(255,255,255,.44)}
.footer_menu_item_code_box{justify-content:center;gap:40px}
.footer_menu_item_code:nth-child(2){margin-left:0}
.footer_menu_item_code_img img{width:100px;opacity:.74}
@media (min-width:1024px){
  .footer{box-sizing:border-box;display:grid;grid-template-columns:clamp(160px,18%,230px) minmax(0,1fr);column-gap:clamp(32px,3vw,56px);align-items:start;max-width:1540px}
  .footer_logo{width:100%;min-width:0}
  .footer_logo img{display:block;width:100%;max-width:215px;height:auto}
  .footer_menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) clamp(200px,19vw,250px);column-gap:clamp(22px,2.25vw,44px);align-items:start;width:100%;min-width:0}
  .footer_menu_item,.footer_menu_item:last-child{width:auto;min-width:0;flex:none;margin:0}
  .footer_menu_item_title{font-size:clamp(18px,1.65vw,24px)}
  .en-page .footer_menu_item_title{min-height:2.5em}
}
@media (min-width:1024px) and (max-width:1199px){
  .footer_menu_item_code_box{gap:24px}
  .footer_menu_item_code_img img{width:82px}
}
@media(max-width:1050px){
  .en-page .fc_nav_menu_item{font-size:16px}
  .en-page .desktop-nav>a:not(.site-language-link){font-size:16px;margin-right:18px}
  .en-page .desktop-nav>a:not(.site-language-link):is(:hover,[aria-current="page"])::before{left:-15px}
  .en-page .fc_nav_menu_text{font-size:16px;margin-right:14px}
}
@media(max-width:1023px){.fc_nav_menu_item{font-size:17px}}
@media(max-width:800px){
  .fc_nav_menu_con>.site-language-link{align-self:flex-start;margin:10px 0 0;min-width:60px}
  .mobile-language-link{display:inline-flex;position:relative;z-index:3;margin-left:auto;margin-right:14px;border:1px solid rgba(180,196,186,.35);border-radius:999px;height:36px;min-height:36px}
  .desktop-nav .site-language-link{height:auto;min-height:44px;justify-content:flex-start;padding:18px 0;border:0;border-radius:0}
  .en-page .desktop-nav>a:not(.site-language-link){font-size:24px;margin-right:0}
  .en-page .hero h1,.en-page .detail-hero h1{max-width:16ch;font-size:clamp(42px,10vw,56px)}
  .en-page .industry-showcase h2{font-size:clamp(32px,8vw,42px)}
  .en-page .fc_id_case_con_cn.home-service-heading{font-size:34px}
  .en-page .en-brand-wordmark{font-size:clamp(49px,13vw,90px);letter-spacing:-.065em}
  .en-page .en-brand-wordmark span{font-size:.39em;letter-spacing:.29em;text-indent:.29em}
}

/* Keep the four primary destinations visible on narrow screens. */
@media (max-width:800px){
  .fc_nav_box{height:112px!important;background:#050606!important}
  .fc_nav{box-sizing:border-box;width:100%;height:112px;display:grid;grid-template-columns:1fr auto;grid-template-rows:68px 44px;align-items:center;padding:0 16px}
  .fc_nav_logo{grid-column:1;grid-row:1}
  .fc_nav_logo img{height:32px!important;max-width:180px;margin:0!important}
  .legacy-menu-toggle{display:none}
  .fc_nav .fc_nav_menu,.fc_nav.legacy-open .fc_nav_menu{position:static;grid-column:1/-1;grid-row:2;display:block!important;width:100%;height:44px;padding:0;border:0;border-top:1px solid rgba(255,255,255,.16);background:transparent}
  .fc_nav .fc_nav_menu_con{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:44px;align-items:stretch}
  .fc_nav .fc_nav_menu_item{display:flex!important;align-items:center;justify-content:center;min-width:0;height:44px;margin:0!important;padding:0 2px!important;border-bottom:2px solid transparent}
  .fc_nav .fc_nav_menu_itemon{border-bottom-color:#50e4b2}
  .fc_nav .fc_nav_menu_text,.en-page .fc_nav .fc_nav_menu_text{margin:0!important;color:#c5ceca;font-size:clamp(14px,2.2vw,16px)!important;font-weight:600;line-height:1.2;text-align:center;white-space:normal}
  .fc_nav .fc_nav_menu_itemon .fc_nav_menu_text{color:#50e4b2}
  .fc_nav_menu_con>.site-language-link{position:absolute;top:12px;right:16px;display:inline-flex;align-self:auto;margin:0;min-height:36px;height:36px}

  .site-header{position:fixed;height:112px;background:#050606}
  .site-header-inner{box-sizing:border-box;width:100%;height:112px;display:grid;grid-template-columns:1fr auto;grid-template-rows:68px 44px;align-items:center;padding:0 16px}
  .site-header .brand{grid-column:1;grid-row:1}
  .site-header .brand img{height:32px}
  .site-header .mobile-language-link{grid-column:2;grid-row:1;margin:0}
  .site-header .menu-toggle{display:none}
  .site-header .desktop-nav,.menu-open .site-header .desktop-nav{position:static;inset:auto;grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;width:100%;height:44px;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.16);background:transparent;transform:none;transition:none}
  .site-header .desktop-nav>a:not(.site-language-link),.en-page .site-header .desktop-nav>a:not(.site-language-link){display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:44px;margin:0;padding:0 2px;border:0;border-bottom:2px solid transparent;color:#c5ceca;font-size:clamp(14px,2.2vw,16px)!important;font-weight:600;line-height:1.2;text-align:center;white-space:normal}
  .site-header .desktop-nav>a[aria-current="page"]{border-bottom-color:#50e4b2;color:#50e4b2}
  .site-header .desktop-nav>a::before,.site-header .desktop-nav>a::after{display:none}
  .site-header .desktop-nav .site-language-link{display:none}
  .industry-switcher{top:112px;margin-top:112px}
  .industry-showcase{scroll-margin-top:112px}
}

@media (max-width:800px){
  html,body{overflow-x:hidden;overflow-x:clip}
  .pagebody:not(.en-page) #model_view_box17 .fc_id_banner_con>div:first-child{width:100%;max-width:640px}
  .pagebody:not(.en-page) #model_view_box17 .fc_id_banner_con>div:nth-child(2){width:66%;max-width:423px}
  .fc_id_banner_img_video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}
  .fc_id_banner_img_video.is-playing{opacity:1}
  .fc_id_yw_menu_back{transition:opacity 900ms ease-in-out}
  .fc_id_yw_menu:not(.hw-scene-ready) .fc_id_yw_menu_back:first-child{opacity:1}
  .fc_id_yw_menu .fc_id_ymi_img{display:none}
  .fc_ab_sbmenu{position:relative;left:auto;bottom:auto;width:94%;margin:12px auto 0}
  .footer_menu_item_code_box{justify-content:center;gap:44px}
  .footer_menu_item_code:nth-child(2){margin-left:0}
  .footer_menu_item_code_img img{width:88px;opacity:.74}
  .footer_menu_item_item,.footer_menu_item_code_text span{color:rgba(255,255,255,.46)}
  .footer_copy,.footer_copy a{color:rgba(255,255,255,.44)}
  .fc_id_ymi_con{box-sizing:border-box;align-items:center;padding-bottom:26px}
  .fc_id_ymi_con_title{box-sizing:border-box;width:100%;max-width:34rem;margin:0 auto;padding:0 20px;text-align:center;line-height:1.3;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}
  .fc_id_ymi_con_des{box-sizing:border-box;width:100%;max-width:34rem;margin:12px auto 0;padding:0 24px;text-align:center;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
  .fc_id_ymi_con_link{box-sizing:border-box;width:100%;margin:16px auto 0;padding:0;text-align:center}
  #model_view_box18 .fc_id_title_box{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;justify-content:start;width:94%;padding:28px 0 32px}
  #model_view_box18 .fc_id_title_left,#model_view_box18 .fc_id_title_right{min-width:0}
  #model_view_box18 .fc_id_title_left span{box-sizing:border-box;max-width:100%;padding-left:14px;text-align:left}
  #model_view_box18 .fc_id_title_right{padding-left:14px}
  #model_view_box18 .fc_id_title_right span{display:block;font-size:clamp(14px,4vw,18px);line-height:1.45;white-space:normal;overflow-wrap:anywhere}
  #model_view_box18 .fc_id_title_right span::before{display:none}
  .en-page #model_view_box23 .fc_id_title_box,.en-page #model_view_box25 .fc_id_title_box{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;width:94%;padding:26px 0 30px}
  .en-page #model_view_box23 .fc_id_title_left,.en-page #model_view_box25 .fc_id_title_left,.en-page #model_view_box23 .fc_id_title_right,.en-page #model_view_box25 .fc_id_title_right{min-width:0}
  .en-page #model_view_box23 .fc_id_title_left span,.en-page #model_view_box25 .fc_id_title_left span{box-sizing:border-box;display:block;max-width:100%;padding-left:14px;text-align:left}
  .en-page #model_view_box23 .fc_id_tlen,.en-page #model_view_box25 .fc_id_tlen{font-size:clamp(16px,4.3vw,20px);line-height:1.3}
  .en-page #model_view_box23 .fc_id_tlcn,.en-page #model_view_box25 .fc_id_tlcn{font-size:clamp(25px,6.2vw,34px);line-height:1.15}
  .en-page #model_view_box23 .fc_id_title_right,.en-page #model_view_box25 .fc_id_title_right{padding-left:14px}
  .en-page #model_view_box23 .fc_id_title_right span,.en-page #model_view_box25 .fc_id_title_right span{display:block;max-width:36rem;font-size:clamp(14px,3.8vw,18px);line-height:1.45;white-space:normal;overflow-wrap:normal}
  .en-page #model_view_box23 .fc_id_title_right span::before,.en-page #model_view_box25 .fc_id_title_right span::before{display:none}
}

/* Give the English home service figures room to read on phones. */
@media (max-width:800px){
  .en-page .fc_id_lc{box-sizing:border-box;height:auto;min-height:0;padding:48px 18px 54px}
  .en-page .fc_id_lc_con{height:auto;justify-content:flex-start}
  .en-page .fc_id_lc_con_title_en span{padding-left:0;font-size:16px;line-height:1.3}
  .en-page .fc_id_lc_con_title_en span::after{left:50%;top:-26px;transform:translateX(-50%);font-size:88px;pointer-events:none}
  .en-page .fc_id_lc_con_title_cn{max-width:550px;margin:18px auto 32px;padding:0 4px;font-size:clamp(20px,5.6vw,25px);line-height:1.34;text-wrap:balance}
  .en-page .fc_id_lc_con_count{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:min(100%,550px);margin:0 auto}
  .en-page .fc_id_lc_con_count_item{box-sizing:border-box;display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:center;width:100%;min-height:84px;padding:14px 4px;text-align:left;border-top:1px solid rgba(255,255,255,.2)}
  .en-page .fc_id_lc_con_count_item:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
  .en-page .fc_id_lc_con_count_item>span{display:inline-block;width:max-content;padding:0 16px 17px 0;font-size:clamp(31px,8.7vw,38px);line-height:1;white-space:nowrap}
  .en-page .fc_id_lc_con_count_item>span::after{left:auto;right:0;top:-2px;font-size:17px}
  .en-page .fc_id_lc_con_count_item>span::before{left:0;bottom:0;font-size:13px;line-height:1}
  .en-page .fc_id_lc_con_count_item>div{min-width:0;color:#e5eae7;font-size:14px;line-height:1.45;overflow-wrap:normal}
}

@media (max-width:350px){
  .en-page .fc_id_lc_con_count_item{grid-template-columns:115px minmax(0,1fr);gap:10px}
  .en-page .fc_id_lc_con_count_item>span{font-size:30px}
}

/* Reserve the second title line on narrow phones; keep links at their natural spacing. */
@media (max-width:500px){
  .footer_box .footer_menu_item:not(:last-child) .footer_menu_item_title{min-height:2.5em}
}

/* Keep every core-business project group in one swipeable row on mobile. */
@media (max-width:760px){
  .services-overview-page .industry-cases{display:flex;gap:12px;margin-right:-22px;padding-right:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .services-overview-page .industry-cases::-webkit-scrollbar{display:none}
  .services-overview-page .industry-cases article,.services-overview-page .industry-cases article:last-child:nth-child(odd){flex:0 0 calc((100% - 34px)/2);width:auto;min-width:0;scroll-snap-align:start}
  .services-overview-page .industry-cases img{display:block;width:100%;object-fit:contain;background:#090b0b}
  .services-overview-page .industry-cases--full-posters img{box-sizing:border-box;width:100%;padding:0;aspect-ratio:3/4;object-fit:contain}
  .services-overview-page #animation-games .industry-cases--full-posters img{aspect-ratio:3/4;object-fit:contain}
  .services-overview-page #immersive-experience .industry-case--cover img{object-fit:cover;object-position:center}
  .services-overview-page .industry-cases h3,.services-overview-page .industry-cases p{overflow:visible;text-overflow:clip;white-space:normal}
}

/* Keep iOS in-app browsers from inflating navigation text on industry pages. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:800px){.fc_id_banner_img_video{display:none!important}}
