:root {
    --primary: #f7941d;
    --on-primary-container: #fdf3e8;
    --on-primary: #ffffff;
    --primary-container: #ffe9d8;
    --secondary: #6b7280;
    --on-secondary-container: #f5f5f5;
    --on-secondary: #ffffff;
    --secondary-container: #e0e0e0;
    --surface: #ffffff;
    --on-surface: #1e293b;
    --surface-variant: #f5f5f5;
    --on-surface-variant: #1e293b;
}
.material-symbols-outlined {font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;}
.gradient-overlay {background: linear-gradient(180deg, rgba(35, 56, 106, 0.6) 0%, rgba(15, 23, 42, 0.95) 100%);}
.map-marker {animation: pulse 2s infinite;}
@keyframes pulse { 0% {transform: scale(1);opacity: 1;}  50% {transform: scale(1.5); opacity: 0.5;} 100% {transform: scale(1);opacity: 1;} }
.h-10 {height: 5.5rem !important;}
.site-logo {max-width: 180px; /* 210px; */}
.nav-link{padding-bottom: 0.25rem; transition: color 0.8s, border-bottom-color 0.3s;border-bottom: 2px solid transparent;}
.nav-link.active {border-bottom: 2px solid var(--primary); color: var(--primary);}
.nav-link:hover {color: var(--primary);border-bottom: 2px solid var(--primary);}
.contact-btn-nav .bg-primary:hover{color: var(--on-surface);}

.world-map-wrapper {position: relative;max-width: 100%;overflow: hidden;cursor: pointer;}
.world-map-wrapper:hover{border-color: var(--primary);}
.world-map-wrapper .map-label{color: var(--surface); transition: color 0.3s ease;    }
.world-map-wrapper:hover .map-label{color: var(--primary);}
.world-map-wrapper:hover .map-container img{border-color: var(--primary);}
.world-map-wrapper .map-default {opacity: 1;}
.world-map-wrapper .map-flags {position: absolute;inset: 0;opacity: 0;}
.world-map-wrapper:hover .map-default {opacity: 0;}
.world-map-wrapper:hover .map-flags {opacity: 1;}
.world-map-wrapper .map-container img{max-width: 110px;cursor: pointer;margin: 0 auto;transition: opacity .5s ease;border: 2px solid transparent;}


/* Footer */
.iti__flag-box, .iti__flag.iti__in{display: none !important;}
.iti__country {flex-direction: row-reverse;justify-content: start;gap: 20px;}
.iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin: 0px 6px;}
.footer-input {width: 100%;height: 52px;border-radius: 10px !important;border: 1px solid #475569;background: #334155 !important;color: var(--surface-variant);transition: all .3s ease;}
.footer-input::placeholder, .iti__selected-dial-code {color: #94a3b8;}
.footer-input:focus {outline: none !important;border-color: #f7941d !important;box-shadow: 0 0 0 3px rgba(247, 148, 29, .15) !important;}
textarea.footer-input { min-height: 120px; padding-top: 14px;}
.footer-error {display: block;color: #ef4444;font-size: 13px;margin-top: 6px;min-height: 18px;}
#footerStatus {margin-top: 10px;text-align: center;font-size: 14px;}
.success-msg {color: #9dd84f;}
.error-msg {color: #ef4444;}
#footerPrivacy, .privacy-label {cursor: pointer;}
.iti {width: 100%;}
.iti input {width: 100%;}
.iti__country-list {background: #1e293b;color: #f1f5f9;border: 1px solid #475569;}
.iti__country:hover {background: #334155;}
#footerPrivacy { width: 16px; height: 16px;}
#footerContactForm button { letter-spacing: 0.3px;}
/* Left Column: Contact Section Styling */
.contact-div {margin-top: 2rem; display: flex; flex-direction: column; gap: 0.5rem;}
.contact-div p {font-weight: 700; font-size: 0.85rem; letter-spacing: 0.05em; color: var(--primary, #f7941d);}
.contact-div p:last-of-type {font-weight:400; color: #e0e0e0; margin: 5px 0 5px 0;}
.contact-div a {font-size: 1rem; color: #9dd84f; text-decoration: none; transition: color 0.3s ease; display: inline-block;}
.contact-div a:hover { color: #f7941d;}
.contact-div span { font-size: 0.9rem; opacity: 0.8; margin-top: 0.25rem;}

/* Slick Carousel */
.slick-prev, .slick-next {width: 40px;height: 40px;border: 1px solid var(--secondary);border-radius: 50%;background: transparent;display: flex !important;align-items: center;justify-content: center;transition: all 0.3s ease;transform: translate(-50%, 50%);top: 0;bottom: 0;position: absolute;z-index: 10;}
.slick-prev {left: 20px;}
.slick-next {right: -20px;}
.slick-prev .material-symbols-outlined,
.slick-next .material-symbols-outlined {font-size: 28px;color: var(--secondary);transition: transform 0.3s ease;}
.slick-prev:hover, .slick-next:hover {background: var(--secondary);}
.slick-prev:hover .material-symbols-outlined, .slick-next:hover .material-symbols-outlined {color: var(--background);}
.slick-prev:hover .material-symbols-outlined {transform: translateX(-4px);}
.slick-next:hover .material-symbols-outlined {transform: translateX(4px);}
.slick-prev:before, .slick-next:before {display: none;}

/* Hero Slider */
.hero-slider {position: absolute;inset: 0;overflow: hidden;}
.hero-slide {position: absolute;inset: 0;opacity: 0;visibility: hidden;object-position: top center;transition: opacity 1.5s ease, visibility 1.5s ease;transform: scale(1);}
.hero-slide.active {opacity: 1;visibility: visible;z-index: 1;animation: heroZoom 8s linear forwards;}
@keyframes heroZoom { from {transform: scale(1.05);} to {transform: scale(1);}}


/* Services */
.single-card{cursor: pointer;position: relative;overflow: hidden;}
.single-card .card-img-wrap {position: relative;    overflow: hidden;} 
.single-card .card-img-wrap .card-img-overlay {position: absolute;inset: 0;background: linear-gradient(to bottom, transparent 30%, rgba(0, 0, 0, 0.55) 100%);}
.single-card .card-img-wrap .card-image{border-bottom-left-radius: 0; border-bottom-right-radius: 0;width: 100%;height: 220px;object-fit: cover;display: block;transition: transform 0.45s ease, opacity 0.45s ease;}
.single-card:hover {transform: translateY(-6px);box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);}
.single-card:hover .card-img-wrap .card-image.default-image {transform: scale(1.08);
    opacity: 0;}
    .single-card:hover .card-img-wrap .card-image.hover-image {transform: scale(1.08);opacity: 1;}
.single-card .card-content .icon-title{display: flex;gap: 10px;flex-direction: column;align-items: flex-start;}

/* Parellex Effect */
.parallax-banner {height: 420px;background-position: center;background-repeat: no-repeat;background-size: cover;background-attachment: fixed;display: flex;align-items: center;justify-content: center;text-align: center;}
.parallax-banner.banner-top {background-image: url('../images/banner-bg-3.jpeg');}
.parallax-banner.banner-mid {background-image: url('../images/banner-bg-5.jpeg');}
.parallax-banner.banner-bottom {background-image: url('../images/banner-bg-1.jpeg');}





@media (max-width: 768px) {
    .footer-input {height: 48px;}
}

@media (max-width: 480px) {
    header .header-inner-container {flex-direction: column;gap: 12px;}
    .site-logo {max-width: 170px;}
}