/* banner styles */

.banner-area.banner-redesign {
            position: relative;
            overflow: hidden;
            padding: 36px 0 30px;
            background-size: cover;
            background-position: center;
         }

         .banner-area.banner-redesign::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
               radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.2), transparent 38%),
               radial-gradient(circle at 88% 82%, rgba(43, 164, 170, 0.28), transparent 40%),
               linear-gradient(135deg, rgba(8, 42, 58, 0.9) 0%, rgba(21, 91, 104, 0.88) 54%, rgba(43, 164, 170, 0.76) 100%);
            z-index: 0;
         }

         .banner-area.banner-redesign #bootcarousel {
            position: relative;
            z-index: 2;
         }

         .banner-area.banner-redesign .carousel-inner .item {
            min-height: 560px;
            padding: 18px 0;
         }

         .banner-area.banner-redesign .double-items {
            display: flex;
            align-items: center;
            gap: 26px;
            min-height: 520px;
         }

         .banner-area.banner-redesign .double-items .info {
            max-width: 92%;
            padding: 38px 34px;
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.9);
            box-shadow: 0 22px 45px rgba(4, 23, 46, 0.26);
            backdrop-filter: blur(4px);
         }

         .banner-area.banner-redesign .light-bg h2 {
            margin: 0;
            color: #124f5b;
            font-size: 46px;
            line-height: 1.2;
            font-weight: 700;
            letter-spacing: -0.02em;
         }

         .banner-area.banner-redesign .banner-copy {
            margin: 22px 0 0;
            position: relative;
            color: #2b3f59;
            font-size: 18px;
            line-height: 1.75;
            font-weight: 500;
            padding: 0 0 0 34px;
         }

         .banner-area.banner-redesign .banner-copy::before {
            content: "";
            position: absolute;
            width: 14px;
            height: 14px;
            top: 10px;
            left: 0;
            border-radius: 50%;
            background: linear-gradient(135deg, #1f8f95 0%, #2ba4aa 100%);
            box-shadow: 0 0 0 6px rgba(43, 164, 170, 0.2);
         }

         .banner-area.banner-redesign .btn.circle.btn-light.border {
            margin-top: 26px;
            padding: 13px 30px;
            border-radius: 999px;
            border: 2px solid #2ba4aa;
            background: linear-gradient(135deg, #1f8f95 0%, #2ba4aa 100%);
            color: #fff;
            font-weight: 700;
            letter-spacing: 0.02em;
            box-shadow: 0 14px 30px rgba(43, 164, 170, 0.34);
            transition: transform 0.25s ease, box-shadow 0.25s ease;
         }

         .banner-area.banner-redesign .btn.circle.btn-light.border:hover,
         .banner-area.banner-redesign .btn.circle.btn-light.border:focus {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 18px 34px rgba(43, 164, 170, 0.42);
         }

         .banner-area.banner-redesign .thumb {
            position: relative;
            max-width: 500px;
            margin: 0 auto;
            border-radius: 26px;
            padding: 12px;
            background: rgba(255, 255, 255, 0.16);
            box-shadow: 0 24px 40px rgba(4, 23, 46, 0.34);
         }

         .banner-area.banner-redesign .thumb::before {
            content: "";
            position: absolute;
            inset: -10px;
            border-radius: 32px;
            border: 1px solid rgba(255, 255, 255, 0.35);
            z-index: -1;
         }

         .banner-area.banner-redesign .thumb img {
            width: 100%;
            border-radius: 20px;
            object-fit: cover;
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);
         }

         .banner-area.banner-redesign .carousel-control {
            top: 50%;
            bottom: auto;
            width: 52px;
            height: 52px;
            margin-top: -26px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.55);
            background: rgba(10, 35, 66, 0.45);
            text-shadow: none;
            opacity: 1;
            transition: all 0.25s ease;
         }

         .banner-area.banner-redesign .carousel-control.left {
            left: 18px;
         }

         .banner-area.banner-redesign .carousel-control.right {
            right: 18px;
         }

         .banner-area.banner-redesign .carousel-control:hover {
            background: rgba(43, 164, 170, 0.92);
            border-color: rgba(43, 164, 170, 0.92);
         }

         .banner-area.banner-redesign .carousel-control i {
            font-size: 30px;
            line-height: 52px;
         }

         /* Auto-slide animations */
         .banner-area.banner-redesign .carousel-inner .item {
            transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
         }

         .banner-area.banner-redesign .carousel-inner .item.active {
            opacity: 1;
            z-index: 15;
         }

         .banner-area.banner-redesign .carousel-inner .item {
            opacity: 0;
            z-index: 5;
            position: relative;
         }

         .banner-area.banner-redesign .carousel-fade .item {
            transition: opacity 0.8s ease-in-out;
         }

         .banner-area.banner-redesign .carousel-fade .item,
         .banner-area.banner-redesign .carousel-fade .item.active.left,
         .banner-area.banner-redesign .carousel-fade .item.active.right {
            opacity: 0;
         }

         .banner-area.banner-redesign .carousel-fade .active {
            opacity: 1;
         }

         @media (max-width: 991px) {
            .banner-area.banner-redesign {
               padding: 20px 0;
            }

            .banner-area.banner-redesign .carousel-inner .item {
               min-height: 100%;
            }

            .banner-area.banner-redesign .double-items {
               display: block;
               min-height: 100%;
               text-align: center;
               padding: 90px 0 34px;
            }

            .banner-area.banner-redesign .double-items .info {
               max-width: 100%;
               padding: 30px 24px;
               margin-bottom: 24px;
            }

            .banner-area.banner-redesign .light-bg h2 {
               font-size: 34px;
            }

            .banner-area.banner-redesign .banner-copy {
               font-size: 17px;
            }

            .banner-area.banner-redesign .carousel-control {
               width: 44px;
               height: 44px;
               margin-top: -22px;
            }

            .banner-area.banner-redesign .carousel-control i {
               line-height: 44px;
               font-size: 26px;
            }
         }

         @media (max-width: 767px) {
            .banner-area.banner-redesign .double-items {
               padding-top: 82px;
            }

            .banner-area.banner-redesign .light-bg h2 {
               font-size: 29px;
            }

            .banner-area.banner-redesign .btn.circle.btn-light.border {
               width: 100%;
               text-align: center;
            }

            .banner-area.banner-redesign .carousel-control.left {
               left: 8px;
            }

            .banner-area.banner-redesign .carousel-control.right {
               right: 8px;
            }
         }


