
/*** Spinner Start ***/
/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}
/*** Spinner End ***/

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    z-index: 99;
}

/*** Button Start ***/
.btn {
    font-weight: 600;
    transition: .5s;
}

.btn-square {
    width: 32px;
    height: 32px;
}

.btn-sm-square {
    width: 34px;
    height: 34px;
}

.btn-md-square {
    width: 44px;
    height: 44px;
}

.btn-lg-square {
    width: 56px;
    height: 56px;
}

.btn-xl-square {
    width: 66px;
    height: 66px;
}

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square,
.btn-xl-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 50%;
}

.btn.btn-primary {
    background: var(--bs-primary) !important;
    color: var(--bs-white) !important;
    font-family: 'Roboto', sans-serif;
    border: none;
    font-weight: 400;
    transition: 0.5s;
}

.btn.btn-primary:hover {
    background: var(--bs-dark) !important;
    color: var(--bs-light) !important;
}

.btn.btn-dark {
    background: var(--bs-dark) !important;
    color: var(--bs-white) !important;
    font-family: 'Roboto', sans-serif;
    border: none;
    font-weight: 400;
    transition: 0.5s;
}

.btn.btn-dark:hover {
    background: var(--bs-white) !important;
    color: var(--bs-dark) !important;
}

.btn.btn-light {
    background: var(--bs-primary) !important;
    color: var(--bs-white) !important;
    font-family: 'Roboto', sans-serif;
    border: none;
    font-weight: 400;
    transition: 0.5s;
}

.btn.btn-light:hover {
    background: var(--bs-white) !important;
    color: var(--bs-dark) !important;
}
/*** Topbar Start ***/
.topbar {
    padding: 2px 10px 2px 20px;
    background: var(--bs-dark) !important;
}

@media (max-width: 768px) {
    .topbar {
        display: none;    
    }
}
/*** Topbar End ***/

/*** Navbar ***/
.sticky-top,
.sticky-top .container {
    transition: 0.5s !important;
}

.navbar .navbar-nav .nav-item.nav-link,
.navbar .navbar-nav .nav-link {
    color: var(--bs-dark) !important;
}

.navbar .navbar-nav .nav-item {
    position: relative;
    margin: 0 5px !important;
}

.navbar .navbar-nav .nav-item::before,
.navbar .navbar-nav .nav-item::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: 0px solid var(--bs-primary);
    transition: 0.5s;
}

.navbar .navbar-nav .nav-item::before {
    top: 0;
    left: 0;
}
.navbar .navbar-nav .nav-item::after {
    bottom: 0;
    right: 0;
}

.navbar .navbar-nav .nav-item:hover::after,
.navbar .navbar-nav .nav-item:hover::before,
.navbar .navbar-nav .nav-item.active::after,
.navbar .navbar-nav .nav-item.active::before {
    width: 100%;
    border-width: 1px;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active,
.sticky-top .navbar .navbar-nav .nav-link:hover,
.sticky-top .navbar .navbar-nav .nav-link.active {
    color: var(--bs-primary) !important;
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107" !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    vertical-align: middle;
}

@media (min-width: 1200px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        border: 0;
        border-radius: 10px;
        margin-top: 20px !important;
        transition: .5s;
        opacity: 0;
        z-index: 9;
    }
}

@media (max-width: 1200px) {
    .navbar .nav-item .dropdown-menu {
        margin-top: 15px !important;
        transition: 0.5s;
    }
}

@media (max-width: 991px) {
    .navbar .navbar-nav .nav-item.nav-link {
        margin: 15px 0 !important;
    }

}

.dropdown .dropdown-menu a:hover {
    background: var(--bs-primary) !important;
    color: var(--bs-white);
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light) !important;
    margin-top: 20px !important;
    transition: .5s;
    opacity: 1;
}

.navbar .navbar-toggler {
    padding: 8px 15px;
    color: var(--bs-dark);
    background: var(--bs-primary);
}

#searchModal .modal-content {
    background: rgba(250, 250, 250, .6);
}
/*** Navbar End ***/

/*** Carousel Header Start ***/
.header-carousel .header-carousel-item {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.owl-prev,
.owl-next {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 50%;
    transform: translateY(-50%);
    padding: 20px 20px;
    border-radius: 40px;
    background: var(--bs-primary);
    color: var(--bs-white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
}

.owl-prev {
    left: 30px;
}

.owl-next {
    right: 30px;
}

.owl-prev:hover,
.owl-next:hover {
    background: var(--bs-dark) !important;
    color: var(--bs-white) !important;
}

.header-carousel .header-carousel-item-img-1,
.header-carousel .header-carousel-item-img-2,
.header-carousel .header-carousel-item-img-3 {
    position: relative;
    overflow: hidden;
}

.header-carousel .header-carousel-item-img-1::before,
.header-carousel .header-carousel-item-img-2::before,
.header-carousel .header-carousel-item-img-3::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    top: -300px;
    right: -300px;
    border-radius: 300px;
    border: 100px solid rgba(68, 210, 246, 0.2);
    animation: RotateMoveCircle 10s linear infinite;
    background: transparent;
    z-index: 2 !important;
}

@keyframes RotateMoveCircle {
    0% {top: -400px;}
    50%   {right: -200px;}
    75%   {top: -200px;}
    100%  {top: -400px;}
}

.header-carousel .header-carousel-item-img-1::after,
.header-carousel .header-carousel-item-img-2::after,
.header-carousel .header-carousel-item-img-3::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 1200px;
    top: -150px;
    left: 70px;
    transform: rotate(-30deg);
    background: rgba(68, 210, 246, 0.2);
    animation: RotateMoveRight 5s linear infinite;
    z-index: 2 !important;
}

@keyframes RotateMoveRight {
    0%   {left: 0px;}
    50%   {left: 70px;}
    100%  {left: 0px;}
}

.header-carousel .header-carousel-item::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 1200px;
    top: -150px;
    left: -265px;
    transform: rotate(-30deg);
    background: var(--bs-dark);
    animation: RotateMoveLeft 5s linear infinite;
    opacity: 0.7;
    z-index: 2 !important;
}

@keyframes RotateMoveLeft {
    0%   {left: -240px;}
    50%   {left: -300px;}
    100%  {left: -240px;}
}

.header-carousel .header-carousel-item::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2 !important;
}

.header-carousel .header-carousel-item .carousel-caption {
    position: absolute;
    width: 80%;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 9;
}

@media (max-width: 992px) {
    .header-carousel .header-carousel-item .carousel-caption {
        width: 100% !important;
        margin-left: 0 !important;
        padding: 0 10px;
    }
    .header-carousel-item img {
        height: 700px;
        object-fit: cover;
    }

    .owl-prev,
    .owl-next {
        top: 40px !important;
    }

    .owl-prev {
        left: 65%;
    }
}
/*** Header Carousel End ***/

/*** Single Page Hero Header Start ***/
.bg-breadcrumb {
    position: relative;
    overflow: hidden;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/carousel-1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 60px 0 60px 0;
}

.bg-breadcrumb .breadcrumb-item a {
    color: var(--bs-white) !important;
}

.bg-breadcrumb .bg-breadcrumb-single {
    position: absolute;
    width: 500px;
    height: 1200px;
    top: 0px;
    left: 0;
    margin-left: 30px;
    transform: rotate(-30deg);
    background: var(--bs-dark);
    animation: RotateMoveLeft 5s linear infinite;
    opacity: 0.7;
    z-index: 2 !important;
}


.bg-breadcrumb::before {
    content: "";
    position: absolute;
    width: 400px;
    height: 400px;
    top: -150px;
    right: -150px;
    border-radius: 200px;
    border: 80px solid rgba(68, 210, 246, 0.2);
    animation: RotateMoveCircle 10s linear infinite;
    background: transparent;
    z-index: 2 !important;
}

