/* Contact page - premium address/phone/email cards */
.contact-section .contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    height: 100%;
    margin-bottom: 30px;
    padding: 40px 30px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(15, 23, 60, 0.08);
    border: 1px solid #eef0f5;
    transition: all .35s ease-out 0s;
}

.contact-section .contact-info:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(15, 23, 60, 0.14);
    border-color: transparent;
}

.contact-section .contact-info__icon {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #1f2b7b, #0c267f);
    transition: all .35s ease-out 0s;
}

.contact-section .contact-info__icon i,
.contact-section .contact-info__icon span {
    color: #fff;
    font-size: 24px;
}

.contact-section .contact-info:hover .contact-info__icon {
    background: linear-gradient(135deg, #ed5a19, #fe5f12);
}

.contact-section .contact-info__label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fe5f12;
    margin-bottom: 6px;
}

.contact-section .contact-info .media-body h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}

.contact-section .contact-info .media-body p {
    margin-top: 4px;
    margin-bottom: 0;
    font-size: 14px;
}

@media (max-width: 767px) {
    .contact-section .contact-info {
        padding: 30px 20px;
    }
}

.contact-section .contact-map iframe {
    width: 100%;
    height: 480px;
}

@media (min-width: 768px) and (max-width: 991px) {
    .contact-section .contact-map iframe {
        height: 380px;
    }
}

@media (max-width: 767px) {
    .contact-section .contact-map iframe {
        height: 280px;
    }
}

/* Header social icons - round circle premium hover */
.header-area .header-top .header-info-right .header-social {
    display: flex;
    align-items: center;
}

.header-area .header-top .header-info-right .header-social li {
    display: inline-block;
    margin-left: 10px;
}

.header-area .header-top .header-info-right .header-social li:first-child {
    margin-left: 0;
}

.header-area .header-top .header-info-right .header-social li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    font-size: 13px;
    transition: all .3s ease-out 0s;
}

.header-area .header-top .header-info-right .header-social li a i {
    transition: transform .5s ease-out 0s;
    transform: rotate(0deg);
}

.header-area .header-top .header-info-right .header-social li a:hover {
    background: #ed5a19;
    border-color: #ed5a19;
    color: #fff;
}

.header-area .header-top .header-info-right .header-social li a:hover i {
    transform: rotate(360deg);
}

/* Custom premium slick slider styles */
.slider-active {
    position: relative;
    overflow: hidden;
}

/* Dots Styling */
.slider-active .slick-dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex !important;
    gap: 15px;
    z-index: 99;
    padding: 0;
    margin: 0;
    list-style: none;
}

.slider-active .slick-dots li {
    margin: 0;
}

.slider-active .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 14px;
    height: 14px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 2px solid #ffffff;
    outline: none;
    background: transparent;
    border-radius: 50%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.slider-active .slick-dots li.slick-active button {
    background: #0c267f;
    /* Theme primary blue */
    border-color: #0c267f;
    transform: scale(1.3);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
}

/* Elegant Arrows Styling */
.slider-active button.slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(25, 26, 51, 0.5);
    /* Header transparent bg with opacity */
    color: #ffffff;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
}

.slider-active button.slick-prev {
    left: 50px;
}

.slider-active button.slick-next {
    right: 50px;
}

.slider-active button.slick-arrow i {
    font-size: 20px;
    color: #ffffff;
    transition: all 0.3s ease;
}

.slider-active button.slick-arrow:hover {
    background: #0c267f;
    /* Theme primary blue */
    border-color: #0c267f;
    box-shadow: 0 8px 24px rgba(12, 38, 127, 0.5);
}

.slider-active button.slick-prev:hover {
    transform: translateY(-50%) translateX(-5px);
}

.slider-active button.slick-next:hover {
    transform: translateY(-50%) translateX(5px);
}

/* Animations & Title Effects */
.slider-area .hero__caption h1 {
    text-shadow: 2px 4px 10px rgba(0, 0, 0, 0.3);
}

/* Enhance background images transitions */
.slider-area .slick-list {
    background: #010a1c;
}

.single-slider {
    transition: transform 12s ease-out, opacity 1.2s ease-in-out !important;
}

.slick-active .single-slider {
    transform: scale(1.03);
}

/* Brick reveal effect on slide change */
.brick-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    overflow: hidden;
    pointer-events: none;
}

.brick-wrap .brick {
    flex: 1 0 0;
    height: 100%;
    background: linear-gradient(160deg, #0c267f, #010a1c);
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08);
    opacity: 1;
    transform: perspective(900px) translateX(0) rotateY(0deg);
    transform-origin: left center;
    transition: transform 1s cubic-bezier(.65, 0, .35, 1), opacity 1s ease;
}

.brick-wrap.is-revealed .brick {
    opacity: 0;
    transform: perspective(900px) translateX(-100%) rotateY(-75deg);
}

.slider-area .hero__caption h1 {
    font-size: 70px;
}

.slider-area .hero__caption .stock-text h2 {
    font-size: 70px;
}

.slider-area .hero__caption .stock-text {
    top: 0;
}

/* Scaled down from the 70px desktop base to match the original template's
   proportions at each of its breakpoints (previously calibrated for 140px). */