/* ================================================
   Contact Form UI / UX improvements
   ================================================ */

/* Input wrapper with leading icon */
.contact-area .form-items form .cf-input-wrap {
    position: relative;
}

.contact-area .form-items form .cf-icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    z-index: 1;
    pointer-events: none;
    line-height: 1;
    transition: color 0.25s ease;
}

.contact-area .form-items form .cf-textarea-wrap .cf-icon {
    top: 14px;
    transform: none;
}

/* Shift text right to make room for icon */
.contact-area .form-items form .cf-input-wrap input,
.contact-area .form-items form .cf-input-wrap textarea,
.contact-area .form-items form .cf-input-wrap select {
    padding-left: 22px;
}

/* Highlight icon on field focus */
.contact-area .form-items form .cf-input-wrap:focus-within .cf-icon {
    color: #2FA7A3;
}

/* Focus glow on inputs / textarea / select */
.contact-area .form-items form input:focus,
.contact-area .form-items form textarea:focus,
.contact-area .form-items form select:focus {
    outline: none;
    border-bottom-color: #2FA7A3;
    box-shadow: 0 2px 0 rgba(47, 167, 163, 0.45);
}

/* Smooth transition on border */
.contact-area .form-items form input,
.contact-area .form-items form textarea,
.contact-area .form-items form select {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

/* Select — hide native arrow, add custom */
.contact-area .form-items form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    border-radius: 0;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: none;
    padding-right: 24px;
}

.contact-area .form-items form select option {
    background: #1a3a4a;
    color: #fff;
}

/* Custom dropdown chevron */
.contact-area .form-items form .cf-select-wrap::after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.55);
    pointer-events: none;
    font-size: 15px;
    z-index: 2;
}

/* Submit button — filled teal on hover */
.contact-area .form-items form button#submit {
    transition: background 0.28s ease, border-color 0.28s ease,
                color 0.28s ease, transform 0.2s ease, box-shadow 0.28s ease;
}

.contact-area .form-items form button#submit:hover,
.contact-area .form-items form button#submit:focus {
    background: #2FA7A3;
    border-color: #2FA7A3;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(47, 167, 163, 0.42);
}

.contact-area .form-items form button#submit i {
    margin-right: 6px;
}

/* Alert-msg wrapper */
.contact-area .form-items .alert-notification {
    margin-top: 12px;
}

.contact-area .form-items .alert-msg {
    position: relative;
}

/* Success toast */
.contact-area .form-items .alert-msg .alert-success {
    background: rgba(47, 167, 163, 0.18);
    border: 1px solid rgba(47, 167, 163, 0.55);
    border-left: 4px solid #2FA7A3;
    border-radius: 6px;
    color: #ffffff;
    padding: 14px 46px 14px 16px;
    margin: 0;
}

/* Error toast */
.contact-area .form-items .alert-msg .alert-error {
    background: rgba(220, 53, 69, 0.15);
    border: 1px solid rgba(220, 53, 69, 0.45);
    border-left: 4px solid #dc3545;
    border-radius: 6px;
    color: #ffffff;
    padding: 14px 46px 14px 16px;
    margin: 0;
}

/* Toast close button */
.contact-area .form-items .toast-close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    z-index: 2;
    transition: color 0.2s ease;
}

.contact-area .form-items .toast-close:hover {
    color: #ffffff;
}

/* Auto-dismiss progress bar (15 s) */
.contact-area .form-items .toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.45);
    border-radius: 0 0 0 5px;
    animation: toastCountdown 15s linear forwards;
}

@keyframes toastCountdown {
    from { width: 100%; }
    to   { width: 0%;   }
}