
html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Elms Sans", sans-serif;
    overflow-x: hidden;
    color: #1c4c57;
    background-image: linear-gradient(270deg, #f5fdff 0%, #f8ffff 100%);
}
@font-face {
    font-family: 'Abnes';
    src: url('../fonts/abnes.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Allison Script';
    src: url('../fonts/Allison_Script.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
.d-font{
    font-family: "Allison Script", cursive;
}
h1,h2,h3,h4,h5,h6{
    font-family: "Old Standard TT", serif;
}
a{
    color: #34c0ff;
}
.page-numbers{
        width: 35px;
        height: 35px;
        line-height: 34px;
        text-decoration: none;
        font-weight: 700;
        border-radius: 50px;
        border: 1px solid #1C4C57;
        background: #1C4C57;
        text-align: center;
        display: inline-block;
        color: #fff;
}
.page-numbers.prev, .page-numbers.next{
    border: 1px solid #aeaeae;
    background: #aeaeae;
}
.page-numbers.next{
    
}
.page-numbers.current{
    border: 1px solid #ec95a4;
    background: #ec95a4;
    color: #ff;
}
.form-control:focus{
    outline: 0;
    box-shadow: none;
}
.section-space{
    padding-top: 70px;
    padding-bottom: 70px
}
/* Custom Cursor */
.custom-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #3f3f3f;
    border-radius: 50%;
    pointer-events: none;
    transition: width 0.3s ease, height 0.3s ease, border 0.3s ease, background-color 0.3s ease;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

.custom-cursor .cursor-dot {
    width: 6px;
    height: 6px;
    background-color: #3f3f3f;
    border-radius: 50%;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

body:hover .custom-cursor {
    opacity: 1;
}

.custom-cursor.hover {
    width: 50px;
    height: 50px;
    border-color: #dbdbdb;
}

.custom-cursor.hover .cursor-dot {
    background-color: #dbdbdb;
    transform: scale(1.5);
}

/* Top Bar */
.top-bar{
    background: #1c4c57;
    padding-top: 10px;
    padding-bottom: 10px;
}
.top-bar .top-ul{
    margin-bottom: 0px;
}
.top-bar .top-ul li{

}
.top-bar .top-ul li a, .top-bar .top-ul li p{
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    display: flex;
    gap: 7px;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    margin-bottom: 0px
}
.top-bar .top-ul .top-ul-divide{
    margin-top: auto;
    margin-bottom: auto
}
.top-bar .top-ul li a i, .top-bar .top-ul li p i{
    color: #85c4d1;
    font-size: 18px;
}
#menu-header > li:nth-last-child(2) .nav-link,
#menu-header > li:nth-last-child(1) .nav-link {
   color: #fff;
   margin-left: 10px;
   font-size: 13px;
}
#menu-header > li:nth-last-child(2) .nav-link::before,
#menu-header > li:nth-last-child(1) .nav-link::before{
    z-index: -1;
}
#menu-header > li:nth-last-child(2) .nav-link:hover,
#menu-header > li:nth-last-child(1) .nav-link:hover {
   color: #1C4C57;
}
/* === Shutter Hover Link === */
.shutter-link {
    position: relative;
    display: inline-block;
    overflow: hidden;
    background: #1C4C57;
    color: #ec95a4;
    text-decoration: none;
    padding: 14px 36px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 6px;
    transition: color 0.4s ease;
    z-index: 1;
}


.shutter-link::before {
    content: "";
    position: absolute;
    top: 0;
    right: 100%;
    width: 100%;
    height: 100%;
    background: #85c4d1;
    transition: all 0.5s ease;
    z-index: 0;
}

.shutter-link:hover::before {
    right: 0;
}
.shutter-link span{
    position: relative;
    z-index: 1
}
.shutter-link:hover {
    color: #1C4C57;
}
.shutter-link-bordered {
    position: relative;
    display: inline-block;
    overflow: hidden;
    background: transparent;
    color: #1C4C57;
    text-decoration: none;
    padding: 14px 36px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid #1C4C57;
    border-radius: 6px;
    transition: color 0.4s ease, border-color 0.4s ease;
    z-index: 1;
}

/* shutter overlay animation */
.shutter-link-bordered::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #c7efff;
    transition: all 0.5s ease;
    z-index: 0;
}

