@media (min-width:1500px){.container{max-width:1440px!important;}}
@media (min-width:1900px){.container{max-width:1700px!important;}}
@media (min-width:2560px){.container{max-width:1900px!important;}}
:root {
--blue: #006890;
--dblue: #25598B;
--lblue: #3C829E;
--white: white;
--gray: #333333;
--lgray: #666;
--dgray: #1a1a2e;
--yellow: #F7B200;
--silver: #F2F2F2;
--border: #F7B200;

--fonthead: 'Figtree', sans-serif;
--fontbody: 'Rubik', sans-serif;
--trans: all 0.35s ease;
  --clr-orange2:  #e8820d;
  --clr-navy:     #0b1f3a;
  --clr-navy2:    #0d2444;
  --clr-dark:     #1a1a2e;
  --clr-text:     #666;
  --clr-border:   #e5e5e5;
  --clr-light:    #f5f7fa;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--fontbody); color: var(--lgray); font-size: 17px; line-height: 1.85; overflow-x: hidden; }
a { text-decoration: none; color: inherit; transition: var(--trans); }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6 { font-family: var(--fonthead); color: var(--gray); line-height: 1.3; }
ul { list-style: none; padding: 0; margin: 0; }
.sec-pad { padding: 0 0 90px 0; }
.sec-padtb { padding: 90px 0 90px 0; }
.twhite{color: var(--white)!important}
.tblue{color: var(--blue)!important}

.theading{display:block;font-family:var(--fonthead);font-weight:700;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gray);margin-bottom:10px}
.tsubheading{font-size:32px;font-weight:800;color:var(--blue);margin-bottom:16px}
.tsubheading02{font-size:24px;font-weight:600;color:var(--lgray);margin-bottom:16px;}
.tsubheading03{font-size:19px;font-weight:500;color:var(--lgray);margin-bottom:16px;}
.tsubheading04{font-size:20px; line-height: 30px;font-weight:500;color:var(--lgray);}
.service-icon-list li {display: flex;align-items: center;gap: 12px;padding: 10px 0;border-bottom: 1px solid var(--clr-border);font-size: 16px;color: var(--gray);}
.sil-icon {width: 36px; height: 36px;background: rgba(1,105,144,.1);border-radius: 5px;display: flex; align-items: center; justify-content: center;color: var(--blue);font-size: 16px;flex-shrink: 0;}
/* ── buttons ── */
.btn-blue {display: inline-block;background: var(--blue);color: #fff !important;font-family: var(--fonthead);font-weight: 600;font-size: 16px;letter-spacing: .5px;padding: 6px 20px;border-radius: 4px;border: 2px solid var(--blue);transition: var(--trans);cursor: pointer;}
.btn-blue:hover { background: var(--clr-orange2); border-color: var(--clr-orange2); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(247,148,29,.35); }
.btn-navy {display: inline-block;background: var(--clr-navy);color: #fff !important;font-family: var(--fonthead);font-weight: 700;font-size: 14px;letter-spacing: .5px;padding: 13px 30px;border-radius: 4px;border: 2px solid var(--clr-navy);transition: var(--trans);cursor: pointer;}
.btn-navy:hover { background: transparent; color: var(--clr-navy) !important; }
.btn-white-outline {display: inline-block;background: transparent;color: #fff !important;font-family: var(--fonthead);font-weight: 700;font-size: 14px;padding: 11px 28px;border-radius: 4px;border: 2px solid #fff;transition: var(--trans);}
.btn-white-outline:hover { background: #fff; color: var(--clr-navy) !important; }
.centaurbtn{display:inline-flex;align-items:center;gap:0;background:var(--blue);color:#fff;font-family:var(--fonthead);font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:0;border-radius:0;border:none;text-decoration:none;overflow:hidden;position:relative}
.centaurbtn .btn-text{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:var(--blue);position:relative;z-index:1;transition:background .35s ease,color .35s ease}
.centaurbtn .btn-arrow{display:inline-flex;align-items:center;justify-content:center;width:54px;height:100%;min-height:52px;background:rgba(0,0,0,.22);font-size:18px;flex-shrink:0;position:relative;z-index:1;transition:background .35s ease,transform .35s ease}
.centaurbtn::before{content:'';position:absolute;inset:0;background:var(--gray);transform:scaleX(0);transform-origin:left center;transition:transform .4s cubic-bezier(.77,0,.175,1);z-index:0}
.centaurbtn:hover::before{transform:scaleX(1)}
.centaurbtn:hover .btn-text{background:0 0;color:#fff}
.centaurbtn:hover .btn-arrow{background:var(--blue);transform:translateX(4px)}
.centaurbtn:hover{color:#fff;transition:var(--trans)}
/* ── section label ── */
.sec-sub { font-size: 15px; color: var(--clr-text); margin-bottom: 0; }

/* ============================================================
   TOP BAR
   ============================================================ */
#topbar{background:var(--blue);padding:10px 0;font-size:15px}
#topbar .tbcontacts{display:flex;gap:28px}
#topbar .tbcontacts li{color:rgba(255,255,255,.8);display:flex;align-items:center;gap:6px}
#topbar .tbcontacts li i{color:rgba(255,255,255,.8);font-size:15px}
#topbar .tbcontacts a{color:rgba(255,255,255,.8)}
#topbar .tbcontacts a:hover{color:var(--white)}
#topbar .tbsocialicon{display:flex;align-items:center;gap:20px}
#topbar .tbsocial a{color:rgba(255,255,255,.8);font-size:17px;transition:var(--trans)}
#topbar .tbsocial a:hover{color:var(--white)}
.ttopbarmenu{color: rgba(255, 255, 255, .8); transition: var(--trans);}
.topbarmenu:hover,.topbarmenu.active{color: var(--yellow);}
/******header / navbar*****/
#mainHeader{background:#fff;box-shadow:0 2px 15px rgba(0,0,0,.08);position:sticky;top:0;z-index:1000;transition:var(--trans)}
#mainHeader .container{display:flex;align-items:center;padding:0 15px}
.header-logo{padding:15px 0;flex-shrink:0}
.header-logo img{height:66px}
.header-nav{flex:1;display:flex;justify-content:center}
.header-nav ul{display:flex;gap:4px}
.header-nav ul li a{display:block;font-family:var(--fontbody);font-weight:500;font-size:19px;color:var(--gray);padding:10px 14px;border-radius:3px;transition:var(--trans);white-space:nowrap}
.header-nav ul li a.active,.header-nav ul li a:hover{color:var(--blue)}
.header-right{display:flex;align-items:center;gap:20px;flex-shrink:0}
.header-phone{display:flex;align-items:center;gap:8px}
.header-phone .icon-wrap{width:38px;height:38px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
.header-phone .tphone span{display:block;font-size:15px;color:var(--gray);line-height:1.2}
.header-phone .tphone a{font-family:var(--fontbody);font-weight:600;font-size:17px;color:var(--gray)}
.header-phone .tphone a:hover{color:var(--blue)}
.mob-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:5px}
.mob-toggle span{display:block;width:24px;height:2px;background:var(--gray);margin:5px 0;transition:var(--trans)}
.header-nav ul li{position:relative}
.header-nav ul li .nav-dropdown{position:absolute;top:calc(100%);left:0;min-width:240px;background:#fff;border-top:3px solid var(--blue);border-radius:0 0 6px 6px;box-shadow:0 12px 40px rgba(0,0,0,.13);padding:6px 0;list-style:none;margin:0;z-index:2000;display:block;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .28s ease,transform .28s ease,visibility .28s ease}
.header-nav ul li .nav-dropdown.open,.header-nav ul li:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.header-nav ul li .nav-dropdown li{display:block}
.header-nav ul li .nav-dropdown li a{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:500;color:var(--gray);padding:10px 15px;white-space:nowrap;border-left:3px solid transparent;transition:color .22s ease,background .22s ease,border-color .22s ease,padding-left .22s ease}
.header-nav ul li .nav-dropdown li a::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--blue);opacity:0;flex-shrink:0;transition:opacity .22s ease}
.header-nav ul li .nav-dropdown li a:hover{color:var(--blue);background:rgba(1,105,144,.06);border-left-color:var(--blue);padding-left:15px}
.header-nav ul li .nav-dropdown li a:hover::before{opacity:1}
.header-nav ul li .nav-dropdown li a.active{color:var(--blue);background:rgba(1,105,144,.06);border-left-color:var(--blue);padding-left:15px;font-weight:700;}
.header-nav ul li .nav-dropdown li a.active::before{opacity:1}
.header-nav ul li.has-dropdown>a{display:flex;align-items:center;gap:5px}
.header-nav ul li.has-dropdown>a::after{content:'';display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .28s ease;flex-shrink:0}
.header-nav ul li.has-dropdown:hover>a::after{transform:rotate(-135deg) translateY(-2px)}
.header-nav ul li.has-dropdown:hover>a{color:var(--blue)}
/*******hero style with left orange strip******/
/* Outer wrapper: strip + slides side by side */
.hero-outer-wrap{display:flex;position:relative;overflow:hidden}
.hero-side-strip{position:relative;width:52px;min-width:52px;background:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;flex-shrink:0}
.hero-side-brand{writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);font-family:var(--fonthead);font-weight:900;font-size:60px;letter-spacing:15px;text-transform:uppercase;color:rgba(255,255,255,0.10);white-space:nowrap;user-select:none;flex:1;display:flex;align-items:center;justify-content:center;padding-top:150px}
.hero-side-brand span{display:none}
.hero-side-contact{position:absolute;bottom:0;width:100%;padding:10px 0 14px;background:rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero-side-contact a{color:rgba(255,255,255,.85);font-size:14px;font-family:var(--fontbody);font-weight:600;letter-spacing:1.5px;writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);white-space:nowrap;transition:var(--trans);display:block;padding:8px 0;}
.hero-side-contact a:hover{color:#fff;}
.hero-slides-area{position:relative;flex:1;overflow:hidden;min-height:800px}
.hero-slide{background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center; position:absolute; inset:0; opacity:0;
  pointer-events:none; transition:opacity .85s ease; z-index:1; will-change:opacity,transform; backface-visibility:hidden; -webkit-backface-visibility:hidden;overflow:hidden;}
.hero-slide.active{opacity:1; pointer-events:auto;z-index:2; }
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,14,35,.9) 45%,rgba(5,14,35,.45) 75%,rgba(5,14,35,.1) 100%)}
.hero-slide .container{position:relative;z-index:2;height:100%}
.hero-slide .row{height:100%;min-height:800px}
.hero-content{padding:40px 0;max-width:600px}
.hero-slide-num{display:flex;align-items:center;gap:5px;margin-bottom:18px;opacity:0;transform:translateY(-16px);transition:opacity .5s ease .1s,transform .5s ease .1s}
.hero-num-current{font-family:var(--fonthead);font-size:26px;font-weight:900;color:var(--yellow);line-height:1}
.hero-num-sep{font-size:13px;color:rgba(255,255,255,.3);margin:0 2px}
.hero-num-total{font-size:26px;color:rgba(255,255,255,.35);font-weight:600}
.hero-overtitle{font-family:var(--fonthead);font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:10px;margin-bottom:18px;opacity:0;transform:translateY(-14px);transition:opacity .55s ease .22s,transform .55s ease .22s}
.hero-overtitle::before{content:'';display:inline-block;width:28px;height:2px;background:var(--yellow);flex-shrink:0}
.hero-title{font-size:50px;font-weight:800;color:#fff;line-height:1.2;margin-bottom:20px;opacity:0;transform:translateY(26px);transition:opacity .65s ease .35s,transform .65s ease .35s}
.hero-desc{font-size:16px;color:rgba(255,255,255,.72);line-height:1.8;margin-bottom:32px;max-width:480px;opacity:0;transform:translateY(20px);transition:opacity .6s ease .48s,transform .6s ease .48s}

.hero-slide.active .centaurbtn,.hero-slide.active .hero-desc,.hero-slide.active .hero-overtitle,.hero-slide.active .hero-slide-num,.hero-slide.active .hero-title{opacity:1;transform:translateY(0)}
.hero-counter-dots{position:absolute;right:28px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:10px}
.hero-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all .35s ease}
.hero-dot.active{background:var(--yellow);height:24px;border-radius:4px}
.hero-nav-arrows{position:absolute;bottom:28px;left:88px;z-index:10;display:flex;gap:10px}
.hero-nav-btn{width:44px;height:44px;border:1.5px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:var(--trans);backdrop-filter:blur(4px)}
.hero-nav-btn:hover{background:var(--blue);border-color:var(--blue)}
.hero-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.1);z-index:10}
.hero-progress-fill{height:100%;background:var(--blue);width:0%;transition:width .1s linear}
.hero-slide:not(.active) .hero-slide-num,
.hero-slide:not(.active) .hero-overtitle,
.hero-slide:not(.active) .hero-title,
.hero-slide:not(.active) .hero-desc,
.hero-slide:not(.active) .centaurbtn{opacity:0 !important;transform:translateY(20px) !important;}
.hero-slide .centaurbtn {opacity: 0;transform: translateY(20px); transition: opacity .6s ease .55s, transform .6s ease .55s;}
.hero-slide.active .centaurbtn,
.hero-slide.active .hero-desc,
.hero-slide.active .hero-overtitle,
.hero-slide.active .hero-slide-num,
.hero-slide.active .hero-title {opacity: 1;transform: translateY(0);}
.mob-hero { display: none; }
/* ============================================================
   ABOUT SECTION
   ============================================================ */
.about-section{background:#fff}
.about-imgs-wrap{position:relative;padding-bottom:130px}
.about-img-main-wrap{border-radius:8px;overflow:hidden;width:75%;box-shadow:0 16px 50px rgba(0,0,0,.14)}
.about-img-main{width:100%;height:420px;object-fit:cover;display:block;transition:transform .65s ease}
.about-img-main-wrap:hover .about-img-main{transform:scale(1.04)}
.about-img-secondary-wrap{position:absolute;bottom:120px;right:0;width:52%;border-radius:8px;overflow:hidden;border:5px solid #fff;box-shadow:0 12px 36px rgba(0,0,0,.16)}
.about-img-secondary{width:100%;height:220px;object-fit:cover;display:block;transition:transform .65s ease}
.about-img-secondary-wrap:hover .about-img-secondary{transform:scale(1.05)}
.about-stats-row{position:absolute;bottom:0;left:0;right:0;display:flex;gap:0;border-top:2px solid var(--clr-border);padding-top:22px}
.about-stat-item{flex:1;text-align:center;border-right:1px solid var(--clr-border);padding:0 10px}
.about-stat-item:last-child{border-right:none}
.about-stat-num{font-family:var(--fonthead);font-size:60px;font-weight:900;color:var(--blue);line-height:1;display:inline;-webkit-text-stroke:2px var(--blue);color:transparent}
.about-stat-plus{font-family:var(--fontbody);font-size:40px;padding-left:5px;font-weight:900;-webkit-text-stroke:2px var(--blue);color:transparent;line-height:1}
.about-stat-label{display:block;font-size:12px;font-weight:600;color:var(--lgray);margin-top:4px;letter-spacing:.5px;text-transform:uppercase}
.about-content-wrap{padding-left:10px}
.about-label{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.about-label-arrows{font-size:13px;font-weight:700;color:var(--blue);letter-spacing:-1px}
.about-label-text{font-family:var(--fonthead);font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--blue)}
.about-main-title{font-size:38px;font-weight:800;color:var(--gray);line-height:1.22;margin-bottom:18px}
.about-main-desc{line-height:1.8;margin-bottom:28px}
.about-tabs{margin-bottom:32px}
.about-tab-nav{display:flex;gap:0;border-bottom:1px solid var(--clr-border);margin-bottom:22px}
.about-tab-btn{background:0 0;border:none;cursor:pointer;font-family:var(--fonthead);font-weight:600;font-size:16px;color:var(--lgray);padding:10px 20px 12px 0;margin-right:24px;position:relative;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .28s ease,border-color .28s ease;white-space:nowrap}
.about-tab-btn::after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--blue);transition:width .35s ease}
.about-tab-btn:hover{color:var(--blue)}
.about-tab-btn:hover::after{width:100%}
.about-tab-btn.active{color:var(--blue);border-bottom-color:var(--blue)}
.about-tab-btn.active::after{width:100%}
.about-tab-panel{display:none;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease}
.about-tab-panel.active{display:block;opacity:1;transform:translateY(0);animation:tabFadeIn .4s ease both}
@keyframes tabFadeIn{
from{opacity:0;transform:translateY(10px)}
to{opacity:1;transform:translateY(0)}
}
.about-tab-panel p{line-height:1.8;margin:0}
.chooseus-imgs {
  animation: fadeInRight .7s ease both;
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: none; }
}
/* ══════════════════════════════════════════════════════════
   history timeline 
   ══════════════════════════════════════════════════════════ */
