/* ======================================== HEADER STYLES ======================================== */
.site-header{position:fixed;top:0;left:0;width:100%;background-color:var(--white);z-index:1000;transition:transform 0.3s ease-in-out,box-shadow 0.3s ease-in-out;}
.site-header.scrolled{box-shadow:0 2px 10px rgba(0,0,0,0.1);}
.site-header.nav-up{transform:translateY(-100%);}
.site-header.menu-open{transform:translateY(0) !important;}
.header-wrapper{display:flex;align-items:center;justify-content:space-between;padding-block:12px;gap:50px;}
.logo{flex-shrink:0;}
.logo a{display:block;line-height:0;}
.logo img{width:170px;height:auto;}
/* Main Navigation */
.main-nav{display:flex;justify-content:center;margin-left:auto;}
.nav-list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;}
.nav-list li{margin:0;}
.nav-list a{font-size:var(--f16);font-family:var(--open-sans);font-weight:700;color:var(--c34);text-decoration:none;transition:color 0.3s ease-in-out;position:relative;display:block;padding:5px 0;}
.nav-list a:hover,.nav-list a:focus,.nav-list .current-menu-item a{color:var(--red);}
.header-social{display:flex;gap:15px;}
.header-social a{display:flex;align-items:center;justify-content:center;color:var(--c34);font-size:var(--f18);transition:color 0.3s ease-in-out;}
.header-social a:hover,.header-social a:focus{color:var(--red);}
.header-social a:focus{outline:2px solid var(--red);outline-offset:4px;}
.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:0;position:relative;z-index:1001;}
.hamburger-line{width:30px;height:3px;background-color:var(--red);border-radius:2px;transition:all 0.3s ease-in-out;transform-origin:center;}
.hamburger-line:nth-child(2){margin:5px 0;}
.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg);}
.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0;transform:scale(0);}
.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.mobile-menu-toggle:focus{outline:2px solid var(--red);outline-offset:4px;}
/* ======================================== HERO BANNER STYLES======================================== */
.hero-banner{position:relative;height:570px;overflow:hidden;margin-bottom:var(--sectionSpace);}
.hero-media{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;}
.vimeo-iframe{box-sizing:border-box;min-width:100%;min-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);aspect-ratio:1.7777777778;}
.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:1;}
.hero-iframe-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;}
.hero-iframe-container iframe{width:100%;height:100%;}
.hero-image-fallback{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0; background-position: center; background-size: cover;}
.hero-content{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--white);}
.hero-banner:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-color);z-index:2;}
.hero-inner h1{font-size:var(--f60);color:var(--white);}
.hero-inner p{color:var(--white);}
/* Fade-up animation (initial state) */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.3s ease-in-out,transform 0.3s ease-in-out;}
.fade-up.visible{opacity:1;transform:translateY(0);}
@media screen and (max-width: 1199.98px) {
    .logo img{width:120px;height:auto;}
}
@media (max-width:991.98px){.logo img{width:100px;}
.mobile-menu-toggle{display:flex;}
.main-nav{position:fixed;top:0;right:-100%;width:300px;height:100vh;background-color:var(--white);padding:100px 30px 30px;transition:right 0.3s ease-in-out;overflow-y:auto;box-shadow:-2px 0 10px rgba(0,0,0,0.1);}
.main-nav.active{right:0;}
.nav-list{flex-direction:column;align-items:flex-start;gap:0;}
.nav-list li{width:100%;border-bottom:1px solid rgba(52,52,52,0.1);}
.nav-list a{padding:15px 0;}
.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:rgba(0,0,0,0.5);z-index:999;opacity:0;visibility:hidden;transition:opacity 0.3s ease-in-out,visibility 0.3s ease-in-out;}
.mobile-menu-overlay.active{opacity:1;visibility:visible;}
.header-social{display:none;}
}
@media (max-width:767.98px){.main-nav{width:280px;}
}
@media (max-width:575.98px){.logo img{width:90px;}
.hamburger-line{width:25px;}
.main-nav{width:260px;padding:90px 20px 20px;}
}
/* ======================================== ACCESSIBILITY & FOCUS STATES ======================================== */
.site-header a:focus,.site-header button:focus{outline:2px solid var(--red);outline-offset:4px;}
.skip-to-main{position:absolute;top:-40px;left:0;background:var(--yellow);color:var(--c34);padding:8px 16px;text-decoration:none;z-index:10000;transition:top 0.3s ease-in-out;}
.skip-to-main:focus{top:0;}
html:has(.menu-open),body.menu-open{overflow:hidden;}
/* ======================================== OUR WORK SECTION STYLES ======================================== */
.our-work-section{/* padding-block:var(--sectionSpace);*/
 position:relative;}
