/* SEO 2.0: responsive, readability and Core Web Vitals friendly enhancements */
html{-webkit-text-size-adjust:100%;}
img{max-width:100%;height:auto;}
.seo2-section{box-sizing:border-box;width:980px;max-width:calc(100% - 24px);margin:20px auto;padding:24px;background:#fff;border:1px solid #e4e7eb;border-radius:8px;line-height:1.8;color:#333;}
.seo2-section h1,.seo2-section h2,.seo2-section h3{line-height:1.4;color:#263238;margin-top:0;}
.seo2-section h1{font-size:28px;margin-bottom:14px;}
.seo2-section h2{font-size:22px;margin:24px 0 10px;border-left:4px solid #c62828;padding-left:10px;}
.seo2-section h3{font-size:18px;margin:18px 0 6px;}
.seo2-grid{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0;}
.seo2-card{box-sizing:border-box;flex:1 1 210px;padding:16px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa;}
.seo2-card strong{display:block;font-size:17px;color:#8e1b1b;margin-bottom:5px;}
.seo2-cta{margin-top:18px;padding:18px;border-radius:6px;background:#f5f5f5;border-left:5px solid #b71c1c;}
.seo2-cta a{display:inline-block;margin-top:8px;padding:9px 18px;background:#8e1b1b;color:#fff!important;text-decoration:none;border-radius:4px;}
.seo2-faq{margin:12px 0;padding:14px;border-bottom:1px solid #e6e6e6;}
.seo2-faq h3{margin:0 0 6px;}
.seo2-breadcrumb{font-size:14px;color:#555;}
.seo2-breadcrumb a{color:#555;}
.seo2-related a{display:inline-block;margin:4px 8px 4px 0;padding:6px 10px;border:1px solid #ddd;border-radius:4px;text-decoration:none;}
@media screen and (max-width: 760px){
 body{margin:0;min-width:0!important;overflow-x:hidden;}
 .header_top,.home_box,.center_apbox,.center_menu_box,.header_foot{width:100%!important;max-width:100%!important;box-sizing:border-box;}
 .header_top_box_le,.header_top_box_re,#ad{float:none!important;width:100%!important;max-width:100%!important;}
 #menu_box{width:100%!important;height:auto!important;overflow:hidden;}
 #menu,#menu_on{height:auto!important;padding:8px 6px!important;}
 #menu_line{display:none;}
 .center_apbox>div:first-child{display:none;}
 table{max-width:100%!important;width:100%!important;table-layout:auto;}
 td{max-width:100%;}
 .seo2-section{width:auto;max-width:calc(100% - 18px);margin:12px 9px;padding:17px;}
 .seo2-section h1{font-size:23px;}
 .seo2-section h2{font-size:19px;}
 .seo2-grid{display:block;}
 .seo2-card{margin-bottom:10px;}
}

/* Homepage project galleries: larger images and balanced card layout */
.home-project-section fieldset{box-sizing:border-box;min-width:0;padding:12px 14px 16px;}
.home-project-section legend{font-weight:bold;padding:0 6px;}
.home-project-section legend a{vertical-align:middle;}
.home-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 14px;width:100%;box-sizing:border-box;padding:8px 0 2px;}
.home-project-card{min-width:0;margin:0;padding:0 0 10px;background:#fff;border:1px solid #e1e1e1;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden;}
.home-project-image{display:flex;align-items:center;justify-content:center;width:100%;height:132px;background:#f2f3f4;overflow:hidden;text-decoration:none;}
.home-project-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .2s ease;}
.home-project-card:hover .home-project-image img{transform:scale(1.035);}
.home-project-card h3{font-size:14px;line-height:1.45;font-weight:normal;margin:9px 9px 0;min-height:41px;overflow:hidden;}
.home-project-card h3 a{color:#333;text-decoration:none;word-break:normal;overflow-wrap:break-word;}
.home-project-card h3 a:hover{color:#b21f1f;text-decoration:underline;}
.home-project-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#777;font-size:14px;background:linear-gradient(135deg,#f5f5f5,#e8eaec);}
.home-project-empty{padding:20px;text-align:center;color:#777;}
@media screen and (max-width:980px){
 .home-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 .home-project-image{height:145px;}
}
@media screen and (max-width:760px){
 .home-project-section fieldset{padding:10px;}
 .home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;}
 .home-project-image{height:128px;}
 .home-project-card h3{font-size:14px;min-height:40px;margin:8px;}
}
@media screen and (max-width:420px){
 .home-project-grid{grid-template-columns:1fr;}
 .home-project-image{height:190px;}
 .home-project-card h3{min-height:0;font-size:15px;}
}
