@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');



@font-face {

    font-family: 'helvatica-bold';

    src: url('../fonts/Helvetica-Bold.ttf');

}



@font-face {

    font-family: 'helvatica-b-obli';

    src: url('../fonts/Helvetica-BoldOblique.ttf');

}



@font-face {

    font-family: 'helvatica-obli';

    src: url('../fonts/Helvetica-Oblique.ttf');

}



@font-face {

    font-family: 'helvatica';

    src: url('../fonts/Helvetica.ttf');

}



@font-face {

    font-family: 'helvatica-com';

    src: url('../fonts/helvetica-compressed-5871d14b6903a.otf');

}



@font-face {

    font-family: 'helvatica-light';

    src: url('../fonts/helvetica-light-587ebe5a59211.ttf');

}



@font-face {

    font-family: 'helvatica-r-bold';

    src: url('../fonts/helvetica-rounded-bold-5871d05ead8de.otf');

}







*,

*::after,

*::before {

    padding: 0;

    margin: 0;

    box-sizing: border-box;

}





:root {

    --font-roboto: "Roboto", sans-serif;



    --hevatica: "helvatica", sans-serif;

    --h-bold: "helvatica-bold", sans-serif;

    --h-b-obli: "helvatica-b-obli", sans-serif;

    --h-obli: "helvatica-obli", sans-serif;

    --h-com: "helvatica-com", sans-serif;

    --h-light: "helvatica-light", sans-serif;

    --h-r-bold: "helvatica-r-bold", sans-serif;



    --bg-gradient: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    --text-white: #ffffff;

    --bg-light: #DEE6FF99;

    --text-dark: #333132;

    --bg-gray: #F2F2F2;





    --lh-100: 100%;



    --transition: all .4s ease;



}



@media (min-width: 1200px) {



    .container,

    .container-lg,

    .container-md,

    .container-sm,

    .container-xl {

        max-width: 1440px;

    }

}



html,

body {

    overscroll-behavior: none;

}



body {

    font-family: var(--font-roboto);

}



h1,

h2,

h3,

h4,

h5,

h6 {

    font-family: var(--hevatica);

}



h1 {

    font-family: var(--h-bold);

    font-size: 82px;

}



h2 {

    font-family: var(--h-bold);

    font-size: 42px;

}



p {

    font-weight: 400;

    font-size: 16px;

    line-height: normal;

}



a {

    text-decoration: none;

    color: inherit;

}



.ep-btn-white,

.ep-tag,

.ep-btn {

    display: flex;

}



.ep-btn a {

    background: var(--bg-gradient);

    padding: 14px 20px;

    display: flex;

    gap: 5px;

    align-items: center;

    font-size: 16px;

    font-weight: 400;

    line-height: var(--lh-100);

    color: var(--text-white);

    transition: all .44s ease;

}



.ep-btn-white a:hover span,

.ep-btn-white button:hover span,

.ep-btn a:hover span {

    transform: translate(2px, -2px);

    transition: all .44s ease;

}



.ep-btn a span {

    margin-top: -2px;

    transition: all .44s ease;

}



.ep-btn-white a,

.ep-btn-white button {

    background: var(--text-white);

    padding: 14px 20px;

    display: flex;

    gap: 10px;

    align-items: center;

    font-size: 16px;

    font-weight: 400;

    line-height: var(--lh-100);

    transition: all .44s ease;

    position: relative;

    z-index: 2;

}







.ep-btn-white a p,

.ep-btn-white button p {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

    padding: 0;

    margin: 0;

}



.ep-btn-white button {

    border: none;

}





.ep-btn-white a span {

    margin-top: -2px;

    transition: all .44s ease;

    position: relative;

    z-index: 1;

}



.ep-tag {

    margin-bottom: 25px;

}



.ep-tag span {

    background-color: var(--bg-light);

    padding: 8px 18px 8px 18px;

    border-radius: 48px;

    font-size: 14px;

    line-height: var(--lh-100);

    color: var(--text-dark);

    display: flex;

    gap: 5px;

    align-items: center;

    font-weight: 500;

}



.ep-tag span .dot {

    width: 11px;

    height: 11px;

    background: var(--bg-gradient);

    border-radius: 50%;

    margin-top: -2px;

}







/* Navbar Start */



.ep-header-wrapper {

    background-color: var(--bg-gray);

    margin: 21px 0;

    /* border-radius: 12px; */

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 14px 14px;

    box-shadow: 0 1px 20px 0px #76767657;

}



.logo a {

    font-family: var(--h-bold);

    font-size: 28px;

    line-height: var(--lh-100);

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;



    width: 150px;

    display: flex;

    align-items: center;

    justify-content: center;

}



.logo a img{

    width: 100%;

}



.ep-nav-links .ep-links {

    list-style: none;

    padding-left: 0;

    margin-bottom: 0;

    display: flex;

    gap: 10px;

    align-items: center;

    position: relative; /* needed for pill positioning */

}



.ep-nav-links .ep-links li a {

    position: relative;

    z-index: 1;

    color: #999999;

    font-size: 16px;

    line-height: var(--lh-100);

    padding: 10px 20px;

    border: 1px solid transparent;

    border-radius: 50px;

    transition: color 0.2s ease;

}



.ep-nav-links .ep-links li a.active span {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

}



.ep-nav-links .ep-links li a:hover span {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

}



.ep-nav-links .ep-links li a:hover {

    border: 1px solid transparent;

    border-radius: 50px;

    font-weight: 400;

}



/* ── Gliding Pill ───────────────────────────────────────── */

.ep-nav-pill {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    height: 40px;

    border-radius: 50px;

    border: 1px solid transparent;

    background:

        linear-gradient(white, white) padding-box,

        linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%) border-box;

    pointer-events: none;

    transition: left 0.38s cubic-bezier(.45, 1.4, .55, 1),

                width 0.38s cubic-bezier(.45, 1.4, .55, 1),

                opacity 0.22s ease;

    opacity: 0;

    z-index: 0;

    list-style: none;

}



/* Dropdown Submenu */



/* .ep-nav-links .ep-links li {

    position: relative;

} */



.ep-nav-links .ep-links li ul {

    list-style: none;

    padding: 8px;

    margin: 0;

    position: absolute;

    top: calc(100% + 25px);

    left: 0;

    /* transform: translateX(-50%); */

    /* transform: translateY(6px); */

    min-width: 180px;

    background-color: var(--text-white);

    border: 1px solid transparent;

    background:

        linear-gradient(white, white) padding-box,

        linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%) border-box;

    color: #2F6BFF;

    z-index: 999;



    /* Hidden by default */

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform: translateX(-50%) translateY(6px);

    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;

}



.ep-nav-links .ep-links li ul {

    left: auto;

    right: auto;

    transform: translate(10px, 10px) !important;

}



/* Arrow pointer on top of dropdown */

.ep-nav-links .ep-links li ul::before {

    content: '';

    position: absolute;

    top: -30px;

    left: 50%;

    transform: translateX(-50%);

    width: 100%;

    height: 30px;

    background-color: transparent;

}



/* Show on hover */

.ep-nav-links .ep-links li:hover > ul,

.ep-nav-links .ep-links li.active > ul {

    opacity: 1;

    visibility: visible;

    pointer-events: all;

    transform: translateX(-50%) translateY(0);

}



.ep-nav-links .ep-links li ul li {

    display: block;

    width: 100%;

}



.ep-nav-links .ep-links li ul li a {

    display: block;

    color: #999999;

    font-size: 16px;

    padding: 9px 14px;

    border-radius: 8px;

    white-space: nowrap;

    border: 1px solid transparent;

    transition: background 0.18s ease, color 0.18s ease;

}



.ep-nav-links .ep-links li ul li a:hover {

    background: #f0f3ff;

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

}



