/* Complete artwork frames. Never magnify/crop a source to fill a different ratio. */
html body.weiya-visual main img,
html body.weiya-visual .project-card-preview-image img,
html body.weiya-visual .person-full-slide img{
 object-fit:contain!important;object-position:50% 50%!important;
 clip-path:none!important;aspect-ratio:auto!important;
}
html body.weiya-visual main video{object-fit:contain!important}
html body.weiya-visual .media-link:hover .media,
html body.weiya-visual .media-link:focus .media{transform:none!important;opacity:1}
html body.weiya-visual .media img{will-change:auto}
html body.weiya-visual .main-project-gallery-card .media,
html body.weiya-visual .section-projectslider .media,
html body.weiya-visual .news-card .media{position:relative;aspect-ratio:4/5!important;height:auto!important}
html body.weiya-visual .news-card .media{aspect-ratio:4/3!important}
html body.weiya-visual .main-project-gallery-card .media>picture,
html body.weiya-visual .section-projectslider .media>picture,
html body.weiya-visual .news-card .media>picture{position:absolute;inset:0;width:100%;height:100%}
html body.weiya-visual .media:has(img[data-weiya-photo-kind=studio]){background:#fff!important}
html body.weiya-visual .media:has(img[data-weiya-photo-kind=scene]){background:#e9e8e4}
html body.weiya-visual .homepage_top_swiper .media{background:#111!important}
html body.weiya-visual .weiya-image-caption{font-size:13px;line-height:1.6;margin-top:12px;max-width:65ch;letter-spacing:0;text-transform:none;white-space:normal}
html body.weiya-visual .weiya-work-description p{max-width:65ch}
html body.weiya-visual .project-bio h3{font-size:clamp(24px,2.8vw,44px);line-height:1.35;margin-bottom:28px}
html body.weiya-visual .weiya-visual-intro{max-width:70ch;font-size:clamp(17px,1.6vw,25px);line-height:1.6;margin:0 0 48px}
/* A product must remain visible beside its title, including long model references. */
html body.weiya-visual-detail .section-project-top,
html body.weiya-visual-detail .section-topbanner,
html body.weiya-visual-article .section-article-top{
 display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
 align-items:center;min-height:640px;height:auto!important;
 background:#fff!important;color:#111!important;padding:100px 5vw 48px;gap:4vw;
}
html body.weiya-visual-detail .section-project-top .content,
html body.weiya-visual-detail .section-topbanner .content,
html body.weiya-visual-article .section-article-top .content{
 position:relative!important;inset:auto!important;width:auto!important;
 padding:0!important;transform:none!important;z-index:1;
}
html body.weiya-visual-detail .section-project-top h1,
html body.weiya-visual-detail .section-topbanner h1,
html body.weiya-visual-article .section-article-top h1{
 font-size:clamp(32px,3.6vw,64px)!important;line-height:1.16!important;
 color:#111!important;overflow-wrap:anywhere;word-break:normal;
}
html body.weiya-visual-detail .section-project-top .media,
html body.weiya-visual-detail .section-topbanner .media,
html body.weiya-visual-article .section-article-top .media{
 position:relative!important;inset:auto!important;width:100%!important;
 height:clamp(420px,65vh,760px)!important;aspect-ratio:auto!important;
 transform:none!important;background:#fff!important;opacity:1!important;
}
html body.weiya-visual-detail .section-project-top .media:after,
html body.weiya-visual-detail .section-project-top .media:before,
html body.weiya-visual-article .section-article-top .media:after,
html body.weiya-visual-article .section-article-top .media:before{display:none!important}
html body.weiya-visual-detail .section-project-top .label-style,
html body.weiya-visual-detail .section-project-top .back-button{color:#111!important;border-color:#aaa!important}
html body.weiya-visual-detail .section-project-top .back-button{margin-bottom:30px;display:inline-flex}
html body.weiya-visual-detail .section-project-top .back-button i{filter:brightness(0)}
html body.weiya-visual-detail .weiya-model-ref{display:block;font-size:.52em;line-height:1.5;margin-top:18px;letter-spacing:0}
@media(max-width:767px){
 html body.weiya-visual-detail .section-project-top,
html body.weiya-visual-detail .section-topbanner,
 html body.weiya-visual-article .section-article-top{
  grid-template-columns:minmax(0,1fr);padding:100px 6vw 32px;gap:26px;min-height:0;
 }
 html body.weiya-visual-detail .section-project-top h1,
html body.weiya-visual-detail .section-topbanner h1,
 html body.weiya-visual-article .section-article-top h1{font-size:clamp(28px,7.5vw,42px)!important;line-height:1.2!important}
 html body.weiya-visual-detail .section-project-top .media,
html body.weiya-visual-detail .section-topbanner .media,
 html body.weiya-visual-article .section-article-top .media{height:110vw!important;max-height:600px}
}
@media(max-width:767px){html body.weiya-visual .weiya-visual-intro{font-size:17px;margin-bottom:28px}}

html body.weiya-visual-detail .section-topbanner .media:before,html body.weiya-visual-detail .section-topbanner .media:after{display:none!important}
html body.weiya-visual-detail .section-topbanner .top-banner__title{color:#111!important}
html body.weiya-visual-detail .project-columns{margin-top:32px}
@media(max-width:767px){
 html body.weiya-visual .mobile-top>.top{height:48px;min-height:48px;padding:0 108px 0 12px;gap:12px;align-items:center}
 html body.weiya-visual .mobile-top .marque{min-width:0;flex:1;overflow:hidden}
 html body.weiya-visual .mobile-top .contact-us{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;flex-shrink:0}
 html body.weiya-visual-detail .section-project-top,
 html body.weiya-visual-detail .section-topbanner,
 html body.weiya-visual-article .section-article-top{padding-top:130px}
 html body.weiya-visual-detail .section-project-single-page{padding:40px 6vw}
 html body.weiya-visual-detail .project-meta{display:block}
 html body.weiya-visual-detail .project-meta li{width:auto!important;max-width:none!important;margin-bottom:24px}
 html body.weiya-visual-detail .project-meta .project-fields{width:100%}
 html body.weiya-visual-detail .project-bio{margin-top:36px}
 html body.weiya-visual-detail .project-columns{margin-top:0}
}

/* Keep short locale labels intact when the fixed control is translated. */
html body.weiyaworks .weiya-language{width:max-content;max-width:calc(100vw - 24px)}
html body.weiyaworks .weiya-language .language-current{white-space:nowrap;flex-shrink:0}
/* A flex formatting context bounds native WebKit selection to the text column.
   Keep paragraph flow, selection colors and all image frames unchanged. */
@media(max-width:1199px){
 html body.weiya-visual-detail .project-columns{display:flex;flex-direction:column;align-items:stretch}
 html body.weiya-visual-detail .project-columns>.col{min-width:0;width:auto}
}
