@import url('https://fonts.googleapis.com/css2?family=Google Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap');

*,*::before,*::after{
    box-sizing:border-box;
    margin:0;
    padding:0
}
 :root{
     --green:#008D36;
     --green-dark:#2a6b06;
     --green-deeper:#1a4004;
     --black:#0a0a0a;
     --white:#ffffff;
     --gray:#b0b0b0;
     --gray-dark:#1a1a1a;
     --gray-mid:#2c2c2c;
	 --pista:#E0F0D7;
     --transition:0.45s cubic-bezier(0.25,0.46,0.45,0.94);
}
 html{
    scroll-behavior:smooth
}
 body{
     font-family: "Google Sans", sans-serif;
     background:var(-white);
     color:var(--black);
     overflow-x:hidden;
}
/* ── SCROLLBAR ── */
 ::-webkit-scrollbar{
    width:4px
}
 ::-webkit-scrollbar-track{
    background:var(--black)
}
 ::-webkit-scrollbar-thumb{
    background:var(--green)
}

.caps{
	text-transform:uppercase;
}
p{
	margin:0 0 25px 0;
	}

strong{
	font-weight:600;
}
/* ── CURSOR ── */
 .cursor{
    position:fixed;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--green);
    pointer-events:none;
    z-index:99999;
    transition:transform 0.15s ease;
    mix-blend-mode:screen
}
 .cursor-ring{
    position:fixed;
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid rgba(77,192,12,0.5);
    pointer-events:none;
    z-index:99998;
    transition:all 0.2s ease
}
/* ── HEADER ── */
 header{
     position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
     padding:0 60px;
     display:flex;
    align-items:center;
    justify-content:space-between;
     height:80px;
     transition:background var(--transition),backdrop-filter var(--transition);
	 background:var(--black);
}
 header.scrolled{
    background:rgba(10,10,10,0.8);
    backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(77,192,12,0.15)
}
 .header-logo{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none
}
.logo{
	width:200px;
}
 .logo-icon{
    display:flex;
    gap:3px
}
 .logo-sq{
    width:18px;
    height:18px
}
 .logo-sq.black-sq{
    background:#1a1a1a;
    border:1px solid #333
}
 .logo-sq.green-sq{
    background:var(--green)
}
 .logo-text{
    font-family:'Google Sans',sans-serif;
    font-weight:800;
    font-size:22px;
    letter-spacing:0.08em;
    color:var(--white)
}
 .logo-text span{
    color:var(--green)
}
 nav{
    display:flex;
    align-items:center;
    gap:36px
}
 nav a{
     font-family:'Google Sans',sans-serif;
     font-size:12px;
    font-weight:600;
    letter-spacing:0.12em;
     color:rgba(255,255,255,0.9);
     text-decoration:none;
     text-transform:uppercase;
     transition:color 0.3s;
     position:relative;
	 padding:10px 0;
}
 nav a::after{
    content:'';
    position:absolute;
    bottom:-4px;
    left:0;
    width:0;
    height:1px;
    background:var(--green);
    transition:width 0.3s
}
 nav a:hover{
    color:var(--green)
}
 nav a:hover::after{
    width:100%
}
/* ── GROUP COMPANIES SUBMENU (desktop) ── */
 .has-submenu{
    position:relative;
    display:flex;
    align-items:center
}
 .has-submenu > a::before{
    content:'';
}
 .submenu{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%) translateY(10px);
    min-width:260px;
    background:rgba(10,10,10,0.98);
    backdrop-filter:blur(20px);
    /*border:1px solid rgba(77,192,12,0.2);*/
	border-bottom:4px solid var(--green);
    padding:0;
    opacity:0;
    visibility:hidden;
    transition:opacity 0.25s ease,transform 0.25s ease,visibility 0.25s;
    z-index:500;
    box-shadow:0 20px 40px rgba(0,0,0,0.4)
}
 .has-submenu:hover .submenu{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0)
}
 .submenu a{
    display:block;
    font-family:'Google Sans',sans-serif;
    font-size:13px;
    letter-spacing:0.06em;
    text-transform:none;
    color:rgba(255,255,255,0.85);
	border-bottom:1px solid rgba(255,255,255,0.2);
    text-decoration:none;
    padding:10px 22px;
    transition:background 0.2s,color 0.2s,padding-left 0.2s;
    white-space:nowrap
}
 .submenu a::after{
    display:none
}
 .submenu a:hover{
    background:var(--green);
    color:var(--white);
    /*padding-left:26px*/
}
 .header-contact{
    font-family:'Google Sans',sans-serif;
    font-size:14px;
    font-weight:600;
     color:var(--white);
    letter-spacing:0.05em;
    text-decoration:none;
    border:1px solid var(--white);
    padding:8px 20px;
    border-radius:50px;
    transition:all 0.3s;
	display:flex;
	gap:0 10px;
	flex-wrap: wrap;
	align-items: center;
}
 .header-contact:hover{
    background:var(--green);
    color:var(--white);
	 border:1px solid var(--green);
}
 .menu-toggle{
     display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    padding:4px;
    position:relative;
    z-index:1000
}
 .menu-toggle span{
    width:28px;
    height:2px;
    background:var(--white);
    transition:all 0.3s;
    display:block
}
/* ── HAMBURGER → X (active/open state) ── */
 .menu-toggle.active span:nth-child(1){
    transform:translateY(7px) rotate(45deg)
}
 .menu-toggle.active span:nth-child(2){
    opacity:0
}
 .menu-toggle.active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg)
}
/* ── MOBILE NAV ── */
 .mobile-nav{
     position:fixed;
    top:0;
    right:-100%;
    width:100%;
    max-width:380px;
    height:100vh;
     background:rgba(10,10,10,0.98);
    backdrop-filter:blur(30px);
     z-index:999;
    padding:100px 40px 40px;
     transition:right 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
     border-left:1px solid rgba(77,192,12,0.2);
}
 .mobile-nav.open{
    right:0
}
 .mobile-nav a{
     display:block;
    font-family:'Google Sans',sans-serif;
    font-size:14px;
     font-weight:600;
    letter-spacing:0.06em;
    color:var(--white);
     text-decoration:none;
    text-transform:uppercase;
    padding:5px 0;
     border-bottom:1px solid rgba(255,255,255,0.06);
     transition:color 0.3s,padding-left 0.3s;
}
 .mobile-nav a:hover{
    color:var(--green);
    padding-left:10px
}
 .mobile-close{
    position:absolute;
    top:26px;
    right:30px;
    cursor:pointer;
    font-size:28px;
    color:var(--white);
    background:none;
    border:none;
    line-height:1
}
 .nav-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.6);
    z-index:998;
    display:none
}
 .nav-overlay.show{
    display:block
}
/* ── GROUP COMPANIES SUBMENU (mobile) ── */
 .mobile-submenu-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    font-family:'Google Sans',sans-serif;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.06em;
    color:var(--white);
    text-decoration:none;
    text-transform:uppercase;
    padding:5px 0;
    border-bottom:1px solid rgba(255,255,255,0.06);
    transition:color 0.3s;
    background:none;
    border-left:none;
    border-right:none;
    border-top:none;
    cursor:pointer
}
 .mobile-submenu-toggle i{
    font-size:11px;
    transition:transform 0.3s
}
 .mobile-has-submenu.open .mobile-submenu-toggle i{
    transform:rotate(180deg)
}
 .mobile-submenu-toggle:hover{
    color:var(--green)
}
 .mobile-submenu{
    max-height:0;
    overflow:hidden;
    transition:max-height 0.35s ease
}
 .mobile-has-submenu.open .mobile-submenu{
    max-height:400px
}
 .mobile-submenu a{
    padding:10px 0 10px 16px;
    font-size:12.5px;
    border-bottom:1px solid rgba(255,255,255,0.04);
    color:rgba(255,255,255,0.75)
}
 .mobile-submenu a:hover{
    color:var(--green);
    padding-left:24px
}