/* slide in background from left to right */
.shutter-link-bordered:hover::before {
    left: 0;
}

/* bring text above shutter effect */
.shutter-link-bordered span {
    position: relative;
    z-index: 1;
}

/* color invert on hover */
.shutter-link-bordered:hover {
    color: #ec95a4;
    border-color: #1C4C57;
}
.splitted .char {
    display: inline-block;
    will-change: transform, opacity;
}
.main-h{
    font-size: 70px;
    margin-bottom: 30px;
}
.main-h span{
    color: #ec95a4;
}
.main-sub-h{
    margin-bottom: 50px;
    font-size: 30px;
    line-height: 1.5;
    text-align: justify
}
.main-sub-h span{
    color: #ec95a4;
}
/* Navbar */
.logo{
    width: 200px;
}
.navbar .dropdown {
    position: static !important;
}


.navbar-light{
    z-index: 1050;
    padding-top: 15px;
    padding-bottom: 15px;
    position: fixed;
    width: 100%;
    transition: all 0.4s ease-in-out;
}
.navbar-light .navbar-nav .nav-link.last{
    color: #ec95a4;
    background: #1c4c57;
    border-radius: 6px;
    margin-left: 10px;
}
.navbar-light .dropdown-menu{
    padding: 0px;
    border-radius: 0px;
    border: 0px;
    background: #1c4c57;
    color: #fff;
    border-radius: 10px
}
.navbar-light .dropdown-menu.mega-menu{
    max-width: 1000px;
    width: 930px;
    padding: 30px;
    right: 1%;
}
.navbar-light .dropdown-menu.mega-menu .mega-title{
    text-decoration: none;
}
.navbar-light .dropdown-menu.mega-menu .mega-title:hover h6{
    color: #ec95a4;
}
.navbar-light .dropdown-menu.mega-menu .mega-title h6{
    font-size: 16px;
    color: #c7efff;
    text-decoration: none;
    font-family: "Elms Sans", sans-serif;
    font-weight: 600;
    margin-bottom: 20px;
    position: relative
}
.navbar-light .dropdown-menu.mega-menu .mega-title h6:after{
    content: '';
    width: 100px;
    height: 1px;
    background-color: #d4f3ff;
    position: absolute;
    bottom: -10px;
    left: 0px
}
.navbar-light .dropdown-menu.mega-menu .mega-title:hover{
    color: #ec95a4;
}
.navbar-light .dropdown-menu.mega-menu ul{
    list-style: unset;
    margin-bottom: 20px;
    padding-left: 0px;
}
.navbar-light .dropdown-menu.mega-menu ul li{

}
.navbar-light .dropdown-menu.mega-menu ul li a{
    color: #fff;
    text-decoration: none;
    display: inline-block;
    padding: 3px 0px;
    font-size: 14px;
    position: relative;
}

