/* Whole-site polish: typography, alignment, logo and media fixes */
:root{--zh-sans:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Noto Sans SC",Arial,sans-serif}

body,button,input,select,textarea{font-family:var(--zh-sans)!important}

/* Keep Chinese typography clean and consistent; reserve serif styling for Latin accents. */
h1,h2,h3,h4,.gallery-main figcaption span,.detail-strip h3,.scene-copy h2,.spec-heading h2,.intro h2,.inquiry h2{
  font-family:var(--zh-sans)!important;
  font-weight:500!important;
  letter-spacing:-.035em;
}
.hero h1 em{font-family:Georgia,"Times New Roman",serif!important;letter-spacing:0}

/* Correct transparent white brand artwork and its proportions. */
.brand img,.logo img,footer .brand img,footer>img{
  width:auto!important;
  height:58px!important;
  max-width:230px!important;
  object-fit:contain;
  display:block;
}
.site-header .brand img{height:58px!important}
footer .brand img,footer>img{height:48px!important}

/* Every specification cell follows exactly the same vertical rhythm. */
.spec-grid{align-items:stretch!important}
.spec-grid article{
  min-height:190px!important;
  padding:24px 28px!important;
  display:grid!important;
  grid-template-rows:22px 1fr auto auto!important;
  align-content:stretch!important;
  transform:none!important;
}
.spec-grid article>span{align-self:start!important}
.spec-grid article>small{align-self:end!important;margin:0 0 14px!important}
.spec-grid article>strong{align-self:start!important;min-height:34px;margin:0!important}
.spec-grid article>i{align-self:start!important;min-height:18px;margin-top:7px!important}

/* Product gallery captions no longer jump when names wrap. */
.product-grid figure{display:flex;flex-direction:column}
.product-grid figcaption{flex:1;min-height:86px!important}
.product-grid b{line-height:1.55}

/* Homepage hero image was present but its image layer had no box. */
.hero{isolation:isolate}
.hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  pointer-events:none;
}
.hero::before{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;display:block!important;pointer-events:none}
.hero-inner,.hero-number{z-index:2!important}

/* Consistent image framing and safer responsive typography. */
img{max-width:100%}
.photo{height:auto!important;aspect-ratio:1/1!important}
.photo img{display:block;object-fit:cover}
.card{height:100%;display:grid!important;grid-template-rows:auto 1fr!important}
.card-body{display:flex;flex-direction:column}
.card-body b{margin-top:auto}

@media(max-width:900px){
  .spec-grid article{min-height:172px!important}
  .brand img,.logo img,.site-header .brand img{height:50px!important}
}
@media(max-width:560px){
  .spec-grid article{min-height:154px!important;padding:18px!important}
  .spec-grid strong{font-size:15px!important}
  .brand img,.logo img,.site-header .brand img{height:42px!important}
  .hero h1{font-size:clamp(52px,17vw,72px)!important}
}