/*************/
.youtube-box {
    width: 100%;
    max-width: 100%;
	height:448px;
    /*aspect-ratio: 4 / 3;*/
    overflow: hidden;
    position: relative;
}

.youtube-box iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* Mobile */
@media (max-width: 767px) {
    .youtube-box {
        width: 100%;
        
    }
}
.video-outer{
	width:100%;
	height:100vh;
	position:relative;
}

 video {
    /*position: absolute;*/
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.video-wrap{
	width: 100%;
    /*aspect-ratio: 4 / 3;*/
	object-fit: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}
.outer-wrapper{
	width:100%;
	overflow-:hidden;
}
/* ── HERO ── */
 #hero{
     position:relative;
    width:100%;
    height:100vh;
    min-height:700px;
     display:flex;
    align-items:center;
    overflow:hidden;
}
 .hero-video-wrap{
    position:absolute;
    inset:0;
    z-index:0
}
 .hero-video-wrap video{
    width:100%;
    height:100%;
    object-fit:cover
}
 /*.hero-video-wrap::after{
     content:'';
    position:absolute;
    inset:0;
     background:linear-gradient(135deg,rgba(10,10,10,0.82) 0%,rgba(10,10,10,0.5) 50%,rgba(10,10,10,0.7) 100%);
}*/
 .hero-img-fallback{
     width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    inset:0;
}
 .hero-bg-pattern{
     position:absolute;
    inset:0;
    z-index:1;
     background-image: linear-gradient(rgba(77,192,12,0.04) 1px,transparent 1px), linear-gradient(90deg,rgba(77,192,12,0.04) 1px,transparent 1px);
     background-size:80px 80px;
}
 .hero-content{
    position:absolute;
    z-index:2;
    padding:0 60px;
    width:40%;
	left:0;
	top:30%;
}
 .hero-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:'Google Sans',sans-serif;
    font-size:14px;
    font-weight:600;
    color:var(--white);
	text-transform:uppercase;
     margin-bottom:28px;
}
 .hero-tag::before{
    content:'';
    width:40px;
    height:1px;
    background:var(--green)
}
 .hero-h1{
     font-family:'Google Sans',sans-serif;
     font-size:clamp(52px,8vw,60px);
     font-weight:800;
     line-height:1.2;
     margin-bottom:28px;
	 color:var(--white);
}
 .hero-h1 .line-green{
    color:var(--white)
}
 .hero-p{
    font-size:18px;
    font-weight:400;
    line-height:1.7;
    color:var(--white);
    max-width:540px;
    margin-bottom:44px;
}
 .hero-ctas{
    display:flex;
    gap:16px;
    flex-wrap:wrap
}
 .btn-primary{
    font-family:'Google Sans',sans-serif;
    font-weight:700;
    font-size:14px;
     letter-spacing:0.1em;
     padding:16px 40px;
    background:var(--green);
    color:var(--white);
     text-decoration:none;
    border:2px solid var(--green);
     transition:all 0.3s;
    clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px);
}
 .btn-primary:hover{
    background:#ffff;
    color:var(--green)
}
 .btn-outline{
     font-family:'Google Sans',sans-serif;
    font-weight:700;
    font-size:14px;
     letter-spacing:0.1em;
     padding:16px 40px;
    background:transparent;
    color:var(--white);
     text-decoration:none;
    border:1px solid var(--green);
     transition:all 0.3s;
}
 .btn-outline:hover{
    border-color:var(--white);
    color:var(--white)
}
/****/

