.elementor-kit-66{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-53cef89:#FFFFFF;--e-global-color-e7b1bad:#02010100;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-size:2.7vw;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-size:1.5vw;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Fira Code";--e-global-typography-text-font-size:0.7vw;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:-1px;--e-global-typography-accent-font-family:"Fira Code";--e-global-typography-accent-font-size:0.7vw;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:-1px;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:800ms;}.elementor-kit-66 e-page-transition{background-color:var( --e-global-color-53cef89 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90vw;}.e-con{--container-max-width:90vw;--container-default-padding-top:1.2vw;--container-default-padding-right:1.2vw;--container-default-padding-bottom:1.2vw;--container-default-padding-left:1.2vw;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-66{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:10px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}}@media(max-width:767px){.elementor-kit-66{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:16px;--e-global-typography-text-font-size:11px;--e-global-typography-accent-font-size:11px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */body{
    overflow-x: hidden !important;
}


/* Default: Black menu text on light background */
.header-black .elementor-nav-menu--main .elementor-item {
    color: #000000 !important;
}

/* Dark Mode: White menu text on dark background */
.header-white .elementor-nav-menu--main .elementor-item {
    color: #FFFFFF !important;
}

/* Smooth Transition */
.site-header .elementor-item {
    transition: color 0.3s ease;
}

/* Active Menu Style for LIGHT Background (Black Text + Black Border) */
.header-black .elementor-nav-menu--main .elementor-item.elementor-item-active {
    border-bottom: 2px solid #666 !important;
    color : #666 !important;
}

/* Active Menu Style for DARK Background (White Text + White Border) */
.header-white .elementor-nav-menu--main .elementor-item.elementor-item-active {
    border-bottom: 2px solid #cdcdcd !important;
    color : #cdcdcd !important;
}

/* ---- Social Icons Color Logic ---- */
.header-black .elementor-social-icon,
.header-black .elementor-social-icon i,
.header-black .elementor-social-icon svg{
    color: #000000 !important;
    fill: #000000 !important;
}

.header-white .elementor-social-icon,
.header-white .elementor-social-icon i,
.header-white .elementor-social-icon svg{
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

.elementor-social-icon,
.elementor-social-icon i,
.elementor-social-icon svg{
    transition: all 0.3s ease;
}

/* Light Background -> Black Hamburger Icon */
.header-black .elementor-menu-toggle .elementor-menu-toggle__icon--open,
.header-black .elementor-menu-toggle .elementor-menu-toggle__icon--close,
.header-black .elementor-menu-toggle svg,
.header-black .elementor-menu-toggle i{
    fill: #000000 !important;
    color: #000000 !important;
}

/* Dark Background -> White Hamburger Icon */
.header-white .elementor-menu-toggle .elementor-menu-toggle__icon--open,
.header-white .elementor-menu-toggle .elementor-menu-toggle__icon--close,
.header-white .elementor-menu-toggle svg,
.header-white .elementor-menu-toggle i{
    fill: #FFFFFF !important;
    color: #FFFFFF !important;
}

/* Smooth Transition */
.elementor-menu-toggle .elementor-menu-toggle__icon--open,
.elementor-menu-toggle .elementor-menu-toggle__icon--close,
.elementor-menu-toggle svg,
.elementor-menu-toggle i{
    transition: fill 0.3s ease, color 0.3s ease;
}

/* ---- Custom Button Icon Color Logic (New) ---- */

/* Light Background -> Black Button Icon */
.header-black .elementor-button-icon svg,
.header-black .elementor-button-icon i {
    fill: #000000 !important;
    color: #000000 !important;
}

/* Dark Background -> White Button Icon */
.header-white .elementor-button-icon svg,
.header-white .elementor-button-icon i {
    fill: #FFFFFF !important;
    color: #FFFFFF !important;
}

/* Smooth Transition for Button Icon */
.elementor-button-icon svg,
.elementor-button-icon i {
    transition: fill 0.3s ease, color 0.3s ease;
}


/* 1. Main Card Wrapper */
.project-card-wrapper {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    isolation: isolate;
}


/* 2. VIDEO LAYER (Hidden by default) */
.project-card-wrapper .card-video {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}


/* Remove Elementor aspect-ratio spacing */
.project-card-wrapper .card-video .elementor-widget-container,
.project-card-wrapper .card-video .elementor-wrapper {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Force video to fully cover card */
.project-card-wrapper .card-video video,
.project-card-wrapper .card-video .elementor-video {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}


/* 3. IMAGE LAYER (Visible by default) */
.project-card-wrapper .card-image {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 2;
    transition: opacity 0.4s ease-in-out;
}

.project-card-wrapper .card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}


/* 4. TITLE LAYER */
.project-card-wrapper .card-title {
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: 100%;
    text-align: center;
    pointer-events: none;
}


/* 5. HOVER TRANSITIONS */
.project-card-wrapper:hover .card-image {
    opacity: 0;
}

.project-card-wrapper:hover .card-video {
    opacity: 1;
}


/* =====================================
   iOS SAFARI FIX (NO BEHAVIOUR CHANGE)
   ===================================== */

/* Apply ONLY on iOS Safari */
@supports (-webkit-touch-callout: none) {

    /* Prevent iOS from hijacking taps on video */
    .project-card-wrapper .card-video,
    .project-card-wrapper .card-video video,
    .project-card-wrapper .card-video .elementor-video {
        pointer-events: none !important;
        touch-action: manipulation !important;
    }

}

/*Project Card */
.aw-project-card {
    position: relative;
    overflow: hidden !important;
    cursor: pointer;
}

.aw-project-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%);
    opacity: 0;
    transition: opacity 0.6s ease;
    z-index: 1;
    pointer-events: none;
}

.aw-project-title,
.aw-project-location {
    position: relative;
    z-index: 2;
}

.aw-project-title {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
    transform: translateY(25px);
}

.aw-project-location {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
    margin-top: 8px !important;
}

.aw-project-card:hover::before {
    opacity: 1;
}

.aw-project-card:hover .aw-project-title {
    transform: translateY(0);
}

.aw-project-card:hover .aw-project-location {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0.1s !important;
}

.aw-project-card img {
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.aw-project-card:hover img {
    transform: scale(1.05) !important;
}/* End custom CSS */