@keyframes RotateMoveCircle {
    0% {top: -200px;}
    50%   {right: -100px;}
    75%   {top: -100px;}
    100%  {top: -200px;}
}


.bg-breadcrumb::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 1200px;
    top: -150px;
    left: 0;
    margin-left: 160px;
    transform: rotate(-30deg);
    background: rgba(68, 210, 246, 0.2);
    animation: RotateMoveRight 5s linear infinite;
    z-index: 2 !important;
}
/*** Single Page Hero Header End ***/


/*** About Start ***/
.about .text {
    position: relative;
}

.about .text::after {
    content: "";
    width: 4px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--bs-primary);
}
/*** About End ***/

/*** Service Start ***/
.service .service-item {
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.3);
}

.service .service-item .service-img {
    position: relative;
    overflow: hidden;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.service .service-item .service-img img {
    transition: 0.5s;
}

.service .service-item:hover .service-img img {
    transform: scale(1.2);
}

.service .service-item .service-img::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background: rgba(68, 210, 246, 0.4);
    transition: 0.5s;
}

.service .service-item:hover .service-img::after {
    width: 100% !important;
    height: 100% !important;
}

.service .service-item .service-content {
    position: relative;
}

.service .service-item .service-content::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background: var(--bs-dark);
    transition: 0.5s;
    z-index: 1;
}

.service .service-item:hover .service-content::after {
    width: 100% !important;
    height: 100% !important;
}

.service .service-item .service-content .service-content-inner {
    transition: 0.5s;
}

.service .service-item:hover .service-content .service-content-inner {
    position: relative;
    color: var(--bs-white) !important;
    transition: 0.5s;
    z-index: 2;
}

.service .service-item:hover .service-content .service-content-inner a.h4 {
    color: var(--bs-white) !important;
    transition: 0.5s;
}

.service .service-item:hover .service-content .service-content-inner a.h4:hover {
    color: var(--bs-primary) !important;
}
/*** Service End ***/

/*** Project Start ***/
.project .project-carousel.owl-carousel {
    height: 100%;
}

.project .project-carousel .project-item {
    position: relative;
    overflow: hidden;
}

.project .project-carousel .project-item .project-img {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.project .project-carousel .project-item .project-img::after {
    content: "";
    width: 100%;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 10px;
    background: rgba(68, 210, 246, 0.4);
    transition: 0.5s;
}

.project .project-carousel .project-item:hover .project-img::after {
    height: 100%;
}

.project .project-carousel .project-item .project-img img {
    transition: 0.5s;
}

.project .project-carousel .project-item:hover .project-img img {
    transform: scale(1.2);
}

.project .project-carousel .project-item .project-content {
    position: relative;
    width: 75%;
    height: 100%;
    bottom: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.08);
}

.project .project-carousel .project-item .project-content::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px !important;
    background: var(--bs-dark);
    transition: 0.5s;
}

.project .project-carousel .project-item .project-content .project-content-inner {
    position: relative;
    z-index: 2;
}

.project .project-carousel .project-item:hover .project-content .project-content-inner p,
.project .project-carousel .project-item:hover .project-content .project-content-inner a.h4,
.project .project-carousel .project-item:hover .project-content .project-content-inner .project-icon i {
    color: var(--bs-white) !important;
    transition: 0.5s;
}

.project .project-carousel .project-item:hover .project-content .project-content-inner a.h4:hover {
    color: var(--bs-primary) !important;
}

.project .project-carousel .project-item:hover .project-content::after {
    height: 100%;
}

.project-carousel .owl-dots {
    position: absolute;
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -120px;
    transition: 0.5s;
}

.project-carousel .owl-dots .owl-dot {
    width: 20px;
    height: 20px;
    border-radius: 20px;
    margin-right: 15px;
    background: var(--bs-dark);
    transition: 0.5s;
}

.project-carousel .owl-dots .owl-dot.active {
    width: 30px;
    height: 30px;
    border-radius: 40px;
    border: 8px solid var(--bs-primary);
}
/*** Project End ***/

/*** Blog Start ***/
.blog .blog-item .project-img {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    transition: 0.5s;
}

.blog .blog-item .project-img .blog-plus-icon {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: rgba(68, 210, 246, 0.2);
    transition: 0.5s;
    opacity: 0;
}

.blog .blog-item:hover .project-img .blog-plus-icon {
    opacity: 1;
}

.blog .blog-item .project-img img {
    transition: 0.5s;
}

.blog .blog-item:hover .project-img img {
    transform: scale(1.3);
}

/*** Blog End ***/

/*** Team Start ***/
.team .team-item {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--bs-dark);
    transition: 0.5s;
}

.team .team-item:hover {
    border: none !important;
}

.team .team-item::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 10px;
    border: 1px solid;
    border-color: var(--bs-primary) transparent transparent var(--bs-primary) !important;
    z-index: 5;
    transition: 1s;
    opacity: 0;
}

.team .team-item::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 10px;
    border: 1px solid;
    border-color: transparent var(--bs-primary) var(--bs-primary) transparent !important;
    z-index: 5;
    transition: 1s;
    opacity: 0;
}

.team .team-item:hover:after,
.team .team-item:hover::before {
    width: 100% !important;
    height: 100% !important;
    opacity: 1;
}

.team .team-item .team-img {
    position: relative;
    overflow: hidden;
}

.team .team-item .team-img::after {
    content: "";
    width: 100%;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background: rgba(68, 210, 246, 0.2);
    transition: 0.5s;
}

.team .team-item:hover .team-img::after {
    height: 100%;
}

.team .team-item .team-img .team-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 8;
    transition: 0.5s;
}

.team .team-item .team-img .team-icon .team-icon-share {
    position: relative;
    margin-top: -200px;
    transition: 0.5s;
    z-index: 9;
}

.team .team-item:hover .team-img .team-icon .team-icon-share {
    margin-top: 0 !important;
}

.team .team-item .team-content {
    position: relative;
}

.team .team-item .team-content::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--bs-primary) !important;
    transition: 0.5s;
}

.team .team-item .team-content::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background: var(--bs-primary) !important;
    transition: 0.5s;
}

.team .team-item:hover .team-content::after,
.team .team-item:hover .team-content::before {
    width: 100% !important;
    height: 50% !important;
}

.team .team-item:hover .team-content .team-content-inner {
    position: relative;
    color: var(--bs-white);
    z-index: 2;
}

.team .team-item .team-content .team-content-inner h4,
.team .team-item .team-content .team-content-inner p {
    transition: 0.5s;
}

.team .team-item:hover .team-content .team-content-inner p {
    color: var(--bs-white) !important;
}

.team .team-item:hover .team-content .team-content-inner h4 {
    color: var(--bs-dark) !important;
}
/*** Team End ***/

/*** Testimonial Start ***/
.testimonial .testimonial-carousel {
    position: relative;
}

.testimonial .testimonial-carousel .owl-dots {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.testimonial .testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: var(--bs-light);
    border: 1px solid var(--bs-primary);
    border-radius: 10px;
    transition: 0.5s;
}

.testimonial .testimonial-carousel .owl-dot.active {
    width: 40px;
    background: var(--bs-primary);
}
/*** Testimonial End ***/

/*** FAQ'S Start ***/
.faq {
    position: relative;
    overflow: hidden;
}

.faq::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(../img/bg.png);
    object-fit: cover;
    z-index: -1;
}

.faq .faq-img {
    position: relative;
}

.faq .faq-img .faq-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
}

/*** FAQ'S End ***/

/*** Footer Start ***/
.footer {
    background: var(--bs-dark);
}
.footer .footer-item a {
    line-height: 35px;
    color: var(--bs-body);
    transition: 0.5s;
}

.footer .footer-item p {
    line-height: 35px;
}

.footer .footer-item a:hover {
    letter-spacing: 1px;
    color: var(--bs-primary);
}