.btn-outline2{
     font-family:'Google Sans',sans-serif;
    font-weight:700;
    font-size:14px;
     letter-spacing:0.1em;
     padding:16px 40px;
    background:transparent;
    color:var(--black);
     text-decoration:none;
    border:1px solid var(--green);
     transition:all 0.3s;
}
 .btn-outline2:hover{
    border-color:var(--green);
	background-color:var(--green);
    color:var(--white)
}
/****************
 .hero-stats{
     position:absolute;
    bottom:50px;
    right:60px;
    z-index:2;
     display:flex;
    gap:40px;
}
 .hero-stat{
    text-align:right
}
 .hero-stat-n{
    font-family:'Google Sans',sans-serif;
    font-size:36px;
    font-weight:800;
    color:var(--green);
    line-height:1
}
 .hero-stat-l{
    font-size:12px;
    font-weight:400;
    color:var(--white);
    letter-spacing:0.1em;
    margin-top:4px
}
 .scroll-hint{
     position:absolute;
    bottom:36px;
    left:60px;
    z-index:2;
     display:flex;
    align-items:center;
    gap:12px;
     font-size:11px;
    letter-spacing:0.14em;
   color:var(--white);
}
 .scroll-line{
    width:50px;
    height:1px;
    background:rgba(255,255,255,0.2);
    position:relative;
    overflow:hidden
}
 .scroll-line::after{
    content:'';
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:var(--green);
    animation:scrollAnim 2s infinite
}
 @keyframes scrollAnim{
    0%{
        left:-100%
    }
    100%{
        left:100%
    }
}
/* ── SECTION BASE ── */

.container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
 
}
 section{
    padding:50px 60px;
 
}
 .section-tag{
     font-family:'Google Sans',sans-serif;
    font-size:14px;
    font-weight:600;
    /*letter-spacing:0.22em;*/
    text-transform:uppercase;
    color:var(--green);
     margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:12px;
}
 .section-tag::before{
    content:'';
    width:30px;
    height:1px;
    background:var(--green)
}
 .section-h2{
     font-family:'Google Sans',sans-serif;
    font-size:clamp(36px,5vw,44px);
     font-weight:800;
    /*text-transform:uppercase;*/
    letter-spacing:-0.01em;
    line-height:1.1;
     margin-bottom:16px;
	
}
 .section-sub{
     font-size:16px;
    font-weight:300;
    /*color:rgba(255,255,255,0.6);*/
     line-height:1.7;
    max-width:560px;
    margin-bottom:60px;
}
.text-green{
 	color:var(--green);
 }
 
.text-white{
 	color:var(--white);
 }
/* ── DIVISIONS ── */
 #group{
    /*background:var(--gray-dark)*/
}
 .divisions-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:60px;
    flex-wrap:wrap;
    gap:20px
}
 .divisions-grid{
     display:grid;
     grid-template-columns:repeat(3,1fr);
     gap:20px;
}

