:root{--header-height: 50px;--vul-bx-height: calc(100vh - var(--header-height))}.hero-banner{width:100%;height:1000px;position:relative;overflow:hidden}.hero-banner .swiper{width:100%;height:100%}.hero-banner .swiper-slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-gallery{width:calc(100% - 120px);margin:50px auto;text-align:center;max-width:1640px}.project-gallery .grid-title{text-align:left;font-size:30px;font-weight:600;margin-bottom:20px}.project-gallery .project-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:15px;overflow:hidden}.project-gallery .project-item{width:100%;aspect-ratio:11/8;position:relative;overflow:hidden;cursor:pointer}.project-gallery .project-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-gallery .project-item .project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0);opacity:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;transition:background .3s ease,opacity .3s ease}.project-gallery .project-item .project-overlay .project-title{font-size:19px;font-weight:bold;width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#222}.project-gallery .project-item .project-overlay .btn-more{font-size:14px;margin-top:15px;border:2px solid #009ade;padding:5px 18px;border-radius:15px;color:#009ade;font-weight:bold}.project-gallery .project-item:hover{z-index:100}.project-gallery .project-item:hover img{filter:brightness(0.7)}.project-gallery .project-item:hover .project-overlay{background:rgba(238,238,238,.9);opacity:1}.project-item{opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .6s ease}.project-item.visible{opacity:1;transform:translateY(0)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:40px}@media(max-width: 1400px){.project-gallery .project-grid{grid-template-columns:repeat(3, 1fr)}.project-gallery .project-item .project-overlay .project-title{font-size:16px}}@media(max-width: 1000px){.project-gallery{width:calc(100% - 50px)}.project-gallery .project-grid{grid-template-columns:repeat(2, 1fr)}.project-gallery .project-item .project-overlay .project-title{font-size:15px}.btn-more{font-size:13px !important}}.vul-bx{width:100%;height:100vh;background:url(/static/images/visual_top_img.webp) no-repeat;background-size:cover;display:flex;align-items:flex-end;padding-bottom:100px;box-sizing:border-box}.vul-bx .txt{width:calc(100% - 120px);max-width:1640px;margin:0 auto;box-sizing:border-box}.vul-bx .txt p{margin:0;color:#fff}.vul-bx .txt p:nth-child(1){font-size:20px;margin-bottom:10px;font-family:"Poppins",sans-serif;font-weight:600}.vul-bx .txt p:nth-child(2){font-size:75px;line-height:78px;font-weight:600;margin-bottom:30px;font-family:"Poppins",sans-serif}.vul-bx .txt p:nth-child(2) span{display:block}.vul-bx .txt p:nth-child(3){font-size:24px;line-height:36px;font-weight:500}.vul-bx .txt p:nth-child(3) span{display:block}@media(max-width: 1200px){.vul-bx{padding-bottom:50px}.vul-bx .txt{width:calc(100% - 50px)}.vul-bx .txt p:nth-child(1){font-size:18px;margin-bottom:5px}.vul-bx .txt p:nth-child(2){font-size:50px;line-height:58px}.vul-bx .txt p:nth-child(3){font-size:18px;line-height:26px}}@media(max-width: 768px){.vul-bx{background-position:center center;padding-bottom:30px}.vul-bx .txt p:nth-child(1){font-size:15px;margin-bottom:5px}.vul-bx .txt p:nth-child(2){font-size:28px;line-height:36px}.vul-bx .txt p:nth-child(3){font-size:14px;line-height:22px}}