.footer .footer-item-post a {
    transition: 0.5s;
}

.footer .footer-item-post a:hover {
    color: var(--bs-primary) !important;
}

.footer .footer-item-post .footer-btn a {
    transition: 0.5s;
}

.footer .footer-item-post .footer-btn a:hover {
    color: var(--bs-dark);
}
/*** Footer End ***/

/*** copyright Start ***/
.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--bs-dark) !important;
}
/*** copyright end ***/
/* ===== EHDA inner pages: aligned with homepage visual language ===== */
.ehda-page-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#071d3f 0%,#0d2f5f 58%,#0d6efd 150%);padding:86px 0 78px;color:#fff}
.ehda-page-hero:before,.ehda-page-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}
.ehda-page-hero:before{width:360px;height:360px;right:-120px;top:-180px}.ehda-page-hero:after{width:220px;height:220px;left:-80px;bottom:-130px}
.ehda-page-hero .container{position:relative;z-index:2}.ehda-page-hero .eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:#9fc2ff;text-transform:uppercase;font-size:.82rem;font-weight:700;letter-spacing:.12em;margin-bottom:14px}.ehda-page-hero h1{color:#fff;font-weight:700;max-width:800px}.ehda-page-hero p{max-width:720px;color:rgba(255,255,255,.78);font-size:1.08rem}.ehda-breadcrumb{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;font-size:.9rem;margin-top:24px}.ehda-breadcrumb a{color:#fff}.ehda-breadcrumb span{color:rgba(255,255,255,.6)}
.ehda-section{padding:86px 0}.ehda-section-soft{background:#f7f9fc}.ehda-kicker{color:var(--bs-primary);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.ehda-title{font-weight:700;margin:.55rem 0 1rem}.ehda-lead{color:#6b7280;line-height:1.9}
.ehda-card{height:100%;background:#fff;border:1px solid rgba(15,40,75,.08);border-radius:18px;overflow:hidden;box-shadow:0 12px 36px rgba(15,40,75,.07);transition:.35s ease}.ehda-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(15,40,75,.14)}.ehda-card-body{padding:28px}.ehda-card-icon{width:58px;height:58px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:rgba(13,110,253,.1);color:var(--bs-primary);font-size:1.4rem;margin-bottom:20px}.ehda-card-image{height:230px;width:100%;object-fit:cover}.ehda-card h4,.ehda-card h5{font-weight:700}.ehda-card p{color:#6b7280;line-height:1.75}.ehda-card-link{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;color:var(--bs-primary)}
.ehda-feature-panel{background:#fff;border-radius:24px;padding:34px;box-shadow:0 16px 45px rgba(15,40,75,.08);border:1px solid rgba(15,40,75,.06)}.ehda-feature-image{width:100%;min-height:380px;max-height:520px;object-fit:cover;border-radius:22px}.ehda-stat{padding:24px;border-radius:16px;background:#f7f9fc;height:100%}.ehda-stat strong{display:block;font-size:1.8rem;color:var(--bs-primary)}
.ehda-logo-card{height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}.ehda-logo-card img{max-height:70px;max-width:150px;object-fit:contain}.ehda-empty{border:1px dashed rgba(15,40,75,.18);border-radius:18px;padding:48px;text-align:center;background:#fff;color:#6b7280}
.ehda-form-wrap{background:#fff;border-radius:24px;padding:36px;box-shadow:0 16px 45px rgba(15,40,75,.08);border:1px solid rgba(15,40,75,.06)}.ehda-form-wrap .form-control{min-height:52px;border-radius:12px;border-color:#e5e9f0;padding-left:16px}.ehda-form-wrap textarea.form-control{min-height:160px;padding-top:14px}.ehda-form-wrap .form-control:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.1);border-color:rgba(13,110,253,.45)}
.ehda-contact-tile{display:flex;gap:15px;align-items:flex-start;padding:22px;border-radius:16px;background:#f7f9fc;margin-bottom:16px}.ehda-contact-tile i{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:var(--bs-primary);color:#fff;display:flex;align-items:center;justify-content:center}.ehda-contact-tile strong{display:block;color:#111827;margin-bottom:3px}.ehda-contact-tile span,.ehda-contact-tile a{color:#6b7280}
.ehda-article{max-width:900px;margin:auto}.ehda-article-body{font-size:1.06rem;line-height:1.9;color:#4b5563}.ehda-article-body img{max-width:100%;border-radius:18px}.ehda-meta{display:flex;gap:18px;flex-wrap:wrap;color:#7b8493;font-size:.92rem}
@media(max-width:767.98px){.ehda-page-hero{padding:62px 0 56px}.ehda-page-hero h1{font-size:2.2rem}.ehda-section{padding:60px 0}.ehda-feature-panel,.ehda-form-wrap{padding:24px}.ehda-card-image{height:210px}}

/* ===== EHDA dynamic hero hardening + premium polish ===== */
.ehda-hero-carousel{position:relative;overflow:hidden;background:#071d3f}
.ehda-hero-carousel .owl-stage-outer{overflow:hidden!important}
.ehda-hero-carousel .owl-stage{display:flex}
.ehda-hero-carousel .owl-item{min-width:0}
.ehda-hero-carousel .ehda-hero-slide{height:clamp(620px,78vh,820px);min-height:620px;background:#071d3f}
.ehda-hero-carousel .ehda-hero-media{position:absolute;inset:0;overflow:hidden}
.ehda-hero-carousel .ehda-hero-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.015);transition:transform 7s ease}
.ehda-hero-carousel .owl-item.active .ehda-hero-image{transform:scale(1.065)}
.ehda-hero-carousel .ehda-hero-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,37,.90) 0%,rgba(5,27,62,.70) 44%,rgba(4,24,55,.30) 70%,rgba(4,24,55,.18) 100%);z-index:3!important;opacity:1;transform:none;animation:none;width:100%;height:100%;left:0;top:0}
.ehda-hero-carousel .ehda-hero-slide::after{content:"";position:absolute;inset:auto -140px -210px auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(13,110,253,.32),rgba(13,110,253,0) 70%);z-index:3!important}
.ehda-hero-carousel .carousel-caption{z-index:5!important;max-width:1320px;margin:auto}
.ehda-hero-carousel .carousel-caption-inner{max-width:820px}
.ehda-hero-carousel .carousel-caption h1{font-size:clamp(3rem,6vw,6.25rem);line-height:.98;letter-spacing:-.035em;text-shadow:0 10px 36px rgba(0,0,0,.18)}
.ehda-hero-carousel .carousel-caption p{max-width:720px;color:rgba(255,255,255,.84);line-height:1.8}
.ehda-hero-kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.48rem .85rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:999px;color:#bcd4ff;text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-bottom:18px}
.ehda-hero-carousel .owl-nav{pointer-events:none}
.ehda-hero-carousel .owl-prev,.ehda-hero-carousel .owl-next{pointer-events:auto;width:52px;height:52px;border:1px solid rgba(255,255,255,.20)!important;background:rgba(6,25,55,.48)!important;backdrop-filter:blur(12px);box-shadow:0 8px 25px rgba(0,0,0,.18)}
.ehda-hero-carousel .owl-dots{position:absolute;z-index:10;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:9px}
.ehda-hero-carousel .owl-dot{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.48)!important;transition:.3s ease}
.ehda-hero-carousel .owl-dot.active{width:34px;background:#fff!important}
@media(max-width:991.98px){.ehda-hero-carousel .ehda-hero-slide{height:700px;min-height:700px}.ehda-hero-carousel .carousel-caption h1{font-size:clamp(2.6rem,8vw,4.5rem)}.ehda-hero-carousel .owl-prev,.ehda-hero-carousel .owl-next{top:auto!important;bottom:22px}.ehda-hero-carousel .owl-prev{left:22px}.ehda-hero-carousel .owl-next{right:22px}.ehda-hero-carousel .owl-dots{bottom:42px}}
@media(max-width:575.98px){.ehda-hero-carousel .ehda-hero-slide{height:660px;min-height:660px}.ehda-hero-carousel .carousel-caption{padding:0 20px!important}.ehda-hero-carousel .carousel-caption-inner{padding:0!important}.ehda-hero-carousel .carousel-caption h1{font-size:2.65rem}.ehda-hero-carousel .carousel-caption p{font-size:1rem!important;margin-bottom:1.6rem!important}.ehda-hero-carousel .btn{padding:.8rem 1.35rem!important}.ehda-hero-carousel .owl-nav{display:none}.ehda-hero-carousel .owl-dots{bottom:24px}}

/* richer inner-page presentation */
.ehda-page-hero{padding:108px 0 96px;background:radial-gradient(circle at 82% 18%,rgba(28,122,255,.26),transparent 26%),linear-gradient(118deg,#061a39 0%,#0b2b58 52%,#0e4f9b 115%)}
.ehda-page-hero .container:after{content:"";position:absolute;right:2%;top:50%;width:170px;height:170px;transform:translateY(-50%) rotate(18deg);border:1px solid rgba(255,255,255,.10);border-radius:36px;box-shadow:28px 28px 0 rgba(255,255,255,.035),56px 56px 0 rgba(255,255,255,.025)}
.ehda-page-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.03em}
.ehda-section .container{position:relative}
.ehda-card{position:relative;isolation:isolate;border-radius:22px;border:1px solid rgba(7,29,63,.075);box-shadow:0 14px 45px rgba(7,29,63,.075)}
.ehda-card:after{content:"";position:absolute;inset:auto 18px 0 18px;height:3px;background:linear-gradient(90deg,transparent,var(--bs-primary),transparent);opacity:0;transition:.35s;z-index:-1}
.ehda-card:hover:after{opacity:1}
.ehda-card-body{padding:32px}
.ehda-card-image{height:245px}
.ehda-feature-panel{position:relative;overflow:hidden;border-radius:28px;padding:42px}
.ehda-feature-panel:after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(13,110,253,.10),transparent 70%);pointer-events:none}
.ehda-stat{border:1px solid rgba(13,110,253,.08);background:linear-gradient(145deg,#f8fbff,#f2f6fb);transition:.3s ease}.ehda-stat:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(7,29,63,.07)}
.ehda-empty{padding:64px 28px;background:linear-gradient(145deg,#fff,#f8fbff)}
.ehda-solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.ehda-solution-feature{display:flex;gap:12px;align-items:flex-start;padding:17px 18px;border:1px solid #e7edf5;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(7,29,63,.045)}
.ehda-solution-feature i{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:rgba(13,110,253,.10);color:var(--bs-primary)}
.ehda-solution-feature strong{display:block;color:#0b2448;margin-bottom:3px}.ehda-solution-feature span{color:#6b7280;font-size:.92rem;line-height:1.5}
.ehda-product-visual{min-height:430px;border-radius:26px;background:linear-gradient(145deg,#071d3f,#0e4586);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:40px;color:#fff}
.ehda-product-visual:before{content:"";position:absolute;width:320px;height:320px;border:58px solid rgba(55,142,255,.17);border-radius:50%;right:-125px;top:-125px}.ehda-product-visual:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:40px;left:-45px;bottom:-50px;transform:rotate(24deg)}
.ehda-product-visual-inner{position:relative;z-index:2;text-align:center}.ehda-product-visual-icon{width:106px;height:106px;margin:0 auto 26px;border-radius:30px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:2.8rem;backdrop-filter:blur(10px)}
@media(max-width:767.98px){.ehda-page-hero{padding:78px 0 68px}.ehda-page-hero .container:after{display:none}.ehda-feature-panel{padding:28px}.ehda-solution-grid{grid-template-columns:1fr}.ehda-product-visual{min-height:330px}}

/* =========================================================
   EHDA Motion System + Branded Preloader
   ========================================================= */
:root {
    --ehda-motion-primary: #00c9e8;
    --ehda-motion-navy: #0b2447;
    --ehda-motion-deep: #07182e;
    --ehda-motion-soft: #eefbfe;
}

.ehda-preloader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 20%, rgba(0, 201, 232, .22), transparent 32%),
        radial-gradient(circle at 82% 72%, rgba(67, 97, 238, .18), transparent 36%),
        linear-gradient(135deg, #06162a 0%, #0b2447 52%, #092e45 100%);
    transition: opacity .55s ease, visibility .55s ease;
}

.ehda-preloader.show {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.ehda-preloader::before,
.ehda-preloader::after {
    content: "";
    position: absolute;
    width: 34vw;
    height: 34vw;
    min-width: 260px;
    min-height: 260px;
    border-radius: 50%;
    filter: blur(10px);
    opacity: .24;
    background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(0,201,232,.02));
    animation: ehdaLoaderFloat 6s ease-in-out infinite alternate;
}

.ehda-preloader::before { left: -9vw; top: -12vw; }
.ehda-preloader::after { right: -10vw; bottom: -13vw; animation-delay: -2.2s; }

.ehda-preloader-card {
    position: relative;
    z-index: 4;
    width: min(440px, calc(100vw - 42px));
    text-align: center;
    color: #fff;
    padding: 44px 28px 34px;
}

.ehda-preloader-logo-wrap {
    width: 132px;
    height: 132px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 34px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 28px 70px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.35);
    animation: ehdaLogoPulse 1.9s ease-in-out infinite;
}

.ehda-preloader-logo-wrap::after {
    content: "";
    position: absolute;
    inset: -12px;
    border: 1px solid rgba(0,201,232,.38);
    border-radius: 42px;
    animation: ehdaLogoHalo 1.9s ease-out infinite;
}

.ehda-preloader-logo {
    width: 92px;
    height: 92px;
    object-fit: contain;
    animation: ehdaLogoFloat 1.9s ease-in-out infinite;
}

.ehda-preloader-brand {
    font: 700 20px/1.3 Roboto, sans-serif;
    letter-spacing: .18em;
    margin-bottom: 18px;
}

.ehda-preloader-caption {
    font-size: 12px;
    letter-spacing: .08em;
    color: rgba(255,255,255,.65);
    margin-top: 13px;
}

.ehda-preloader-line {
    width: 220px;
    max-width: 72%;
    height: 3px;
    margin: auto;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
}

.ehda-preloader-line span {
    display: block;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, #00c9e8, #fff, #00c9e8, transparent);
    animation: ehdaLoaderLine 1.15s ease-in-out infinite;
}

.ehda-preloader-orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
}
.ehda-preloader-orbit.orbit-one { width: 330px; height: 330px; animation: ehdaOrbit 12s linear infinite; }
.ehda-preloader-orbit.orbit-two { width: 510px; height: 510px; border-style: dashed; opacity: .7; animation: ehdaOrbitReverse 18s linear infinite; }
.ehda-preloader-glow {
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(0,201,232,.18);
    filter: blur(60px);
    animation: ehdaGlow 2.3s ease-in-out infinite alternate;
}

@keyframes ehdaLoaderLine { 0%{transform:translateX(-130%)} 100%{transform:translateX(340%)} }
@keyframes ehdaLoaderFloat { from{transform:translate3d(0,0,0) scale(1)} to{transform:translate3d(28px,18px,0) scale(1.08)} }
@keyframes ehdaLogoPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.035)} }
@keyframes ehdaLogoHalo { 0%{transform:scale(.92);opacity:.75} 100%{transform:scale(1.18);opacity:0} }
@keyframes ehdaLogoFloat { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-5px) rotate(1.5deg)} }
@keyframes ehdaOrbit { to{transform:rotate(360deg)} }
@keyframes ehdaOrbitReverse { to{transform:rotate(-360deg)} }
@keyframes ehdaGlow { from{transform:scale(.82);opacity:.55} to{transform:scale(1.22);opacity:.95} }

/* motion classes are applied progressively by JavaScript */
.ehda-motion-ready .ehda-reveal {
    opacity: 0;
    transform: translate3d(0, 38px, 0);
    filter: blur(7px);
    transition: opacity .78s cubic-bezier(.2,.65,.25,1), transform .78s cubic-bezier(.2,.65,.25,1), filter .78s ease;
    transition-delay: var(--ehda-delay, 0ms);
    will-change: transform, opacity;
}
.ehda-motion-ready .ehda-reveal.ehda-reveal-left { transform: translate3d(-46px, 0, 0); }
.ehda-motion-ready .ehda-reveal.ehda-reveal-right { transform: translate3d(46px, 0, 0); }
.ehda-motion-ready .ehda-reveal.ehda-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
    filter: blur(0);
}