.divisions-grid .item{
	 
	 text-align:center;
	 transition: all 0.4s ease;
	 background-color:rgba(0 ,0, 0, 0.1);
	 color:var(--black);
}
.content-area{
	padding:40px 50px;
	border-top:4px solid var(--green);
}
.group-logo-style{
	display:inline-block;
	height:100px;
}
.group-logo{
	width:250px;
	display:inline-block;
}
.content-area h2{
	 font-size:28px;
	 font-weight:800;
	 line-height:normal;
	 margin:0 0 10px 0;	
	 color:var(--green);
}
.content-area h3{
	 font-size:20px;
	 font-weight:600;
	 line-height:normal;
	 margin:0 0 10px 0;	
 
}

 .division-card{
     position:relative;
    overflow:hidden;
     height:390px;
    cursor:pointer;
}
 .division-card .card-img{
    width:100%;
	display:block;
   /* height:100%;*/
    /*object-fit:cover;*/
    transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);
}
 .division-card::after{
     content:'';
    position:absolute;
    inset:0;
     background:linear-gradient(to top,rgba(10,10,10,0.95) 0%,rgba(10,10,10,0.1) 60%,transparent 100%);
     transition:opacity 0.4s;
}
 .division-card:hover .card-img{
    transform:scale(1.08)
}
 .division-card:hover::after{
    opacity:0.8
}
 .card-body{
     position:absolute;
    bottom:0;
    left:0;
    right:0;
    z-index:2;
     padding:32px 28px;
     transform:translateY(30px);
     transition:transform 0.4s;
}
 .division-card:hover .card-body{
    transform:translateY(0)
}
 .card-icon{
    width:150px;
    /*height:100px;*/
    /*border:1px solid var(--green);*/
     display:flex;
    align-items:center;
    justify-content:center;
     margin-bottom:24px;
     transition:background 0.3s;
}
 .division-card:hover .card-icon{
   /* background:var(--green)*/
}
 .card-icon svg{
    /*width:20px;
    height:20px;
    stroke:var(--green);
    transition:stroke 0.3s*/
}
 .division-card:hover .card-icon svg{
    stroke:var(--black)
}
 .card-ind{
    font-size:10px;
    font-weight:600;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--white);
    margin-bottom:8px
}
 .card-name{
     font-family:'Google Sans',sans-serif;
    font-size:22px;
    font-weight:800;
     text-transform:uppercase;
    letter-spacing:0.04em;
    margin-bottom:8px;
	 color:var(--white);
}
 .card-loc{
    font-size:12px;
     color:var(--white);
    margin-bottom:12px
}
 .card-link{
     font-size:11px;
    font-weight:600;
    letter-spacing:0.14em;
     text-transform:uppercase;
    color:var(--pista);
    text-decoration:none;
     display:inline-flex;
    align-items:center;
    gap:6px;
     opacity:0;
    transition:opacity 0.4s;
}
 .division-card:hover .card-link{
    opacity:1
}
 .card-link::after{
    content:'→';
    transition:transform 0.3s
}
 .card-link:hover::after{
    transform:translateX(4px)
}
/* ── ABOUT / FACTS ── */
 #about{
    /*background:var(--black)*/
}
 .about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center; 
	background: rgba(0,0,0,0.03);
	padding:40px;
	
}
 .about-visual{
    position:relative
}
 .about-img-main{
     width:100%;
    height:700px;
    object-fit:cover;
     clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));
}
 .about-accent{
     position:absolute;
    bottom:-20px;
    right:-20px;
    width:180px;
    height:180px;
     border:2px solid var(--green);
     clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px));
     z-index:-1;
}
 .about-green-box{
     position:absolute;
    top:-20px;
    left:-20px;
    width:120px;
    height:120px;
     background:var(--green);
    display:flex;
    align-items:center;
    justify-content:center;
     flex-direction:column;
}
 .about-green-box .n{
    font-family:'Google Sans',sans-serif;
    font-size:36px;
    font-weight:800;
    color:var(--black);
    line-height:1
}
 .about-green-box .l{
    font-size:10px;
    font-weight:700;
    color:var(--black);
    text-align:center;
    letter-spacing:0.1em;
    text-transform:uppercase
}
 .facts-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:10px;
    margin-top:48px
}
 .fact-box{
    padding:24px;
    background:var(--white);
    border-bottom:2px solid transparent;
    transition:border-color 0.3s;
 
}
 .fact-box:hover{
    border-bottom-color:var(--green)
}
 .fact-n{
    font-family:'Google Sans',sans-serif;
    font-size:42px;
    font-weight:800;
     color:var(--green);
    line-height:1;
    margin-bottom:6px;
}
 .fact-l{
    font-size:12px;
    color:var(--black);
    text-transform:uppercase;
    letter-spacing:0.1em
}
/* ── SECTORS ── */
 #services, #career, .bg-grey{
    /*background:var(--gray-dark)*/
	background:rgba(0,0,0,0.03);
}
.bg-white{
	background-color:#fff !important;
}
#projects{}
 .sectors-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:60px
}
 .sector-card{
     padding:32px 24px;
     background:var(--white);
     border:1px solid rgba(0,0,0,0.2);
     transition:all 0.4s;
     position:relative;
     overflow:hidden;
	 color:var(--black);
	 transition: all 0.4s ease;
	 
}
 .sector-card::before{
     content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:2px;
     background:var(--green);
    transform:scaleX(0);
    transition:transform 0.4s;
    transform-origin:left;
}
 .sector-card:hover{
    background:var(--black);
    border-color:#000;
	color:var(--white);
}
 .sector-card:hover::before{
    transform:scaleX(1)
}
 .sector-icon{
     width:60px;
    height:60px;
    margin-bottom:20px;
    /*border:1px solid var(--green);*/
    display:flex;
    align-items:center;
    justify-content:center;
	color:var(--green);
	font-size:34px;
	background-color:var(--pista);
}
 .sector-icon svg{
    width:26px;
    height:26px;
    stroke:var(--green);
}
 .sector-name{
    font-family:'Google Sans',sans-serif;
    font-size:20px;
    margin-bottom:10px;
	text-transform:uppercase;
	font-weight:600;
	
}
 .sector-desc{
    font-size:16px;
    line-height:1.6
}

/*******products grid*****************/