/* Chevron icon on parent link */

.ep-nav-links .ep-links li:has(> ul) > a::after {

    content: '';

    display: inline-block;

    margin-left: 6px;

    width: 7px;

    height: 7px;

    border-right: 1.5px solid #999;

    border-bottom: 1.5px solid #999;

    rotate: 45deg;

    translate: 0 -2px;

    transition: rotate 0.2s ease;

    display: none;

}



.ep-nav-links .ep-links li:has(> ul):hover > a::after {

    rotate: 225deg;

    translate: 0 2px;

}

/* Keep Services link text gradient while submenu is open */

.ep-nav-links .ep-links li:hover > a span {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

}



/* Submenu active link */

.ep-nav-links .ep-links li ul li a.active {

    background:

        linear-gradient(white, white) padding-box,

        linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%) border-box;

    border: 1px solid transparent;

    border-radius: 8px;

    font-weight: 600;

}



.ep-nav-links .ep-links li ul li a.active span,

.ep-nav-links .ep-links li ul li a.active {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

    -webkit-background-clip: text;

}









/* Navbar End */



/* Footer Start */



.ep-footer {

    background-color: #111827;

}



.ep-footer-wrapper {

    padding: 58px 0;

    display: grid;

    grid-template-columns: 2fr 1fr 1fr 1.5fr;

    grid-template-rows: auto;

    gap: 10px;

}



.ep-footer-logo .footer-logo {

    display: flex;

    flex-direction: column;

    margin-bottom: 40px;

}



.ep-footer-logo .footer-logo a {

    color: var(--text-white);

    font-size: 28px;

    line-height: var(--lh-100);

    font-family: var(--h-bold);

    margin-bottom: 15px;

}



.ep-footer-logo .footer-logo span {

    color: var(--text-white);

    font-size: 14px;

    /* line-height: var(--lh-100); */

    font-weight: 300;

}



.ep-footer-logo .ep-footer-social {

    display: flex;

    gap: 20px;
    display: none;

}



.ep-footer-link {

    display: flex;

    flex-direction: column;

    gap: 15px;

}



.ep-footer-link h4 {

    color: var(--text-white);

    font-size: 16px;

    line-height: var(--lh-100);

    font-family: var(--h-bold);

}



.ep-footer-link ul {

    list-style: none;

    padding-left: 0;

    margin-bottom: 0;

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.ep-footer-link ul li a {

    color: var(--text-white);

    font-size: 14px;

    line-height: var(--lh-100);

    transition: var(--transition);

    font-weight: 300;

}



.ep-footer-link ul li a:hover {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

    transition: var(--transition);

}



.ep-footer-copy {

    border-top: 1px solid rgba(255, 255, 255, 0.3);

    padding: 15px 0 30px 0;

}



.ep-footer-copy span {

    color: var(--text-white);

    font-size: 14px;

    line-height: var(--lh-100);

    font-weight: 300;

}



/* Footer End */





/* Hero Section Start */



.ep-hero-wrapper {

    min-height: 650px;

    background-image: url('../images/h-banner.webp');

    background-size: cover;

    background-position: center 90%;

    background-repeat: no-repeat;

    padding: 100px 50px 50px 50px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    position: relative;

    gap: 30px;

}



.ep-hero-wrapper::after {

    position: absolute;

    inset: 0;

    content: '';

    background: #00000029;

}



.ep-hero-wrapper .ep-hero-top-content {

    max-width: 416px;

    width: 100%;

    position: relative;

    z-index: 1;

}



.ep-hero-wrapper .ep-hero-top-content p {

    font-size: 16px;

    font-weight: 400;

    color: var(--text-white);

    line-height: normal;

}



.ep-hero-wrapper .ep-hero-top-content a {

    font-size: 20px;

    color: var(--text-white);

    text-decoration: underline;

    display: flex;

    gap: 10px;

    text-transform: capitalize;

    transition: var(--transition);

    font-weight: 400;

}



.ep-hero-wrapper .ep-hero-top-content a span {

    transition: var(--transition);

}



.ep-hero-wrapper .ep-hero-top-content a:hover span {

    transform: translate(2px, -2px);

    transition: var(--transition);

}



.ep-hero-top-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    position: relative;

    z-index: 1;

}



.ep-hero-top-bottom .ep-h-left {

    max-width: 200px;

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 20px;

}



.ep-hero-top-bottom .ep-h-left .ep-thumb {

    display: flex;

}



.ep-hero-top-bottom .ep-h-left .ep-thumb img:nth-child(2) {

    transform: translateX(-20px);

}



.ep-hero-top-bottom .ep-h-left .ep-thumb img:nth-child(3) {

    transform: translateX(-40px);

}



.ep-hero-top-bottom .ep-h-left span {

    font-family: var(--h-bold);

    font-size: 82px;

    line-height: 100%;

    color: var(--text-white);

}



.ep-hero-top-bottom .ep-h-right {

    max-width: 833px;

    width: 100%;

}



.ep-hero-top-bottom .ep-h-right h1 {

    text-align: right;

    color: var(--text-white);

}

.ep-h-right .ep-hero-top-content{
    margin-left: auto;
    max-width: 100%;
    display: flex;
    justify-content: end;
}



/* Hero Section End */





/* Company section start */



.company {

    padding: 100px 0;

}



.ep-title-wrapper {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: auto;

    gap: 20px;

    align-items: end;

}



.ep-title-left p {

    color: #6B7280;

}



.ep-title-right {

    display: flex;

    flex-direction: column;

    align-items: end;

}



.ep-title-right h2 {

    text-align: right;

    line-height: normal;

}



.ep-c-img-wrapper {

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    align-items: center;

    margin-top: 50px;

}



.ep-c-img {

    max-width: 740px;

    width: 100%;

    display: grid;

    grid-template-columns: 1fr 1fr;

    grid-template-rows: auto;

    gap: 20px;

}



.ep-c-new-big-img{

    grid-template-columns: 1fr;

}



.ep-c-img .ep-img-card {

    height: 334px;

    position: relative;

    padding: 12px;

    overflow: hidden;

}



.ep-c-img .ep-img-card:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-c-img .ep-img-card::after {

    position: absolute;

    content: '';

    inset: 0;

    background: #00000046;



}



.ep-c-img .ep-img-card img {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    z-index: 0;

    transition: var(--transition);

}



.ep-c-img .ep-img-card span {

    position: relative;

    z-index: 2;

    color: #2F6BFF;

    padding: 10px 20px;

    display: inline-flex;

}



.ep-c-img .ep-img-card span p {

    margin: 0;

    padding: 0;

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;
    font-size: 14px;

}



.ep-c-img .ep-img-card span::after {

    position: absolute;

    content: '';

    inset: 0;

    border: 1px solid transparent;

    border-radius: 50px;



    background:

        linear-gradient(white, white) padding-box,

        linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%) border-box;

    z-index: -1;

}



.ep-c-img-content {

    max-width: 510px;

    width: 100%;

}



.ep-c-img-content p {

    text-align: right;

    color: var(--text-dark);

}



/* Company section end */



/* Company V2 section Start */



.custom-bg-grey {

    background-color: var(--bg-gray);

}



.company-v2 .ep-title-left {

    order: 2;

    text-align: right;

}



.company-v2 .ep-title-right {

    order: 1;

    align-items: flex-start;

}



.company-v2 .ep-title-right h2 {

    text-align: left;

}



.company-v2 .ep-c-img-wrapper {

    flex-direction: row-reverse;

}



.company-v2 .ep-c-img-content p {

    text-align: left;

}



/* Company V2 section End */



/* Construction & Infrastructure Start */



.ep-ci-section {

    padding: 100px 0;

}