.navbar-light .dropdown-menu.mega-menu ul li a:hover{
    color: #ec95a4;
}
.dropdown-item{
    padding: 8px 20px;
    color: #fff
}
.navbar-light .navbar-nav .nav-link{
    font-size: 14px;
    color: #1c4c57;
    text-transform: uppercase;
    margin-left: 0px;
    font-weight: 600;
    padding: 14px 14px;
}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .dropdown.show .nav-link {
    color: #ec95a4;
}
.navbar-light.is-sticky {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    -webkit-box-shadow: 0 7px 13px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 7px 13px 0 rgba(0, 0, 0, 0.1);
    animation: slideDown 0.5s ease forwards;
    will-change: transform;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.navbar-light.is-sticky{
    padding-top: 5px;
    padding-bottom: 5px
}
.navbar-light.is-sticky .logo {
    width: 140px;
}
.navbar-light.is-sticky .nav-link{
    padding: 10px 14px;
}
/* main hero */
.main-hero{
    padding-top: 130px;
    padding-bottom: 90px;
    background: #c7efff;
    position: relative;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*
.main-hero:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: url(../../assets/img/hero-overlay.png);
    background-size: cover;
    background-repeat: no-repeat;
    opacity: .1
}
.main-hero::after {
    content: "";
    position: absolute;
    width: 11.75rem;
    height: 11.75rem;
    border-radius: 50%;
    -webkit-filter: blur(73.85px);
    filter: blur(73.85px);
    background-color: #1c4c5778;
    -webkit-backdrop-filter: blur(-73.85px);
    backdrop-filter: blur(-73.85px);
    z-index: 0;
    bottom: 3%;
    right: 48%;
} */
.main-hero .container{
    position: relative;
    z-index: 1
}
.hero-content .hero-sub{
    font-size: 75px;
    color: #1c4c57;
}
.hero-content .hero-h{
    font-size: 55px;
    margin-bottom: 60px;
    letter-spacing: -1.5px;
}
.hero-content .hero-h span{
    color: #ec95a4;
}
.hero-content.hero-cnt .hero-h {
    font-size: 65px;
}
.logo-slider {
    padding: 00px 0 40px;
}

.owl-carousel .item {
    display: flex;
    justify-content: center;
    align-items: center;
}

.owl-carousel .item img {
    max-width: 140px;
    filter: grayscale(100%);
    opacity: 0.8;
    transition: all 0.3s ease;
}

.owl-carousel .item img:hover {
    opacity: 1;
    transform: scale(1.05);
}
.transform-banner {
    position: relative;

}
.transform-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100%;
    animation: border-transform 15s linear infinite alternate forwards;
    -webkit-animation: border-transform 15s linear infinite alternate forwards;
    transition: all 0.4s ease;
}
.word {
    display: inline-block;
    margin-right: .1em;
}

.char {
    display: inline-block;
}
.imago.animated {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

@keyframes border-transform {
    0%, 100% {
        border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
    }
    14% {
        border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%;
    }
    28% {
        border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%;
    }
    42% {
        border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%;
    }
    56% {
        border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%;
    }
    70% {
        border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%;
    }
    84% {
        border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%;
    }
}
.single-hero .transform-banner img{
    animation: none !important;
    border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%;
}
/* welcome sec */
.bg-ovr{
    background: #93d9e6;
    overflow: hidden;
}

#text-section {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    background: #93d9e6;
    padding-top: 50px;
    padding-bottom: 50px;
}

.assemble-text {
    letter-spacing: .3px;
    font-size: 130px;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #1c4c57;
    -webkit-text-stroke: 1px rgba(28,76,87,0);
    text-align: center;
    font-family: "Abnes", sans-serif;
    line-height: 1.8;
}

.assemble-text .align-end {
    align-self: flex-end; /* shifts MSDP to the right end */
    text-align: right;
    width: 100%;
}

.assemble-text div {
    display: inline-block;
}

.assemble-text span {
    display: inline-block;
    margin-right: 0.05em;
}

.assemble-text span.space {
    width: 15px;
    margin-right: 0;
}

@media (max-width: 768px) {
    .assemble-text {
        font-size: 60px;
    }
    .assemble-text span.space {
        width: 8px;
    }
}


/* Overlay Section */
#overlay-section {
    position: relative;
    padding: 20px 20px 20px 20px;
    z-index: 2;
    background: transparent;
}

#overlay-section .container {
    position: relative;
    z-index: 2;
}

.overlay-image {
    opacity: 0;
    transform: translateY(50px);
}

.over-img-box{
    position: relative;
    width: 100%;
    padding-bottom: 74% !important;
    overflow: hidden;
    display: block;
}
.over-img-box.ovr-1 img{
    width: 80%;
    height: 80%;
}