.product-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:16px;
 
}
.product-grid .item{
}
.product-grid .item img{
	width:100%;
	display:block;
}
.product-grid .item h2{
	padding:8px;
	margin:0;
	line-height:normal;
	background-color:var(--green);
	color:var(--white);
	font-size:14px;
	text-align:center;
}
/* ── WORLD MAP ── */
 #global{
    background:rgba(0,0,0,0.03);
}
 .map-container{
    position:relative;
    margin-top:60px
}
 .world-svg{
	width:100%;
	height:60vh;
	display:block;
	background-color:#FFF;
	border:1px solid rgba(0,0,0,0.08);
	background-color: rgba;
	background-image: url(../images/map.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-position: center center;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
 .map-point{
    cursor:pointer
}
 .map-dot{
    fill:var(--green);
    opacity:0.9
}
 .map-ring{
    fill:none;
    stroke:var(--green);
    stroke-width:1;
    opacity:0;
    animation:ringPulse 2s ease-out infinite
}
 .map-ring.r2{
    animation-delay:0.5s
}
 .map-ring.r3{
    animation-delay:1s
}
 @keyframes ringPulse{
    0%{
        r:4px;
        opacity:0.8
    }
    100%{
        r:22px;
        opacity:0
    }
}
  .map-label{
    font-family:'Google Sans',sans-serif;
    fill:black;
    font-size:14px;
     font-weight:600;
    letter-spacing:0.1em;
    text-transform:uppercase;
	 white-space: nowrap;
	  
	
} 
 
 
 .map-tooltip{
     position:absolute;
    background:rgba(10,10,10,0.95);
     border:1px solid var(--green);
    padding:12px 18px;
    pointer-events:none;
     font-size:13px;
    opacity:0;
    transition:opacity 0.3s;
    z-index:10;
     font-family:'Google Sans',sans-serif;
    letter-spacing:0.05em;
	 
}
 .presence-list{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
    margin-top:40px
}
 .presence-item{
    text-align:center;
    padding:20px;
    border:1px solid rgba(255,255,255,0.07)
}
 .presence-item .pi-label{
    font-family:'Google Sans',sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--green);
    margin-bottom:6px;

}
 .presence-item .pi-detail{
    font-size:12px;
    color:rgba(255,255,255,0.4);
 
}
 
/* ── NEWS ── */
 #news{
   /* background:var(--gray-dark)*/
}
 .news-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);	 
    gap:24px;
    margin-top:60px
}
 .news-card{
    background:rgba(0,0,0,0.09);
    border:1px solid rgba(0,0,0,0.09);
    transition:all 0.4s;
    cursor:pointer;
    overflow:hidden
}
 .news-card:hover{
   border:1px solid var(--green);
    transform:translateY(-6px)
}
 .news-card-img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
    transition:transform 0.6s
}
 .news-card:hover .news-card-img{
    transform:scale(1.05)
}
 .news-card-body{
    padding:24px
}
 .news-tag{
    font-size:10px;
    font-weight:700;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--green);
    margin-bottom:12px
}
 .news-title{
    font-family:'Google Sans',sans-serif;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
    margin:0;
	padding:25px 0;
}
 .news-title a{
 	color:var(--black);
	text-decoration:none;
 }
 .news-excerpt{
    font-size:14px;
    color:var(--black);
    line-height:1.6;
    margin-bottom:18px
}
 .news-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:11px;
    color:rgba(255,255,255,0.3);
     border-top:1px solid rgba(0,0,0,0.09);
    padding-top:16px
}
 .news-read{
    color:var(--green);
    font-weight:600;
    letter-spacing:0.1em;
    text-transform:uppercase
}
 .news-read a {
 	color:var(--green);
	text-decoration:none;
	}