.ep-ci-title-wrapper {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: auto;

    gap: 80px;

}



.ep-ci-title-wrapper .ep-ci-t-left {

    padding-top: 10px;

}



.ep-ci-content-wrapper {

    display: grid;

    margin-top: 50px;

    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: auto;

    gap: 80px;

}



.ep-ci-content-right {

    display: flex;

    flex-direction: column;

    gap: 50px;

}



.ep-ci-content-left {

    height: max-content;

    overflow: hidden;

}



.ep-ci-content-left:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-ci-content-left img {

    width: 100%;

    transition: var(--transition);

}



.ep-ci-content-right .ep-ci-c-card {

    display: flex;

    gap: 20px;

}



.ep-ci-content-right .ep-ci-c-card .ep-card-c-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--bg-gradient);

    border-radius: 50%;

    margin-top: 4px;

}



.ep-ci-content-right .ep-ci-c-card .ep-card-c-title h4 {

    font-weight: 400;

    font-size: 20px;

    color: var(--text-dark);

}



.ep-ci-content-right .ep-ci-c-card .ep-card-c-title p {

    font-size: 16px;

    color: #6B7280;

}





/* Construction & Infrastructure End */



/* Vision & Mission Section Start */



.ep-vm-section .container-fluid {

    padding: 0;

    margin: 0;

}



.ep-vm-wrapper {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: auto;

}



.ep-vm-wrapper .ep-vm-card {

    padding: 100px;

    display: flex;

    flex-direction: column;

    gap: 50px;

    text-align: center;

    align-items: center;

    padding-right: calc(var(--bs-gutter-x) * .5);

    padding-left: calc(var(--bs-gutter-x) * .5);

}



.ep-vm-wrapper .ep-vm-card p {

    max-width: 440px;

    width: 100%;

    color: var(--text-dark);

}



/* Vision & Mission Section End */





/* Why Choose Us Start */





.ep-why-wrapper {

    padding: 80px 50px;

    background-image: url('../images/why.jpg');

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    position: relative;

}



.ep-why-wrapper::after {

    position: absolute;

    inset: 0;

    content: '';

    background-color: #0000000D;

}



.ep-why-title-wrapper {

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    position: relative;

    z-index: 1;

}



.ep-why-title-wrapper .ep-tag {

    margin-top: 10px;

    flex-shrink: 0;

    height: max-content;

}



.ep-why-title-wrapper h2 {

    color: var(--text-white);

}



.ep-why-card-wrapper {

    position: relative;

    z-index: 1;

    margin-top: 80px;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: center;

    gap: 60px;

}





.ep-why-card {

    max-width: 340px;

    width: 100%;

    padding: 23px 42px;

    background-color: #09090914;

    display: flex;

    flex-direction: column;

    gap: 15px;

    position: relative;

}



.ep-why-card::after {

    position: absolute;

    content: '';

    inset: 0;

    backdrop-filter: blur(24px);

    z-index: 0;

}



.ep-why-card .why-icon {

    width: 42px;

    height: 42px;

    background: var(--bg-gradient);

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    position: relative;

    z-index: 1;

}



.ep-why-card .why-title {

    position: relative;

    z-index: 1;

}



.ep-why-card .why-title h4 {

    color: var(--text-white);

    font-size: 20px;

}



.ep-why-card .why-title p {

    color: var(--text-white);

    font-size: 16px;

    font-weight: 400;

}



/* Why Choose Us End */



/* Staffing & Workforce Start */



.ep-sw-section {

    padding-bottom: 100px;

}



.ep-sw-number-wrapper {

    margin-top: 30px;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    grid-template-rows: auto;

}



.ep-sw-card {

    padding: 0 20px;

    border-left: 1px solid #C9C9C9;

}



.ep-sw-card span {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

    font-family: var(--h-bold);

    font-size: 72px;

}



.ep-sw-card p {

    font-size: 18px;

    color: var(--text-dark);

}



/* Staffing & Workforce ENd */





/* Our Service Section Start */

.ep-our-services-section {

    background: var(--bg-gray);

    padding: 72px 0;

}



.ep-our-services-section .ep-tag {

    margin-bottom: 0;

}



.section-title {

    max-width: 620px;

    margin: 0 auto;

    text-align: center;

}



.section-title p {

    color: #6B7280;

}



.section-title {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: 16px;

}



.section-top-text-title {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: 16px;

}



.our-service-cards {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    grid-template-rows: auto;

    gap: 20px;

}



.ep-service-card-img {

    width: 100%;

    height: 100%;

    position: relative;

}



.ep-service-card-img::after {

    position: absolute;

    inset: 0;

    content: '';

    background: #00000040;

}



.ep-service-card-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: all 0.8s ease;

}



.ep-single-card {

    position: relative;

    height: 427px;

    overflow: hidden;

}



.ep-single-card:hover .ep-service-card-img img {

    transform: scale(1.1);

    transition: all 0.8s ease;

}



.ep-service-card-text {

    position: absolute;

    bottom: 0;

    backdrop-filter: blur(24px);

    margin: 10px;

    padding: 12.5px 10px;

}



.ep-service-card-text h3 {

    font-size: 20px;

    font-weight: 400;

    line-height: normal;

    color: #fff;

    margin-bottom: 0;

}



.ep-service-card-text p {

    color: #fff;

    font-size: 16px;

    line-height: normal;

}



.ep-service-card-text {

    display: flex;

    flex-direction: column;

    gap: 8px;

}



.ep-service-card-icon {

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 27.63px;

    position: absolute;

    top: 0;

    left: 0;

    margin: 18px;

}



.our-service-cards {

    margin-top: 43px;

}



/* Our Service Section End */



/* Sefty first Start */



.ep-sf-wrapper {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: auto;

    gap: 50px;

    padding-top: 50px;

}



.ep-sf-right img {

    width: 100%;

    transition: var(--transition);



}



.ep-sf-right {

    overflow: hidden;

}



.ep-sf-right:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-sf-left {

    display: flex;

    flex-direction: column;

    justify-content: center;

}



.ep-sf-left .ep-sf-title p {

    color: #7582A8;

    margin-top: 10px;

}



.ep-sf-tag {

    display: flex;

    gap: 100px;

    margin-top: 30px;

}



.ep-sf-tag .ep-sf-tag-card {

    display: flex;

    flex-direction: column;

    gap: 5px;

    align-items: center;

    text-align: center;

}



.ep-sf-tag .ep-sf-tag-card span {

    font-size: 18px;

    color: #2A2A2B;

}



.ep-sf-tag .ep-sf-tag-card .ep-sf-tag-icon {

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--bg-gradient);

    border-radius: 50%;

}



/* Sefty first End */



/* Cta Start */



.ep-cta-section {

    background: var(--bg-gradient);

    position: relative;

}



.ep-cta-section::after {

    position: absolute;

    content: '';

    inset: 0;

    background-image: url('../images/bg-line.png');

    background-size: 100% 100%;

    background-position: center;

    background-repeat: no-repeat;

    opacity: .2;

}



.ep-cta-section .container {

    position: relative;

    z-index: 1;

}



.ep-cta-wrapper {

    padding: 70px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

}



.ep-cta-wrapper h2 {

    text-align: center;

    color: var(--text-white);

    font-size: 64px;

    margin-bottom: 20px;

}



.ep-cta-wrapper p {

    color: var(--text-white);

    font-size: 18px;

    font-weight: 400;

    max-width: 645px;

    width: 100%;

    margin-left: auto;

    margin-right: auto;

}



.ep-cta-wrapper .ep-btn-white {

    margin-top: 20px;

}



/* Cta End */





/* Inner Hero Section start */



.ep-i-hero {

    position: relative;

}