@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .slider-area .hero__caption h1 {
        font-size: 68px;
    }

    .slider-area .hero__caption .stock-text h2 {
        font-size: 55px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .slider-area .hero__caption h1 {
        font-size: 55px;
    }

    .slider-area .hero__caption .stock-text h2 {
        font-size: 30px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .slider-area .hero__caption h1 {
        font-size: 36px;
    }

    .slider-area .hero__caption .stock-text h2 {
        font-size: 26px;
    }
}

@media (max-width: 575px) {
    .slider-area .hero__caption h1 {
        font-size: 21px;
    }

    .slider-area .hero__caption .stock-text h2 {
        font-size: 14px;
        margin-bottom: 12px;
    }
}

/* Homepage "Who we are" section now sits in a container/row/column grid
   instead of the original full-bleed flex layout, so the paddings that
   were tuned for that layout need resetting here to fit the columns. */
.home-about-row .support-caption {
    padding-right: 0;
}

#navigation li.active>a {
    color: #fe5f12;
}

/* Premium glass-effect service cards */
.services-area1 {
    background: linear-gradient(135deg, #eef1fb 0%, #f7f9ff 50%, #eef4ff 100%);
}

.services-area1 .single-service-cap {
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(12, 38, 127, 0.12);
    transition: transform .35s ease, box-shadow .35s ease;
}

.services-area1 .single-service-cap:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(12, 38, 127, 0.2);
}

.services-area1 .single-service-cap .service-cap {
    background: transparent;
    padding: 30px;
}

/* Premium overlay-style project cards — deliberately different from the
   glass service cards: full-bleed image with a caption pinned over the
   bottom edge on a dark gradient, darkening and zooming in on hover. */
.project-caption .single-project,
.single-project {
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(2, 8, 42, 0.18);
}

.project-caption .single-project .project-img,
.single-project .project-img {
    overflow: hidden;
}

.project-caption .single-project .project-img img,
.single-project .project-img img {
    transition: transform .6s ease;
}

.project-caption .single-project:hover .project-img img,
.single-project:hover .project-img img {
    transform: scale(1.12);
}

.project-caption .single-project .project-cap,
.single-project .project-cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .97) 75%, rgba(255, 255, 255, 0) 100%);
    padding: 30px 24px 20px;
    transition: background .4s ease-out;
}

.project-caption .single-project .project-cap h4,
.single-project .project-cap h4 {
    font-size: 20px;
}

.project-caption .single-project .project-cap h4:first-of-type a,
.single-project .project-cap h4:first-of-type a {
    color: #0e132a;
}

.project-caption .single-project .project-cap h4+h4 a,
.single-project .project-cap h4+h4 a {
    color: #4a4f66;
    font-size: 14px;
    font-weight: 400;
}

.project-caption .single-project .project-cap .project-desc,
.single-project .project-cap .project-desc {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: #4a4f66;
}

.project-caption .single-project:hover .project-cap,
.single-project:hover .project-cap {
    background: linear-gradient(to top, rgba(12, 38, 127, .97) 0%, rgba(12, 38, 127, .97) 75%, rgba(12, 38, 127, 0) 100%);
}

.project-caption .single-project:hover .project-cap h4:first-of-type a,
.single-project:hover .project-cap h4:first-of-type a {
    color: #fff;
}

.project-caption .single-project:hover .project-cap h4+h4 a,
.single-project:hover .project-cap h4+h4 a {
    color: #cfd6f2;
}

.project-caption .single-project:hover .project-cap .project-desc,
.single-project:hover .project-cap .project-desc {
    color: #fff;
}

.project-caption .single-project .plus-btn,
.single-project .plus-btn {
    top: auto;
    bottom: 16px;
    right: 20px;
}

.project-caption .single-project .plus-btn i,
.single-project .plus-btn i {
    background: #0c267f;
    color: #fff;
    border-radius: 50%;
    margin-left: 0;
    box-shadow: 0 4px 12px rgba(2, 8, 42, .25);
}

/* Our Branches — solid pastel color-block cards with a centered round
   image, auto-adjusting row: 1-up on mobile, 3-up on tablet, all 5 in a
   single row on desktop. */
.branches-area {
    background: #fff;
}

.branch-col {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 15px;
}

@media (min-width: 768px) {
    .branch-col {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }
}

@media (min-width: 992px) {
    .branch-col {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

.branch-item {
    padding: 40px 18px 28px;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(12, 38, 127, 0.08);
    transition: transform .35s ease, box-shadow .35s ease;
}

.branch-item.bg-ice {
    background: #e3f6fb;
}

.branch-item.bg-peach {
    background: #fbe9e2;
}

.branch-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(12, 38, 127, 0.16);
}

.branch-photo {
    width: 120px;
    height: 120px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 20px rgba(12, 38, 127, .15);
}

.branch-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.branch-name {
    font-size: 17px;
    font-weight: 700;
    color: #0e132a;
    margin: 0 0 4px;

}

.branch-location {
    font-size: 13px;
    font-weight: 400;
    color: #5a6072;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.footer-social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.footer-social li {
    margin: 0 10px 10px 0;
}

.footer-social li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 15px;
    transition: all .3s ease-out 0s;
}

.footer-social li a i {
    transition: transform .5s ease-out 0s;
    transform: rotate(0deg);
}

.footer-social li a:hover {
    background: #ed5a19;
    border-color: #ed5a19;
    color: #fff;
}

.footer-social li a:hover i {
    transform: rotate(360deg);
}

.branch-location .ti-location-pin {
    color: #0c267f;
    margin-right: 4px;
    font-size: 12px;
}