/* ── FOOTER ── */
 footer{
    background:var(--gray-dark);
    padding:80px 60px 40px
}
 .footer-top{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:60px;
    margin-bottom:60px
}
 .footer-brand .logo-text{
    font-size:26px;
    margin-bottom:16px;
    display:block
}
 .footer-desc{
    font-size:13px;
    color:#fff;
    line-height:1.7;
    margin-bottom:24px;
    max-width:280px
}

 .floating-sm{
    width:36px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	position:fixed;
	top:50%;
	right:0;
	background-color:var(--green);
	/*border-radius:7px 0 0 7px;*/
	 overflow:hidden;
	margin-top:-90px;
	
}

 .floating-sm  .social-btn{
 	border-radius:0;
	border:0 !important;
 }
 
 .floating-sm  .social-btn:hover{
 	background-color:var(--black);
	}
 .footer-social{
    display:flex;
    gap:12px
}
 .social-btn{
    width:36px;
    height:36px;
    border:1px solid rgba(255,255,255,0.15);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all 0.3s;
    cursor:pointer;
	border-radius:50%;
}
 .social-btn a{
	 color:var(--white);
	 }
 .social-btn:hover{
    border-color:var(--green);
    background:var(--green);
}
 .social-btn svg{
    width:16px;
    height:16px;
    stroke:rgba(255,255,255,0.5);
    transition:stroke 0.3s
}
 .social-btn:hover svg{
    stroke:var(--green)
}
 .footer-col h4{
     font-family:'Google Sans',sans-serif;
    font-size:13px;

    font-weight:700;
     letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--white);
     margin-bottom:20px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,0.08);
}
 .footer-col ul{
    list-style:none
}
 .footer-col ul li{
    margin-bottom:10px
}
 .footer-col ul li a{
    font-size:14px;
     color:#fff;
    text-decoration:none;
    transition:color 0.3s
}
 .footer-col ul li a:hover{
    color:var(--green)
}
 .footer-bottom{
     display:flex;
    justify-content:space-between;
    align-items:center;
     border-top:1px solid rgba(255,255,255,0.07);
    padding-top:28px;
     flex-wrap:wrap;
    gap:12px;
}
 .footer-copy{
    font-size:14px;
     color:#fff;
}
 .footer-links{
    display:flex;
    gap:24px;
	font-size:12px;
}
 .footer-links a{
    
     color:#fff;
    text-decoration:none;
    transition:color 0.3s
}
 .footer-links a:hover{
    color:var(--green)
}
 .footer-green-bar{
    height:3px;
    background:linear-gradient(90deg,var(--green-deeper),var(--green),var(--green-deeper));
    margin-bottom:60px
}
/* ── REVEAL ANIMATIONS ── */
 .reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity 0.7s ease,transform 0.7s ease
}
 .reveal.visible{
    opacity:1;
    transform:translateY(0)
}
 .reveal-l{
    opacity:0;
    transform:translateX(-40px);
    transition:opacity 0.7s ease,transform 0.7s ease
}
 .reveal-l.visible{
    opacity:1;
    transform:translateX(0)
}
 .reveal-r{
    opacity:0;
    transform:translateX(40px);
    transition:opacity 0.7s ease,transform 0.7s ease
}
 .reveal-r.visible{
    opacity:1;
    transform:translateX(0)
}
 [data-delay="1"]{
    transition-delay:0.1s
}
 [data-delay="2"]{
    transition-delay:0.2s
}
 [data-delay="3"]{
    transition-delay:0.3s
}
 [data-delay="4"]{
    transition-delay:0.4s
}
 [data-delay="5"]{
    transition-delay:0.5s
}
 [data-delay="6"]{
    transition-delay:0.6s
}
/* ── COUNTER ── */
 .counting{
    transition:none
}
/* ── RESPONSIVE ── */
 @media(max-width:1100px){
     .divisions-grid{
        grid-template-columns:repeat(2,1fr)
    }
     .sectors-grid{
        grid-template-columns:repeat(2,1fr)
    }
}
 @media(max-width:900px){
     header{
        padding:0 24px
    }
     section{
        padding:40px 24px
    }
     nav{
        display:none
    }
     .header-contact{
        display:none
    }
     .menu-toggle{
        display:flex
    }
 
     .hero-stats{
        right:24px;
        bottom:32px;
        gap:24px
    }
     .hero-stat-n{
        font-size:28px
    }
     .scroll-hint{
        left:24px
    }
     .about-grid{
        grid-template-columns:1fr
    }
     .footer-top{
        grid-template-columns:1fr 1fr
    }
     .presence-list{
        grid-template-columns:repeat(3,1fr)
    }
}
/**************************************/


/*****************new style***************************/
.subtitle{
	font-size:30px;
	line-height:normal;
}

.subheading {
	font-size: 20px;
	line-height:normal; 
}
.light{
	font-weight:400;
}
 
/*************HOVER EFFECT*******/

.hover-effect{
	width:100%;
	position:relative;
	overflow:hidden;
}

 .hover-effect i{
    width:50px;
    height:50px;
    background-color:var(--primary-color);
	border-radius: 50%;
    color:#fff;
    position:absolute;
    left:50%;
    top:-100px;
    z-index:1;
    line-height:50px;
    text-align:center;
    margin:0 0 0 -25px;
    transition: all 0.4s ease;
}
 .hover-effect:hover i{
    top:50%;
    margin:-25px 0 0 -25px;
}

 .hover-effect i:hover{
	background-color:var(--secondary-color);
	}

.hover-effect img {
 	display:block;
  	width:100%;
	-webkit-filter: none;
    filter: none;
 	-webkit-transition: all .5s;
    transition: all .5s;
}
.hover-effect:hover img {
     -webkit-transform: scale(1.09, 1.09);
    transform: scale(1.09, 1.09);
    -webkit-filter: brightness(70%);
    transition: all 0.4s ease;
	/*-webkit-filter: brightness(70%);*/
	filter: grayscale(60%);
	-webkit-filter: grayscale(60%);
}
.link{
	display:inline-block;
	padding:10px 15px;
	color:var(--white);
	background-color:var(--black);
	text-decoration:none;
	transition: all 0.4s ease;
	font-size:14px;
}
.link:hover{
	background-color:var(--green);
	 
}
 
/**********forms**************/
 
 input.file{
    display: none;
}

.fa-upload{
	margin:0 15px 0 0;
}
.custom-file-upload {
    border: 0;
    display: inline-block;
    padding: 16px 20px;
    color: #fff;
    cursor: pointer;
    background-color: var(--green);
    /*border-radius: 6px;*/
    border: 0;
 
}

.formstyle{}
 
form {
	margin: 0;
	padding: 0;
}

*:focus {
	outline: none;
}