.ep-i-hero-wrapper {

    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;

    min-height: 650px;

    width: 100%;

    display: flex;

    align-items: end;

    padding: 40px;

}



.ep-i-hero-card {

    background: var(--bg-gradient);

    max-width: 538px;

    width: 100%;

    padding: 40px 30px;

}



.ep-i-hero-card .ep-tag span {

    background: #fff;

}



.ep-i-hero-card h1 {

    font-size: 32px;

    color: var(--text-white);

    margin-bottom: 90px;

}



.ep-i-hero-card .ep-hero-card-bottom {

    display: flex;

    justify-content: space-between;

    flex-wrap: wrap;

    align-items: center;

}



.ep-i-hero-card .ep-hero-card-bottom .ep-hero-i-img {

    max-width: 190px;

    width: 100%;

}



.ep-i-hero-card .ep-hero-card-bottom .ep-hero-i-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.ep-i-hero-card .ep-hero-card-bottom p {

    max-width: 251px;

    width: 100%;

    margin: 0;

    padding: 0;

    text-align: right;

    color: var(--text-white);

    font-weight: 400;

}





/* Inner Hero Section end */



/* About Empyrean Group Section Start */

.ep-about-section {

    padding: 100px 0;

}



.ep-about-sec-wrapper {

    display: grid;

    grid-template-columns: 1fr 2fr;

    grid-template-rows: auto;

    gap: 42px;

}



.ep-about-sec-content-detail {

    display: grid;

    grid-template-columns: 1.5fr 1fr;

    grid-template-rows: auto;

    gap: 30px;

    justify-content: space-between;

    align-items: flex-end;

}



.ep-about-full-img .ep-about-sec-wrapper {

    grid-template-columns: 1.1fr 1fr;

}



.ep-about-sec-content {

    display: flex;

    flex-direction: column;

    gap: 40px;

}



.ep-about-full-img .ep-about-sec-content {

    justify-content: space-between;

}



.ep-about-left-content {

    display: flex;

    flex-direction: column;

    gap: 62px;

}



.ep-about-full-img .ep-about-left-content {

    gap: 32px;

}



.ep-about-left-content p {

    font-size: 16px;

    line-height: normal;

    font-weight: 400;

    max-width: 336px;

}



.ep-about-sec-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: var(--transition);

}



.ep-about-sec-img:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-about-sec-img {

    overflow: hidden;

}



.ep-about-right-sm-img {

    height: 310px;

    overflow: hidden;

}



.ep-about-right-sm-img:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-about-full-img .ep-about-right-sm-img:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-about-full-img .ep-about-right-sm-img img {

    transition: var(--transition);

}



.ep-about-full-img .ep-about-right-sm-img {

    height: 188px;

    overflow: hidden;

}



.ep-about-right-sm-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: var(--transition);



}



.ep-about-sec-icon ul {

    list-style-type: none;

    padding-left: 0;

    display: flex;

    align-items: center;

    gap: 33px;

    margin-bottom: 0;

}



.ep-about-sec-icon ul li {

    width: 42.95px;

    height: 42.95px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    border-radius: 50%;

}



.ep-about-top-title-content {

    display: flex;

    flex-direction: column;

    gap: 16px;

}



.ep-about-sec-list-tab ul {

    list-style-type: none;

    padding-left: 0;

    display: flex;

    align-items: center;

    gap: 20px;



}







/* What we do start */



.what-we-do .ep-title-wrapper .ep-title-left {

    order: 2;

}



.what-we-do .ep-title-wrapper .ep-title-left p {

    text-align: right;

}



.what-we-do .ep-title-wrapper .ep-title-right {

    order: 1;

}



.what-we-do .ep-title-wrapper .ep-title-right {

    align-items: start;

}



.what-we-do .ep-title-wrapper .ep-title-right h2 {

    text-align: left;

}



.what-we-do .ep-c-img-wrapper .ep-c-img {

    max-width: 972px;

    width: 100%;

}



.what-we-do .ep-c-img .ep-img-card {

    height: 438px;

    display: flex;

    align-items: end;

}



.what-we-do .ep-c-img-content {

    max-width: auto !important;

    width: auto;

}



.what-we-do .ep-c-img-wrapper {

    align-items: end;

}



.what-we-do .ep-what-card {

    position: relative;

    z-index: 1;

    padding: 15px;

    width: 100%;

}



.what-we-do .ep-what-card::after {

    position: absolute;

    content: '';

    inset: 0;

    backdrop-filter: blur(24px);

}



.what-we-do .ep-what-card h4 {

    position: relative;

    z-index: 2;

    color: var(--text-white);

    font-size: 20px;

}



.what-we-do .ep-what-card p {

    color: var(--text-white);

    margin: 0;

    padding: 0;

    font-weight: 400;

    position: relative;

    z-index: 2;

}





/* What we do end */





/*  Our Approch Section Start */



.ep-single-card-approch {

    position: relative;

    overflow: hidden;

    border: 1px solid transparent;



    background:

        linear-gradient(white, white) padding-box,

        linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%) border-box;



    padding: 22px 25.56px 22px 20px;

    max-width: calc(25% - 15px);

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: start;

    gap: 30px;



    transition: all 0.44s ease;

}



/* gradient overlay layer */

.ep-single-card-approch::before {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    opacity: 0;

    transition: opacity 0.44s ease;

    z-index: 0;

}



/* keep content above overlay */

.ep-single-card-approch > * {

    position: relative;

    z-index: 1;

}



/* hover effect */

.ep-single-card-approch:hover::before {

    opacity: 1;

}



/* text becomes white on hover */

.ep-single-card-approch:hover {

    color: #fff;

    transition: all 0.44s ease;



}



/* fix button text gradient → white on hover */

.ep-single-card-approch:hover .ep-approch-btn p,

.ep-single-card-approch:hover .ep-approch-btn svg,

.ep-single-card-approch:hover .ep-approch-content p ,

.ep-single-card-approch:hover .ep-approch-content h3 {

    color: #fff;

    -webkit-text-fill-color: #fff;

    background: none;

    transition: all 0.44s ease;



}



.ep-approch-btn p {

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

    color: transparent;

    font-size: 14px;

    line-height: 150%;

    font-weight: 500;

    margin-bottom: 0;

    transition: all 0.44s ease;



}



.ep-approch-btn {

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;



    /* gradient color */

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;



    color: transparent;



    transition: all 0.44s ease;

}



.ep-approch-btn svg {

    color: #6A5BFF; /* fallback */

    transition: all 0.44s ease;

}



/* make svg use gradient look */

.ep-approch-btn svg path {

    fill: currentColor;

}



/* hover white */

.ep-single-card-approch:hover .ep-approch-btn {

    background: none;

    -webkit-text-fill-color: #fff;

    color: #fff;

}



.ep-approch-btn {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    transition: all 0.44s ease;

}



.ep-approch-content {

    display: flex;

    flex-direction: column;

    gap: 12px;

}



.ep-approch-content h3 {

    font-size: 20px;

    font-weight: 700;

    transition: all 0.44s ease;



}



.ep-approch-content p {

    color: #6B7280;

    font-size: 16px;

    line-height: normal;

    font-weight: 400;

    margin-bottom: 0;

    transition: all 0.44s ease;

}



.ep-approch-content p br {

    display: none;

}



.ep-approch-sec-wrapper {

    display: flex;

    align-items: stretch;

    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;

    margin-top: 62px;

}



.ep-approch-btn svg {

    transition: all 0.8s ease;

}



.ep-approch-btn:hover svg {

    transform: translateX(10px);

    transition: all 0.8s ease;

}



.ep-single-img-approch {

    padding: 0;

    border: 0;

    height: 293px;

}



.ep-single-img-approch {

    overflow: hidden;

}



.ep-single-img-approch img {

    transition: var(--transition);

}