.over-img-box.ovr-2 img{
    height: 200px !important;
    overflow: hidden;
    padding-bottom: 0px !important;
}
.over-img-box img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 100%;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    background-size: cover;
    max-width: 100%;
}
.over-img-box img.hvr {
    -webkit-transform: translatex(50%) scalex(2);
    transform: translatex(50%) scalex(2);
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
}
.over-img-box:hover img.nhvr {
    -webkit-transform: translatex(-50%) scalex(2);
    transform: translatex(-50%) scalex(2);
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
}
.over-img-box:hover img.hvr {
    -webkit-transform: translatex(0) scalex(1);
    transform: translatex(0) scalex(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
}
/* feature-sec */
.feature-sec{
    min-height: 100vh;
    background-color: #93d9e6;
    z-index: 2;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 70px 0;
}

.services-section {
    position: relative;
    overflow: hidden;
    padding-top: 70px;
    padding-bottom: 70px;
    background: #c7efff;
}
.services-section .main-h{
}
.services-section .main-sub-h{
    margin-bottom: 50px
}
.services-section .shutter-link{
    margin-top: 50px;
}
.serv-div{
    background-color: #1c4c57;
    border-radius: 30px;
    padding: 20px;
    width: 100%;
}
.serv-div h2{
    color: #fff;
    font-size: 30px;
}
.serv-div p{
    color: #fff;
    font-size: 16px;
    line-height: 1.7
}
.serv-div p br{
    display: none;
}
.serv-main-h{
    font-size: 45px;
    text-align: center
}
.serv-main-h img{
    width: 200px;
    margin-left: -13PX;
}
.serv-page .service-pill{
    font-size: 14px
}
/* ================= SERVICE CARD ================= */
.service-card {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    opacity: 0;
    transform: translateY(60px);
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    transition: all 0.4s ease;
}

.service-card a {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
}

.service-card:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: 0 15px 35px rgba(13, 152, 184, 0.35);
}

.media-wrap {
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
}

.service-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.2);
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.reveal-mask {
    position: absolute;
    inset: 0;
    background: #1C4C57;
    z-index: 3;
    transform: translateX(0%);
}

.service-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0) 70%);
    z-index: 2;
}

.service-pill {
    transform: none !important;
    position: absolute;
    bottom: 25px;
    left: 10%;
    width: 80%;
    z-index: 4;
    background: #1c4c57ad;
    color: #ffffff;
    padding: 10px 26px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-weight: 600;
    opacity: 0;
    backdrop-filter: blur(6px);
    text-align: center;
    transition: all 0.35s ease;
}