.fieldset {
	width: 100%;
	padding:20px 20px;
	border:1px solid var(--gray);
	background-color:var(--white);
	color:var(--black);
	display: block; 
	margin: 0;
	font-size: 14px;
 
}

.sendbutton {
	color: var(--white);
	font-size: 30px;
	font-weight:var(--bold);
	background-color:var(--green);
	border:0;
	padding: 20px 30px;
	font-style: normal;
	display: inline-block;
	position: relative;
	margin:0;
	 
}

.sendbutton:hover {	
	background-color:var(--black);
 
}
 
::-webkit-input-placeholder {
	color:var(--body-color);
}

:-moz-placeholder {
	/* Firefox 18- */
	color: var(--body-color);
}

::-moz-placeholder {
	/* Firefox 19+ */
	color: var(--body-color);
}

:-ms-input-placeholder {
	color: var(--body-color);
}


.float{
	width:50px;
	height:50px;
	position:fixed;
	bottom:20px;
	right:20px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align:center; 
	background-color:#25d366;
	color:var(--white);
	border-radius:50%;
	text-align:center;
    font-size:30px;
	/*box-shadow: 2px 2px 3px #999;*/
    z-index:4;
 
}
.float a{
	color:var(--white);
	}
.float i{
	-webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
 
}
.float:hover i{
	 -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	transform: rotate(0.12turn);
}
.float:hover{
	color:#FFF;
}



/*************** INNER BANNER ***************/
.banner { 
	width: 100%;
	height:70vh;
	padding-bottom:25px;
	overflow:hidden;	 
	display: flex;
	flex-direction:column;
	position: relative;
	/*align-items: center;*/
	justify-content: flex-end;
	background-repeat: no-repeat;
	background-position: center center;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-image: url(../images/backgrounds/banner.jpg);
	 
}
.banner:after{
	width: 100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	content:'';
	z-index:1;
	background-color:rgba(0, 0,0, 0.5);
	opacity:0.5;
}
.banner h2 {
	color:var(--white);	
	font-weight600;
	text-transform:uppercase;	
	font-size:30px;
	line-height:40px;
	margin:50px 0 0 0;
	padding:0;
	position:relative;
	z-index:2;
}
 
 
 /*****************************/

.breadcrumb {   
    display: flex;
	color:var(--grey-dark);
	margin:0;
	position:relative;
	z-index:2;
}
 
.breadcrumb ul {
	display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 20px 0 0 0;
    padding: 5px 20px;
	background-color:var(--green);
	text-transform:uppercase;
	color:var(--white);
}

.breadcrumb li {
    margin: 0;
	font-size:12px;
	text-transform:uppercase;
	color:var(--grey-dark);
	font-weight:var(--font-bold);
 } 
    
.breadcrumb li:not(:last-child)::after {
    display: inline-block;
    margin: 0 15px;
    /*content: " → "; */
	 content: " / "; 
	 
}
 .breadcrumb a{
   color:var(--grey-dark);
   text-decoration:none;
}
 .breadcrumb a:hover{
   color:var(--secondary-color);	
 
}

 .grey-box{
	 transition: all 0.4s ease;
	 background-color:rgba(0 ,0, 0, 0.04);
	 
}

.content-box{
	 color:var(--black);
	 padding:40px;
	 transition: all 0.4s ease;
	 }
.content-box h2{
	font-size:18px;
	line-height:normal;
	font-weight:600;
	margin:0 0 20px 0
}	 
 .boxy{
	 transition: all 0.4s ease;
	 background-color:rgba(0 ,0, 0, 0.04);
	 color:var(--black);
	 padding:40px;
	 transition: all 0.4s ease;
	 position:relative;
}
 .boxy:before{
	width:0;
	height:4px;
	position:absolute;
	left:50%;
	bottom:0;
	content:'';
	background-color:var(--green);
	transition: all 0.4s ease;
}
 .boxy:hover:before{
 	width:100%;
	left:0;
 }
 
 
.text-white {
	color: var(--white) !important;
}

.text-black {
	color: var(--black) !important;
}

 
 .text-green {
	color: var(--green) !important;
}
 
.text-center {
	text-align: center;
}
.text-right{
	text-align:right;
}

.text-justify {
	text-align: justify;
}
 
.iconic{
	width:100%;
	display:block;
	position:relative;
	padding:0 20px 0 80px;
	min-height:100px;
}
.iconic:last-child{
	border-bottom:0;
}
.iconic h2{
	font-size: 20px;
	margin:0 0 15px 0;
	line-height:30px;
}
.webicon{	
	display: flex;
	justify-content: center;
	align-items: center;
	position:absolute;
	left:0;
	top:0;	
	width:60px;
	height:60px;
	text-align:center;
	color:var(--white);
	font-size:30px;
	vertical-align:middle;
	margin:0;
	padding:15px;
	border-radius:50%;
	/*background-image: linear-gradient(to top, var(--primary-color), var(--secondary-color));*/
	background-color:var(--green);	 
	transition: all 0.4s ease;
}
.number{
	border:1px solid #ddd;
	border-radius:0;
	color:var(--green);
	font-size:30px;
	background-color:transparent;	
}
.webicon img{
	display:block;
	width:100%;
}
.webicon:hover{
	background-color:var(--black);
}
.iconic p:last-child{
	margin:0;
}
.sticky{
 	position: -webkit-sticky !important;
	position: sticky !important;
	top: 100px;
	width:100%; 
}
.border-bottom-style{
	margin-bottom:20px;
	border-bottom:1px solid rgba(0, 0, 0, 0.2) !important;
}
.keywords{
    display: flex;
    flex-wrap: wrap; 
	gap:5px;
	margin:20px 0;
}
.keywords span{
	display:inline-block;
	padding:10px;
	color:var(--white);
	background-color:var(--green);
}
/******************************/