.ep-single-img-approch:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-single-card-approch .approch-main-image {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.ep-approch-sec-title {

    max-width: 477px;

    margin-right: auto;

    align-items: start;

}



.ep-approch-sec-title .section-top-text-title {

    gap: 24px;

    align-items: start;

}



.custom-padding {

    padding: 100px 0;

}



/*  Our Approch Section End */





.ep-i-career .ep-tag {

    display: flex;

    /* flex-wrap: wrap; */

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}



.ep-i-career .ep-tag .ep-send-r {

    text-align: right;

}



.ep-i-career .ep-tag .ep-send-r h4 {

    margin: 0;

    padding: 0;

    font-size: 16px;

    color: var(--text-white);

}



.ep-i-career .ep-tag .ep-send-r a {

    color: var(--text-white);

    font-size: 16px;

}



.ep-i-career .ep-hero-right-content {

    display: flex;

    flex-direction: column;

    justify-content: space-between;

}



.ep-i-career .ep-i-hero-card .ep-hero-card-bottom {

    display: flex;

    justify-content: space-between;

    align-items: normal;

}



.ep-i-career .ep-i-hero-card .ep-hero-card-bottom .ep-hero-right-content {

    text-align: right;

}



.ep-i-career .ep-i-hero-card .ep-hero-card-bottom .ep-hero-right-content a {

    color: var(--text-white);

    display: flex;

    gap: 10px;

    justify-content: end;

    text-decoration: underline;

    font-size: 20px;

    font-weight: 400;

}



.ep-i-career .ep-i-hero-card .ep-hero-card-bottom .ep-hero-right-content a span {

    transition: var(--transition);

}



.ep-i-career .ep-i-hero-card .ep-hero-card-bottom .ep-hero-right-content a:hover span {

    transform: translate(2px, -2px);

    transition: var(--transition);

}



.ep-carrer-section .ep-about-sec-wrapper {

    grid-template-columns: 1fr 1fr;

}



.ep-carrer-section .ep-about-left-content p {

    color: #6B7280;

    margin: 0;

    padding: 0;

}



.ep-carrer-section .ep-about-left-content {

    gap: 30px;

}





/* Our Commitment Section Start */



.ep-commit-sec-title {

    max-width: 620px;

    margin: 0 auto;

    text-align: center;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: 16px;

}



.ep-commit-icon {

    background: #E9EFFF;

    border-radius: 44.21px;

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

}



.ep-commit-content {

    display: flex;

    flex-direction: column;

    align-items: start;

    gap: 8px;

}



.ep-commit-content h3 {

    font-size: 24px;

    font-weight: 400;

    line-height: normal;

    margin-bottom: 0;

    transition: all 0.4s ease;

}



.ep-commit-content p {

    font-size: 18px;

    font-weight: 400;

    color: #6B7280;

    line-height: normal;

    margin-bottom: 0;

    transition: all 0.4s ease;

}



.ep-commit-single-card {

    position: relative;

    overflow: hidden;



    border: 1px solid transparent;

    background:

        linear-gradient(white, white) padding-box,

        linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%) border-box;



    padding: 41.5px 42px;

    display: flex;

    flex-direction: column;

    gap: 16px;



    transition: color 0.5s ease;

}



/* Fade gradient layer */

.ep-commit-single-card::before {

    content: "";

    position: absolute;

    inset: 0;



    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    

    opacity: 0;

    transition: opacity 0.5s ease;



    z-index: 0;

}



/* keep content above */

.ep-commit-single-card > * {

    position: relative;

    z-index: 1;

}



/* hover fade in */

.ep-commit-single-card:hover::before {

    opacity: 1;

}



/* text color change */

.ep-commit-single-card:hover {

    color: #fff;

}



.ep-commit-single-card .ep-commit-get-btn a span svg{

    color: #212529;

    transition: all 0.4s ease;

}



.ep-commit-single-card:hover .ep-commit-content h3,

.ep-commit-single-card:hover .ep-commit-get-btn a span svg,

.ep-commit-single-card:hover .ep-commit-content p{

    color: #fff;

    transition: all 0.4s ease;

}



.ep-commit-card-wrapper {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: auto;

    gap: 34px;

    margin-top: 44px;

}



.ep-commit-get-card {

    /* background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    color: #fff;

    border: transparent; */

    justify-content: space-between;

}



.ep-commit-get-card .ep-commit-content {

    gap: 10px;

}



/* .ep-commit-get-card .ep-commit-content h3 {

    color: #fff;

    font-weight: 700;

}



.ep-commit-get-card .ep-commit-content p {

    color: #fff;

} */



.ep-bg-color-card {

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    border: transparent;

}



.ep-bg-color-card .ep-commit-content h3,

.ep-bg-color-card .ep-commit-content p {

    color: #fff;

}



.btn-underline {

    font-size: 20px;

    text-decoration: underline;

    display: flex;

    gap: 10px;

    line-height: 100%;

}



.btn-underline span {

    transition: var(--transition);

}



.btn-underline:hover span {

    transform: translate(2px, -2px);

    transition: var(--transition);

}



/* Our Commitment Section End */



.ep-contact-form form {

    display: flex;

    flex-direction: column;

    gap: 30px;

}



.ep-contact-form form .form-group label {

    margin-bottom: 5px;

    font-weight: 500;

    font-size: 18px;

    color: var(--text-white);

}



.ep-contact-form form .form-group input {

    width: 100%;

    background: transparent;

    outline: 0;

    box-shadow: none;

    border: 0;

    border-bottom: 1px solid #fff;

    color: #fff;

    font-weight: 400;

    font-size: 14px;

    padding: 5px 0;

    opacity: .5;

}







.ep-contact-form form .form-group input:focus {

    opacity: 1;

}



.ep-contact-form form .form-group input::placeholder {

    color: var(--text-white);

    opacity: .8;

    font-weight: 400;

    font-size: 14px;

}



.ep-contact-form form .ep-btn-white {

    display: flex;

    justify-content: end;

}





.ep-conatct-sefty .ep-sf-wrapper {

    padding-top: 0;

}



.ep-conatct-sefty .ep-sf-tag {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: auto;

    row-gap: 15px;

    column-gap: 20px;

}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card {

    display: flex;

    flex-direction: row;

    justify-content: flex-start;

    align-items: start;

    text-align: start;

    gap: 20px;

}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card .ep-sf-meta span {

    font-weight: 400;

    font-size: 24px;

    color: #333132;

}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card .ep-sf-meta p {

    color: #6B7280;

    font-size: 16px;

    transition: var(--transition);



}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card .ep-sf-meta p a {

    transition: var(--transition);

}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card .ep-sf-meta p a:hover {

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

    transition: var(--transition);

}





.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card .ep-sf-tag-icon {

    width: 42px;

    height: 42px;

}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card .ep-sf-tag-icon {

    flex-shrink: 0;

}



.ep-conatct-sefty .ep-sf-wrapper {

    gap: 30px;

}



.ep-conatct-sefty .ep-sf-tag .ep-sf-tag-card:nth-child(3) {

    grid-column: 1/3;

}



.ep-ser .ep-about-right-sm-img {

    height: 131px;

    max-width: 141px;

    width: 100%;

}



.ep-ser .ep-about-sec-content {

    justify-content: space-between;

}



.ep-bus {

    padding-top: 100px;

    padding-bottom: 50px;

}



.ep-bus .ep-vm-wrapper {

    margin-top: 50px;

}



.ep-bus .ep-vm-wrapper .ep-vm-card {

    gap: 0;

}



.ep-bus .ep-vm-wrapper .ep-vm-card h2 {

    margin-bottom: 40px;

    background-image: var(--bg-gradient);

    color: transparent;

    background-clip: text;

}



