@charset "UTF-8";
/* YuanFeng V52.83 generated CSS bundle; source modules retained. */

/* ---- source: assets/css/card-radius-v52.39.css ---- */
/* YuanFeng V52.39 — unified rounded cards on landing/list pages. */
:root{--yf-card-radius-v5239:16px;}

/* Home: latest project cards + 3 wide / 5 compact product cards. */
.homeLatest .homeLatestDiv .toolItem>div,
.homeProduct .homeProductDiv .homeProductA .productItem>div,
.homeProduct .homeProductDiv .homeProductB .productItem>div{
  border-radius:var(--yf-card-radius-v5239);
  overflow:hidden;
  isolation:isolate;
}

/* Products landing: category tiles + 8 product card media surfaces. */
.productsData .prodcDiv .toolItem>div,
.productsData.yf-products-reference-v5235 .prodItemDiv .yf-product-reference-card .yf-product-card-media{
  border-radius:var(--yf-card-radius-v5239);
  overflow:hidden;
  isolation:isolate;
}

/* Projects landing + all project category pages: round the complete card. */
.yf-case-grid .yf-case-card{
  border-radius:var(--yf-card-radius-v5239);
  overflow:hidden;
  isolation:isolate;
  background:#fff;
}
.yf-case-grid .yf-case-card>a{
  border-radius:inherit;
  overflow:hidden;
}
.yf-case-grid .yf-case-media{
  overflow:hidden;
}

@media(max-width:750px){
  :root{--yf-card-radius-v5239:12px;}
}

/* ---- source: assets/css/home-fixes-v52.43.css ---- */
/* YuanFeng V52.43 — homepage footer/card/title alignment corrections. */

/* Home footer: keep copyright + ICP on one row at the lower-right. */
.bottomMenu .bottomDiv .bottomLinks .infoDiv .infoList{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:32px!important;
  white-space:nowrap!important;
}
.bottomMenu .bottomDiv .bottomLinks .infoDiv .infoList>p{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}

/* Home project carousel: requested square corners (override V52.39 rounded card rule). */
.homeLatest .homeLatestDiv .toolItem>div{
  border-radius:0!important;
}

/* Align “浏览最新内容 / Latest Projects” with the first project card. */
.homeLatest .homeLatestTitle{
  max-width:none!important;
  margin:0!important;
  padding-left:10px!important;
  padding-right:10px!important;
}

/* ---- source: assets/css/home-product-layout-v52.47.css ---- */
/* V52.47 — home 8-product card composition copied only from the user reference layout. */
.homeProduct .homeProductDiv .yf47-home-product-layout .productItem{overflow:visible!important;background:transparent!important;}
.homeProduct .homeProductDiv .yf47-home-product-layout .productItem>.yf47-product-visual{
  position:relative!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
  border-radius:0!important;overflow:hidden!important;
}
.homeProduct .homeProductDiv .homeProductA.yf47-home-product-layout .productItem>.yf47-product-visual{aspect-ratio:16/5!important;}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .productItem>.yf47-product-visual{aspect-ratio:5/4!important;}
.homeProduct .homeProductDiv .yf47-home-product-layout .productItem>.yf47-product-caption{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;box-sizing:border-box!important;
  margin:0!important;padding:22px 24px 26px!important;text-align:center!important;background:#e9e9e9!important;color:#333!important;
  border-radius:0!important;transform:none!important;opacity:1!important;
}
.homeProduct .homeProductDiv .homeProductA.yf47-home-product-layout .productItem:first-child>.yf47-product-caption{background:#000!important;color:#fff!important;}
.homeProduct .homeProductDiv .yf47-home-product-layout .yf47-product-caption h2{
  margin:0!important;padding:0!important;color:inherit!important;font-size:22px!important;font-weight:400!important;line-height:1.3!important;letter-spacing:0!important;
}
.homeProduct .homeProductDiv .yf47-home-product-layout .yf47-product-caption p{
  position:static!important;width:auto!important;height:auto!important;max-width:68ch!important;margin:10px auto 18px!important;padding:0!important;
  background:none!important;color:inherit!important;font-size:13px!important;font-weight:400!important;line-height:1.65!important;white-space:normal!important;
}
.homeProduct .homeProductDiv .yf47-home-product-layout .yf47-product-caption a{
  display:inline-block!important;position:static!important;margin:0!important;padding:7px 20px!important;border-radius:24px!important;
  background:#fff!important;color:#222!important;font-size:12px!important;line-height:1.5!important;text-decoration:none!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .yf47-product-caption{min-height:178px!important;}
@media(max-width:700px){
  .homeProduct .homeProductDiv .homeProductA.yf47-home-product-layout .productItem>.yf47-product-visual{aspect-ratio:4/3!important;}
  .homeProduct .homeProductDiv .yf47-home-product-layout .productItem>.yf47-product-caption{padding:18px 18px 22px!important;}
  .homeProduct .homeProductDiv .yf47-home-product-layout .yf47-product-caption h2{font-size:20px!important;}
  .homeProduct .homeProductDiv .yf47-home-product-layout .yf47-product-caption p{font-size:12px!important;}
}

/* ---- source: assets/css/home-product-text-v52.48.css ---- */
/* V52.48 — home product captions: natural height + 3-line visual clamp; full source copy stays in DOM. */
.homeProduct .homeProductDiv .yf47-home-product-layout .productItem>.yf47-product-caption{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .yf47-product-caption{
  min-height:0!important;
}
.homeProduct .homeProductDiv .yf47-home-product-layout .yf47-product-caption p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  height:auto!important;
  max-height:calc(1.65em * 3)!important;
}

/* ---- source: assets/css/home-product-spacing-v52.49.css ---- */
/* V52.49 — home product captions: remove inherited aspect-ratio blank space and keep 15mm below CTA. */
.homeProduct .homeProductDiv .yf47-home-product-layout .productItem>.yf47-product-caption{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding-bottom:15mm!important;
}

/* ---- source: assets/css/home-product-equal-height-v52.78.css ---- */
/* YuanFeng V52.78 — keep the five compact home product cards and CTA buttons aligned. */
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .swiper-wrapper{
  align-items:stretch!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .swiper-slide.productItem{
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .productItem>.yf47-product-visual{
  flex:0 0 auto!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .productItem>.yf47-product-caption{
  flex:1 1 auto!important;
  min-height:178px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .yf47-product-caption h2{
  flex:0 0 auto!important;
  min-height:1.3em!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .yf47-product-caption p{
  flex:0 0 auto!important;
  min-height:calc(1.65em * 3)!important;
}
.homeProduct .homeProductDiv .homeProductB.yf47-home-product-layout .yf47-product-caption a{
  margin-top:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-bottom:0!important;
}

/* ---- source: assets/css/home-hero-links-v52.76.css ---- */
/* V52.76 — make each homepage hero slide a real internal link without changing Swiper visuals. */
#TSD .yf-home-hero-hit{position:absolute;inset:0;z-index:3;display:block;cursor:pointer;text-decoration:none;background:transparent;-webkit-tap-highlight-color:transparent;}
#TSD .yf-home-hero-hit:focus-visible{outline:2px solid rgba(255,255,255,.95);outline-offset:-6px;}
#TSD .swText{pointer-events:none;}
#TSD .swiper-pagination{z-index:6;}