ul.list {
	margin: 0;
	padding: 0;
 
}

ul.list li {
	list-style: none;
	padding: 2px 7px 10px 30px;
	line-height: normal;
	position: relative;
}

ul.list li:before {
	/*content: "\f111";*/
	content: "\f138";
	position: absolute;
	top: 4px;
	left: 0;
	font-family: "FontAwesome";
	color: var(--green);
	font-size: 16px;
}

 
 
/*************** JARALLAX ***************/
.cover {
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.simple-icon{
	font-size:24px;
	width:50px;
	height:50px;
	display:inline-block;
	padding:5px;
	background-color:var(--green);
	color:var(--white);
	display:flex;
	justify-content: left;
	align-content: center;
}

/**********************/
 .address-box{
	padding:30px;
	background-color:var(--green);
	color:var(--white);	 
	} 
.add{
	width:100%;
	position:relative;
	padding:0 0 0 60px;
	min-height:30px;
	margin-bottom:20px;
	vertical-align:top;
 
}
 .add h2{
 	font-size:18px;
	line-height:20px;
	font-weight:var(--bold);
	margin:0;
	line-height:normal;
 }
.add i{
	width:35px;
	height:35px;
	line-height:35px;
	border-radius: 50%;
	color:var(--white);
	border:1px solid var(--white);
	font-size:14px;
	margin:0;
	position:absolute;
	left:0;
	top:0;
	text-align:center;
 
	
}
 .google-map{
     overflow: hidden;
     width: 100%;
	 height:450px;
	 margin:0;
	 padding:0;
	 outline:none;
	 border:0;
	 display:block;
}

.ext{
	display:inline-block;
	padding-top:10px;
}
.add a{
	color:var(--white);
	text-decoration:none;
	}
.add a:hover{
	color:var(--tertiary-color);
	}

.msg-chairman-wrap{
    display: flex;
    gap: 25px 4%;

}
.msg-chairman-left{
    flex: 0 0 30%;
}
.msg-chairman-left img{ max-width: 100%; display: block; }
.msg-chairman-right{background-color: #f7f7f7;padding: 50px;display: flex;flex-direction: column;justify-content: space-around;}
.msg-chairman-right p{font-size: 22px;line-height: 1.4;}
.msg-chairman-right h5{
    font-size: 18px;
    font-weight: 400;
    border-top: 1px solid #e2e2e2;
    padding-top: 20px;
    margin-bottom: 0;
}
.msg-chairman-right h5 span{
    font-weight: 700;
    display: block;
    margin-bottom: 6px;
    font-size: 20px;
}

 @media(max-width:1390px){
 nav { gap: 20px;}
 }	

 @media(max-width:1280px){
 nav { gap: 12px;}
 header { padding: 0 15px;}
 }

 @media(max-width:1180px){
.header-contact { font-size: 12px;}
 } 


 @media(max-width:767px){	
.product-grid{
 
    grid-template-columns:repeat(3,1fr);
 
 
}
.msg-chairman-right p {
    font-size: 20px;
    line-height: 1.5;
}
.msg-chairman-right {
 
    padding: 35px;}
}


 @media(max-width:640px){
    .msg-chairman-wrap{
        flex-direction: column;
    }
    .msg-chairman-right p {
    font-size: 18px;}
 }


 @media(max-width:600px){
 
 #hero{
     
    height:50vh !important;
    min-height:50vh !important;
     align-items:flex-start;
}
 
 .hero-content{
 
    width:100%;
	left:0;
	top:auto;
	bottom:50px;
}
 .hero-tag{    
    font-size:12px;
	line-height:normal;
	margin:0 0 10px 0;
	
}
 
 .hero-h1{
     font-size:20px !important;
 
}
 
 .hero-p,  .hero-ctas{
    display:none;
}
 
 
 
     .divisions-grid{
        grid-template-columns:1fr
    }
     .sectors-grid{
        grid-template-columns:1fr
    }
     .news-grid{
         grid-template-columns: repeat(1, 1fr);	 
    }
     .footer-top{
        grid-template-columns:1fr
    }
     .presence-list{
        grid-template-columns:repeat(2,1fr)
    }
     .hero-h1{
        font-size:52px
    }
     .about-visual{
        display:none
    }
     .facts-grid{
        grid-template-columns:1fr 1fr
    }
	
.group-logo{
	width:200px;
 
}
 .boxy{
	 padding:20px;
}

.subtitle{
	font-size:20px;
	}
	
.product-grid{
    grid-template-columns:repeat(2,1fr);
 
 
}
}

 @media(max-width:360px){
        .msg-chairman-right {
        padding: 25px;
    }
 }