.policy .ep-commit-get-card .ep-commit-content h3 {

    font-weight: 400;

}



.policy .ep-commit-card-wrapper {

    margin-top: 0;

}



.ep-g-wrapper {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: auto;

    gap: 20px;

}



.ep-g-wrapper .ep-g-card {

    height: 369px;

    overflow: hidden;

}



.ep-g-wrapper .ep-g-card:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-g-wrapper .ep-g-card img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: var(--transition);

}



.gellery .splide__pagination {

    bottom: -40px !important;

}



.gellery .splide:not(.is-overflow) .splide__pagination {

    display: block;

}



.gellery .splide__pagination__page.is-active {

    transform: none;

    background: var(--bg-gradient) !important;

}



.gellery .splide__pagination__page {

    width: 12px;

    height: 12px;

}







/* Major Project Table Section Start */

/* ─── TOKENS ─────────────────────────────────────────────── */

:root {

    --gradient: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    --gradient-border: linear-gradient(96.54deg, #2f6bff55 0%, #6a5bff66 50%, #E14D9A 99%);

    --text-dark: #333132;

    --text-muted: #6B7280;

    --text-white: #ffffff;

    --bg-light: #DEE6FF99;

    --bg-gray: #F2F2F2;

    --border-col: #d7b3db;

    --font: 'Roboto', sans-serif;

}



/* ─── SHARED SECTION ─────────────────────────────────────── */

.ep-table-section {

    padding: 100px 0 0;

}



.ep-table-section:last-child {

    padding-bottom: 80px;

}



.ep-location-section {

    padding-bottom: 80px;

}



.container {

    width: 100%;

    max-width: 1440px;

    margin: 0 auto;

    padding: 0 40px;

}



/* ─── SECTION TITLE ──────────────────────────────────────── */

.ep-tbl-title {

    text-align: center;

    margin-bottom: 42px;

}



.ep-tbl-title h2 {

    font-size: 42px;

    font-weight: 700;

    color: var(--text-dark);

    font-family: var(--font);

    line-height: 1.15;

}



.ep-tbl-title p {

    font-size: 16px;

    color: var(--text-muted);

    max-width: 1016px;

    margin: 0 auto;

    line-height: normal;

}



/* ─── GRADIENT TEXT UTIL ─────────────────────────────────── */

.g-text {

    background: var(--gradient);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

    color: transparent;

}



/* ─── GRADIENT BORDER TABLE WRAPPER ─────────────────────── */

.ep-tbl-wrap {

    border-radius: 0;

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;

}



/* ─── BASE TABLE ─────────────────────────────────────────── */

.ep-tbl {

    width: 100%;

    border-collapse: separate;

    border-spacing: 0;

    border: 1px solid transparent;

    background:

        linear-gradient(#fff, #fff) padding-box,

        var(--gradient) border-box;

}



/* thead */

.ep-tbl thead th {

    font-size: 20px;

    font-weight: 700;

    color: var(--text-dark);

    padding: 28px 50px;

    text-align: left;

    border-right: 1px solid transparent;

    border-bottom: 1px solid transparent;

    border-color: #3f2fff66;

    /* background:

        linear-gradient(#fff, #fff) padding-box, border-box; */

    white-space: nowrap;

}



.ep-tbl thead th:last-child {

    border-right: 0;

}



/* tbody rows */

.ep-tbl tbody td {

    padding: 14px 50px;

    border-right: 1px solid var(--border-col);

    border-bottom: 1px solid transparent;

    vertical-align: middle;

}



.ep-tbl tbody td:last-child {

    border-right: 0;

}



.ep-tbl tbody td.ep-num {

    width: 80px;

    text-align: center;

    font-size: 20px;

    font-weight: 700;

    color: var(--text-dark);

    white-space: nowrap;

}



.ep-tbl tbody td.ep-desc {

    padding-left: 72px;

    padding-right: 40px;

}



.ep-tbl tbody td h4 {

    font-size: 20px;

    font-weight: 700;

    color: var(--text-dark);

    margin-bottom: 2px;

    line-height: 1.3;

}



.ep-tbl tbody td p {

    font-size: 16px;

    color: var(--text-muted);

    margin: 0;

    line-height: 1.4;

}



.ep-tbl .ep-val {

    font-size: 24px;

    font-weight: 700;

    background: linear-gradient(96deg, #2f6bffd6 10%, #6a5bff 43%, #9C4DFF 32%);

    background-clip: text;

    -webkit-background-clip: text;

    color: transparent;

    -webkit-text-fill-color: transparent;

}





/* ════════════════════════════════════════════════════════════

   TABLE 1 — MAJOR PROJECTS COMPLETED

   ════════════════════════════════════════════════════════════ */

.ep-major-tbl {

    max-width: 944px;

    margin: 0 auto;

}



.ep-major-tbl thead th:nth-child(2) {

    padding-left: 72px;

}





/* ════════════════════════════════════════════════════════════

   TABLE 2 — CURRENT PROJECTS (progress bar)

   ════════════════════════════════════════════════════════════ */

.ep-current-tbl {

    max-width: 100%;

}



.ep-current-tbl thead th:nth-child(2) {

    padding-left: 72px;

}



.ep-current-tbl tbody td:nth-child(2) {

    width: 35%;

}



.ep-current-tbl tbody td:nth-child(3) {

    width: 17%;

    white-space: nowrap;

}



.ep-current-tbl tbody td:nth-child(4) {

    padding-left: 50px;

    padding-right: 40px;

    min-width: 200px;

}



/* Progress bar */

.ep-progress-wrap {

    width: 100%;

    height: 14px;

    border-radius: 50px;

    background: var(--bg-light);

    overflow: hidden;

    position: relative;

}



.ep-progress-bar {

    height: 100%;

    border-radius: 50px;

    background: var(--gradient);

    transition: width 0.8s ease;

}





/* ════════════════════════════════════════════════════════════

   TABLE 3 — CURRENT PROJECTS DONE

   ════════════════════════════════════════════════════════════ */

.ep-done-tbl {

    max-width: 1122px;

    margin: 0 auto;

}



.ep-done-tbl thead th:nth-child(2) {

    padding-left: 72px;

}



.ep-done-tbl tbody td:nth-child(2) {

    width: 45%;

}



.ep-done-tbl .ep-status-done {

    font-size: 22px;

    font-weight: 700;

    background: linear-gradient(96deg, #2f6bffd6 10%, #6a5bff 43%, #9C4DFF 32%);

    background-clip: text;

    -webkit-background-clip: text;

    color: transparent;

    -webkit-text-fill-color: transparent;

}





/* ════════════════════════════════════════════════════════════

   TABLE 4 — LOCATION TABLE

   ════════════════════════════════════════════════════════════ */

.ep-loc-tbl {

    max-width: 1272px;

    margin: 0 auto;

}



.ep-loc-tbl thead th:nth-child(2) {

    padding-left: 52px;

}



.ep-loc-tbl tbody td:nth-child(2) {

    padding-left: 52px;

    padding-right: 30px;

    width: 24%;

}



.ep-loc-tbl tbody td:nth-child(3),

.ep-loc-tbl tbody td:nth-child(4),

.ep-loc-tbl tbody td:nth-child(5) {

    font-size: 20px;

    font-weight: 400;

    color: var(--text-dark);

    white-space: nowrap;

}



.ep-loc-tbl tbody td:nth-child(3) {

    font-weight: 700;

}





/* Location Table Section End */





.ep-leader {

    overflow: hidden;

    /* clips overflow on left/top/bottom, but right is visible via the JS trick */

}



.ep-leader .container {

    overflow: visible;

    /* allow right-side bleed */

}



/* Make the splide track overflow to the right */

.ep-leader-slider .splide__track {

    overflow: visible;

}



/* Optional: fade-out right edge for a polished peek effect */

/* .ep-leader-slider::after {

    content: '';

    position: absolute;

    top: 0;

    right: 0;

    width: 80px;

    height: 100%;

    background: linear-gradient(to right, transparent, rgba(255,255,255,0.6));

    pointer-events: none;

    z-index: 1;

} */



.ep-leader-slider {

    position: relative;

}



/* Hide default arrows & pagination */

.c-p-t{
    padding-top: 50px;
}

.leader-slider-nav {
    display: flex;
    margin-top: 30px;
    align-items: center;
    justify-content: end;
    gap: 20px;
}

.leader-slider-nav button{
    outline: none;
    border: none;
    box-shadow: none;
    background: var(--gradient);
    color: #fff;
    width: 50px;
    height: 50px;
}

/* .leader-slider-nav button:nth-child(1) span svg{
    transform: rotate(45deg);
}

.leader-slider-nav button:nth-child(2) span svg{
    transform: rotate(-45deg);
} */

.ep-l-card {

    position: relative;

    height: 500px;

    padding: 15px;

    display: flex;

    align-items: end;

    overflow: hidden;

}



.ep-l-card:hover img {

    transform: scale(1.05);

    transition: var(--transition);

}



.ep-l-card img {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: top;

    transition: var(--transition);



}



.ep-l-card .ep-leader-title {

    position: relative;

    z-index: 1;

    background-color: #fff;

    padding: 13.5px;

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 11px;

}



.ep-leader-title br {

    display: none;

}



.ep-l-card .ep-leader-title p {

    margin: 0;

    font-weight: 400;

    color: #333132;

}



.ep-l-card .ep-leader-title h4 {

    font-size: 20px;

    margin-bottom: 0;

}



.ep-leader-slider {

    margin-top: 50px;

}



.ep-l-title {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 12px;

}



.ep-l-title h2 {

    text-align: center;

}



.ep-l-title p {

    text-align: center;

    color: #6B7280;

}



.ep-ser .ep-about-sec-list-tab {

    display: none;

}



.gslide-media {

    padding: 0 12px;

}









/* =============================================================

   menu.css — Empyrean Mobile Menu

   Matches site color palette from style.css

   ============================================================= */



/* ── Brand tokens (mirrors :root in style.css) ────────────────── */

:root {

    --mob-gradient: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 50%, #E14D9A 99.85%);

    --mob-text-dark: #333132;

    --mob-text-muted: #999999;

    --mob-bg-gray: #F2F2F2;

    --mob-bg-light: #DEE6FF99;

    --mob-white: #ffffff;

    --mob-drawer-width: 300px;

    --mob-transition: all 0.38s cubic-bezier(0.4, 0, 0.2, 1);

}





/* ── Hamburger button ─────────────────────────────────────────── */



/* Show hamburger only on mobile (mirrors .ep-nav-links display:none breakpoint) */

.ep-hamburger {

    display: none;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    gap: 5px;

    width: 42px;

    height: 42px;

    background: var(--mob-bg-gray);

    border: none;

    border-radius: 8px;

    cursor: pointer;

    padding: 0;

    transition: var(--mob-transition);

}



.ep-hamburger-line {

    display: block;

    width: 22px;

    height: 2px;

    background: var(--mob-gradient);

    border-radius: 2px;

    transition: var(--mob-transition);

}



/* Animate hamburger → X when menu is open */

.ep-hamburger[aria-expanded="true"] .ep-hamburger-line:nth-child(1) {

    transform: translateY(7px) rotate(45deg);

}



.ep-hamburger[aria-expanded="true"] .ep-hamburger-line:nth-child(2) {

    opacity: 0;

    transform: scaleX(0);

}



.ep-hamburger[aria-expanded="true"] .ep-hamburger-line:nth-child(3) {

    transform: translateY(-7px) rotate(-45deg);

}



@media (max-width: 991px) {

    .ep-hamburger {

        display: flex;

    }



    /* Hide desktop CTA on mobile */

    .ep-nav-btn {

        display: none;

    }

}





/* ── Mobile menu wrapper ──────────────────────────────────────── */



.ep-mobile-menu {

    position: fixed;

    inset: 0;

    z-index: 9999;

    pointer-events: none;

    visibility: hidden;

}



.ep-mobile-menu.is-open {

    pointer-events: all;

    visibility: visible;

}





/* ── Backdrop overlay ─────────────────────────────────────────── */



.ep-mob-overlay {

    position: absolute;

    inset: 0;

    background-color: rgba(51, 49, 50, 0.45);

    backdrop-filter: blur(2px);

    -webkit-backdrop-filter: blur(2px);

    opacity: 0;

    transition: opacity 0.38s ease;

}



.ep-mobile-menu.is-open .ep-mob-overlay {

    opacity: 1;

}





/* ── Drawer panel ─────────────────────────────────────────────── */



.ep-mob-drawer {

    position: absolute;

    top: 0;

    right: 0;

    bottom: 0;

    width: 380px;

    background-color: var(--mob-white);

    display: flex;

    flex-direction: column;

    transform: translateX(100%);

    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);

    overflow-y: auto;

    overflow-x: hidden;

    border-radius: 16px 0 0 16px;



    /* Subtle gradient top border to mirror brand */

    border-left: 3px solid transparent;

    background-image:

        linear-gradient(var(--mob-white), var(--mob-white)),

        var(--mob-gradient);

    background-origin: border-box;

    background-clip: padding-box, border-box;

}



.ep-mobile-menu.is-open .ep-mob-drawer {

    transform: translateX(0);

}





/* ── Drawer head (logo + close) ───────────────────────────────── */



.ep-mob-drawer-head {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 20px 22px;

    background-color: var(--mob-bg-gray);

    border-radius: 13px 0 0 0;

    flex-shrink: 0;

}



.ep-mob-logo a {

    font-family: var(--h-bold), sans-serif;

    font-size: 22px;

    line-height: 1;

    background-image: var(--mob-gradient);

    color: transparent;

    background-clip: text;

    -webkit-background-clip: text;

    text-decoration: none;

    font-weight: 700;

    letter-spacing: -0.3px;



    display: flex;

    align-items: center;

    justify-content: center;

    width: 150px;

}



.ep-mob-logo a img{

    width: 100%;

}



.ep-mob-close {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    border: none;

    border-radius: 50%;

    cursor: pointer;

    transition: var(--mob-transition);

    flex-shrink: 0;

    background-color: transparent;

}





.ep-mob-close svg line {

    transition: stroke 0.2s ease;

}





/* ── Nav links list ───────────────────────────────────────────── */



.ep-mob-links {

    list-style: none;

    padding: 16px 0;

    margin: 0;

    flex: 1;

}



.ep-mob-item {

    border-bottom: 1px solid var(--mob-bg-gray);

}



.ep-mob-item:last-child {

    border-bottom: none;

}





/* ── Top-level links & toggle buttons ────────────────────────── */



.ep-mob-link {

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    padding: 15px 22px;

    font-size: 16px;

    font-weight: 500;

    color: var(--mob-text-muted);

    text-decoration: none;

    background: none;

    border: none;

    cursor: pointer;

    font-family: inherit;

    line-height: 1;

    transition: color 0.22s ease, background 0.22s ease;

    text-align: left;

}



.ep-mob-link:hover,

.ep-mob-link:focus-visible {

    color: var(--mob-text-dark);

    background-color: var(--mob-bg-gray);

    outline: none;

}



/* Active gradient text on current link */

.ep-mob-item.is-active>.ep-mob-link {

    background-image: var(--mob-gradient);

    color: transparent;

    background-clip: text;

    -webkit-background-clip: text;

    font-weight: 600;

}





/* ── Chevron icon ─────────────────────────────────────────────── */



.ep-mob-chevron {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    transition: transform 0.3s ease;

}



.ep-mob-chevron svg path {

    transition: stroke 0.22s ease;

}



.ep-mob-has-sub.is-sub-open>.ep-mob-toggle .ep-mob-chevron {

    transform: rotate(180deg);

}



.ep-mob-has-sub.is-sub-open>.ep-mob-toggle .ep-mob-chevron svg path {

    stroke: #2F6BFF;

}



/* Gradient text on open toggle parent */

.ep-mob-has-sub.is-sub-open>.ep-mob-toggle {

    color: var(--mob-text-dark);

    background-color: var(--mob-bg-gray);

}





/* ── Submenu ──────────────────────────────────────────────────── */



.ep-mob-sub {

    list-style: none;

    padding: 0;

    margin: 0;

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);

    background-color: #FAFAFA;

    border-top: 1px solid var(--mob-bg-gray);

}



.ep-mob-has-sub.is-sub-open>.ep-mob-sub {

    /* Large enough for any submenu; adjusts naturally */

    max-height: 400px;

}



.ep-mob-sub-link {

    display: flex;

    align-items: center;

    padding: 13px 22px 13px 36px;

    font-size: 15px;

    font-weight: 400;

    color: var(--mob-text-muted);

    text-decoration: none;

    position: relative;

    transition: color 0.22s ease, padding-left 0.22s ease;

    border-bottom: 1px solid var(--mob-bg-gray);

}



.ep-mob-sub-link:last-child {

    border-bottom: none;

}



/* Bullet line (brand gradient) */

.ep-mob-sub-link::before {

    content: '';

    position: absolute;

    left: 22px;

    top: 50%;

    transform: translateY(-50%);

    width: 8px;

    height: 2px;

    background: var(--mob-gradient);

    border-radius: 2px;

    opacity: 0;

    transition: opacity 0.22s ease;

}



.ep-mob-sub-link:hover {

    color: var(--mob-text-dark);

    padding-left: 44px;

}



.ep-mob-sub-link:hover::before {

    opacity: 1;

}



/* Gradient text on hover */

.ep-mob-sub-link:hover {

    background-image: var(--mob-gradient);

    color: transparent;

    background-clip: text;

    -webkit-background-clip: text;

}





/* ── CTA button at drawer bottom ──────────────────────────────── */



.ep-mob-cta {

    padding: 22px;

    flex-shrink: 0;

    border-top: 1px solid var(--mob-bg-gray);

}



.ep-mob-cta-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    width: 100%;

    padding: 14px 20px;

    background-image: var(--mob-gradient);

    color: var(--mob-white);

    font-size: 16px;

    font-weight: 500;

    text-decoration: none;

    transition: opacity 0.25s ease, transform 0.25s ease;

    line-height: 1;

}



.ep-mob-cta-btn:hover {

    opacity: 0.88;

    transform: translateY(-1px);

    color: var(--mob-white);

}



.ep-mob-cta-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    transition: transform 0.25s ease;

}