.work-content{display:flex;align-items:center;gap:40px;}
.work-text{flex:1;max-width:50%;}
.work-text h2{margin-bottom:10px;}
.work-text h3{color:var(--red);margin-bottom:10px;font-family:var(--font-tahoma);}
.work-text p{margin-bottom:20px;}
.work-image{flex:1;max-width:50%;padding:0 20px 20px;}
.work-image img{width:100%;max-height:345px;object-fit:cover;display:block;box-shadow:0 12px 8px rgba(0,0,0,0.15);}
/* ======================================== SLICK SLIDER CUSTOMIZATION ======================================== */
.our-work-slider .slick-dots{position:relative;bottom:auto;margin-top:-10px;padding:0;list-style:none;display:flex !important;align-items:center;gap:5px;}
.our-work-slider.slick-dotted.slick-slider{margin-bottom:0;}
.our-work-slider .slick-dots li{margin:0;padding:0;width:16px;height:16px;}
.our-work-slider .slick-dots li button{width:16px;height:16px;padding:0;border:none;border-radius:50%;background-color:#D9D9D9;cursor:pointer;font-size:0;line-height:0;transition:background-color 0.3s ease-in-out;}
.our-work-slider .slick-dots li button:hover{background-color:#808080;}
.our-work-slider .slick-dots li button:focus{outline:2px solid var(--red);outline-offset:2px;}
.our-work-slider .slick-dots li.slick-active button{background-color:#808080;}
.our-work-slider .slick-dots li button:before{content:none;}
@media (max-width:991.98px){.work-content{flex-direction:column-reverse;align-items:flex-start;padding:0 10px;}
.work-text,.work-image{max-width:100%;}
.work-content{flex-direction:column-reverse;align-items:flex-start;}
.work-image{padding:0;}
.work-image img{max-height:400px;}
.our-work-slider .slick-dots{margin-top:0;gap:10px;padding-left:10px;}
}
@media (max-width:767.98px){.work-content{gap:30px;}
.work-image img{max-height:350px;}
.our-work-slider .slick-dots{margin-top:15px;}
}
@media (max-width:575.98px){.work-content{gap:25px;}
.work-image img{max-height:280px;}
.our-work-slider .slick-dots li{width:10px;height:10px;}
.our-work-slider .slick-dots li button{width:10px;height:10px;}
}
/* Logo Slider */
.manufacturers-logos{text-align:center;/* padding-block:var(--sectionSpace);*/
}
.logo_slider{padding-top:15px;}
.logo_slider .slick-track{display:flex;align-items:center;}
.logo_slider .slide{display:inline-block;width:auto;margin:0 20px;}
.logo_slider img{max-height:100px;width:auto;max-width:250px;}
@media (max-width:767.98px){.logo_slider img{max-height:70px;max-width:200px;}
}
@media (max-width:575.98px){.logo_slider img{max-width:120px;}
}
/* ======================================== LOCAL EXPERIENCE SECTION STYLES ======================================== */
.local-experience-section{/* padding-block:var(--sectionSpace);*/
 position:relative;}
.experience-content{display:flex;align-items:flex-start;gap:100px;}
.experience-text{flex:1;max-width:50%;}
.experience-image{flex:1;max-width:50%;}
.experience-image img{width:100%;max-height:560px;object-fit:cover;display:block;box-shadow:0 12px 8px rgba(0,0,0,0.15);}
@media (max-width:1199.98px){.experience-content{gap:80px;}
}
@media (max-width:991.98px){.experience-content{flex-direction:column;gap:40px;}
.experience-text,.experience-image{max-width:100%;}
.experience-content{flex-direction:column;}
.experience-image img{max-height:450px;}
}
@media (max-width:767.98px){.experience-content{gap:30px;}
.experience-image img{max-height:400px;}
}
@media (max-width:575.98px){.experience-content{gap:25px;}
.experience-image img{max-height:350px;}
}
/* ======================================== FOOTER STYLES ======================================== */
.site-footer{background-color:var(--c34);padding:50px 0;position:relative;}
/* Sticky Footer - Always at bottom of viewport */
body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1 0 auto;margin-top:var(--topSpace);}
.site-footer{flex-shrink:0;}
.footer-content{display:flex;align-items:center;justify-content:space-between;}
.footer-left{flex:0 0 60%;max-width:60%;}
.footer-right{flex:0 0 40%;max-width:40%;display:flex;justify-content:flex-end;}
.footer-logo{margin-bottom:15px;}
.footer-logo a{display:inline-block;line-height:0;transition:opacity 0.3s ease-in-out;}
.footer-logo a:hover{opacity:0.8;}
.footer-logo img{width:120px;height:auto;}
.footer-phone a{font-size:var(--f25);font-family:var(--open-sans);font-weight:700;color:var(--yellow);text-decoration:none;display:inline-block;transition:color 0.3s ease-in-out;}
.footer-phone a:hover,.footer-phone a:focus{color:var(--white);}
.footer-address a{font-size:var(--f16);font-family:var(--open-sans);font-weight:400;color:var(--white);text-decoration:underline;display:inline-block;transition:color 0.3s ease-in-out;}
.footer-address a:hover,.footer-address a:focus{color:var(--yellow);}
/* Copyright */
.footer-copyright p{font-size:var(--f16);color:var(--white);margin-top:20px;}
.membership-badge p{font-size:var(--f16);font-weight:700;color:var(--yellow);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;}
/* Badge Image */
.membership-badge a{display:inline-block;line-height:0;transition:opacity 0.3s ease-in-out;}
.membership-badge img{height:50px;object-fit:contain;object-position:left;}
@media (max-width:767.98px){.site-footer{padding:40px 0;}
.footer-content{gap:25px;}
.footer-content{flex-direction:column;align-items:center;gap:30px;}
.footer-left,.footer-right{flex:0 0 100%;max-width:100%;text-align:center;}
.footer-right{justify-content:center;}
.membership-badge,.footer-copyright p{text-align:center;}
}
@media (max-width:575.98px){.footer-content{gap:20px;}
.membership-badge img{width:140px;}
}
/* ======================================== SERVICES SECTION STYLES ======================================== */
.services-section{/* padding-block:var(--sectionSpace);*/
 position:relative;}
.services-section:before,.services-section:after{content:"";width:100%;height:50%;background:transparent linear-gradient(0deg,#FFE200 0%,#FFFFFF 100%) 0% 0% no-repeat padding-box;position:absolute;top:0;}
.services-section:after{top:auto;bottom:50px;transform:matrix(-1,0,0,-1,0,0);}
.services-section .container{position:relative;z-index:1;}
.services-section .container:before{content:"";background-color:var(--red);height:calc(100% - var(--sectionSpace));width:200vw;position:absolute;left:-100%;top:0;bottom:0;margin:auto;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.service-card{height:245px;position:relative;overflow:hidden;background:var(--c34);}
.service-card:hover .card-image{transform:scale(1.05);}
.card-image{position:absolute;opacity:.3;transform:scale(1);transition:transform 0.3s ease-in-out;height:100%;object-fit:cover;width:100%;}
.card-content{z-index:2;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;}
.card-icon{max-height:80px;width:auto;margin-bottom:10px;}
.card-title{font-size:var(--f22);color:var(--white);margin-bottom:20px;}
@media (max-width:991.98px){.services-grid{grid-template-columns:repeat(2,1fr);gap:15px;}
.service-card{height:240px;}
}
@media (max-width:767.98px){.services-grid{grid-template-columns:repeat(2,1fr);}
.service-card{height:220px;}
.card-icon{max-height:60px;}
}
@media (max-width:575.98px){.services-grid{grid-template-columns:1fr;gap:15px;}
.service-card{height:240px;}
}
/* ABOUT PAGE STYLES */
.inner-page-banner{background-color:var(--red);padding-block:30px;position:relative;margin-bottom:var(--sectionSpace);}
.inner-page-banner-content{text-align:center;color:var(--white);}
.inner-page-banner-content h1{margin-bottom:0;text-transform:uppercase;}
/* .content-with-full-image{padding-block:var(--sectionSpace);}
*/
.content-with-full-image-content h2{text-align:center;}
.content-with-full-image.image-bottom img {margin-top: 40px;}
.content-with-full-image-content img{width:100%;max-width:100%;height:auto;object-fit:cover;object-position:center;max-height:430px;}
.img-with-shadow{box-shadow:0 12px 8px rgba(0,0,0,0.15);}
.content-image-half-width-image img{height:300px;object-fit:cover;}
.content-image-half-width{padding-bottom:var(--sectionSpace);}
.content-image-half-width .container-small{display:flex;justify-content:space-between;flex-wrap:wrap;}
.content-image-half-width-content{width:calc(100% - 400px);}
.content-image-half-width-image{width:340px;}
@media (max-width:991.98px){.content-image-half-width-content{width:100%;}
.content-image-half-width-image{width:100%;display:flex;gap:20px;flex-wrap:wrap;}
.content-image-half-width .container-small{gap:30px;}
.content-image-half-width-image img+img{margin-top:0;}
}
@media (max-width:767.98px){.content-with-full-image-content img{margin-top:20px;}
}
/* Products Page Styles */
.product-grid-section{/* padding-block:var(--sectionSpace);*/
 padding-top:0;}
.product-grid-section .grid-box{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--space-40);}
.product-grid-section .grid-box .item{padding-block:var(--space-40);}
.product-grid-section .grid-box .item:first-child,.product-grid-section .grid-box .item:nth-child(2){grid-column:span 3 / span 3;border-bottom:1px solid var(--red);padding-bottom:var(--sectionSpace);padding-top:var(--sectionSpace);}
.product-grid-section .grid-box .item:first-child{padding-top:20px;}
.product-grid-section .grid-box .item:nth-child(6){grid-column:span 2 / span 2;}
.product-grid-section .grid-box .item:nth-child(2) ul{vertical-align:top;width:100%;display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--space-40);}
.product-grid-section .grid-box .item:first-child ul{vertical-align:top;width:100%;display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--space-40);}
.product-grid-section .grid-box .item:first-child ul:not(:last-child){margin-right:20px;}
.product-grid-section .grid-box .item:nth-child(n+3):nth-child(-n+6){border-right:1px solid #707070;border-bottom:0;}
.product-grid-section .grid-box .item:nth-child(5),.product-grid-section .grid-box .item:nth-child(6){border-right:0 !important;}
.product-grid-section .grid-box .item:nth-child(5),.product-grid-section .grid-box .item:nth-child(6){border-bottom:0 !important;}
.product-grid-section .grid-box .item ul{font-size:var(--f18);}
.product-grid-section .grid-box .item ul li{margin-bottom:8px;}
.product-grid-section .grid-box .item:first-child,.product-grid-section .grid-box .item:nth-child(2),.product-grid-section .grid-box .item:nth-child(6){padding-left:0;}
.product-grid-section .grid-box .item:nth-child(n+7):nth-child(odd){grid-column:span 2 / span 2;padding-left:0;border-top:1px solid var(--red);border-right:1px solid #707070;}
.product-grid-section .grid-box .item:nth-child(n+7):nth-child(even){grid-column:span 1 / span 1;border-top:1px solid var(--red);padding-right:0;}
.contact-map-section .contact-flex{display:flex;align-items:center;gap:50px;}

.contact-map-section .map-box{flex:1 1 55%;}
.contact-map-section .map-box iframe{width:100%;height:360px;box-shadow:0 12px 8px rgba(0,0,0,0.1);}
.contact-map-section .contact-info{flex:1 1 45%;}
.contact-map-section .contact-info p{margin-bottom:15px;font-size:var(--f18);}
.contact-map-section .contact-info p strong{font-family:var(--font-tahoma);display:block;}
.contact-map-section .contact-info p a{color:var(--c34);}
.contact-map-section .contact-info p a:hover{color:var(--red);}
@media (max-width:767.98px){.product-grid-section .grid-box{grid-template-columns:repeat(1,1fr);}
.product-grid-section .grid-box .item:first-child{padding-bottom:calc(var(--space-40) + var(--space-40));padding-top:10px;}
.product-grid-section .grid-box .item{grid-column:span 1 / span 1 !important;padding-inline:0 !important;border:0 !important;}
.product-grid-section .grid-box .item:nth-child(n+2):nth-child(-n+6){border-top:1px solid var(--red) !important;padding-block:calc(var(--space-40) + var(--space-40));}
.product-grid-section .grid-box .item:nth-child(n+7):nth-child(odd){padding-block:calc(var(--space-40) + var(--space-40));border-top:1px solid var(--red) !important;}
.product-grid-section .grid-box .item:nth-child(n+7):nth-child(even){padding-block:calc(var(--space-40) + var(--space-40));border-top:1px solid var(--red) !important;}
.contact-map-section .contact-flex{flex-direction:column;align-items:flex-start;gap:30px;}
.contact-map-section .map-box{width:100%;}
.contact-map-section .contact-info{width:100%;}
.product-grid-section .grid-box .item ul,.product-grid-section .grid-box .item:first-child ul,.product-grid-section .grid-box .item:nth-child(2) ul{display:grid;grid-template-columns:repeat(2,1fr);}
.product-grid-section .grid-box .item:last-child{padding-bottom:0 !important;}
}
@media (max-width:575.98px){.product-grid-section .grid-box .item:first-child ul,.product-grid-section .grid-box .item ul{ grid-template-columns: repeat(1, 1fr)!important;}
}
/* Services Page Styles */
.content-with-full-image.image-bottom:has(img){padding-bottom:var(--sectionSpace);}
.content-with-full-image-content img{margin-top:0;margin-bottom:40px;}
.content-with-full-image, .content-with-full-image.image-bottom{padding-bottom:30px;}
.services-page .content-image-half-width-image{width:400px;}
.services-page .content-image-half-width-image img{height:auto;}
.services-page .content-image-half-width-content{width:calc(100% - 470px);}
.content-with-full-image.dependable-delivery{background:#f5f5f5;padding-top:var(--sectionSpace);margin-bottom:var(--sectionSpace);position:relative;}
.dependable-delivery .content-with-full-image-content img{margin-block:30px;}
.services-column ul{column-count:4;}
.services-column{flex:1;background:var(--white);padding:30px;border-radius:20px;box-shadow:0 0px 20px rgba(0,0,0,0.1);}
.services-column ul li{font-size:var(--f18);margin-bottom:10px;}
.services-wrapper{display:flex;gap:40px;justify-content:space-between;margin-top:30px;position:relative;z-index:1; flex-direction: column;}
/* .services-wrapper:before{content:"";position:absolute;height:100%;width:1px;background-color:#707070;transform:translateX(-50%);left:50%;top:0;} */
.services-column .h4 span{font-size:var(--f18);font-weight:400;}
.content-with-full-image.dependable-delivery:before,.content-with-full-image.dependable-delivery:after{content:"";position:absolute;background:transparent linear-gradient(0deg,#969696 0%,#FFFFFF 100%) 0% 0% no-repeat padding-box;height:280px;top:-30px;width:100%;}
.content-with-full-image.dependable-delivery:after{bottom:-30px;top:auto;transform:matrix(-1,0,0,-1,0,0);}
.content-with-full-image.dependable-delivery .container-small:before{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:#f5f5f5;z-index:1;}
.dependable-delivery .content-with-full-image-content{position:relative;z-index:1;}
@media (max-width:991.98px){.services-page .content-image-half-width-content,.services-page .content-image-half-width-image{width:100%;}
.services-page .content-image-half-width-image{order:1;}
.services-page .content-image-half-width-content{order:2;}
.services-column ul{column-count:3;}
}

@media (max-width:767.98px){.services-wrapper{flex-direction:column;gap:30px;}
.services-wrapper:before{display:none;}
.services-column{width:100%;}
}
@media (max-width:575.98px){.services-column ul{column-count:1;}
}
/* 404 page */
.error-404{padding-block:var(--sectionSpace);text-align:center;}
.error-404 h1{font-size:var(--f200);color:var(--red);text-shadow:0px 8px 8px rgba(0,0,0,0.25);}
main:has(.error-404){justify-content:center;display:flex;align-items:center;}
.error-404 .btn.btn-primary{margin-top:30px;}
.work-image-gallery:has(.modula-gallery){display:block;}
.work-image-gallery{display:none;}
