/* V172: one consistent wide content line for every SOLIDMIX section. */
:root{
  --v172-page-max:1600px;
  --v172-page-gutter:34px;
}

#site-main>section:not(#home)>.wrap{
  width:min(var(--v172-page-max),calc(100% - var(--v172-page-gutter)))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#about .v168-profile,
#method .v168-poster,
#contracts .v168-poster{
  width:min(var(--v172-page-max),calc(100% - var(--v172-page-gutter)))!important;
  max-width:var(--v172-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#about .v168-profile{
  width:100%!important;
}

#about .v168-content,
#method .v168-content,
#contracts .v168-content{
  padding-left:42px;
  padding-right:42px;
}

#about .v170-intro,
#about .v170-office-map{
  width:100%;
  max-width:1480px;
}

#about .v170-office-map img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}

#about .v168-profile-content>.v121-list{
  columns:2;
  column-gap:54px;
}

#about .v168-profile-content>.v121-list li{
  break-inside:avoid;
}

#about .v168-profile-content>.v121-grid.cols3{
  align-items:stretch;
}

#about .v168-profile-content>.v121-grid.cols3>.v121-card{
  min-height:72px;
  display:flex;
  align-items:center;
}

#products .product-index,
#products .product-stack,
#products .product-card{
  width:100%;
  max-width:none!important;
}

#products .product-index{
  columns:2;
  column-gap:38px;
  padding:22px 30px;
}

#products .product-index a{
  break-inside:avoid;
}

#products .product-card{
  grid-template-columns:minmax(420px,640px) minmax(0,1fr);
}

#products .product-photo{
  min-height:0!important;
  height:410px;
  padding:0!important;
  overflow:hidden;
}

#products .product-photo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center;
  border-radius:0!important;
}

#product-03 .product-photo img{object-position:center 42%}
#product-05 .product-photo img{object-position:center 35%}

#products .product-copy{
  padding:36px 42px;
}

#products .product-copy h3{
  font-size:clamp(27px,2vw,34px);
}

#products .product-copy p{
  max-width:none;
  font-size:17px;
}

#contact .contact-card,
#contact .contact-people-grid,
#contact .v117-inquiry-wrap{
  width:100%;
  max-width:none;
}

#contact .contact-people-grid{
  gap:20px;
}

#contact .contact-person{
  min-height:270px!important;
  padding:22px 24px!important;
}

@media(max-width:1100px){
  #products .product-card{grid-template-columns:minmax(360px,46%) minmax(0,1fr)}
  #products .product-copy{padding:30px}
}

@media(max-width:850px){
  :root{--v172-page-gutter:24px}
  #about .v168-content,#method .v168-content,#contracts .v168-content{padding-left:20px;padding-right:20px}
  #about .v168-profile-content>.v121-list{columns:1}
  #products .product-index{columns:1}
  #products .product-card{grid-template-columns:1fr}
  #products .product-photo{min-height:0!important;height:270px;padding:0!important}
  #products .product-copy{padding:24px}
  #products .product-copy p{font-size:16px}
}

@media(max-width:520px){
  :root{--v172-page-gutter:20px}
  #about .v168-content,#method .v168-content,#contracts .v168-content{padding-left:14px;padding-right:14px}
  #products .product-index{padding:14px 18px}
  #contact .contact-person{min-height:0!important;padding:18px!important}
}