.ep-mob-cta-btn:hover .ep-mob-cta-arrow {

    transform: translate(2px, -2px);

}







/* contact form */

.success-msg {

    color: #ffffff;

    border: 1px solid #fff;

    background: transparent;

    padding: 12px;

    margin-top: 15px;

    border-radius: 5px;

    font-size: 15px;

}



.error-msg {

    color: #ffffff;

    background: red;

    padding: 12px;

    margin-top: 15px;

    border-radius: 5px;

    font-size: 15px;

}







/* -------------------------------- */

.ep-l-card .ep-leader-title {

    max-height: 81px;

    overflow: hidden;

    transition: max-height 0.6s ease;

}



.ep-l-card:hover .ep-leader-title {

    max-height: 250px;

    overflow: auto;

    transition: max-height 0.6s ease;



    /* Hide scrollbar */

    scrollbar-width: none;

    /* Firefox */

    -ms-overflow-style: none;

    /* IE & Edge */

}



.ep-l-card:hover .ep-leader-title::-webkit-scrollbar {

    display: none;

    /* Chrome, Safari */

}







/* ---------------- */

.ep-policy-content-wrapper p {

    max-width: 930px;

    margin: 0 auto;

    line-height: normal;

}



.ep-policy-content-wrapper {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: 62px;

}