.cht-header {margin-bottom: 60px;}
.cht-intro {max-width: 560px;margin: 0 auto;color: var(--lgray);font-size: 16px;}
.cht-outer {position: relative;display: flex;align-items: center;gap: 0;}
.cht-btn {flex-shrink: 0;width: 44px;height: 44px;border-radius: 50%;border: 2px solid var(--blue);background: #fff;color: var(--blue);display: flex;align-items: center;justify-content: center;cursor: pointer;transition: var(--trans);box-shadow: 0 3px 12px rgba(0,104,144,.15);z-index: 10;flex-shrink: 0;}
.cht-btn:hover {background: var(--blue);color: #fff;box-shadow: 0 6px 20px rgba(0,104,144,.3);}
.cht-btn.cht-disabled {opacity: .35;pointer-events: none;}
.cht-viewport {flex: 1;overflow: hidden;position: relative;padding-bottom: 22px;}
.cht-line {position: absolute;bottom: 15px;left: 0;right: 0;height: 2px;background: #dde5ea;pointer-events: none;}
.cht-line-fill {height: 100%;width: 0%;background: linear-gradient(90deg, var(--blue), var(--yellow));transition: width 0.55s cubic-bezier(.4,0,.2,1);}
.cht-track {display: flex;align-items: stretch;transition: transform 0.55s cubic-bezier(.4,0,.2,1);will-change: transform;}
.cht-item {flex: 0 0 25%;min-width: 0;padding: 0 12px;display: flex;flex-direction: column;align-items: center;opacity: 0;transform: translateY(24px);transition: opacity .5s ease, transform .5s ease;}
.cht-item.cht-vis {opacity: 1;transform: translateY(0);}
.cht-card {width: 100%;flex: 1;background: #fff;border: 1px solid #e2eaee;border-radius: 10px;padding: 22px 18px 20px;box-shadow: 0 4px 18px rgba(0,0,0,.06);transition: var(--trans);text-align: center;position: relative; overflow: hidden;
}
.cht-item:hover .cht-card {border-color: var(--blue);box-shadow: 0 10px 32px rgba(0,104,144,.13);}
.cht-year {font-family: var(--fonthead);font-size: 38px;font-weight: 800;color: var(--blue);line-height: 1;margin-bottom: 6px; transition: color .3s ease;
}
.cht-item:hover .cht-year {color: var(--yellow);}
.cht-badge {font-family: var(--fonthead);font-size: 14px;font-weight: 700;letter-spacing: 1.8px;text-transform: uppercase;color: var(--yellow);margin-bottom: 10px;}
.cht-text {font-size: 16px;line-height: 26px;color: var(--lgray);margin: 0;}
.cht-stem {width: 2px;height: 20px;background: #dde5ea;flex-shrink: 0;transition: background .3s ease;}
.cht-item:hover .cht-stem {background: var(--yellow);}
.cht-node {width: 22px;height: 22px;border-radius: 50%;border: 2px solid #c5d5df;
background: #fff;display: flex;align-items: center;justify-content: center;flex-shrink: 0;transition: var(--trans);position: relative;z-index: 2;margin-bottom: 0;         }
.cht-node span {width: 9px;height: 9px;border-radius: 50%;background: #c5d5df;transition: var(--trans);}
.cht-item:hover .cht-node,
.cht-item.cht-active .cht-node {border-color: var(--yellow);box-shadow: 0 0 0 5px rgba(247,178,0,.2);}
.cht-item:hover .cht-node span,
.cht-item.cht-active .cht-node span {background: var(--yellow);}

/* ============================================================
   SERVICES GRID  — Construction style dark cards
   ============================================================ */
.isvc-section{background:var(--silver);}
.isvc-head{margin-bottom:50px}
.isvc-head .sec-label{color:var(--blue)}
.isvc-head .sec-title{color:var(--blue)}
.isvc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.isvc-card{position:relative;background:var(--blue);border-radius:6px;padding:32px 28px 28px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;min-height:260px;transition:background .4s ease}
.isvc-bg{position:absolute;inset:0;border-radius:6px;background-image:var(--isvc-img);background-size:cover;background-position:center;opacity:0;transform:scale(1.07);transition:opacity .55s ease,transform .55s ease;z-index:0}
.isvc-overlay{position:absolute;inset:0;border-radius:6px;background:rgba(60, 130, 158,.4);opacity:0;transition:opacity .55s ease;z-index:1}
.isvc-card:hover .isvc-bg{opacity:1;transform:scale(1)}
.isvc-card:hover .isvc-overlay{opacity:1}
.isvc-top{display:flex;align-items:center;margin-bottom:20px;position:relative;z-index:2}
.isvc-icon-box{flex-shrink:0;width:70px;height:70px;background:var(--lblue);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--white);transition:background .35s ease,color .35s ease,transform .35s ease}
.isvc-card:hover .isvc-icon-box{background:var(--blue);color:#fff;transform:scale(1.05)}
.isvc-divider-v{flex-shrink:0;width:2px;height:44px;background:rgba(255,255,255,.12);margin:0 18px;border-radius:2px;transition:background .35s ease}
.isvc-card:hover .isvc-divider-v{background:rgba(255,255,255,.25)}
.isvc-title{font-family:var(--fonthead);font-size:20px;font-weight:600;color:#fff;line-height:1.3;margin:0;position:relative;z-index:2}
.isvc-desc{font-size:18px;color:rgba(255,255,255,.9);line-height:1.75;margin:0 0 20px;position:relative;z-index:2;flex:1;transition:color .35s ease}
.isvc-card:hover .isvc-desc{color:rgba(255,255,255,.78)}
.isvc-link{font-family:var(--fonthead);font-size:15px;font-weight:700;color:rgba(255,255,255,.9);text-decoration:none;display:inline-flex;align-items:center;gap:6px;position:relative;z-index:2;transition:color .3s ease,gap .3s ease}
.isvc-card:hover .isvc-link,.isvc-link:hover{color:var(--yellow);gap:10px}
.isvc-watermark{position:absolute;bottom:-8px;right:16px;font-size:100px;font-weight:900;line-height:1;color:rgba(255,255,255,.04);pointer-events:none;user-select:none;z-index:2;transition:color .4s ease}
.isvc-card:hover .isvc-watermark{color:rgba(255,255,255,.09)}

/* ============================================================
   PROJECTS GRID  — Metallurgy style hover
   ============================================================ */
.proj-section{background:#fff}
.proj-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px 36px;flex-wrap:wrap;gap:16px}
.proj-heading{font-family:var(--fonthead);font-size:34px;font-weight:800;color:var(--gray);margin:0}
.proj-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.proj-filter-btn{background:0 0;border:none;cursor:pointer;font-family:var(--fonthead);font-weight:700;font-size:17px;letter-spacing:1px;color:#999;padding:8px 18px;border-radius:3px;transition:color .25s ease}
.proj-filter-btn:hover{color:var(--blue)}
.proj-filter-btn.active{color:var(--blue)}
.proj-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.proj-item{position:relative;display:block;overflow:hidden;height:420px;text-decoration:none}
.proj-img-wrap{position:absolute;inset:0;overflow:hidden}
.proj-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}
.proj-item:hover .proj-img-wrap img{transform:scale(1.07)}
.proj-panel{position:absolute;bottom:0;left:0;right:0;background:var(--blue);padding:22px 24px 22px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(100%);transition:transform .42s cubic-bezier(.4,0,.2,1);z-index:3}
.proj-item:hover .proj-panel{transform:translateY(0)}
.proj-panel::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#fff;opacity:.5}
.proj-panel-cat{display:block;font-family:var(--fonthead);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:5px}
.proj-panel-title{font-family:var(--fonthead);font-size:17px;font-weight:800;color:#fff;margin:0;line-height:1.3}
.proj-panel-arrow{flex-shrink:0;width:40px;height:40px;border:2px solid rgba(255,255,255,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;transition:background .3s ease,border-color .3s ease,transform .3s ease}
.proj-item:hover .proj-panel-arrow{background:#fff;color:var(--blue);border-color:#fff;transform:rotate(-45deg)}
.proj-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.55) 0,transparent 100%);z-index:2;transition:opacity .4s ease}
.proj-item:hover::after{opacity:0}
/* ── testimonials split (parallax) ── */
.testimonials-split-section {position: relative;width: 100%;overflow: hidden;background: #0b1622;}
.testimonials-split-section .ts-row {position: relative;min-height: 560px;}
.testimonials-split-section .ts-left {position: relative;min-height: 560px;background-size: cover;background-position: center;background-repeat: no-repeat;}
.testimonials-split-section .ts-left-overlay {position: absolute;inset: 0;background: linear-gradient(135deg, rgba(11,40,72,.85), rgba(21,107,145,.60));}
.testimonials-split-section .ts-left-inner {position: relative;z-index: 2;padding: 90px 8% 90px 10%;color: #fff;max-width: 560px;display: flex;flex-direction: column;justify-content: center;height: 100%;}
.testimonials-split-section .ts-heading {font-family: var(--fonthead);font-size: 2.6rem;font-weight: 800;color: #fff;line-height: 1.2;margin: 14px 0 40px;}
.testimonials-split-section .ts-nav {display: flex;gap: 14px;}
.testimonials-split-section .ts-nav button {width: 50px; height: 50px;
border-radius: 50%;border: none;background: #fff;color: #0b2848;font-size: 1rem;
cursor: pointer;display: inline-flex;align-items: center;justify-content: center;transition: all .3s ease;box-shadow: 0 6px 18px rgba(0,0,0,.2);}
.testimonials-split-section .ts-nav button:hover {background: #f59e0b;color: #fff;}
.testimonials-split-section .ts-right {min-height: 560px;background-size: cover;
background-position: center;background-repeat: no-repeat;}
.testimonials-split-section .ts-card-wrap {position: absolute;top: 50%;left: 50%;
transform: translate(-50%, -50%);width: min(520px, 85%);z-index: 10;}
.testimonials-split-section .ts-slider-wrap {background: #fff;border-radius: 4px;
box-shadow: 0 25px 60px rgba(0,0,0,.28);overflow: hidden;}
.testimonials-split-section .ts-card {padding: 36px 36px 32px;background: #fff;}
.testimonials-split-section .ts-quote {font-size: 52px;line-height: 1;color: #f59e0b;font-family: Georgia, serif;margin-bottom: 10px;display: block;}
.testimonials-split-section .ts-text {line-height: 1.8;color: var(--gray);margin-bottom: 28px;}
.testimonials-split-section .ts-author {display: flex;align-items: center;gap: 14px;padding-top: 20px;border-top: 1px solid #e5e7eb;}
.testimonials-split-section .ts-avatar {width: 52px; height: 52px;border-radius: 50%;background: linear-gradient(135deg, #f59e0b, #ef6c00);color: #fff;font-weight: 700;font-size: 15px;font-family: var(--fonthead);display: inline-flex;align-items: center;justify-content: center;flex-shrink: 0;}
.testimonials-split-section .ts-author h5 {margin: 0 0 3px;font-size: 15px;font-weight: 700;color: #1f2933;}
.testimonials-split-section .ts-author span {font-size: 13px;color: #6b7280;}
/* manual slider — each slide hidden by default */
.testimonials-split-section .ts-slide {display: none;}
.testimonials-split-section .ts-slide.active {display: block;animation: tsFadeIn .5s ease;}
@keyframes tsFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ----------------------------------------------------------
   footer
   ---------------------------------------------------------- */
.site-footer{background:var(--blue)}
.footer-main{padding:80px 0 50px}
.footer-desc{font-size:15px;color:var(--dgray);line-height:1.8;max-width:300px}
.footer-contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:13px;color:rgba(255,255,255,.55)}
.footer-contact-item i{color:var(--blue);margin-top:2px;flex-shrink:0}
.footer-contact-item a{color:rgba(255,255,255,.55)}
.footer-contact-item a:hover{color:var(--blue)}
.footer-heading{font-family:var(--fontbody);font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--white);margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--lblue);position:relative}
.footer-heading::after{content:'';position:absolute;bottom:-1px;left:0;width:36px;height:2px;background:var(--yellow)}
.footer-text{font-family:var(--fontbody);font-size:15px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var(--white);margin-bottom:24px;padding-bottom:12px;}
.footer-links li{margin-bottom:10px}
.footer-links a{font-family:var(--fontbody);font-size:17px;font-weight:500;color:var(--white);display:flex;align-items:center;transition:var(--transition)}
.footer-links a:hover{color:var(--yellow);}
.footer-links a.active{color:var(--yellow);font-weight:500;pointer-events:none;}
.footer-links a:hover::before{opacity:1}
.footer-socials{display:flex;gap:12px}
.footer-socials a{width:36px;height:36px;background:rgba(255,255,255,.06);border:1px solid var(--dgray);color:var(--dgray);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:var(--transition)}
.footer-socials a:hover{background:var(--white);color:var(--blue);border-color:var(--white)}
/* Mobile social icons strip — between footer-main and footer-bottom, below 992px only */
.footer-mobile-socials{background:var(--dblue);border-top:1px solid rgba(255,255,255,.06);padding:16px 20px;justify-content:center;align-items:center;gap:12px}
.footer-mobile-socials a{width:36px;height:36px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;transition:var(--transition);text-decoration:none}
.footer-mobile-socials a:hover{background:var(--white);color:var(--blue);border-color:var(--white)}
.footer-bottom{background:#023c52;padding:18px 0;}
.footer-bottom p{font-size:13px;color:#437b8f}
.footer-bottom a{font-size:13px;color:#437b8f}
.footer-bottom a:hover{color:var(--blue)}
.tcopyright{font-family:Roboto,sans-serif;font-size:12px!important;line-height:17px}
.tdesignby{font-family:Roboto,sans-serif;font-size:12px!important;line-height:17px}
/* ============================================================
   why choose us
   ============================================================ */
.chooseus-section { background: #fff; }
.chooseus-imgs { position: relative; min-height: 450px; }
.chooseus-img1-wrap {display: inline-block;width: 78%;position: relative;filter: drop-shadow(6px 10px 22px rgba(0,0,0,.32));}
.chooseus-img1-wrap img {width: 100%;display: block;object-fit: cover;clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%);border-radius: 0 6px 6px 0;}
.chooseus-img2 {position: absolute;bottom: -30px; right: 0;width: 52%;border-radius: 6px;border: 5px solid #fff;box-shadow: 0 12px 36px rgba(0,0,0,.22);}
.chooseus-intro {margin-bottom: 28px;}
.chooseus-metrics {display: flex;align-items: center;gap: 0;background: var(--blue);border-radius: 6px;padding: 20px 24px;margin-bottom: 32px;}
.chooseus-metric-item {flex: 1;text-align: center;}
.chooseus-metric-divider {width: 1px;height: 44px;background: rgba(255,255,255,.25);flex-shrink: 0;}
.cm-num {display: block;font-family: var(--fonthead);font-size: 25px;font-weight: 600;color: #fff;line-height: 1;margin-bottom: 4px;}
.cm-label {display: block;font-size: 14px;font-weight: 600;letter-spacing: 1px;text-transform: uppercase;color: rgba(255,255,255,.7);}
.chooseus-features {display: flex;flex-direction: column;gap: 0;margin-bottom: 32px;}
.chooseus-feat-item {display: flex;align-items: flex-start;gap: 16px;padding: 16px 0;border-bottom: 1px solid var(--clr-border);transition: var(--trans);}
.chooseus-feat-item:first-child { border-top: 1px solid var(--clr-border); }
.chooseus-feat-item:hover { padding-left: 6px; }
.cfi-icon-wrap {flex-shrink: 0;width: 46px; height: 46px;background: rgba(1,105,144,.08);border-radius: 5px;display: flex; align-items: center; justify-content: center;font-size: 20px;color: var(--blue);transition: background .3s ease, color .3s ease;margin-top: 2px;}
.chooseus-feat-item:hover .cfi-icon-wrap {background: var(--blue);color: #fff;}
.cfi-title {font-family: var(--fonthead);font-size: 15px;font-weight: 800;color: var(--gray);margin: 0 0 4px;}
.cfi-desc {font-size: 13px;color: var(--lgray);line-height: 1.65;margin: 0;}
/* ── CTA ── */
.chooseus-cta { margin-top: 4px; }

/* ============================================================
   team section
   ============================================================ */
.team-card {border-radius: 6px;overflow: hidden;box-shadow: 0 4px 18px rgba(0,0,0,.07);transition: var(--trans);display: flex;flex-direction: column;height: 100%;}
.team-card:hover { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(0,0,0,.12); }
.team-img {position: relative;height: 306px;overflow: hidden;flex-shrink: 0;}
.team-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.team-card:hover .team-img img { transform: scale(1.05); }
.team-hover {position: absolute; inset: 0;background: rgba(1,105,144,.93);display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 24px;text-align: center;opacity: 0;transform: translateY(15px);transition: all .4s ease;}
.team-card:hover .team-hover { opacity: 1; transform: translateY(0); }
.team-hover p { color: #fff; font-size: 16px; line-height: 1.65; margin-bottom: 14px; }
.team-hover-social a {display: inline-flex;align-items: center; justify-content: center;width: 32px; height: 32px;background: rgba(255,255,255,.2);color: #fff;border-radius: 50%;margin: 0 3px;transition: var(--trans);}
.team-hover-social a:hover { background: #fff; color: var(--blue); }
.team-info {background: #fff;padding: 18px 20px;text-align: center;flex: 1;display: flex;align-items: center;justify-content: center;min-height: 80px;}
.team-info h5 {font-size: 20px;font-weight: 600;margin-bottom: 0;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;line-height: 1.45;}
.team-info h5 a { color: var(--gray); }
.team-info h5 a:hover { color: var(--blue); }
.team-info span { font-size: 13px; color: var(--blue); font-weight: 700; }
.team-swiper .swiper-slide {height: auto;display: flex;}
.team-swiper .swiper-wrapper {align-items: stretch;}

/* ============================================================
   projects
   ============================================================ */
.projects-section { background: var(--clr-light); }
.project-card { border-radius: 6px; overflow: hidden; position: relative; }
.project-img {position: relative;height: 280px;overflow: hidden;}
.project-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; display: block; }
.project-card:hover .project-img img { transform: scale(1.07); }
.project-overlay {position: absolute; inset: 0; background: linear-gradient(to top, rgba(11,31,58,.9) 0%, rgba(11,31,58,.1) 60%, transparent 100%); display: flex;align-items: flex-end;padding: 24px;transform: translateY(60px);opacity: 0;transition: all .4s ease;}
.project-card:hover .project-overlay { opacity: 1; transform: translateY(0); }
.project-overlay .po-cat { font-size: 11px; color: var(--blue); display: block; margin-bottom: 4px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.project-overlay h5 { color: #fff; font-size: 16px; margin-bottom: 10px; }
.project-overlay h5 a { color: #fff; }
.project-overlay .po-link {width: 34px; height: 34px;background: var(--blue);color: #fff;border-radius: 50%;display: flex; align-items: center; justify-content: center;font-size: 13px;}
.project-overlay .po-link:hover { background: #fff; color: var(--blue); }

/* ============================================================
   clients
   ============================================================ */
.clients-section {background: #fff;padding: 30px 0;border-top: 1px solid var(--clr-border);border-bottom: 1px solid var(--clr-border);overflow: hidden;}
.clients-marquee-wrap {overflow: hidden;width: 100%;-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);}
.clients-marquee-track {display: flex;align-items: center;gap: 0;width: max-content;animation: marqueeScroll 40s linear infinite;}
.clients-marquee-wrap:hover .clients-marquee-track {animation-play-state: paused;}
@keyframes marqueeScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.clients-marquee-item {flex-shrink: 0;padding: 0 20px;display: flex;align-items: center;justify-content: center;}
.client-logo {max-height: 120px;width: auto;display: block;transition: filter .3s ease;}

/* ═══════════════════════════════════════════════════════════════
   health & safety + environment sections
   ═══════════════════════════════════════════════════════════════ */
.hse-visual {border-radius: 16px;background: linear-gradient(145deg, #eaf4f8 0%, #f5fafc 100%);border: 1px solid #d5e8f0;padding: 48px 32px 40px;display: flex;
flex-direction: column;align-items: center;gap: 20px;text-align: center;position: relative;overflow: hidden;}
.hse-visual--env {background: linear-gradient(145deg, #eaf5ee 0%, #f5faf6 100%);border-color: #c8e6d0;}
.hse-visual::before {content: '';position: absolute;top: -30px; right: -30px;width: 100px; height: 100px;border-radius: 50%;background: rgba(0,104,144,.06);}
.hse-visual::after {content: '';position: absolute;bottom: -20px; left: -20px;width: 70px; height: 70px;border-radius: 50%;background: rgba(247,178,0,.08);}
.hse-vis-icon svg {width: 120px;height: 120px;filter: drop-shadow(0 8px 20px rgba(0,104,144,.15));}
.hse-vis-stat {display: flex;flex-direction: column;align-items: center;gap: 4px;}
.hse-vis-num {font-family: var(--fonthead);font-size: 48px;font-weight: 900;
color: var(--blue);line-height: 1;}
.hse-vis-label {font-family: var(--fonthead);font-size: 11px;font-weight: 700;letter-spacing: 2px;text-transform: uppercase;color: var(--lgray);}
.hse-vis-badge {font-family: var(--fonthead);font-size: 12px;font-weight: 700;letter-spacing: .5px;color: #fff;background: var(--blue);border-radius: 30px;padding: 8px 20px;line-height: 1.5;position: relative;z-index: 1;}
.hse-vis-badge small {display: block;font-weight: 400;font-size: 10.5px;opacity: .85;letter-spacing: .5px;}
/* ── 4R principle strip ── */
.hse-4r-inline {display: grid;grid-template-columns: repeat(4, 1fr);gap: 12px;width: 100%;margin-top: 4px; cursor: default;}
.hse-4r-inline-card {padding: 14px 10px 12px;display: flex;flex-direction: column;align-items: center;gap: 8px;}
.hse-4r-inline-circle {background: #2e8b57;width: 46px; height: 46px;border-radius: 50%;color: #fff;font-family: var(--fonthead);font-size: 22px;font-weight: 900;display: flex;align-items: center;justify-content: center;box-shadow: 0 4px 12px rgba(0,0,0,0.15);}
.hse-4r-inline-word {font-family: var(--fonthead);font-size: 15px;font-weight: 700;letter-spacing: 0.5px;color: var(--gray);}
.custom-mt{margin-top: 0 !important;}
.hse-gal-wrap .team-hover {display: flex;align-items: center;justify-content: center;}
.hse-gal-wrap .team-hover i {font-size: 36px;color: #fff;}
.hse-gal-wrap .team-card { cursor: pointer; }
/* ── HSE lightbox modal ── */
.hse-modal-backdrop {display: none;position: fixed;inset: 0;background: rgb(242 242 242 / 94%);z-index: 9999;overflow-y: auto;padding: 60px 20px 40px;}
.hse-modal-backdrop.active { display: block; }
.hse-modal-box {width: 960px;max-width: 100%;margin: 0 auto;position: relative;}
.hse-modal-close {position: absolute;top: -48px;right: 0;background: none;border: none;color: var(--dblue);font-size: 45px;cursor: pointer;line-height: 1;padding: 0;transition: color .25s ease;}
.hse-modal-head { padding-bottom: 10px; }
.hse-modal-head .theading { color: rgba(255,255,255,.6); }
.hse-modal-head .tsubheading { font-size: 26px; }
.hse-modal-head .sec-divider { border-color: var(--yellow); }
.hse-modal-slide-wrap {position: relative;display: flex;align-items: center;gap: 16px;}
.hse-modal-slide-wrap {position: relative;display: flex;align-items: center;gap: 16px;}
.hse-modal-img-wrap {flex: 1;height: 520px;overflow: hidden;border-radius: 8px;position: relative;}
.hse-modal-img-wrap img {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: contain;display: block;opacity: 0;transform: translateX(60px);transition: opacity 0.45s ease, transform 0.45s ease; pointer-events: none;}
.hse-modal-img-wrap img.active {opacity: 1;transform: translateX(0);pointer-events: auto;}
.hse-modal-img-wrap img.exit-left {opacity: 0;transform: translateX(-60px);transition: opacity 0.45s ease, transform 0.45s ease;}
.hse-modal-img-wrap img.enter-right {opacity: 0;transform: translateX(60px);}
.hse-modal-img-wrap img.enter-left {opacity: 0;transform: translateX(-60px);}
.hse-modal-img-wrap img.exit-right {opacity: 0;transform: translateX(60px);transition: opacity 0.45s ease, transform 0.45s ease;}
.hse-modal-btn {flex-shrink: 0;width: 46px;height: 46px;border-radius: 50%;background: var(--blue);border: none;color: #fff;font-size: 20px;cursor: pointer;display: flex;align-items: center;justify-content: center;transition: var(--trans);}
.hse-modal-btn:hover { background: var(--dblue); }
.hse-modal-footer {display: flex;align-items: center;justify-content: center;gap: 20px;padding-top: 18px;}
.hse-modal-dots {display: flex;align-items: center;gap: 8px;}
.hse-dot {width: 10px;height: 10px;border-radius: 50%;border: none;background:#d4d1d1;cursor: pointer;transition: var(--trans);padding: 0;}
.hse-dot.active {background: var(--blue);width: 28px;border-radius: 6px;}
.hse-modal-counter {font-size: 13px;color: var(--lgray);font-weight: 600;}

/* ============================================================
   contact + cta section
   ============================================================ */
.cta-section {background: var(--clr-navy);position: relative;overflow: hidden;}
.cta-section::before {content: '';position: absolute;top: -100px; right: -100px;width: 400px; height: 400px; background: radial-gradient(circle, rgba(247,148,29,.12) 0%, transparent 70%);border-radius: 50%;}
.cta-vector { position: absolute; right: 40%; bottom: 0; opacity: .04; }
.cta-vector img { width: 300px; }
.stat-item { text-align: center; }
.stat-num {font-family: var(--fonthead);font-size: 38px;font-weight: 900;color: var(--blue);display: block;line-height: 1;}
.stat-label { font-size: 13px; color: rgba(255,255,255,.6); margin-top: 4px; }
.emergency-call { margin-top: 30px; }
.emergency-call .ec-label { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: rgba(255,255,255,.5); margin-bottom: 6px; }
.emergency-call a {font-family: var(--fonthead);font-size: 28px;font-weight: 900;color: #fff;display: flex; align-items: center; gap: 10px;}
.emergency-call a:hover { color: var(--blue); }
.card-box-blue{background:var(--blue);border-radius:8px;padding:40px;height:100%;}
.card-icon-circle{width:60px;height:60px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.card-icon{font-size:26px;color:#fff;}
.cardbox	{border:1px solid var(--clr-border);border-radius:6px;padding:24px;height:100%;}
.cardbox-brblue{padding:40px; border: 1px dashed var(--blue);}
.iconcircleblue{background: var(--blue);}
/* Video thumbnail */
.video-thumb-wrap {position: relative;border-radius: var(--radius);overflow: hidden;cursor: pointer;aspect-ratio: 16/8;}
.video-thumb-img {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform .5s ease;}
.video-thumb-wrap:hover .video-thumb-img { transform: scale(1.06); }
.video-thumb-overlay {position: absolute;inset: 0;background: rgba(6,24,60,.30);
transition: background .35s ease;}
.video-thumb-wrap:hover .video-thumb-overlay { background: rgba(6,24,60,.6); }
.video-play-btn {position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%) scale(1);width: 64px;height: 64px;background: var(--blue);border: 3px solid rgba(255,255,255,.6);border-radius: 50%;color: #ffffff;font-size: 26px;display: flex;align-items: center;justify-content: center;cursor: pointer;
transition: transform .35s cubic-bezier(.34,1.56,.64,1), background .25s ease;
padding-left: 4px; z-index: 2;}
.video-thumb-wrap:hover .video-play-btn {transform: translate(-50%,-50%) scale(1.12);background: #ffffff;color: var(--blue);border-color: #ffffff;}
/* ============================================================
   back to top
   ============================================================ */
#backTop {position: fixed;right: 24px; bottom: 28px;width: 42px; height: 42px;background: var(--blue);color: #fff;border-radius: 4px;display: flex; align-items: center; justify-content: center;font-size: 18px;opacity: 0;visibility: hidden;transform: translateY(8px);transition: var(--trans);z-index: 9999;box-shadow: 0 4px 16px rgba(2, 60, 82,.45);}
#backTop.show { opacity: 1; visibility: visible; transform: none; }
#backTop:hover { background: var(--clr-orange2); }

/* ============================================================
   mobile nav drawer
   ============================================================ */ 
.mob-nav-drawer .mob-dd-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:0 0;border:none;cursor:pointer;padding:12px 0;border-bottom:1px solid #D8D8D8;font-family:var(--fontbody);font-weight:500;font-size:16px;color:var(--blue);transition:color .25s}
.mob-nav-drawer .mob-dd-toggle:hover{color:var(--blue)}
.mob-nav-drawer .mob-dd-toggle .mob-dd-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:3px;font-size:14px;flex-shrink:0;transition:transform .28s ease,background .25s}
.mob-nav-drawer .mob-dd-toggle.open .mob-dd-icon{transform:rotate(45deg);background:#D8D8D8;border-color:var(--blue)}
.mob-nav-drawer .mob-dd-menu{max-height:0;overflow:hidden;transition:max-height .4s ease;display:block!important}
.mob-nav-drawer .mob-dd-menu li a{padding:9px 0 9px 16px;font-size:16px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.04);color:var(--blue)!important}
.mob-nav-drawer .mob-dd-menu li a:hover{color:var(--blue)!important}
.mob-nav-drawer {position: fixed;top: 0; left: -300px;width: 300px; height: 100%;
background: var(--silver);z-index: 9999;padding: 24px;transition: left .35s ease;
overflow-y: auto;}
.mob-nav-drawer.open { left: 0; }
.mob-nav-overlay {position: fixed; inset: 0;background: rgba(0,0,0,.55);z-index: 9998;display: none;}
.mob-nav-overlay.show { display: block; }
.mob-nav-drawer ul li a {display: block;font-family: var(--fontbody);font-weight: 500;font-size: 16px;color: var(--blue);padding: 12px 0;border-bottom: 1px solid #D8D8D8;}
.mob-nav-drawer ul li a:hover { color: var(--blue); }
.mob-close {background: none; border: none; color: var(--blue); font-size: 22px; cursor: pointer;margin-bottom: 20px; display: block;}

/* ============================================================
   scroll reveal
   ============================================================ */
.sr { opacity: 0; transform: translateY(30px); transition: opacity .65s ease, transform .65s ease; }
.sr.sr-left { transform: translateX(-30px); }
.sr.sr-right { transform: translateX(30px); }
.sr.visible { opacity: 1; transform: none; }
.sr-delay-1 { transition-delay: .1s; }
.sr-delay-2 { transition-delay: .2s; }
.sr-delay-3 { transition-delay: .3s; }

/* ============================================================
   inner pages — shared across all sub-pages
   ============================================================ */
.fluid0 {padding: 0;margin: 0;}
/* Inner page body padding */
.inner-page { padding: 80px 0; }
.inner-page-sm { padding: 60px 0; }
/* Section divider line */
.sec-divider {width: 48px; height: 3px;background: var(--blue);margin: 14px 0 22px;border-radius: 2px;}
.sec-divider.center { margin: 14px auto 22px; }
/* ── about Us page ── */
.about-highlight-box {background: var(--blue);color: #fff;border-radius: 6px;padding: 28px 30px;margin-bottom: 24px;}
.about-highlight-box h4 { color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.about-highlight-box p { font-size: 16px; line-height: 1.8; color: rgba(255,255,255,.85); margin: 0; }
.about-value-item {display: flex;gap: 16px;align-items: flex-start;border-bottom: 1px solid var(--clr-border);}
.about-value-icon {width: 48px; height: 48px;background: rgba(1,105,144,.1);border-radius: 5px;display: flex; align-items: center; justify-content: center;color: var(--blue); font-size: 20px;flex-shrink: 0;}
.about-value-item h5 { font-size: 17px; font-weight: 700; margin-bottom: 4px; color: var(--gray); }
.about-value-item p { font-size: 16px; color: var(--lgray); margin: 0; line-height: 1.65; }
/* Certification logos grid */
.cert-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)); gap: 20px; }
.cert-item {border: 1px solid var(--clr-border);border-radius: 6px;padding: 24px 20px;text-align: center;transition: var(--trans);}
.cert-item:hover { border-color: var(--blue); box-shadow: 0 6px 24px rgba(1,105,144,.12); }
.cert-item i { font-size: 36px; color: var(--blue); display: block; margin-bottom: 12px; }
.cert-item h6 { font-size: 13px; font-weight: 700; margin: 0; color: var(--gray); line-height: 1.4; }
/* Chairman message box */
.chairman-quote {border-left: 4px solid var(--blue);padding: 20px 24px;background: var(--clr-light);border-radius: 0 6px 6px 0;font-style: italic;color: var(--lgray);line-height: 1.85;margin: 28px 0;}
/* ── clients page ── */
.clients-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(160px,1fr));gap: 16px;}
.client-item {border: 1px solid var(--clr-border);border-radius: 6px;padding: 20px 16px;display: flex;align-items: center;justify-content: center;min-height: 100px;transition: var(--trans);}
.client-item:hover { border-color: var(--blue); box-shadow: 0 6px 20px rgba(1,105,144,.1); }
.client-item img { max-height:120px; width: auto; transition: var(--trans); }
.client-item:hover img { filter: none; }

/* ── careers page ── */
.job-card {border: 1px solid var(--clr-border);border-radius: 6px;padding: 24px 28px;margin-bottom: 16px;transition: var(--trans);background: #fff;}
.job-card:hover { border-color: var(--blue); box-shadow: 0 6px 24px rgba(1,105,144,.1); transform: translateY(-2px); }
.job-title { font-size: 17px; font-weight: 700; color: var(--gray); margin-bottom: 8px; }
.job-meta { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.job-meta span { font-size: 13px; color: var(--lgray); display: flex; align-items: center; gap: 5px; }
.job-meta i { color: var(--blue); }
.job-desc { font-size: 16px; color: var(--lgray); line-height: 1.7; margin-bottom: 16px; }
.job-apply-btn {display: inline-flex; align-items: center; gap: 8px;color: var(--blue);font-family: var(--fonthead); font-weight: 700; font-size: 16px;
 padding: 10px 22px; border-radius: 4px; transition: var(--trans); text-decoration: none;}
.job-apply-btn:hover { background: transparent; color: var(--blue); }
.careers-cta-box {background: var(--blue);background-image: linear-gradient(rgba(1,105,144,.60), rgba(1,105,144,.60)), url('../img/contactctabg.jpg');background-size: cover;background-position: center;border-radius: 8px;padding: 36px 40px;text-align: center;margin-top: 40px;}
.careers-cta-box h4 { color: #fff; font-size: 20px; margin-bottom: 8px; }
.careers-cta-box p { color: #fff; margin-bottom: 20px; font-size: 16px; }
.btn-white {display: inline-flex; align-items: center; gap: 8px;background: #fff; color: var(--blue);font-family: var(--fonthead); font-weight: 700; font-size: 14px;padding: 12px 28px; border-radius: 4px;border: 2px solid #fff; transition: var(--trans); text-decoration: none;}
.btn-white:hover { background: transparent; color: #fff; }

/* ── Media / News page ── */
.news-card {background: #fff;border-radius: 6px;overflow: hidden;box-shadow: 0 4px 18px rgba(0,0,0,.07);transition: var(--trans);height: 100%;}
.news-card:hover { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(0,0,0,.12); }
.news-card-img { height: 220px; overflow: hidden; }
.news-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; display: block; }
.news-card:hover .news-card-img img { transform: scale(1.06); }
.news-card-body { padding: 22px 22px 20px; }
.news-card-date { font-size: 12px; color: var(--blue); font-weight: 600; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 8px; display: block; }
.news-card-title { font-size: 16px; font-weight: 700; color: var(--gray); margin-bottom: 10px; line-height: 1.45; }
.news-card-title a { color: var(--gray); }
.news-card-title a:hover { color: var(--blue); }
.news-card-desc { font-size: 13px; color: var(--lgray); line-height: 1.7; margin-bottom: 14px; }
.news-readmore { font-size: 13px; font-weight: 700; color: var(--blue); display: inline-flex; align-items: center; gap: 5px; transition: var(--trans); text-decoration: none; }
.news-readmore:hover { gap: 9px; color: var(--gray); }

/* ── contact page ── */
.contact-info-item {display: flex; gap: 18px; align-items: flex-start;padding: 20px 0;border-bottom: 1px solid var(--clr-border);}
.contact-info-item:last-child { border-bottom: none; }
.contact-icon {width: 52px; height: 52px;background: var(--blue);border-radius: 5px;display: flex; align-items: center; justify-content: center;color: #fff; font-size: 20px;flex-shrink: 0;}
.contact-info-item h5 {font-size: 17px;font-weight: 700;margin-bottom: 4px;color: var(--gray);}
.contact-info-item p, .contact-info-item a { font-size: 16px;color: var(--lgray);
margin: 0;line-height: 1.65;}
.contact-info-item a:hover { color: var(--blue); }
/* ── location office cards ── */
.office-cards-row {display: grid;grid-template-columns: repeat(3, 1fr);gap: 28px;}
.office-card {border-radius: 12px;overflow: hidden;box-shadow: 0 4px 28px rgba(0,0,0,0.08);background: #fff;display: flex;flex-direction: column;transition: transform 0.28s ease, box-shadow 0.28s ease;}
.office-card:hover {transform: translateY(-5px); box-shadow: 0 10px 40px rgba(0,0,0,0.13);}
.office-card-header {background: var(--blue);padding: 22px 28px 18px;display: flex;align-items: center;gap: 14px;}
.office-card-header .flag-icon {width: 44px; height: 44px;border-radius: 50%;background: rgba(255,255,255,0.18); color:var(--silver);display: flex; align-items: center; justify-content: center;font-size: 13px;flex-shrink: 0;}
.office-card-header span {color: rgba(255,255,255,0.75);font-size: 13px;display: block;margin-top: 2px;}
.office-card-body {padding: 24px 28px;flex: 1;display: flex;flex-direction: column;justify-content: space-between;}
.office-card-body .contact-info-item:nth-child(2) {min-height: 120px;}

.btn-submit {width: 100%; padding: 14px;background: var(--blue); color: #fff; border: none;font-family: var(--fonthead); font-weight: 700; font-size: 15px;border-radius: 4px; cursor: pointer; transition: var(--trans);letter-spacing: .5px;}
.btn-submit:hover { background: var(--dblue); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(1,105,144,.3); }
.map-wrap { border-radius: 8px; overflow: hidden; margin-top: 40px; }
.map-wrap iframe { width: 100%; height: 380px; border: none; display: block; }
/* Org chart box */
.org-chart-wrap { text-align: center; padding: 40px 0; }
.org-level { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px; position: relative; }
.org-box {background: var(--blue); color: #fff;padding: 14px 22px; border-radius: 5px; min-width: 160px;font-family: var(--fonthead); font-weight: 700; font-size: 13px;text-align: center; line-height: 1.35;}
.org-box.secondary { background: var(--clr-light); color: var(--gray); border: 1px solid var(--clr-border); }
.org-box.tertiary { background: #fff; color: var(--lgray); border: 1px solid var(--clr-border); font-weight: 500; }

/* ============================================================
   contracting inner pages — sidebar + content layout
   ============================================================ */
/* Sidebar nav */
.contracting-sidenav {position: sticky;top: 90px;}
.sidenav-heading {background: var(--blue);color: #fff;padding: 14px 20px;border-radius: 6px 6px 0 0;margin: 0;font-size: 16px;font-weight: 700;letter-spacing: .5px;}
.sidenav-list {border: 1px solid var(--clr-border);border-top: none;border-radius: 0 0 6px 6px;overflow: hidden;margin: 0;}
.sidenav-link {display: flex;align-items: flex-start;gap: 8px;padding: 12px 16px;
font-size: 15px;font-weight: 500;color: var(--lgray);border-left: 3px solid transparent;border-bottom: 1px solid var(--clr-border);transition: var(--trans);text-decoration: none;line-height: 1.4;}
.sidenav-list li:last-child .sidenav-link { border-bottom: none; }
.sidenav-link i { color: var(--blue); flex-shrink: 0; margin-top: 2px; }
.sidenav-link:hover { color: var(--blue); background: rgba(1,105,144,.05); border-left-color: var(--blue); padding-left: 20px; }
.sidenav-link.active { color: var(--blue); background: rgba(1,105,144,.07); border-left-color: var(--blue); font-weight: 600; }
/* Quick contact box in sidebar */
.sidenav-contact-box {background: var(--blue);background-image: linear-gradient(rgba(1,105,144,.60), rgba(1,105,144,.60)), url('../img/contactctabg.jpg');border-radius: 6px;padding: 22px;text-align: center;}
.sidenav-contact-box h6 { font-size: 16px; font-weight: 700; margin-bottom: 8px; color: var(--white); }
.sidenav-contact-box p { font-size: 15px; color: var(--white); margin-bottom: 16px; line-height: 1.6; }
.contracting-heading {font-size: 24px;font-weight:600;color: var(--lgray);display: flex;align-items: center;}
.contracting-heading i { color: var(--blue); }
/* Icon list used inside contracting pages */
.icon-list li {display: flex;align-items: flex-start;gap: 10px;padding: 7px 0;
font-size: 16px;color: var(--lgray);border-bottom: 1px solid var(--clr-border);}
.icon-list li i { color: var(--blue); flex-shrink: 0; margin-top: 3px; }
/* ── Gallery image utilities (replaces inline styles) ── */
.img-shadow { box-shadow: 0 12px 36px rgba(0,0,0,.13); }
.gal-img-tall {  object-fit: cover; width: 100%; display: block; }
.gal-img-med  {  object-fit: cover; width: 100%; display: block; }

/******************************** Media Query Starts ********************************/

@media (max-width: 320px){
.hse-4r-inline{gap: 0px;}
}
@media (max-width: 400px) {
.cht-item { flex: 0 0 100%; }
}
@media (max-width: 576px) {
.chooseus-metrics { flex-direction: column; gap: 16px; text-align: center; }
.chooseus-metric-divider { width: 60px; height: 1px; }
}
@media (max-width: 600px) {
.cht-item { flex: 0 0 100%; }
.cht-year { font-size: 28px; }
.cht-btn {width: 36px;height: 36px;}
.isvc-grid{grid-template-columns:1fr;}
.proj-grid{grid-template-columns:1fr;}
.proj-item{height:260px;}
.proj-heading{font-size:24px;}
}
@media (max-width:767px){
.sec-title { font-size: 24px; }
.request-bar .rb-inner { flex-direction: column; text-align: center; gap: 12px; }
.srv-tabs-nav { flex-wrap: wrap; }
.newsletter-section .d-flex { flex-direction: column; gap: 16px; }
.newsletter-form { margin-left: 0; max-width: 100%; }
.contact-card { padding: 24px; }
#topbar { display: none; }
.hero-side-strip{display:none}
.hero-title{font-size:24px}
.hero-slides-area{min-height:420px}
.hero-slide .row{min-height:500px}
.hero-counter-dots{right:14px}
.hero-nav-arrows{left:16px;bottom:18px}
.about-img-main{height:280px}
.about-img-main-wrap{width:100%}
.about-stats-row{position:static;margin-top:20px;padding-top:16px;border-top:2px solid var(--clr-border)}
.about-imgs-wrap{padding-bottom:0}
.about-tab-btn{font-size:13px;margin-right:12px}
.about-main-title{font-size:24px}
.page-banner-title { font-size: 1.8rem; }
.inner-page { padding: 50px 0; }
.cert-grid { grid-template-columns: repeat(2, 1fr); }
.clients-grid { grid-template-columns: repeat(2, 1fr); }
.hse-modal-img-wrap { height: 300px; }
.hse-modal-btn { width: 30px; height: 30px; font-size: 15px; }
.isvc-grid{grid-template-columns:repeat(1,1fr);}
}	
@media (max-width:991px){
.hero-outer-wrap{display:none}
.hero-side-strip{width:40px;min-width:40px}
.hero-slide-num .hero-num-current{font-size:20px}
.hero-title{font-size:30px}
.hero-slides-area{min-height:500px}
.hero-slide .row{min-height:80px}
/****mobile hero banner***/
.job-apply-btn {    padding: 10px 0;}
.mob-hero { display: block; }
.mob-hero-slides {position: relative;width: 100%;height: 70vh;min-height: 500px;
overflow: hidden;background: #0a0e1a;}
.mob-hero-slide {position: absolute;inset: 0;background-size: cover;background-position: center top;background-repeat: no-repeat;opacity: 0;pointer-events: none;transition: opacity .75s ease;}
.mob-hero-slide.active {opacity: 1;pointer-events: auto;}
.mob-hero-overlay {position: absolute;inset: 0;background: linear-gradient(to top,rgba(5,14,35,.92) 0%,rgba(5,14,35,.55) 50%,rgba(5,14,35,.2) 100%);}
.mob-hero-content {position: absolute;bottom: 200px;left: 0; right: 0;padding: 0 24px; z-index: 2;}
.mob-hero-sub {font-size: 11px;font-weight: 700;letter-spacing: 2.5px;text-transform: uppercase;color: var(--yellow);margin-bottom: 12px;}
.mob-hero-title {font-size: 28px;font-weight: 800;color: #fff;line-height: 1.25;margin-bottom: 20px;}
.mob-hero-dots {position: absolute;bottom: 54px;left: 50%;transform: translateX(-50%);display: flex;gap: 8px;z-index: 10;}
.mob-hero-dot {width: 8px; height: 8px;border-radius: 50%;background: rgba(255,255,255,.35);cursor: pointer;transition: background .3s ease, transform .3s ease;}
.mob-hero-dot.active {background: var(--blue);transform: scale(1.3);}
.mob-hero-arrows {position: absolute;bottom: 40px;right: 20px;display: flex;gap: 8px;z-index: 10;}
.mob-hero-btn {width: 38px; height: 38px;border: 1.5px solid rgba(255,255,255,.3);border-radius: 50%;background: rgba(255,255,255,.07);color: #fff;font-size: 15px;cursor: pointer;display: flex; align-items: center; justify-content: center;transition: background .3s ease, border-color .3s ease;backdrop-filter: blur(4px);}
.mob-hero-btn:hover {background: var(--blue);border-color: var(--blue);}
.align-items-center {align-items: flex-start !important;}
.header-nav, .header-phone { display: none; }
.mob-toggle { display: block; margin-left: auto; }
.hero-title { font-size: 32px; }
.chooseus-img2 { position: static; width: 100%; margin-top: 16px; border: none; }
.chooseus-imgs { min-height: auto; }
.about-box { position: static; margin-top: 20px; display: inline-flex; }
.about-icon-badge { display: none; } 
.sec-pad { padding: 0 0 50px 0; }
.sec-padtb { padding: 30px 0 30px 0; }
.hero-slide { min-height: 900px; }
.hero-content {    padding:  50px 0;}
.contracting-sidenav { position: static; margin-bottom: 32px; }
.job-card {padding: 13px;}
.card-box-blue {    padding: 20px;}
.cardbox, .cardbox-grey {    padding: 20px;}
.cert-item {    padding: 20px 20px;}
.header-logo img {    height: 44px;}
.service-icon-list li{align-items: flex-start;}
.contantheadline{align-items: center !important;}
.office-cards-row { grid-template-columns: 1fr; }
.about-img-secondary-wrap{position:static;width:100%;margin-top:14px;border:none}
.about-imgs-wrap{padding-bottom:110px}
.about-main-title{font-size:28px}
.about-stat-num{font-size:36px}
.about-stat-plus{font-size:24px}
.cht-item { flex: 0 0 50%; }
.cht-year { font-size: 32px; }
.proj-grid{grid-template-columns:repeat(2,1fr);}
.proj-item{height:300px;}
.proj-header{padding:0 20px 28px;}
.testimonials-split-section .ts-row { min-height: auto; }
.testimonials-split-section .ts-left { min-height: 380px; }
.testimonials-split-section .ts-right { display: none; }
.testimonials-split-section .ts-card-wrap {position: relative;top: auto; left: auto;transform: none;width: 100%;margin: -60px 0 0;padding: 0 20px 40px;z-index: 10;}
.testimonials-split-section .ts-heading { font-size: 1.8rem; }
.testimonials-split-section .ts-left-inner { padding: 60px 8%; }
.chooseus-img2 { position: static; width: 100%; margin-top: 16px; border: none; }
.chooseus-imgs  { min-height: auto; }
.chooseus-title { font-size: 24px; }
.hse-modal-box{top: 10%;}
.hse-visual { padding: 36px 24px 32px; }
.hse-vis-num { font-size: 38px; }
.office-card-body .contact-info-item:nth-child(2) {min-height: auto;}
}

@media (min-width: 768px) and (max-width: 991px) {
  .office-cards-row { grid-template-columns: repeat(1, 1fr); }
  .isvc-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width: 992px){
  .custom-mt{ margin-top: var(--bs-gutter-y) !important;}
}
@media screen and (min-width:992px) and (max-width:1439px){
  /* Phone box hidden — nav shifts right to fill the space */
  .header-right { display: none !important; }
  .header-nav { justify-content: flex-end; }
  .job-card {padding: 18px;}
}
@media screen and (min-width:992px) and (max-width:1199px){
.header-nav ul li a {font-weight: 400;font-size: 14px; padding: 10px 8px;}
.header-logo img{width:180px; height:auto}
.chooseus-img2{bottom: -21px; width: 84%;}
.office-card-header{min-height: 130px;}
.office-card-body .contact-info-item:first-child { min-height:332px;}
}
@media screen and (min-width:1200px) and (max-width:1399px){
.header-nav ul li a {font-weight: 400;font-size: 16px; padding: 10px 12px;}
.header-logo img{width:200px; height:auto}
.office-card-body .contact-info-item:first-child { min-height:250px;}
}
@media screen and (min-width:1400px) and (max-width:1499px){
.header-nav ul li a {font-weight: 500;font-size: 17px; padding: 10px 13px;}
.office-card-body .contact-info-item:first-child { min-height:223px;}
}
@media screen and (min-width: 1500px) {
.header-nav ul li a {padding: 10px 15px;}
}
@media screen and (min-width:1440px) and (max-width:1899px){
.header-right { display: none !important; } 
.header-nav { justify-content: flex-end; }
}
@media screen and (min-width: 1500px) and (max-width:1899px){
.office-card-body .contact-info-item:first-child { min-height:200px;}
}