.service-card:hover .service-pill {
    background: linear-gradient(
        7deg, #1c4c57, #226474);
    color: #ffffff;
    transform: translate(-50%, 0);
    box-shadow: 0 0 10px rgba(13, 152, 184, 0.6);
}

.service-card:hover .service-img {
    transform: scale(1.15);
}

.bottom-section {
    background: linear-gradient(135deg, var(--secondary), #4be1ec);
    color: #fff;
    text-align: center;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 600;
}
.accordion-box{
    margin-top: 70px
}
.ms-accordion{
    background: #c7efff;
    border: 0px;
    margin-bottom: 20px;
    border-radius: 10px;
}
.ms-accordion .accordion-button {
    color: #1c4c57;
    background-color: #c7efff;
    font-weight: 600;
    box-shadow: none !important;
    border: 1px solid #1c4c57;
    border-radius: 10px !important;
    margin-bottom: 0px;
    transition: all 0.3s ease;
    font-family: "Elms Sans", sans-serif;
}

.ms-accordion .accordion-button:hover {
    background-color: #1c4c57;
    color: #fff;
}

.ms-accordion .accordion-button:not(.collapsed) {
    background-color: #1c4c57;
    color: #fff;
    border-color: #1c4c57;
}

.ms-accordion .accordion-button::after {
    content: "\f4fe"; /* plus icon */
    font-family: "bootstrap-icons";
    font-size: 1.3rem;
    color: #ec95a4;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
    background-image: none;
}

.ms-accordion .accordion-button:not(.collapsed)::after {
    content: "\f2ea"; /* minus icon */
    color: #fff;
}

.ms-accordion .accordion-item {
    border: none;
    background: transparent;
}

.ms-accordion .accordion-body {
    background-color: #f3f3f300;
    border: 0px solid #dce4e6;
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding: 20px;
    line-height: 1.7;
    color: #333;
}

.accordion-header h2 {
    font-size: 1.1rem;
}
.sub-box{
    border-radius: 30px;
    background-color: #1C4C57;
    padding: 50px 10px;
    text-align: center;
    margin-top: 70px;
    margin-bottom: 40px
}
.sub-box .input-group{
  
}
.sub-box .input-group .form-control{
    
}
.sub-box .input-group button{
        background: #ec95a4;
    color: #1c4c57;
    font-size: 23px;
    padding: 11px 23px;
}
.sub-box .main-h{
    color: #fff;
    font-size: 45px
}
.cta-box{
    border-radius: 30px;
    background-color: #1C4C57;
    padding: 40px 10px;
    text-align: center;
    margin-top: 70px;
    margin-bottom: 40px
}
.cta-box .cta-title{
    color: #93d9e6;
    font-size: 50px;
    letter-spacing: 6px;
    font-family: "Abnes", sans-serif;
}
.cta-box a{
    text-decoration: none;
    color: #93d9e6;
    font-size: 22px;
    display: inline-block;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 500;
}
.cta-box a:hover{

}
.color-bg{
    background-color: #1c4c57;
    border-radius: 30px;
    padding: 40px;
    margin-bottom: 50px
}
.color-bg .main-sub-h{
    margin-bottom: 0px
}
.color-bg .main-h, .color-bg .main-sub-h{
    color: #fff;
}
.color-bg.frd-color-bg .main-h{
    font-size: 48px
}
.dedicated-sec{
    background-color: #1c4c57;
}
.dedicated-sec .main-h{
    font-size: 52px
}
.dedicated-sec .main-h, .dedicated-sec .main-sub-h{
    color: #fff;
}
.dedicated-sec .main-sub-h{
    font-size: 26px
}
.team-sec{
    background: #c7efff;
}
.team-box{
    background: #1c4c57;
    padding: 20px;
    border-radius: 30px;
    position: relative;
    margin-top: 30px;
    overflow: hidden;
    box-shadow: var(--bs-box-shadow) !important;
}
.team-box .team-img{
    border-radius: 999px;
    overflow: hidden;
    width: 266px;
    height: 266px;
    position: relative;
    z-index: 2
}
.team-box .team-img img{
    border-radius: 99px;
    object-fit: cover;
}
.team-box .team-name{
    width: 90%;
    background: #ffffff75;
    color: #ffffff;
    padding: 10px 26px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    opacity: 1;
    backdrop-filter: blur(6px);
    text-align: center;
    transition: all 0.35s ease;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-top: 25px;
    font-size: 20px;
    letter-spacing: .5px;
    z-index: 2
}

.team-box::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background-color: #85c4d1;
    border-radius: 30px;
    transition: all 0.6s ease;
    z-index: 1;
}
.team-box:hover::after {
    bottom: 0;
}
.team-box:hover .team-name{
    background: #1c4c57;
}
.review-sec{
    background: #1c4c57;
}
.review-sec .main-h{
    color: #fff;
}
.review-box{
    background: #c7efff;
    padding: 25px;
    border-radius: 30px;
    text-align: center;
    margin-top: 30px;
    width: 100%
}
.review-box .review-rating{
    margin-bottom: 10px;
}
.review-box .review-rating .bi-star-fill{
    color: #f6c217;
    font-size: 28px;
}
.review-box p{
    font-size: 18px;
    font-style: italic;
}
.review-box span{
    font-family: "Old Standard TT", serif;
    font-size: 26px;
}
.faq-sec{
    background-color: #85c4d1;
}
.faq-sec .accordion-box{
    margin-top: 0px
}
.cta-new{
    background-color: #93d9e6
}
.req-box {
    position: relative;
    padding: 40px 40px;
    box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.4);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 4px;
    overflow: hidden;
    background: #1c4c57;
    border-radius: 6px;
}

/* Top border animation */
.req-box .top-border {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #171618, #93d9e6);
    animation: topAnim 2s linear infinite;
}