.ehda-tilt-card {
    transform-style: preserve-3d;
    transition: transform .25s ease, box-shadow .3s ease;
    will-change: transform;
}
.ehda-tilt-card:hover { box-shadow: 0 24px 60px rgba(7, 31, 58, .13) !important; }

.ehda-magnetic { transition: transform .18s ease, box-shadow .25s ease !important; will-change: transform; }
.ehda-magnetic:hover { box-shadow: 0 12px 28px rgba(0, 180, 216, .22); }

.ehda-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0;
    z-index: 100000;
    pointer-events: none;
    background: linear-gradient(90deg, #00c9e8, #4cc9f0, #4361ee);
    box-shadow: 0 0 16px rgba(0,201,232,.5);
}

/* Hero depth and subtle cinematic movement */
.header-carousel .owl-item .carousel-item img,
.header-carousel .owl-item .carousel-item > img {
    transition: transform 7s ease-out;
    transform: scale(1.045);
}
.header-carousel .owl-item.active .carousel-item img,
.header-carousel .owl-item.active .carousel-item > img { transform: scale(1.10); }
.header-carousel .carousel-caption { overflow: hidden; }
.header-carousel .owl-item.active .carousel-caption h1,
.header-carousel .owl-item.active .carousel-caption h2 {
    animation: ehdaHeroTitle .9s cubic-bezier(.19,1,.22,1) both .12s;
}
.header-carousel .owl-item.active .carousel-caption p { animation: ehdaHeroText .9s ease both .28s; }
.header-carousel .owl-item.active .carousel-caption .btn { animation: ehdaHeroText .85s ease both .4s; }
@keyframes ehdaHeroTitle { from{opacity:0;transform:translateY(50px) skewY(2deg)} to{opacity:1;transform:none} }
@keyframes ehdaHeroText { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }

/* Section polish inspired by the supplied motion reference */
.ehda-section,
.container-fluid.service,
.container-fluid.project,
.container-fluid.blog,
.container-fluid.team,
.container-fluid.testimonial,
.container-fluid.faq {
    position: relative;
    overflow: clip;
}
.ehda-section::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -150px;
    top: 10%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,201,232,.08), transparent 68%);
    pointer-events: none;
}

.ehda-card,
.service-item,
.project-item,
.blog-item,
.team-item,
.testimonial-item {
    transition: transform .35s cubic-bezier(.2,.65,.25,1), box-shadow .35s ease, border-color .35s ease;
}
.ehda-card:hover,
.service-item:hover,
.project-item:hover,
.blog-item:hover,
.team-item:hover,
.testimonial-item:hover {
    transform: translateY(-8px);
}

.navbar { transition: padding .28s ease, box-shadow .28s ease, background-color .28s ease; }
body.ehda-scrolled .sticky-top .navbar { padding-top: .65rem !important; padding-bottom: .65rem !important; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .ehda-motion-ready .ehda-reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}

.ehda-image-fallback {
    object-fit: contain !important;
    padding: 28px;
    background: linear-gradient(145deg, #f6fbfd, #eef7fa);
}

/* === EHDA FINAL DYNAMIC HOME SYSTEM === */
.ehda-section-kicker{display:inline-flex;align-items:center;gap:8px;color:#16b8d4;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-bottom:12px}
.ehda-section-kicker:before{content:"";width:28px;height:3px;border-radius:999px;background:linear-gradient(90deg,#0e3a68,#22c7e8)}
.ehda-section-title{font-size:clamp(2rem,4vw,3.7rem);line-height:1.08;color:#102958;font-weight:800;margin-bottom:18px}
.ehda-section-lead,.ehda-section-heading p{color:#66788b;font-size:1.02rem;line-height:1.8}.ehda-section-heading{max-width:820px}
.ehda-text-link{display:inline-flex;align-items:center;gap:9px;color:#0daed0;font-weight:800}.ehda-text-link i{transition:.25s}.ehda-text-link:hover i{transform:translateX(5px)}

.ehda-home-about{background:linear-gradient(180deg,#fff 0%,#f5fbfd 100%)}.ehda-about-visual{position:relative;min-height:500px}.ehda-about-main-image,.ehda-about-placeholder{width:100%;height:500px;object-fit:cover;border-radius:28px;box-shadow:0 24px 55px rgba(16,41,88,.13)}.ehda-about-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef9fc,#fff)}.ehda-about-placeholder img{width:160px}.ehda-about-badge{position:absolute;right:-20px;bottom:32px;background:#102958;color:#fff;border-radius:20px;padding:18px 22px;box-shadow:0 15px 35px rgba(16,41,88,.25);display:flex;flex-direction:column}.ehda-about-badge strong{font-size:2rem;color:#36cae7;line-height:1}.ehda-about-badge span{font-size:.78rem;margin-top:7px}.ehda-value-card{display:flex;gap:14px;height:100%;padding:20px;border:1px solid #e3eef4;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(16,41,88,.05)}.ehda-value-card>i{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e7faff;color:#0fb8d6;font-size:1.15rem;flex:0 0 auto}.ehda-value-card h5{color:#102958;margin-bottom:6px}.ehda-value-card p{margin:0;color:#6f8090;font-size:.92rem;line-height:1.6}

.ehda-home-services{background:#fff}.ehda-service-card{background:#fff;border:1px solid #dfeaf1;border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(14,44,83,.07);transition:.35s cubic-bezier(.2,.8,.2,1)}.ehda-service-card:hover{transform:translateY(-10px);box-shadow:0 24px 55px rgba(14,44,83,.14);border-color:#bcebf3}.ehda-service-media{height:210px;position:relative;overflow:hidden;background:#edf8fb}.ehda-service-media>img{width:100%;height:100%;object-fit:cover;transition:.5s}.ehda-service-card:hover .ehda-service-media>img{transform:scale(1.06)}.ehda-service-placeholder{height:100%;display:grid;place-items:center;color:#0fb8d6;font-size:3rem}.ehda-service-icon{position:absolute;right:18px;bottom:-24px;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#10bad5;color:#fff;box-shadow:0 10px 24px rgba(16,186,213,.3)}.ehda-service-body{padding:34px 22px 24px}.ehda-service-body h4{color:#102958;font-size:1.2rem}.ehda-service-body p{min-height:72px;color:#708190;line-height:1.65}.ehda-service-body a{font-weight:800;color:#0daed0;display:inline-flex;align-items:center;gap:8px}

.ehda-home-products{position:relative;background:linear-gradient(145deg,#081f43,#113b6c);overflow:hidden}.ehda-home-products:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-180px;top:-180px;background:rgba(34,199,232,.12);filter:blur(4px)}.ehda-home-products .ehda-section-title,.ehda-home-products .ehda-section-lead{color:#fff}.ehda-product-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.16);transition:.35s}.ehda-product-card:hover{transform:translateY(-9px)}.ehda-product-media{height:220px;position:relative;overflow:hidden;background:#e9f4f8}.ehda-product-media img{width:100%;height:100%;object-fit:cover;transition:.5s}.ehda-product-card:hover .ehda-product-media img{transform:scale(1.07)}.ehda-product-placeholder{height:100%;display:grid;place-items:center;font-size:3rem;color:#17bedb}.ehda-product-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,31,67,.42))}.ehda-product-number{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);color:#102958;border-radius:12px;padding:7px 10px;font-size:.76rem;font-weight:900}.ehda-product-body{padding:24px}.ehda-product-body h4{color:#102958;font-size:1.18rem}.ehda-product-body p{color:#718392;line-height:1.65;min-height:74px}.ehda-product-body a{font-weight:800;color:#08adc9;display:inline-flex;align-items:center;gap:8px}.ehda-home-products .ehda-text-link{color:#62dff3}

.ehda-home-projects{background:#f5f9fc}.ehda-project-carousel .owl-stage{display:flex}.ehda-project-carousel .owl-item{display:flex}.ehda-project-card{width:100%;background:#fff;border-radius:24px;overflow:hidden;border:1px solid #e0ebf2;box-shadow:0 15px 38px rgba(13,42,78,.08)}.ehda-project-media{height:310px;position:relative;overflow:hidden;background:#eaf6f9}.ehda-project-media img{width:100%;height:100%;object-fit:cover;transition:.6s}.ehda-project-card:hover .ehda-project-media img{transform:scale(1.07)}.ehda-project-placeholder{height:100%;display:grid;place-items:center;font-size:3rem;color:#13bad5}.ehda-project-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,26,59,.9))}.ehda-project-meta{position:absolute;left:24px;right:24px;bottom:22px;color:#fff}.ehda-project-meta span{display:inline-block;color:#51d7ee;font-weight:700;font-size:.8rem;margin-bottom:8px}.ehda-project-meta h4{color:#fff;margin:0;font-size:1.35rem}.ehda-project-copy{padding:22px 24px}.ehda-project-copy p{color:#718291;line-height:1.65;min-height:70px}.ehda-project-copy a{color:#0daed0;font-weight:800}.ehda-project-carousel .owl-nav{display:flex;justify-content:center;gap:10px;margin-top:28px}.ehda-project-carousel .owl-nav button{width:46px;height:46px;border-radius:50%!important;background:#102958!important;color:#fff!important;font-size:1.1rem!important}.ehda-project-carousel .owl-nav button:hover{background:#13bdd9!important}

.ehda-home-blog{background:#fff}.ehda-blog-card{background:#fff;border:1px solid #e2ebf1;border-radius:22px;overflow:hidden;box-shadow:0 14px 35px rgba(11,40,75,.07);transition:.35s}.ehda-blog-card:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(11,40,75,.13)}.ehda-blog-media{display:block;height:240px;position:relative;overflow:hidden;background:#edf8fa}.ehda-blog-media img{width:100%;height:100%;object-fit:cover;transition:.5s}.ehda-blog-card:hover .ehda-blog-media img{transform:scale(1.06)}.ehda-blog-placeholder{height:100%;display:grid;place-items:center;font-size:3rem;color:#12b9d5}.ehda-blog-media time{position:absolute;right:16px;bottom:16px;background:#fff;color:#102958;border-radius:12px;padding:8px 11px;font-size:.75rem;font-weight:800}.ehda-blog-body{padding:24px}.ehda-blog-category{display:inline-block;color:#0db8d3;background:#eafcff;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800;margin-bottom:10px}.ehda-blog-body h4 a{color:#102958}.ehda-blog-body p{color:#748594;line-height:1.65}

.ehda-home-team{background:#f7fafc}.ehda-db-team-card{position:relative;overflow:hidden;border:1px solid #102958!important;background:#102958;box-shadow:0 15px 34px rgba(12,44,91,.10);transition:.35s}.ehda-db-team-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(12,44,91,.18)}.ehda-db-team-image{height:390px;position:relative;overflow:hidden;background:#fff}.ehda-db-team-image>img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:.5s}.ehda-db-team-card:hover .ehda-db-team-image>img{transform:scale(1.04)}.ehda-db-team-card .team-content{background:#102958!important;border-color:#102958!important;transition:.35s}.ehda-db-team-card .team-content h4{color:#fff;margin-bottom:7px}.ehda-db-team-card .team-content p{color:rgba(255,255,255,.56)!important}.ehda-db-team-card:hover .team-content{background:#18bdd9!important;border-color:#18bdd9!important}.ehda-db-team-card:hover .team-content p{color:#e9fbff!important}.ehda-db-team-card .team-icon{position:absolute;right:18px;top:18px;opacity:0;transform:translateY(-8px);transition:.3s;z-index:4}.ehda-db-team-card:hover .team-icon{opacity:1;transform:none}.ehda-db-team-card .team-icon a{background:#20c5df!important;border-color:#20c5df!important}.ehda-team-bio{position:absolute;inset:0;padding:30px;display:flex;align-items:flex-end;background:linear-gradient(180deg,transparent 40%,rgba(10,42,82,.94));color:#fff;opacity:0;transition:.35s;z-index:3}.ehda-db-team-card:hover .ehda-team-bio{opacity:1}.ehda-team-bio p{margin:0;line-height:1.6}.ehda-team-logo-placeholder{height:100%;display:grid;place-items:center;background:#fff}.ehda-team-logo-placeholder img{width:130px}

.ehda-home-testimonials{background:linear-gradient(180deg,#f4f9fc,#fff)}.ehda-testimonial-card{background:#fff;border-radius:24px;padding:30px;border:1px solid #dfeaf0;box-shadow:0 14px 34px rgba(16,41,88,.08);min-height:290px}.ehda-quote-icon{font-size:2.2rem;color:#16bcd8;opacity:.8}.ehda-testimonial-message{font-size:1.02rem;line-height:1.8;color:#586b7c;margin:20px 0 28px}.ehda-testimonial-person{display:flex;align-items:center;gap:14px}.ehda-testimonial-person img,.ehda-testimonial-avatar{width:58px;height:58px;border-radius:18px;object-fit:cover}.ehda-testimonial-avatar{display:grid;place-items:center;background:linear-gradient(135deg,#102958,#19bdd9);color:#fff;font-weight:900;font-size:1.2rem}.ehda-testimonial-person h5{margin:0;color:#102958}.ehda-testimonial-person span{font-size:.82rem;color:#8090a0}.ehda-home-testimonials .owl-dots{text-align:center;margin-top:20px}.ehda-home-testimonials .owl-dot span{display:block;width:9px;height:9px;border-radius:50%;background:#c8d8e1;margin:5px}.ehda-home-testimonials .owl-dot.active span{width:26px;border-radius:999px;background:#17bdd8}

.ehda-home-faq{background:#fff}.ehda-faq-accordion{background:#f6fafc;border-radius:22px;padding:14px}.ehda-faq-accordion .accordion-item{border:0;background:transparent;border-bottom:1px solid #e3edf2}.ehda-faq-accordion .accordion-item:last-child{border-bottom:0}.ehda-faq-accordion .accordion-button{background:transparent!important;color:#102958!important;font-weight:800;box-shadow:none!important;padding:19px 15px}.ehda-faq-accordion .accordion-body{color:#6c7e8e;line-height:1.75;padding:0 15px 20px}.ehda-faq-visual{min-height:450px;border-radius:30px;background:linear-gradient(145deg,#102958,#087aa5);padding:55px;color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;box-shadow:0 25px 55px rgba(16,41,88,.22)}.ehda-faq-visual:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-90px;top:-80px}.ehda-faq-logo{width:82px;height:82px;border-radius:24px;background:#fff;padding:10px;margin-bottom:25px}.ehda-faq-logo img{width:100%;height:100%;object-fit:contain}.ehda-faq-visual span{color:#66e1f5;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.12em}.ehda-faq-visual h3{color:#fff;font-size:2rem;line-height:1.25;margin:12px 0 28px;max-width:420px}

@media(max-width:991px){.ehda-about-badge{right:16px}.ehda-db-team-image{height:340px}.ehda-project-media{height:270px}}@media(max-width:575px){.ehda-about-visual{min-height:380px}.ehda-about-main-image,.ehda-about-placeholder{height:380px}.ehda-about-badge{bottom:18px}.ehda-db-team-image{height:360px}.ehda-faq-visual{min-height:380px;padding:34px}.ehda-section-title{font-size:2.2rem}}
.ehda-home-stats{background:#102958;color:#fff}.ehda-home-stats .container{position:relative}.ehda-stat-item{min-height:150px;padding:30px 22px;text-align:center;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center}.ehda-home-stats [class*="col-"]:last-child .ehda-stat-item{border-right:0}.ehda-stat-item i{color:#3cd1e9;font-size:1.45rem;margin-bottom:10px}.ehda-stat-item strong{font-size:2.25rem;line-height:1;color:#fff}.ehda-stat-item span{margin-top:8px;color:rgba(255,255,255,.65);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.ehda-home-clients{background:#f5f9fc}.ehda-client-card{background:#fff;border:1px solid #e0eaf0;border-radius:20px;padding:20px 14px;text-align:center;box-shadow:0 10px 28px rgba(16,41,88,.05);transition:.3s}.ehda-client-card:hover{transform:translateY(-6px);border-color:#bfeaf2;box-shadow:0 18px 38px rgba(16,41,88,.1)}.ehda-client-card a{display:block}.ehda-client-logo{height:92px;display:grid;place-items:center;margin-bottom:14px}.ehda-client-logo img{max-width:100%;max-height:78px;object-fit:contain;filter:saturate(.85);transition:.3s}.ehda-client-card:hover img{filter:saturate(1)}.ehda-client-logo span{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#e9f9fc;color:#0eb5d0;font-weight:900;font-size:1.2rem}.ehda-client-card h6{color:#102958;margin:0;font-size:.9rem}.ehda-footer-brand{width:68px;height:68px;background:#fff;border-radius:18px;padding:8px;margin-bottom:18px}.ehda-footer-brand img{width:100%;height:100%;object-fit:contain}
@media(max-width:991px){.ehda-stat-item{border-bottom:1px solid rgba(255,255,255,.12)}.ehda-home-stats [class*="col-"]:nth-child(2n) .ehda-stat-item{border-right:0}}

/* EHDA adaptive dynamic homepage layout */
.ehda-adaptive-grid { --ehda-card-max: none; }
.ehda-adaptive-grid > [class*="col-"] { display:flex; }
.ehda-adaptive-grid article { width:100%; }

/* Sparse states: intentionally use the viewport instead of leaving empty columns. */
.ehda-adaptive-grid.ehda-count-1 { max-width: 980px; margin-inline:auto; }
.ehda-adaptive-grid.ehda-count-1 article { box-shadow: 0 24px 55px rgba(12,44,91,.12); }
.ehda-adaptive-grid.ehda-count-2 { max-width: 1120px; margin-inline:auto; }
.ehda-adaptive-grid.ehda-count-3 { max-width: 1180px; margin-inline:auto; }

.ehda-home-services[data-ehda-count="1"] .ehda-service-media,
.ehda-home-products[data-ehda-count="1"] .ehda-product-media,
.ehda-home-blog[data-ehda-count="1"] .ehda-blog-media { height: 330px; }
.ehda-home-services[data-ehda-count="2"] .ehda-service-media,
.ehda-home-products[data-ehda-count="2"] .ehda-product-media,
.ehda-home-blog[data-ehda-count="2"] .ehda-blog-media { height: 280px; }

.ehda-home-projects[data-ehda-count="1"] .ehda-project-media { height: 420px; }
.ehda-home-projects[data-ehda-count="2"] .ehda-project-media { height: 340px; }
.ehda-home-projects[data-ehda-count="3"] .ehda-project-media { height: 300px; }
.ehda-home-projects[data-ehda-count="1"] .ehda-project-copy { padding: 28px 30px; }
.ehda-home-projects[data-ehda-count="1"] .ehda-project-copy p { min-height:0; font-size:1.02rem; }

.ehda-home-team[data-ehda-count="1"] .ehda-db-team-image { height: 500px; }
.ehda-home-team[data-ehda-count="2"] .ehda-db-team-image { height: 440px; }
.ehda-home-team[data-ehda-count="3"] .ehda-db-team-image { height: 410px; }
.ehda-home-team[data-ehda-count="1"] .team-content,
.ehda-home-team[data-ehda-count="2"] .team-content { padding: 28px !important; }

.ehda-home-clients[data-ehda-count="1"] .ehda-client-card { padding: 34px 28px; min-height: 210px; display:flex; flex-direction:column; justify-content:center; }
.ehda-home-clients[data-ehda-count="1"] .ehda-client-logo { height: 118px; }
.ehda-home-clients[data-ehda-count="1"] .ehda-client-logo img { max-height:100px; }
.ehda-home-clients[data-ehda-count="2"] .ehda-client-card { padding: 28px 22px; min-height:190px; }
.ehda-home-clients[data-ehda-count="2"] .ehda-client-logo { height:105px; }

.ehda-testimonial-featured { min-height: 360px; padding: 42px; display:flex; flex-direction:column; justify-content:center; }
.ehda-testimonial-featured .ehda-testimonial-message { font-size:1.13rem; }

/* Keep sparse sections visually rhythmic instead of creating large white deserts. */
.ehda-home-projects[data-ehda-count="1"],
.ehda-home-blog[data-ehda-count="1"],
.ehda-home-team[data-ehda-count="1"],
.ehda-home-clients[data-ehda-count="1"] { padding-block: 26px !important; }

@media (max-width: 991px) {
    .ehda-home-projects[data-ehda-count="1"] .ehda-project-media { height:340px; }
    .ehda-home-team[data-ehda-count="1"] .ehda-db-team-image,
    .ehda-home-team[data-ehda-count="2"] .ehda-db-team-image { height:390px; }
}
@media (max-width: 575px) {
    .ehda-home-services[data-ehda-count="1"] .ehda-service-media,
    .ehda-home-products[data-ehda-count="1"] .ehda-product-media,
    .ehda-home-blog[data-ehda-count="1"] .ehda-blog-media,
    .ehda-home-projects[data-ehda-count="1"] .ehda-project-media { height:250px; }
    .ehda-home-team[data-ehda-count="1"] .ehda-db-team-image,
    .ehda-home-team[data-ehda-count="2"] .ehda-db-team-image { height:380px; }
    .ehda-testimonial-featured { padding:28px; min-height:320px; }
}


/* =========================================================
   EHDA LIVE MOTION LAYER
   Restrained corporate motion for dynamic homepage sections.
   ========================================================= */
.ehda-live-section{position:relative;isolation:isolate}
.ehda-live-section::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,198,.10),transparent 68%);filter:blur(6px);pointer-events:none;z-index:-1;left:-140px;top:12%}
.ehda-live-section:nth-of-type(even)::before{left:auto;right:-150px;background:radial-gradient(circle,rgba(13,110,253,.09),transparent 68%)}
.ehda-live-title{will-change:transform,opacity}
.ehda-live-card{position:relative;overflow:hidden;will-change:transform;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .35s ease}
.ehda-live-card::after{content:"";position:absolute;inset:-45%;background:radial-gradient(circle at var(--ehda-x,50%) var(--ehda-y,50%),rgba(255,255,255,.20),transparent 28%);opacity:0;pointer-events:none;transition:opacity .25s ease}
.ehda-live-card:hover::after{opacity:1}
.ehda-live-card:hover{transform:translateY(-9px);box-shadow:0 24px 60px rgba(7,31,58,.14)}
.ehda-live-media img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .6s ease;will-change:transform}
.ehda-live-card:hover .ehda-live-media img{transform:scale(1.065);filter:saturate(1.06) contrast(1.02)}
.ehda-live-float{animation:ehdaLiveFloat 5.8s ease-in-out infinite}
.ehda-live-float:nth-child(2n){animation-delay:-1.4s}.ehda-live-float:nth-child(3n){animation-delay:-2.8s}
@keyframes ehdaLiveFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.ehda-section-accent{position:absolute;top:18%;right:4%;width:8px;height:8px;border-radius:50%;background:#22d3ee;box-shadow:0 0 0 8px rgba(34,211,238,.08),0 0 24px rgba(34,211,238,.45);animation:ehdaPulseDot 2.8s ease-in-out infinite;pointer-events:none}
@keyframes ehdaPulseDot{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.2);opacity:1}}
.header-carousel .owl-item.active img{animation:ehdaHeroBreath 9s ease-out both}
@keyframes ehdaHeroBreath{from{transform:scale(1.055)}to{transform:scale(1)}}
.ehda-parallax-media{transform:translate3d(0,var(--ehda-parallax,0px),0);will-change:transform}
.ehda-client-card{transition:transform .4s ease,box-shadow .4s ease,border-color .35s ease}.ehda-client-card:hover{transform:translateY(-7px) scale(1.015);box-shadow:0 22px 50px rgba(7,31,58,.11)}
.ehda-client-card img{transition:transform .45s ease,filter .45s ease}.ehda-client-card:hover img{transform:scale(1.06);filter:saturate(1.08)}
.ehda-testimonial-card .ehda-quote-icon{transition:transform .45s ease,color .3s ease}.ehda-testimonial-card:hover .ehda-quote-icon{transform:translateY(-4px) rotate(-6deg)}
.ehda-db-team-card .team-content,.ehda-product-card .ehda-product-body{transition:transform .4s ease}.ehda-db-team-card:hover .team-content,.ehda-product-card:hover .ehda-product-body{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.ehda-live-float,.ehda-section-accent,.header-carousel .owl-item.active img{animation:none!important}.ehda-parallax-media{transform:none!important}.ehda-live-card,.ehda-live-media img{transition:none!important}}


/* EHDA unified motion accents. Scroll reveals are driven by Web Animations API. */
.ehda-home-clients .ehda-client-card{position:relative;overflow:hidden;animation:ehdaTrustedCardFloat 4.2s ease-in-out infinite;animation-delay:var(--ehda-client-delay,0ms)}
.ehda-home-clients .ehda-client-logo img{animation:ehdaTrustedLogoFloat 2.8s ease-in-out infinite;animation-delay:var(--ehda-client-delay,0ms)}
.ehda-home-clients .ehda-client-card::before{content:"";position:absolute;top:-45%;bottom:-45%;left:-42%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);transform:rotate(17deg);animation:ehdaTrustedShine 4.6s ease-in-out infinite;animation-delay:calc(var(--ehda-client-delay,0ms) + 900ms);pointer-events:none}
@keyframes ehdaTrustedCardFloat{0%,100%{transform:translateY(0);box-shadow:0 18px 42px rgba(12,44,91,.09)}50%{transform:translateY(-7px);box-shadow:0 27px 58px rgba(31,194,226,.16)}}
@keyframes ehdaTrustedLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.025)}}
@keyframes ehdaTrustedShine{0%,24%{left:-42%;opacity:0}38%{opacity:.85}56%,100%{left:125%;opacity:0}}
.ehda-motion-flash{position:relative}
.ehda-motion-flash::after{content:"";position:absolute;left:50%;bottom:12px;width:0;height:2px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(90deg,transparent,rgba(45,213,242,.72),transparent);opacity:0;pointer-events:none}
.ehda-motion-flash.ehda-motion-pulse::after{animation:ehdaMotionPulse 1.05s ease-out both}
@keyframes ehdaMotionPulse{0%{width:0;opacity:0}42%{opacity:.95}100%{width:min(70%,760px);opacity:0}}
@media(prefers-reduced-motion:reduce){.ehda-home-clients .ehda-client-card,.ehda-home-clients .ehda-client-logo img,.ehda-home-clients .ehda-client-card::before{animation:none!important}}


/* EHDA Scroll Showcase — reference-video style.
   Motion is driven by Web Animations API; nothing is persistently hidden. */
.ehda-home-about,
.ehda-home-stats,
.ehda-home-services,
.ehda-home-products,
.ehda-home-projects,
.ehda-home-blog,
.ehda-home-team,
.ehda-home-clients,
.ehda-home-testimonials,
.ehda-home-faq { position: relative; }

.ehda-scroll-showcase-pulse::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 0;
    height: 2px;
    transform: translateX(-50%);
    border-radius: 999px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(42,198,234,.5), transparent);
    animation: ehdaShowcasePulse 1.05s cubic-bezier(.16,1,.3,1) both;
}
@keyframes ehdaShowcasePulse {
    0% { width: 0; opacity: 0; }
    45% { opacity: 1; }
    100% { width: min(68%, 720px); opacity: 0; }
}
.ehda-home-clients.ehda-clients-alive .ehda-client-logo img {
    animation: ehdaTrustedByFloat 2.8s ease-in-out infinite;
}
.ehda-home-clients .ehda-client-card { position: relative; overflow: hidden; }
.ehda-home-clients.ehda-clients-alive .ehda-client-card::after {
    content: "";
    position: absolute;
    top: -35%;
    bottom: -35%;
    left: -42%;
    width: 24%;
    transform: rotate(16deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
    pointer-events: none;
    animation: ehdaTrustedByShine 3.4s 1.1s ease-in-out infinite;
}
@keyframes ehdaTrustedByFloat {
    0%,100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-7px) scale(1.02); }
}
@keyframes ehdaTrustedByShine {
    0%,20% { left: -42%; opacity: 0; }
    42% { opacity: .85; }
    65%,100% { left: 125%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .ehda-home-clients.ehda-clients-alive .ehda-client-logo img,
    .ehda-home-clients.ehda-clients-alive .ehda-client-card::after,
    .ehda-scroll-showcase-pulse::after { animation: none !important; }
}


/* ============================================================
   EHDA HOME MOTION SUPPORT
   ============================================================ */
.ehda-home-clients.ehda-trusted-live .ehda-client-logo img {
    animation: ehdaTrustedLogoFloat 2.5s ease-in-out .45s infinite;
}

.ehda-home-clients.ehda-trusted-live .ehda-client-card {
    animation: ehdaTrustedCardFloat 3.2s ease-in-out .7s infinite;
}

.ehda-home-clients .ehda-client-card {
    position: relative;
    overflow: hidden;
}

.ehda-home-clients .ehda-client-card::after {
    content: "";
    position: absolute;
    top: -40%;
    bottom: -40%;
    left: -45%;
    width: 28%;
    transform: rotate(18deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.72),
        transparent
    );
    pointer-events: none;
}

.ehda-home-clients.ehda-trusted-live .ehda-client-card::after {
    animation: ehdaTrustedShine 3s ease-in-out 1s infinite;
}

.ehda-card-hovering {
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 55px rgba(12,44,91,.15) !important;
}

@keyframes ehdaTrustedLogoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.025); }
}

@keyframes ehdaTrustedCardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

@keyframes ehdaTrustedShine {
    0%, 18% { left: -45%; opacity: 0; }
    40% { opacity: .95; }
    62%, 100% { left: 125%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .ehda-home-clients.ehda-trusted-live .ehda-client-logo img,
    .ehda-home-clients.ehda-trusted-live .ehda-client-card,
    .ehda-home-clients.ehda-trusted-live .ehda-client-card::after {
        animation: none !important;
    }
}