.ep-privacy-policy-section {

    padding: 100px 0;

}









/* -- */



.ep-error-page {

    position: relative;

    width: 100%;

    min-height: 100vh;

    /* Full viewport height — adjust as needed */

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;



    /* Background image — replace with your actual image path */

    background-image: url('../images/error-bg.jpg');

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    background-attachment: fixed;

    /* Remove if parallax not needed */

}



/* Light overlay on top of the background image */

.ep-error-page::before {

    content: '';

    position: absolute;

    inset: 0;

    /* top:0 right:0 bottom:0 left:0 */

    background-color: rgb(255 255 255 / 90%);

    /* White overlay — adjust opacity to taste */

    z-index: 1;

}



/* Ensure container sits above the overlay */

.ep-error-page .container {

    position: relative;

    z-index: 2;

}



/* Error text wrapper */

.ep-error-page .error-text {

    text-align: center;

}



/* 404 heading with blue-to-pink gradient (matching Figma) */

.ep-error-page .error-text h1 {

    /* font-size: clamp(100px, 18vw, 150px); */

    font-size: 150px;

    font-weight: 700;

    margin: 0;



    /* Blue → Pink gradient matching the Figma design */

    background: linear-gradient(96.54deg, #2F6BFF 0.15%, #6A5BFF 43%, #E14D9A 63.85%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

    color: transparent;

    /* Fallback */

}





.ep-header {

    position: fixed;

    z-index: 999;

    width: 100%;

}





.main-top-padding {

    padding-top: 114px;

}



.main-top-hero-padding {

    padding-top: 114px;

}









/* -------------------------- */

.ep-tc-title h1 {

    font-size: 42px;

    line-height: normal;

    margin-bottom: 40px;

}



.ep-tc-date-info {

    display: flex;

    flex-direction: column;

    gap: 16px;

}



.ep-tc-date-info p {

    margin-bottom: 0;

}



.ep-tc-border {

    width: 100%;

    height: 1px;

    background-color: #3331322e;

    margin: 24px 0;

}



.ep-tc-main-content h2 {

    margin-bottom: 20px;

    font-size: 32px;

    line-height: normal;

}



.ep-tc-main-content h3 {

    font-size: 26px;

    line-height: normal;

    font-weight: 500;

    margin-bottom: 20px;

}



.ep-tc-main-content ul {

    display: flex;

    flex-direction: column;

    gap: 6px;

    margin: 20px 0;

}



.ep-tc-date-info ul {

    display: flex;

    flex-direction: column;

    gap: 6px;

    margin: 0;

}



.ep-tc-main-content ul li::marker,

.ep-tc-date-info ul li::marker {

    color: #6A5BFF;

    font-size: 19px;

}



.tc-main-top-padding {

    padding-top: 170px;

    padding-bottom: 100px;

}



.ep-tc-main-content p a,

.ep-tc-date-info ul li a {

    transition: var(--transition)

}



.ep-tc-main-content p a:hover,

.ep-tc-date-info ul li a:hover {

    background-image: var(--mob-gradient);

    color: transparent;

    background-clip: text;

    -webkit-background-clip: text;

    transition: var(--transition)

}





.ep-approch-icon{

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    background-color: #fff;

    border-radius: 50px;

}



.ep-career-commit-sec {

    padding-bottom: 100px;

}





.footer-logo a{

 width: 200px;

 display: flex;

 align-items: center;

 justify-content: center;

}

.footer-logo a img{

    width: 100%;

}