@keyframes topAnim {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Right border animation */
.req-box .right-border {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 3px;
    background: linear-gradient(to bottom, #171618, #93d9e6);
    animation: rightAnim 2s linear infinite;
    animation-delay: 1s;
}

@keyframes rightAnim {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(100%);
    }
}

/* Bottom border animation */
.req-box .bottom-border {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to left, #171618, #93d9e6);
    animation: bottomAnim 2s linear infinite;
}

@keyframes bottomAnim {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Left border animation */
.req-box .left-border {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 3px;
    background: linear-gradient(to top, #171618, #93d9e6);
    animation: leftAnim 2s linear infinite;
    animation-delay: 1s;
}
.req-box .main-h{
    color: #fff;
    font-size: 45px
}
.req-box .shutter-link{
    background: #c7efff;
    color: #1c4c57;
}
.req-box .shutter-link:hover{

}
.req-box .shutter-link-bordered{
    border-color: #c7efff;
    color: #c7efff;
}
.req-box .shutter-link-bordered:hover{
    color: #1c4c57;
}
.req-box ul{
    margin-top: 60px
}
@keyframes leftAnim {
    0% {
        transform: translateY(100%);
    }
    100% {
        transform: translateY(-100%);
    }
}
.faq-sec .main-sub-h{
    font-size: 24px;
    margin-bottom: 20px
}
section.service-areas {
    background: #1c4c57;
    padding: 60px 20px;
    color: #fff;
}
.service-areas .main-h{
    text-align: center;
    font-size: 60px;
    margin-bottom: 40px;
}
.service-areas .main-h img{
    width: 40%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}

.area-pill {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-radius: 50px;
    padding: 13px 20px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.area-pill:hover {
    background: #85c4d1;
    color: #1c4c57;
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    border-color: #85c4d1;
}

.areas-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}
.map-sec{
    background-color: #93d9e6;
}
.map-sec .map-box{
    margin-bottom: 40px
}
.map-sec .map-box, .map-sec .map-box iframe{
    border-radius: 10px
}
.map-sec .main-h{
    font-size: 40px;
    margin-bottom: 40px;
}
.map-sec .main-h img{
    width: 40%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
/* contact page */
.contact-form{
    background-color: #1c4c57;
    border-radius: 30px;
    padding: 40px;
    margin-top: 50px;
    color: #fff;
}
.contact-form input[type="checkbox"] {
    width: 22px;
    height: 22px;
    cursor: pointer;
    border-radius: 4px;
    vertical-align: middle;
}

/* Custom color */
.contact-form input[type="checkbox"]:checked {
    background-color: #2a9d8f;
    border-color: #2a9d8f;
}
.contact-form .form-check-input:checked {
    background-color: #2a9d8f !important;
    border-color: #2a9d8f !important;
}
/* Hover Effect */
.contact-form input[type="checkbox"]:hover {
    box-shadow: 0 0 6px rgba(42, 157, 143, 0.6);
}

.big-check label {
    font-size: 1rem;
    margin-left: 4px;
    cursor: pointer;
    color: #fff;
    vertical-align: middle;
}
.contact-form input[type="radio"] {
    width: 22px;
    height: 22px;
    cursor: pointer;
    border: 2px solid #2a9d8f;
    vertical-align: middle
}

/* Inner circle color when checked */
.contact-form input[type="radio"]:checked {
    background-color: #2a9d8f;
    border-color: #2a9d8f;
}

/* Hover glow */
.contact-form input[type="radio"]:hover {
    box-shadow: 0 0 6px rgba(42, 157, 143, 0.5);
}

/* Label styling */
.custom-radio label {
    font-size: 1rem;
    margin-left: 4px;
    cursor: pointer;
    color: #fff;
    vertical-align: middle;
}
.contact-form .form-group{
    margin-bottom: 20px
}
.contact-form .form-group .form-control{
    height: 55px;
    border-radius: 10px;
}
.contact-form .form-group .label-top{
    color: #fff;
    margin-bottom: 8px;
}
.contact-form .form-group textarea.form-control{
    height: 100px
}
.contact-form .row-date{
    margin-top: 30px
}
.contact-inn-title{
    color: #ec95a4;
    margin-bottom: 30px;
    margin-top: 20px;
    font-size: 35px;
}
.contact-form .shutter-link{
    border: 1px solid #ec95a4;
    margin-top: 40px;
}
.contact-form .shutter-link:hover{
    border: 1px solid #85c4d1;
}
/* Footer */
footer {
    background-color: #1c4c57;
    color: #ffffff;
    padding: 60px 0 30px;
    font-size: 15px;
    position: relative;
    overflow: hidden;
}

footer h5 {
    color: #93d9e6;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

footer a {
    display: block;
    color: #ffffffcc;
    text-decoration: none;
    margin-bottom: 22px;
    transition: color 0.3s ease, transform 0.2s ease;
}
footer a i{
    font-size: 12px;
}
footer a:hover {
    color: #ec95a4;
    transform: translateX(3px);
}
footer .contact-info,
footer .location p{
    position: relative;
    padding-left: 22px
}
footer .contact-info i,
footer .location i {
    color: #93d9e6;
    margin-right: 8px;
    position: absolute;
    left:0
}

.footer-btn {
    display: inline-block;
    border: 2px solid #93d9e6;
    color: #93d9e6;
    background: transparent;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    transition: all 0.3s ease;
}

.footer-btn:hover {
    background-color: #93d9e6;
    color: #1c4c57;
}

.footer-location {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 280px;
    padding: 0 20px;
}

.footer-location p {
    margin: 0 0 10px;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin-top: 60px;
    padding-top: 20px;
    text-align: center;
    color: #ffffff99;
    font-size: 14px;
}
.new-care-sec{
    background: #c8edfd;
}
/* gallery sec */
.gallery-sec {
    background-color: rgb(133, 196, 209);
}
.serv-gallery-div{
    background-color: #e6cbb6;
    border-radius: 60px;
    padding: 20px;
    margin-bottom: 30px;
}
.ms-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ms-gallery img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    cursor: pointer;
    opacity: 0;
    transform: scale(0.8);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.ms-gallery img:hover {
    transform: scale(1.05);
}

/* ------------------- MODAL ------------------- */
.ms-gal-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.85);
    align-items: center;
    justify-content: center;
}

.ms-gal-modal .modal-dialog {
    width: 70vw;
    max-width: 1000px;
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ms-gal-modal .modal-content {
    background: transparent;
    border: none;
    box-shadow: none;
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ms-gal-modal .modal-content img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
    object-fit: contain;
}

/* ------------------- BUTTONS ------------------- */
.ms-gal-modal .close-btn,
.ms-gal-modal .arrow-btn {
    position: absolute;
    background: rgba(255,255,255,0.75);
    border: none;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    cursor: pointer;
    color: #222;
    transition: 0.3s ease;
    z-index: 10000;
}

.ms-gal-modal .close-btn {
    top: 10px;
    right: 10px;
    transform: none;
}

.ms-gal-modal .arrow-btn.left {
    left: -60px;
    top: 50%;
    transform: translateY(-50%);
}

.ms-gal-modal .arrow-btn.right {
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
}

.ms-gal-modal .arrow-btn:hover,
.ms-gal-modal .close-btn:hover {
    background: #fff;
}
/* article */

.article-box{
    background: #c7efff;
    position: relative;
     transition: all 0.4s ease; 
     margin-top: 30px;
     width: 100%
}

.article-box:after{
    content: '';
    position: absolute;
    height: 5px;
    width: 100%;
    left: 0;
    bottom: -5px;
    background: #1c4c57;
    z-index: 1;
}

.article-box:before{
    content: '';
    position: absolute;
    height: 5px;
    width: 0%;
    left: 0;
    bottom: -5px;
    background: #ec95a4;
    z-index: 2;
    transition: width 0.4s ease;
}

.article-box:hover::before{
    width: 100%;
}
.article-box .article-img{
    overflow: hidden;
    display: block;
}
.article-box .article-img img{
    width: 100%;
  transition: all 0.9s ease; 
}
.article-box:hover .article-img img{
   transform: scale(1.1);
  transition: all 0.9s ease; 
}
.article-con{
    padding: 20px;
}
.article-con h4{
    font-size: 21px;
    line-height: 1.5;
    font-weight: 700;
}
.article-con .article-read{
    align-items: center;
    color: #1c4c57;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    margin-top: 15px;
    margin-bottom: 5px;
    display: inline-block;
}
.article-con .article-read i{
    font-size: 23px;
    vertical-align: middle;
    margin-top: 1px;
    display: inline-block;
    padding-left: 8px;
}
.article-box:hover .article-read{
    color: #ec95a4
}
.article-box.article-green{
    background: #1c4c57
}
.article-box.article-green h4{
    color: #fff;
    font-size: 17px;
}
.article-box.article-green .article-read{
    color: #fff;
    margin-top: 30px;
}
.article-box.article-green p{
    color: #fff;
    font-size: 14px;
    line-height: 1.3;
}
.article-box.article-green .article-img{
    height: 200px
}
.article-box.article-green .article-img img{
    height: 200px;
    object-fit: cover
}
.masonry {
    column-count: 4;
    column-gap: 30px;
}

/* Each category block */
.masonry > div {
    break-inside: avoid;
    margin-bottom: 30px;
}

/* Headings */
.mega-title h6 {
    font-weight: 600;
    margin-bottom: 14px;
}

/* Lists */
.mega-list {
    padding-left: 0;
    margin: 0;
}

.mega-list li {
    list-style: none;
    margin-bottom: 10px;
}
.big-br{
    display: none;
}
/* Responsive */
@media (max-width: 1200px) {
    .masonry { column-count: 3; }
}
@media (max-width: 992px) {
    .masonry { column-count: 2; }
}
@media (max-width: 576px) {
    .masonry { column-count: 1; }
}
/* Responsive */
@media (max-width: 768px) {
    .ms-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .ms-gal-modal .modal-dialog {
        width: 90vw;
        height: 70vh;
    }

    .ms-gal-modal .arrow-btn.left {
        left: 10px;
    }

    .ms-gal-modal .arrow-btn.right {
        right: 10px;
    }
    .hero-content .hero-sub{
        font-size: 55px;
    }
    .hero-content .hero-h{
        font-size: 35px;
        margin-bottom: 30px;
    }
    .main-h{
        font-size: 35px;
    }
    .serv-div h2{
        font-size: 22px;
    }
    .serv-div p {
    font-size: 14px;
    line-height: 1.5;
}
 .media-wrap {
        height: auto !important;
        
    }
    .serv-div{
        margin-bottom: 20px;
    }
    .color-bg .main-sub-h{
        font-size: 18px;
    }
    .cta-box .cta-title{
        font-size: 20px;
    }
    .cta-box a{
        font-size: 18px;
    }
    .team-box .team-img{
        margin-left: auto;
        margin-right: auto;
    }
    .review-box{
        padding: 15px;
    }
    .review-box p{
        font-size: 16px;
    }
    .req-box{
        padding: 20px;
    }
    .req-box .main-h {
    font-size: 32px;
    margin-bottom: 0px;
}
.req-box ul {
    margin-top: 30px;
}
.service-areas .main-h{
    font-size: 32px;
}
.service-areas .area-pill{
            font-size: 13px;
        padding: 10px 10px;
}
.map-sec .main-h{
    font-size: 32px;
}
}
@media (max-width: 1400px){
    .assemble-text{
        font-size: 110px;
    }
}
@media (min-width: 1750px){
    .big-br{
       height: 158px;
       display: block;
    }
}
@media (max-width: 480px) {
    .ms-gallery {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1199px) {
    .footer-location {
        position: static;
        transform: none;
        width: 100%;
        margin-top: 40px;
    }
}

@media (max-width: 991px) {
    footer .col-md-2,
    footer .col-md {
        margin-bottom: 30px;
    }
    .navbar-light{
        background-color: #fff !important;
    }
}
@media (min-width: 992px) {
    .areas-grid > div {
        flex: 0 0 calc(24.66% - 15px); /* 6 per row */
    }
    .nav-item.dropdown .dropdown-menu {
    display: block;            /* Always occupy space for smooth anim */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;
}

/* Show on hover */
.nav-item.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}
}

@media (min-width: 768px) and (max-width: 991px) {
    .areas-grid > div {
        flex: 0 0 calc(33.33% - 15px); /* 3 per row */
    }
}

@media (max-width: 768px) {
    .areas-grid > div {
        flex: 0 0 calc(50% - 15px); /* 2 per row */
    }
    
}
@media (max-width: 991px) {
    .media-wrap {
        height: 260px;
    }
}

@media (max-width: 575px) {
   
}