/* ========================
   Fonts (Variable fallback)
======================== */

/*@supports (font-variation-settings: normal) {*/
/*    @font-face {*/
/*        font-family: "Tajawal";*/
/*        src: url("../webFonts/design_fonts/Tajawal-Variable.woff2") format("woff2-variations");*/
/*        font-weight: 200 900;*/
/*        font-style: normal;*/
/*        font-display: swap;*/
/*    }*/
/*}*/
@font-face {
    font-family: "Tajawal";
    src: url("../webFonts/design_fonts/Tajawal-Light.woff2") format("woff2"),
        url("../webFonts/design_fonts/Tajawal-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../webFonts/design_fonts/Tajawal-Regular.woff2") format("woff2"),
        url("../webFonts/design_fonts/Tajawal-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../webFonts/design_fonts/Tajawal-Medium.woff2") format("woff2"),
        url("../webFonts/design_fonts/Tajawal-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../webFonts/design_fonts/Tajawal-Bold.woff2") format("woff2"),
        url("../webFonts/design_fonts/Tajawal-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../webFonts/design_fonts/Tajawal-ExtraBold.woff2") format("woff2"),
        url("../webFonts/design_fonts/Tajawal-ExtraBold.woff") format("woff");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}


/* ========================
   Design Tokens
======================== */
:root {
    color-scheme: light;

    /* Brand palette */
    --color-primary: #527A78;
    --color-primary-hover: #3C5A58;
    --color-accent: #CEB9A3;
    --color-accent-hover: #BD9878;
    --color-black: #000000;
    --color-white: #FFFFFF;

    /* App tokens */
    --bg: var(--color-white);
    --text: var(--color-black);

    /* Fluid type */
    --h1: clamp(1.75rem, 1.2rem + 2.2vw, 3rem);
    --h2: clamp(1.4rem, 1rem + 1.6vw, 2.25rem);
    --h3: clamp(1.2rem, .9rem + 1vw, 1.5rem);
    --p: clamp(1rem, .9rem + .3vw, 1.15rem);
    --lh: 1.6;

    /* Borders & outlines  */
    --border: color-mix(in srgb, var(--color-black), transparent 85%);
    --outline: color-mix(in srgb, var(--color-primary), white 35%);

    --c-primary: var(--color-primary, #527A78);
    --c-primary-hover: var(--color-primary-hover, #3C5A58);
    --c-secondary: var(--color-accent, #CEB9A3);
    --c-secondary-hover: var(--color-accent-hover, #BD9878);
    --c-black: var(--color-black, #000000);
    --c-white: var(--color-white, #FFFFFF);

    --shadow-soft: 0 6px 22px rgba(0, 0, 0, .08);
    --shadow-hard: 0 12px 28px rgba(0, 0, 0, .12);

    --hdr-h: clamp(64px, 6vw, 92px);
    --gap: clamp(8px, 1.2vw, 16px);

    --surface: color-mix(in srgb, var(--c-primary), white 95%);
    --muted: color-mix(in srgb, var(--text), white 40%);
    --link: var(--c-primary);
    --link-hover: var(--c-primary-hover);

    --dur-fast: .15s;
    --strip-h: 220px;
    --dur: .25s;
    --easing: ease;
}


/* ========================
   Page Navigation
======================== */
.wp-pagenavi {
    margin-top: 60px;
    --pg-size: 44px;
    --pg-radius: 12px;
    --pg-shadow: 0 8px 18px rgba(0, 0, 0, .08);
    --pg-shadow-hover: 0 12px 24px rgba(0, 0, 0, .12);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 600;
    line-height: 1;
    user-select: none;
}

.wp-pagenavi .pages {
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff;
    color: color-mix(in srgb, var(--c-black) 70%, transparent);
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: var(--pg-shadow);
    font-weight: 500;
}

.wp-pagenavi a,
.wp-pagenavi span.current,
.wp-pagenavi span.extend {
    display: inline-grid;
    place-items: center;
    min-inline-size: var(--pg-size);
    min-block-size: var(--pg-size);
    border-radius: var(--pg-radius);
    background: #fff;
    color: var(--c-black);
    text-decoration: none;
    border: none;
    box-shadow: var(--pg-shadow);
    transition:
        transform .25s cubic-bezier(.2, .8, .2, 1),
        box-shadow .25s cubic-bezier(.2, .8, .2, 1),
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.wp-pagenavi a.page,
.wp-pagenavi a.larger,
.wp-pagenavi a.smaller {
    background: #fff;
}

.wp-pagenavi a:hover {
    transform: translateY(-2px);
    box-shadow: var(--pg-shadow-hover);
    color: var(--c-primary);
    border-color: var(--c-primary) ! important;
    background: color-mix(in srgb, var(--c-secondary) 10%, #fff 90%);
}


.wp-pagenavi span.current {
    background: var(--c-primary);
    color: var(--c-white);
    border-color: transparent;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--c-primary) 28%, transparent);
    pointer-events: none;
}

.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink {
    font-weight: 700;
}

.wp-pagenavi a.nextpostslink:hover,
.wp-pagenavi a.previouspostslink:hover {
    transform: translateY(-2px) scale(1.06);
}

.wp-pagenavi .disabled {
    opacity: .4;
    pointer-events: none;
}

.wp-pagenavi a:focus-visible {
    outline: none;
    box-shadow:
        var(--pg-shadow-hover),
        0 0 0 4px color-mix(in srgb, var(--c-primary) 25%, transparent);
    transform: translateY(-1px);
}

@media (max-width: 480px) {
    .wp-pagenavi {
        --pg-size: 38px;
        gap: 8px;
    }

    .wp-pagenavi .pages {
        display: none;
    }
}



html[dir="rtl"] :where(input[type="email"], input[type="tel"], input[type="url"]),
.chip__text,
.contact-card li a,
.footer-line a {
    direction: ltr;
    text-align: left;
    unicode-bidi: plaintext;
}


html[dir="rtl"] :where(input[type="email"], input[type="tel"], input[type="url"])::placeholder {
    direction: ltr;
    text-align: left;
}


/* ========================
   Reset
======================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--c-primary, #78581b) #fff;
}

*::-webkit-scrollbar {
    width: 8px;
}

*::-webkit-scrollbar-track {
    background: #fff;
}

*::-webkit-scrollbar-thumb {
    background: var(--c-primary, #78581b);
    border-radius: 15px;
}

@media (prefers-reduced-motion: reduce) {

    *,
    :before,
    :after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

html:focus-within {
    scroll-behavior: smooth;
}

html,
body {
    height: 100%;
}

body {
    margin: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

img,
svg,
video,
canvas,
iframe {
    max-inline-size: 100%;
    max-block-size: 100%;
    display: block;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a {
    color: inherit;
    text-decoration: none !important;
}

input,
textarea,
select,
button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    outline: 0;
    appearance: none;
}

button,
[type="button"],
[type="submit"] {
    cursor: pointer;
}

[disabled] {
    cursor: not-allowed;
    opacity: .5;
}


/* ========================
  Base
======================== */
html {
    font-size: clamp(16px, 15px + .3vw, 18px);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    background: #F4F2EF;
    color: var(--text);
    font-family: "Tajawal", Arial, sans-serif;
    line-height: var(--lh);
}

main.wrap {
    position: relative;
    overflow: hidden;
    inset-inline-start: 0;
    transition: inset-inline-start .7s ease-in-out;
}

ul,
ol {
    list-style: none;
}

blockquote {
    quotes: none;
}

code,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

img:not(.c-primary-caption img) {
    object-fit: contain;
}

/* ========================
   Typography
======================== */
h1 {
    font-weight: 800;
    font-size: var(--h1);
}

h2 {
    font-weight: 700;
    font-size: var(--h2);
}

h3 {
    font-weight: 600;
    font-size: var(--h3);
}

h4,
h5,
h6 {
    font-weight: 400;
    font-size: 1rem;
}

p {
    font-size: var(--p);
    line-height: calc(var(--lh) + .1);
    color: var(--text);
}


/*----------------------------------------------------
 Main Button Styles
----------------------------------------------------*/
.main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .2rem 1rem;
    background-color: var(--c-primary);
    border: none;
    position: relative;
    cursor: pointer;
    overflow: hidden;

    span {
        color: #FFF;
        font-weight: 500;
        font-size: 18px;

        &:not(:nth-child(6)) {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            height: 100%;
            width: 40%;
            background-color: var(--c-secondary);
            border-radius: 50%;
            transition: .3s ease;
        }

        &:nth-child(6) {
            position: relative;
        }

        &:nth-child(1) {
            transform: translate(-3.3em, -4em);
        }

        &:nth-child(2) {
            transform: translate(-6em, 1.3em);
        }

        &:nth-child(3) {
            transform: translate(-.2em, 1.8em);
        }

        &:nth-child(4) {
            transform: translate(3.5em, 1.4em);
        }

        &:nth-child(5) {
            transform: translate(3.5em, -3.8em);
        }
    }

    &:hover {
        span:not(:nth-child(6)) {
            transform: translate(-50%, -50%) scale(4);
            transition: 1.5s ease;
        }
    }
}


/*----------------------------------------------------
 Section Titles
----------------------------------------------------*/
.sec-tit {
    color: #000;
    font-weight: 700;
    font-size: 40px;
    text-align: center;
    margin-bottom: 65px;
}

/*----------------------------------------------------
 WhatsApp Floating Icon
----------------------------------------------------*/

/*----------------------------------------------------
 Header & Navigation
----------------------------------------------------*/
.topbar {
    background: var(--c-primary);
    color: var(--c-white);
    box-shadow: 0 3px 6px rgba(60, 90, 88, 0.36);
    padding-block-start: 5px;
    padding-block-end: 17px;
    position: relative;
    z-index: 1001;
    animation: hdr-pop .8s var(--easing) both;

    .chip {
        display: inline-flex;
        align-items: center;
        gap: .40rem;
        padding: .35rem .6rem;
        border-radius: var(--radius-sm, 8px);
        line-height: 1;
        color: var(--c-white);
        text-decoration: none;
        transition: transform var(--dur-fast, .15s) var(--easing, ease), background-color var(--dur, .25s) var(--easing, ease), box-shadow var(--dur, .25s) var(--easing, ease);

        svg {
            inline-size: 16px;
            block-size: 16px;
            color: currentColor;
        }

        & --ghost {
            background: color-mix(in srgb, var(--c-white), transparent 86%);
            box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-white), transparent 70%);
        }

        &:hover {
            transform: translateY(-1px);
            background: color-mix(in srgb, var(--c-white), transparent 78%);
            box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-white), transparent 60%);
        }

        img {
            width: 22px;
            height: 22px;
        }

        .chip__text {
            font-weight: 400;
            font-size: 16px;
        }
    }

    .pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .4rem .8rem;
        background: var(--c-secondary);
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
        transition: background-color var(--dur, .25s) var(--easing, ease), transform var(--dur-fast, .15s) var(--easing, ease), box-shadow var(--dur, .25s) var(--easing, ease);

        & --urgent {
            background: var(--c-secondary);
            color: var(--c-black);
            box-shadow: 0 4px 14px color-mix(in srgb, var(--c-secondary), transparent 70%);
        }

        & --urgent:hover {
            background: var(--c-secondary-hover);
            transform: translateY(-1px);
            box-shadow: 0 8px 22px color-mix(in srgb, var(--c-secondary), transparent 60%);
        }
    }

    @media (max-width: 575.98px) {
        .chip__text {
            display: none;
        }

        .pill span {
            font-size: .95rem;
        }

        .topbar-row {
            gap: .5rem;
        }
    }

    @media (prefers-reduced-motion: reduce) {

        .chip,
        .pill {
            transition: none !important;
        }
    }
}


#main-header,
.fixed-header {
    background: var(--c-white);
    box-shadow: var(--shadow-soft);
}

#main-header {
    position: relative;
    margin-block: -10px 10px;
    padding-block: clamp(10px, .9vw, 14px);
    padding-inline: clamp(8px, 1.2vw, 16px);
    backdrop-filter: saturate(130%) blur(6px);
    animation: hdr-pop 1s var(--easing) both;
    animation-delay: .8s;
    z-index: 1001;
    margin-inline: 120px;

    .header-logo {
        img {
            max-block-size: calc(var(--hdr-h) - 18px);
            inline-size: auto;
        }
    }

    .main-menu {
        .nav-list>li>a {
            position: relative;
            display: inline-block;
            padding-block: .45rem;
            padding-inline: .6rem;
            font-weight: 700;
            color: var(--c-black);
            transition: color var(--dur) var(--easing);

            &::before {
                content: "";
                position: absolute;
                inset-inline: 0;
                inset-block-end: -6px;
                block-size: 3px;
                background: var(--c-primary);
                transform: scaleX(0);
                transition: transform .28s var(--easing);
                border-radius: 3px;
            }

            &:hover,
            .current-menu-item>& {
                color: var(--c-primary);
            }

            &:hover::before,
            .current-menu-item>&::before {
                transform: scaleX(1);
            }

            [dir="rtl"] &::before {
                transform-origin: right;
            }

            [dir="ltr"] &::before {
                transform-origin: left;
            }
        }
    }

    .header-actions {
        gap: var(--gap);
    }


}

@keyframes hdr-pop {
    from {
        transform: translateY(-200%);
        opacity: 0
    }

    to {
        transform: none;
        opacity: 1
    }
}

.fixed-header {
    position: fixed;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    opacity: 0;
    overflow: hidden;
    transition: top 0.6s ease, opacity 0.5s ease;
    top: -120px;
    z-index: 1002;
    padding-block: clamp(8px, .8vw, 12px);
    overflow: clip;

    &.visible {
        top: 0;
        opacity: 1;
    }

    .header-logo img {
        max-block-size: calc(var(--hdr-h) - 18px);
        inline-size: auto;
    }

    .main-menu {
        .nav-list>li>a {
            position: relative;
            display: inline-block;
            padding-block: .45rem;
            padding-inline: .6rem;
            font-weight: 700;
            color: var(--c-black);
            transition: color var(--dur) var(--easing);

            &::before {
                content: "";
                position: absolute;
                inset-inline: 0;
                inset-block-end: -6px;
                block-size: 3px;
                background: var(--c-primary);
                transform: scaleX(0);
                transition: transform .28s var(--easing);
                border-radius: 3px;
            }

            &:hover,
            .current-menu-item>& {
                color: var(--c-primary);
            }

            &:hover::before,
            .current-menu-item>&::before {
                transform: scaleX(1);
            }

            [dir="rtl"] &::before {
                transform-origin: right;
            }

            [dir="ltr"] &::before {
                transform-origin: left;
            }
        }
    }

    .header-actions {
        gap: var(--gap);
    }

}


/*----------------------------------------------------
 HomeCaption Section
----------------------------------------------------*/
.greatest-background {
    position: relative;
    min-height: 720px;
    z-index: 1;
    overflow: hidden;

    &::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: var(--bg-image);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        animation: parallaxMove 18s ease-in-out infinite,
            smoothZoom 16s ease-in-out infinite alternate;
        transform-origin: center center;
        z-index: -1;
        will-change: transform;
    }

    &::after {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(1100px 540px at 12% -10%, rgba(82, 122, 120, .14), transparent 60%),
            radial-gradient(900px 520px at 90% 110%, rgba(206, 185, 163, .12), transparent 65%);
        mix-blend-mode: soft-light;
        opacity: .85;
        pointer-events: none;
        animation: overlayDrift 22s ease-in-out infinite alternate;
        z-index: 0;
    }

    @media (max-width: 1200px) {
        min-height: 600px;
    }

    @media (max-width: 768px) {
        min-height: 450px;
    }

    @media (max-width: 480px) {
        min-height: 350px;
    }
}

.main-caption {
    position: absolute;
    inset-inline: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;

    .headline-title {
        position: relative;
        font-size: clamp(26px, 5vw, 44px);
        font-weight: 800;
        line-height: 1.15;
        margin-bottom: 32px;
        letter-spacing: .2px;

        opacity: 0;
        transform: translateY(16px);
        clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
        animation: titleSlide .9s cubic-bezier(.2, .8, .2, 1) .12s forwards;

        &::after {
            content: "";
            position: absolute;
            inset-inline-start: 0;
            inset-block-end: -10px;
            inline-size: 62%;
            block-size: 3px;
            background: linear-gradient(90deg, var(--c-primary) 0%, var(--c-secondary) 100%);
            border-radius: 3px;
            transform-origin: left center;
            transform: scaleX(0);
            opacity: .95;
            animation: underlineGrow .6s cubic-bezier(.2, .8, .2, 1) .48s forwards;
        }
    }

    .headline-actions {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 14px;

        .main-btn {
            position: relative;
            opacity: 0;
            transform: translateY(12px) scale(.98);
            animation: btnPop .6s cubic-bezier(.2, .8, .2, 1) forwards;

            &:nth-child(1) {
                animation-delay: .30s;
            }

            &:nth-child(2) {
                animation-delay: .42s;
            }

            &:nth-child(3) {
                animation-delay: .54s;
            }

            &::before {
                content: "";
                position: absolute;
                inset: -1px;
                background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .42) 40%, transparent 75%);
                transform: translateX(-120%) skewX(-12deg);
                transition: transform .6s cubic-bezier(.2, .8, .2, 1);
                border-radius: inherit;
                pointer-events: none;
            }

            &:hover::before {
                transform: translateX(120%) skewX(-12deg);
            }

            &:hover {
                transform: translateY(-1px) scale(1.005);
            }

            &:active {
                transform: translateY(0) scale(.995);
            }
        }
    }
}

@keyframes parallaxMove {
    0% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }

    25% {
        transform: translate3d(-10px, -6px, 0) rotate(-.2deg);
    }

    50% {
        transform: translate3d(0, -12px, 0) rotate(.15deg);
    }

    75% {
        transform: translate3d(10px, -6px, 0) rotate(.2deg);
    }

    100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
}

@keyframes smoothZoom {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.10);
    }
}

@keyframes overlayDrift {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    100% {
        transform: translate3d(0, -8px, 0) scale(1.02);
    }
}

@keyframes titleSlide {
    0% {
        opacity: 0;
        transform: translateY(16px);
        clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    }

    60% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        transform: translateY(0);
        clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0 100%);
    }
}

@keyframes underlineGrow {
    0% {
        transform: scaleX(0);
    }

    100% {
        transform: scaleX(1);
    }
}

@keyframes btnPop {
    0% {
        opacity: 0;
        transform: translateY(12px) scale(.98);
    }

    70% {
        opacity: 1;
        transform: translateY(0) scale(1.02);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {

    .greatest-background::before,
    .greatest-background::after,
    .main-caption .headline-title,
    .main-caption .headline-title::after,
    .main-caption .headline-actions .main-btn {
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}


/*.main-caption h1 {*/
/*    opacity: 0;*/
/*    transform: translateY(30px);*/
/*    animation: fadeSlideUp 1s ease-out forwards;*/
/*}*/

/*----------------------------------------------------
 HomeAbout Section
----------------------------------------------------*/
.about {
    margin-block: 80px;

    .about-hero {
        position: relative;
        overflow: hidden;
        isolation: isolate;
        background: var(--c-primary);
        color: var(--c-white);

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(900px 520px at 10% -10%, color-mix(in srgb, var(--c-secondary) 16%, transparent), transparent 60%),
                radial-gradient(900px 520px at 90% 110%, color-mix(in srgb, var(--c-white) 14%, transparent), transparent 65%);
            opacity: .55;
            pointer-events: none;
            animation: overlayWave 22s ease-in-out infinite alternate;
            z-index: 0;
        }

        .about-photo {
            position: relative;
            overflow: hidden;
            background-position: center;
            background-size: 100% 100%;
            box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
            transform: translateZ(0) scale(1);
            transition: transform .7s cubic-bezier(.2, .8, .2, 1),
                filter .7s cubic-bezier(.2, .8, .2, 1),
                box-shadow .7s cubic-bezier(.2, .8, .2, 1),
                border-color .7s cubic-bezier(.2, .8, .2, 1);
            will-change: transform, filter;
            isolation: isolate;

            &::before {
                content: "";
                position: absolute;
                inset: -1px;
                border-radius: inherit;
                background: radial-gradient(120% 80% at 50% 100%, rgba(0, 0, 0, .18) 0%, transparent 60%),
                    linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .22) 100%);
                mix-blend-mode: multiply;
                opacity: 0;
                transition: opacity .6s cubic-bezier(.2, .8, .2, 1);
                pointer-events: none;
                z-index: 1;
            }

            &::after {
                content: "";
                position: absolute;
                inset: -1px;
                border-radius: inherit;
                background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .42) 40%, transparent 75%);
                transform: translateX(-120%) skewX(-12deg);
                transition: transform .9s cubic-bezier(.2, .8, .2, 1);
                pointer-events: none;
                z-index: 2;
            }

            &:hover,
            &:focus-visible {
                transform: translateY(-3px) scale(1.055);
                filter: saturate(1.08) contrast(1.03);
                box-shadow: 0 18px 40px rgba(0, 0, 0, .16);
            }

            &:hover::before,
            &:focus-visible::before {
                opacity: 1;
            }

            &:hover::after,
            &:focus-visible::after {
                transform: translateX(120%) skewX(-12deg);
            }

            &:hover {
                animation-play-state: paused;
            }

            &:focus-visible {
                outline: none;
                box-shadow: 0 18px 40px rgba(0, 0, 0, .16), 0 0 0 6px color-mix(in srgb, var(--c-primary) 20%, transparent);
            }
        }

        .about-lead {
            position: relative;
            z-index: 1;
            color: var(--c-white);
            padding-block: 70px;
            padding-inline-end: clamp(20px, 3vw, 36px);
            line-height: 28px;
            font-size: 20px;
            font-weight: 600;
            display: flex;
            align-items: center;
            height: 100%;

            &::after {
                content: "";
                position: absolute;
                inset: 0;
                background-image: var(--about-watermark);
                background-repeat: no-repeat;
                background-position: center;
                background-size: contain;
                opacity: .12;
                pointer-events: none;
                z-index: 0;
                animation: watermarkDrift 28s ease-in-out infinite alternate;
            }

            span {
                font-weight: 600 !important;
            }

            /*> * {*/
            /*    position: relative;*/
            /*    z-index: 1;*/
            /*    opacity: 0;*/
            /*    transform: translateY(14px);*/
            /*    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);*/
            /*    animation: leadReveal .8s cubic-bezier(.2, .8, .2, 1) .06s forwards;*/
            /*}*/

            /*> *:nth-child(2) {*/
            /*    animation-delay: .14s;*/
            /*}*/

            /*> *:nth-child(3) {*/
            /*    animation-delay: .22s;*/
            /*}*/

            /*> *:nth-child(4) {*/
            /*    animation-delay: .30s;*/
            /*}*/
        }

        @media (prefers-reduced-motion: reduce) {
            .about-hero .about-photo {
                transition: none !important;
            }

            .about-hero .about-photo::after,
            .about-hero .about-photo::before {
                transition: none !important;
            }
        }
    }

    .hold_tabs {
        position: relative;
        top: -60px;
    }

    .about-tabs {
        margin-top: 0;
        border-radius: 0 0 10px 10px;
        padding: 18px 0 14px;
        position: relative;

        .row {
            gap: 10px;
        }

        .about-tab {
            background: transparent;
            border: 0;
            text-align: center;
            display: grid;
            gap: 10px;
            justify-items: center;
            cursor: pointer;
            outline: none;

            .about-tab__circle {
                width: 86px;
                height: 86px;
                position: relative;
                border-radius: 50%;
                background: var(--c-white);
                border: 2px solid var(--c-primary);
                display: grid;
                place-items: center;
                box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
                transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
                will-change: transform;

                &::after {
                    content: "";
                    position: absolute;
                    inset: 0;
                    border-radius: inherit;
                    background: radial-gradient(60% 60% at 50% 50%, rgba(255, 255, 255, .25), transparent 70%);
                    opacity: 0;
                    transition: opacity .3s ease;
                }

                img {
                    max-width: 48px;
                    max-height: 48px;
                    transition: transform .35s ease, filter .35s ease;
                }
            }

            .about-tab__label {
                font-weight: 600;
                color: var(--c-black);
                opacity: .9;
                transition: color .3s ease, opacity .3s ease, transform .3s ease, font-weight .3s ease;
            }

            &:hover .about-tab__circle {
                transform: translateY(-6px) scale(1.03);
                box-shadow: 0 12px 26px rgba(0, 0, 0, .12);
                border-color: color-mix(in srgb, var(--c-primary) 30%, var(--c-white) 70%);
            }

            &:hover .about-tab__circle::after {
                opacity: 1;
            }

            &:hover .about-tab__label {
                opacity: 1;
            }

            &:focus-visible .about-tab__circle {
                transform: translateY(-4px) scale(1.02);
                box-shadow: 0 0 0 6px color-mix(in srgb, var(--c-primary) 20%, transparent);
            }

            &.is-active {
                .about-tab__circle {
                    background: var(--c-primary);
                    border-color: var(--c-white);
                    box-shadow: 0 10px 24px rgba(47, 108, 110, .25);
                    transform: translateY(-5px) scale(1.06);

                    &::before {
                        content: "";
                        position: absolute;
                        inset: 0;
                        border-radius: 999px;
                        border: 2px solid color-mix(in srgb, var(--c-secondary) 60%, transparent);
                        transform: scale(.7);
                        opacity: 0;
                        animation: rippleOnce .6s ease-out .05s forwards;
                    }
                }

                .about-tab__circle img {
                    filter: brightness(0) invert(1) contrast(1.05);
                    transform: scale(1.04);
                }

                .about-tab__label {
                    opacity: 1;
                    font-weight: 800;
                    color: var(--c-primary);
                    transform: translateY(-2px);
                }
            }
        }
    }

    .about-panels {
        margin-top: 18px;
        position: relative;
        display: grid;
        overflow: hidden;

        .about-panel {
            grid-area: 1 / 1;
            opacity: 0;
            transform: translateY(10px) scale(.98);
            pointer-events: none;
            transition: opacity .28s ease, transform .28s ease;
            will-change: opacity, transform;

            &.is-active {
                opacity: 1;
                transform: translateY(0) scale(1);
                pointer-events: auto;

                .about-panel__body {
                    animation: panelUnderline .45s cubic-bezier(.2, .8, .2, 1) .06s both;
                }
            }
        }

        .about-panel__body {
            font-weight: 500;
            line-height: 28px;
            font-size: 20px;
            color: var(--c-black);
            position: relative;
            transition: color .3s ease;


            max-height: 250px;
            overflow-y: auto;
            padding-inline-end: 10px;

            &::after {
                content: "";
                position: absolute;
                inset-inline-start: 0;
                inset-block-end: -8px;
                inline-size: 0%;
                block-size: 2px;
                background: linear-gradient(90deg, var(--c-secondary) 0%, var(--c-primary) 100%);
                border-radius: 2px;
                opacity: .85;
            }
        }
    }


    @media (min-width: 992px) {
        .about-hero .about-photo {
            min-height: 307px;
        }
    }

    @keyframes overlayWave {
        0% {
            transform: translate3d(0, 0, 0) scale(1);
        }

        100% {
            transform: translate3d(0, -10px, 0) scale(1.02);
        }
    }

    @keyframes photoPanZoom {
        0% {
            transform: scale(1) translate3d(0, 0, 0);
        }

        100% {
            transform: scale(1.08) translate3d(0, -8px, 0);
        }
    }

    @keyframes watermarkDrift {
        0% {
            transform: translate3d(0, 2px, 0) rotate(0deg);
        }

        100% {
            transform: translate3d(0, -6px, 0) rotate(.2deg);
        }
    }

    @keyframes leadReveal {
        0% {
            opacity: 0;
            transform: translateY(14px);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
        }

        60% {
            opacity: 1;
        }

        100% {
            opacity: 1;
            transform: translateY(0);
            clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0 100%);
        }
    }

    @keyframes rippleOnce {
        0% {
            transform: scale(.7);
            opacity: 0;
        }

        50% {
            transform: scale(1.08);
            opacity: .65;
        }

        100% {
            transform: scale(1.18);
            opacity: 0;
        }
    }

    @keyframes panelUnderline {
        0% {}

        100% {}
    }

    .about-panels .about-panel.is-active .about-panel__body::after {
        animation: underlineGrow .5s cubic-bezier(.2, .8, .2, 1) .12s forwards;
    }

    @keyframes underlineGrow {
        0% {
            inline-size: 0%;
        }

        100% {
            inline-size: 60%;
        }
    }

    @media (prefers-reduced-motion: reduce) {

        .about-hero::before,
        .about-hero .about-photo,
        .about-hero .about-lead::after,
        .about-lead>*,
        .about-tab .about-tab__circle,
        .about-tab .about-tab__circle::before,
        .about-tabs .about-tab.is-active .about-tab__circle::before,
        .about-panels .about-panel,
        .about-panels .about-panel__body::after {
            animation: none !important;
            transition: none !important;
            transform: none !important;
            opacity: 1 !important;
            clip-path: none !important;
        }
    }
}


/*----------------------------------------------------
 HomeServices Section
----------------------------------------------------*/
.services {
    margin-bottom: 80px;

    .services-hero {
        position: relative;

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, .40);
            pointer-events: none;
            z-index: -1;
        }

        &::after {
            content: "";
            position: absolute;
            inset: 0;
            background-image: var(--services-bg);
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            background-attachment: fixed;
            opacity: .5;
            pointer-events: none;
            z-index: -1;
        }

        .services-grid {
            position: relative;
            padding: 0;

            &::before,
            &::after {
                content: "";
                position: absolute;
                top: 50%;
                bottom: 0;
                transform: translateY(-50%);
                width: 2px;
                height: 253px;
                background: #000;
                pointer-events: none;
            }

            &::before {
                left: calc(33.333%);
            }

            &::after {
                left: calc(66.666%);
            }

            >[class*="col"]:nth-child(-n+3) {
                .service-card::after {
                    content: "";
                    position: absolute;
                    left: 10%;
                    right: 10%;
                    bottom: 0;
                    height: 2px;
                    background: #000;
                }
            }
        }

        .service-card {
            position: relative;
            text-align: center;
            padding: 30px 60px 40px;
            display: flex;
            flex-direction: column;
            height: 100%;

            &:hover {
                .main-btn {
                    span:not(:nth-child(6)) {
                        transform: translate(-50%, -50%) scale(4);
                        transition: 1.5s ease;
                    }
                }

                .service-icon {
                    img {
                        transform: rotate3d(15, 15, 15, 360deg);
                    }
                }
            }

            .service-icon {
                width: 86px;
                height: 86px;
                margin: 0 auto 14px;
                border: 2px solid #cdbfae;
                display: flex;
                align-items: center;
                justify-content: center;
                position: relative;
                isolation: isolate;

                img {
                    max-width: 56px;
                    max-height: 56px;
                    transition: all 0.5s ease-in-out;
                }


                &::before,
                &::after {
                    content: "";
                    position: absolute;
                    inset: -6px;
                    pointer-events: none;
                    -webkit-mask:
                        linear-gradient(#000 0 0) content-box,
                        linear-gradient(#000 0 0);
                    -webkit-mask-composite: xor;
                    mask-composite: exclude;
                    padding: 2px;
                }


                &::before {
                    background: repeating-conic-gradient(from 0deg, #cdbfae 0 10deg, transparent 10deg 20deg);
                    opacity: 0;
                    transform: scale(0) rotate(0);
                    transform-origin: 50% 50%;
                    transition: transform .35s ease, opacity .3s ease;
                }


                &::after {
                    background: conic-gradient(from 0turn, transparent 0 96%, #cdbfae 96% 100%);
                    opacity: 0;
                    transform: rotate(0turn);
                    transition: opacity .3s ease;
                }
            }

            &:hover .service-icon::before {
                opacity: 1;
                transform: scale(1) rotate(0);
                animation: svc-dash-rot 6s linear infinite;
            }

            &:hover .service-icon::after {
                opacity: 1;
                animation: svc-sweep 1.2s ease forwards;
            }

            .service-title {
                font-size: 20px;
                color: #FFF;
                font-weight: 700;
                margin: 6px 0 10px;
                flex-grow: 1;
                line-height: 29px;
            }

            .service-desc {
                font-size: 18px;
                font-weight: 500;
                line-height: 25px;
                color: #FFF;
                margin-bottom: 14px;
            }
        }

        @media (max-width: 991.98px) {
            .services-grid {

                &::before,
                &::after,
                >.col-lg-4:nth-child(-n+3) .service-card::after {
                    display: none;
                }
            }
        }
    }
}

@keyframes svc-dash-rot {
    to {
        rotate: 1turn;
    }
}

@keyframes svc-sweep {
    from {
        rotate(0turn);
    }

    to {
        rotate(1turn);
    }
}



/*----------------------------------------------------
 HomeLicenses Section
----------------------------------------------------*/
.licenses {

    .licenses-strip {
        background: #FFF;
    }

    .license-logo {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100px;
        padding: 8px 10px;
        text-decoration: none;

        img {
            max-height: 100%;
            max-width: 100%;
            /*filter: grayscale(1) contrast(1.05) opacity(.9);*/
            transform: translateZ(0);
            transition: transform .35s ease, filter .35s ease, opacity .35s ease;
        }

        &::before {
            content: "";
            position: absolute;
            inset: -6px;
            border-radius: 16px;
            box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
            transition: box-shadow .35s ease, transform .35s ease;
            pointer-events: none;
        }

        &::after {
            content: "";
            position: absolute;
            top: 0;
            left: -120%;
            width: 60%;
            height: 100%;
            transform: skewX(-20deg);
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
            opacity: 0;
            transition: opacity .2s ease;
        }

        &:hover {
            img {
                filter: grayscale(0) opacity(1);
                transform: scale(1.06);
            }

            &::before {
                box-shadow: 0 10px 24px rgba(0, 0, 0, .08), 0 0 0 2px rgba(44, 122, 123, .25);
                transform: scale(1.02);
            }

            &::after {
                animation: shine-sweep .9s forwards;
                opacity: 1;
            }
        }
    }

    @keyframes shine-sweep {
        to {
            left: 160%;
        }
    }

    @media (max-width: 1199.98px) {
        .licenses-row {
            --gap: 36px;
        }

        .license-logo {
            min-width: 110px;
            height: 95px;
        }
    }

    @media (max-width: 991.98px) {
        .licenses-head .sec-tit {
            font-size: 30px;
        }

        .license-logo img {
            height: 110px;
        }
    }

    @media (max-width: 575.98px) {
        .licenses-head {
            padding: 22px 0 14px;
        }

        .licenses-strip .container {
            padding-top: 18px;
            padding-bottom: 18px;
        }

        .license-logo {
            min-width: 96px;
            min-height: 72px;
            padding: 6px 10px;

            img {
                height: 100px;
            }
        }
    }
}


/*----------------------------------------------------
 HomeStatics Section
----------------------------------------------------*/
.stats {
    position: relative;
    padding: 64px 0;
    background-size: cover;
    background-position: center;
    margin-top: 80px;

    .overlay {
        position: absolute;
        inset: 0;
        backdrop-filter: blur(2px);
        z-index: 0;
        background-size: cover;
        background-position: bottom;
        background-attachment: fixed;
        pointer-events: none;
        opacity: .4;

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(163, 115, 47, 0.4);
            pointer-events: none;
            z-index: -1;
        }
    }

    .title {
        margin: 0 0 28px;
        text-align: center;
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 800;
        color: #000;
    }

    .stats-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: clamp(16px, 2vw, 32px);
        max-width: 1100px;
        margin: 0 auto;

        .stat-box {
            min-width: 210px;
            text-align: center;
            padding: 12px 8px;
            position: relative;

            .number {
                font-size: clamp(50px, 4vw, 48px);
                font-weight: 700;
                line-height: 1;
                color: var(--c-primary);
                direction: ltr;
            }

            .label {
                margin-top: 20px;
                font-size: clamp(20px, 2vw, 18px);
                color: #000;
                font-weight: 500;
            }

            @media (min-width: 992px) {
                &::after {
                    content: "";
                    position: absolute;
                    top: 10%;
                    inset-inline-end: -16px;
                    height: 80%;
                    width: 1px;
                    background: rgba(0, 0, 0, .08);
                }

                &:last-child::after {
                    display: none;
                }
            }
        }
    }
}

.stats {
    .stats-wrap {
        perspective: 800px;
    }

    .stat-box {
        transform-style: preserve-3d;
        will-change: transform, opacity;
        animation: stat-pop .7s cubic-bezier(.2, .8, .2, 1) both, stat-float 3.8s ease-in-out infinite alternate;
    }

    .stat-box:nth-child(1) {
        animation-delay: .0s, .8s;
    }

    .stat-box:nth-child(2) {
        animation-delay: .05s, 1s;
    }

    .stat-box:nth-child(3) {
        animation-delay: .1s, 1.2s;
    }

    .stat-box:nth-child(4) {
        animation-delay: .15s, 1.4s;
    }

    .stat-box:nth-child(5) {
        animation-delay: .2s, 1.6s;
    }

    .stat-box::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(120px 60px at var(--mx, 50%) -20%, rgba(255, 255, 255, .28), transparent 60%),
            radial-gradient(160px 80px at calc(100% - var(--mx, 50%)) 120%, rgba(255, 255, 255, .12), transparent 70%);
        opacity: 0;
        transform: translateZ(-1px);
        transition: opacity .35s ease;
        pointer-events: none;
    }

    .stat-box:hover::before {
        opacity: 1;
        animation: stat-sheen 1.2s ease;
    }

    .stat-box .number {
        position: relative;
        background-image: linear-gradient(90deg, var(--c-primary), var(--c-secondary), var(--c-primary));
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        background-size: 200% 100%;
        animation: stat-shimmer 3.5s linear infinite;
        transform: translateZ(20px);
    }

    .stat-box .number::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        width: 8px;
        height: 8px;
        background: radial-gradient(circle, rgba(0, 0, 0, .18), transparent 65%);
        transform: translate(-50%, 10px) scale(1);
        filter: blur(2px);
        opacity: .6;
        transition: transform .3s ease, opacity .3s ease;
    }

    .stat-box:hover .number::after {
        transform: translate(-50%, 14px) scale(1.2);
        opacity: .8;
    }

    .stat-box .label {
        position: relative;
        transform: translateZ(10px);
        animation: stat-label-rise .7s ease both;
        animation-delay: .25s;
    }

    .stat-box:hover {
        transform: rotateX(6deg) rotateY(-6deg) translateY(-6px);
    }

    .stat-box:hover .number {
        animation: stat-shimmer 2s linear infinite, stat-tilt 1.2s ease-in-out infinite alternate;
    }
}

@keyframes stat-pop {
    0% {
        transform: translateY(12px) scale(.95);
        opacity: 0;
    }

    60% {
        transform: translateY(-4px) scale(1.02);
        opacity: 1;
    }

    100% {
        transform: translateY(0) scale(1);
    }
}

@keyframes stat-float {
    from {
        transform: translateY(0) rotateX(0) rotateY(0);
    }

    to {
        transform: translateY(-6px) rotateX(2deg) rotateY(-2deg);
    }
}

@keyframes stat-label-rise {
    0% {
        opacity: 0;
        transform: translateZ(10px) translateY(8px);
    }

    100% {
        opacity: 1;
        transform: translateZ(10px) translateY(0);
    }
}

@keyframes stat-shimmer {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}

@keyframes stat-tilt {
    from {
        transform: translateZ(20px) rotateZ(0deg);
    }

    to {
        transform: translateZ(20px) rotateZ(-1.5deg);
    }
}

@keyframes stat-sheen {
    0% {
        background-position: -30% 0, 130% 100%;
    }

    100% {
        background-position: 130% 0, -30% 100%;
    }
}



/*----------------------------------------------------
 HomeWhyus Section
----------------------------------------------------*/
.whyus-row>[class*="col"]:has(.whyus-card:hover) {
    z-index: 2
}

.whyus {
    position: relative;
    padding: 24px 0 60px;
    overflow: hidden;
    margin-top: 80px;

    .whyus-canvas {
        position: relative;
        height: var(--strip-h);
        background: var(--why-img, none) center/cover no-repeat;
        background-attachment: fixed;
        margin-bottom: 75px;
        isolation: isolate;
        pointer-events: none;

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(82, 122, 120, .40);
            z-index: 1;
        }
    }

    .whyus-row {
        margin-top: calc(-1 * var(--strip-h) / 2);
    }

    .whyus-card {
        position: relative;
        background: #729190;
        padding: 26px 18px 20px;
        text-align: center;
        transform: translateZ(0);
        height: 100%;
        transition: .28s ease;
        will-change: transform;
        overflow: hidden;

        &:hover {
            background: var(--c-primary);
            transform: scale(1.1);
            box-shadow: 0 3px 6px rgba(0, 0, 0, .14);
            z-index: 1;
        }
    }

    .whyus-icon {
        height: 53px;
        margin: 0 auto 20px;
        display: flex;
        justify-content: center;
        filter: brightness(0) invert(1);
        position: relative;
        isolation: isolate;

        img {
            max-width: 100%;
            max-height: 100%;
            transition: transform .6s cubic-bezier(.19, .57, .3, 1.2),
                filter .4s ease;
            will-change: transform, filter;
        }
    }

    .whyus-title {
        color: #FFF;
        font-size: 20px;
        font-weight: 700;
        margin: 0 0 13px;
    }

    .whyus-text {
        color: #FFF;
        line-height: 25px;
        margin: 0;
        font-weight: 500;
        font-size: 18px;
    }

    @media (max-width: 1199.98px) {
        & {
            --strip-h: 200px;
        }
    }

    @media (max-width: 991.98px) {
        & {
            --strip-h: 180px;
            padding-bottom: 50px;
        }

        .whyus-row {
            margin-top: -80px;
        }
    }

    @media (max-width: 575.98px) {
        & {
            --strip-h: 160px;
            padding-bottom: 40px;
        }

        .whyus-row {
            margin-top: -70px;
        }

        .sec-tit {
            font-size: 28px;
        }
    }
}

.whyus {
    --why-tilt-persp: 700px;
    --why-gloss: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .85) 35%, transparent 65%) no-repeat;

    .whyus-card:hover .whyus-icon img {
        transform: perspective(var(--why-tilt-persp)) rotateX(14deg) rotateY(-12deg) scale(1.18);
        filter: brightness(1.18) contrast(1.06) saturate(1.03);
        animation: whyus-squash 700ms cubic-bezier(.2, .8, .2, 1) 1,
            whyus-hover-float 3.2s ease-in-out 300ms infinite alternate,
            whyus-hue 5s ease-in-out 300ms infinite alternate;
    }

    .whyus-card:hover .whyus-icon::after {
        content: "";
        position: absolute;
        inset: -20% -40%;
        background: var(--why-gloss);
        transform: translateX(-120%) rotate(12deg);
        mix-blend-mode: screen;
        filter: blur(.8px);
        animation: whyus-gloss 900ms ease-in-out forwards;
        pointer-events: none;
    }

    .whyus-card::before {
        content: "";
        position: absolute;
        inset: -40% -20%;
        background: radial-gradient(40% 20% at 20% 0%, rgba(255, 255, 255, .18), transparent 60%),
            radial-gradient(30% 18% at 80% 120%, rgba(255, 255, 255, .10), transparent 70%);
        opacity: 0;
        transform: translateY(12px) scale(1.02);
        transition: opacity .35s ease, transform .35s ease;
        pointer-events: none;
    }

    .whyus-card:hover::before {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    .whyus-card .whyus-title {
        position: relative;
        display: inline-block;
    }

    .whyus-card .whyus-title::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -8px;
        width: 0;
        height: 2px;
        background: linear-gradient(90deg, rgba(255, 255, 255, .0), rgba(255, 255, 255, .9), rgba(255, 255, 255, 0));
        transform: translateX(-50%);
        transition: width .4s ease;
    }

    .whyus-card:hover .whyus-title::after {
        width: 70%;
    }

    .whyus-card .whyus-text {
        transition: transform .35s ease, opacity .35s ease, letter-spacing .35s ease;
    }

    .whyus-card:hover .whyus-text {
        transform: translateY(-2px);
        opacity: .96;
        letter-spacing: .2px;
    }

    .whyus-card:nth-child(1) .whyus-icon img {
        animation-delay: 40ms, 220ms, 220ms;
    }

    .whyus-card:nth-child(2) .whyus-icon img {
        animation-delay: 80ms, 260ms, 260ms;
    }

    .whyus-card:nth-child(3) .whyus-icon img {
        animation-delay: 120ms, 300ms, 300ms;
    }

    .whyus-card:nth-child(4) .whyus-icon img {
        animation-delay: 160ms, 340ms, 340ms;
    }
}

@keyframes whyus-squash {
    0% {
        transform: scale(.86) rotate(0deg);
        filter: brightness(.9);
    }

    45% {
        transform: scale(1.22, .94) rotate(2deg);
    }

    70% {
        transform: scale(.98, 1.06) rotate(-1deg);
    }

    100% {
        transform: scale(1.18) rotate(0deg);
    }
}

@keyframes whyus-hover-float {
    from {
        transform: perspective(var(--why-tilt-persp)) rotateX(14deg) rotateY(-12deg) translateY(0) scale(1.18);
    }

    to {
        transform: perspective(var(--why-tilt-persp)) rotateX(14deg) rotateY(-12deg) translateY(-7px) scale(1.18);
    }
}

@keyframes whyus-hue {
    0% {
        filter: brightness(1.18) contrast(1.06) saturate(1.03) hue-rotate(0deg);
    }

    100% {
        filter: brightness(1.2) contrast(1.08) saturate(1.06) hue-rotate(6deg);
    }
}

@keyframes whyus-gloss {
    0% {
        transform: translateX(-120%) rotate(12deg);
        opacity: .0;
    }

    15% {
        opacity: .65;
    }

    50% {
        transform: translateX(0%) rotate(12deg);
        opacity: .9;
    }

    85% {
        opacity: .6;
    }

    100% {
        transform: translateX(120%) rotate(12deg);
        opacity: 0;
    }
}



/*----------------------------------------------------
 HomeStories Section
----------------------------------------------------*/
.stories {
    position: relative;
    padding: 24px 0 60px;

    .in_stroies {
        position: relative;
        background: var(--stories-img, none) center/cover no-repeat fixed;
        padding: 90px 20px;

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, .40);
        }

        .story-card {
            position: relative;
            height: 100%;
            background: linear-gradient(120deg,
                    rgba(0, 0, 0, .55) 0%,
                    rgba(46, 111, 112, .55) 100%);
            padding: 28px 22px 22px;
            border: 1px solid var(--c-primary);
            box-shadow: 0 8px 22px rgba(0, 0, 0, .15);
            transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s;
            transform-style: preserve-3d;
            overflow: visible;

            &:hover {
                transform: perspective(1000px) rotateX(8deg) rotateY(-6deg) scale(1.06);
                box-shadow: 0 20px 40px rgba(0, 0, 0, .25);
            }

            &:hover::after {
                animation: storyGloss 1.2s ease forwards;
            }
        }

        .story-avatar {
            position: absolute;
            left: 50%;
            top: -30px;
            transform: translateX(-50%);
            width: 64px;
            height: 64px;
            border-radius: 50%;
            background: #fff;
            box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
            border: 3px solid #fff;
            display: grid;
            place-items: center;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-radius: 50%;
            }

            &::after {
                content: "";
                position: absolute;
                inset: -6px;
                border-radius: 50%;
                border: 2px solid rgba(255, 255, 255, .6);
                opacity: 0;
                transform: scale(.8);
            }

            .story-card:hover &::after {
                animation: avatarPulse 1.8s ease-out infinite;
            }
        }

        .story-stars {
            margin-top: 15px;
            text-align: center;

            .star-rating {
                --rating-percent: 0%;
                position: relative;
                display: inline-block;
                font-size: 18px;
                line-height: 1;
                letter-spacing: 3px;
                color: #9aa4a4;
                direction: ltr;

                &::before {
                    content: "★★★★★";
                    color: #9aa4a4;
                }

                &::after {
                    content: "★★★★★";
                    position: absolute;
                    inset: 0;
                    width: var(--rating-percent);
                    color: #ffcc38;
                    overflow: hidden;
                    white-space: nowrap;
                }
            }

            .story-card:hover .star-rating {
                animation: starTwinkle 1.6s ease-in-out infinite;
            }
        }

        .story-text {
            margin: 16px 0 0;
            color: #e6f1f1;
            font-size: 18px;
            line-height: 26px;
            text-align: center;
            font-weight: 500;
            position: relative;
        }

        .story-card:hover .story-text {
            background-image: linear-gradient(90deg, #fff 0%, #cdbfae 50%, #fff 100%);
            -webkit-background-clip: text;
            color: transparent;
            background-size: 200% auto;
            animation: textShimmer 2s linear infinite;
        }
    }
}

@keyframes storyGloss {
    0% {
        transform: translateX(-120%) rotate(12deg);
        opacity: 0;
    }

    20% {
        opacity: .8;
    }

    50% {
        transform: translateX(0%) rotate(12deg);
        opacity: 1;
    }

    100% {
        transform: translateX(130%) rotate(12deg);
        opacity: 0;
    }
}

@keyframes avatarPulse {
    0% {
        transform: scale(.8);
        opacity: 0;
    }

    40% {
        transform: scale(1.2);
        opacity: .6;
    }

    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

@keyframes starTwinkle {

    0%,
    100% {
        filter: drop-shadow(0 0 0 rgba(255, 204, 56, 0));
    }

    50% {
        filter: drop-shadow(0 0 6px rgba(255, 204, 56, .4));
    }
}

@keyframes textShimmer {
    0% {
        background-position: -200% center;
    }

    100% {
        background-position: 200% center;
    }
}


/*----------------------------------------------------
 HomeBlog Section
----------------------------------------------------*/
.posts-section {
    padding: 24px 0 0;
    position: relative;
    overflow: hidden;

    .blog-canvas {
        position: relative;
        height: calc(var(--strip-h) + 30px);
        background: var(--posts-strip-img, none) left/cover no-repeat;
        background-attachment: fixed;
        isolation: isolate;
        pointer-events: none;

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(82, 122, 120, .40);
            z-index: 1;
            pointer-events: none;

        }
    }

    .posts-row {
        margin-top: -55px;
    }

    .post-card {
        border-radius: 4px;
        box-shadow: 0 16px 36px rgba(0, 0, 0, .16);
        overflow: hidden;
        position: relative;
        transition: transform .28s ease, box-shadow .28s ease;
        height: 100%;
        background: #FFF;
        display: flex;
        flex-direction: column;

        .post-thumb {
            position: relative;
            display: block;
            overflow: hidden;
            aspect-ratio: 16/10;
            flex: 0 0 auto;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                transform: scale(1.02);
                transition: transform .45s ease, filter .45s ease;
            }

            &::after {
                content: "";
                position: absolute;
                inset: 0;
                background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, .08) 100%);
                opacity: .6;
                transition: opacity .35s ease;
            }
        }

        .post-accent {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 4px;
            background: var(--c-primary);
            transform: scaleX(.12);
            transform-origin: right;
            transition: transform .35s ease;
        }

        .post-body {
            flex: 1 1 auto;
            display: flex;
            flex-direction: column;
            background: #fff;
            padding: 14px 16px 18px;

            .post-title {
                font-size: 20px;
                font-weight: 700;
                margin: 0 0 16px;
                line-height: 29px;

                a {
                    color: #222;
                    text-decoration: none
                }
            }


            .post-meta {
                display: flex;
                align-items: center;
                flex-grow: 1;
                gap: 8px;
                font-size: 14px;

                time {
                    font-size: 18px;
                    font-weight: 500;
                    color: var(--c-secondary);
                }

                .meta-icon {
                    display: inline-flex;
                    line-height: 0;
                }
            }

            .post-cta {
                width: 45px;
                height: 45px;
                display: inline-block;
                background: var(--c-primary);
                border-radius: 50%;
                transition: .3s ease;

                i {
                    font-size: 25px;
                    color: #FFF;
                    line-height: 45px;
                    display: inline-block;
                }

                html[dir="ltr"] i {
                    transform: scaleX(-1) translateY(1px);
                }
            }
        }

        &:hover {
            transform: translateY(-6px);
            box-shadow: 0 16px 36px rgba(0, 0, 0, .16);

            .post-thumb img {
                transform: scale(1.1)
            }

            .post-thumb::after {
                opacity: .25
            }

            .post-accent {
                transform: scaleX(1)
            }

            .post-cta {
                transform: scale(1.1);
                box-shadow: 0 16px 28px rgba(44, 122, 123, .35)
            }
        }
    }

    .posts-more {
        display: inline-block;
        padding: 10px 18px;
        border-radius: 6px;
        background: #6a8f8f;
        color: #fff;
        text-decoration: none;
        font-weight: 700;
        transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        box-shadow: 0 8px 16px rgba(0, 0, 0, .08);

        &:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 28px rgba(0, 0, 0, .16);
            background: #5a7f7f
        }
    }

    @media (max-width: 991.98px) {
        .sec-tit {
            font-size: 32px
        }

        .posts-strip {
            height: 100px
        }

        .posts-row {
            margin-top: -50px
        }
    }

    @media (max-width: 575.98px) {
        .sec-tit {
            font-size: 28px
        }

        .posts-strip {
            height: 90px
        }

        .posts-row {
            margin-top: -45px
        }
    }
}

/*----------------------------------------------------
 HomePartners Section
----------------------------------------------------*/
.partners {
    margin-top: 80px;

    .partners-strip {
        background: #FFF;
    }

    .partner-logo {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100px;
        padding: 8px 10px;
        text-decoration: none;

        img {
            max-height: 100%;
            max-width: 100%;
            /*filter: grayscale(1) contrast(1.05) opacity(.9);*/
            transform: translateZ(0);
            transition: transform .35s ease, filter .35s ease, opacity .35s ease;
        }

        &::before {
            content: "";
            position: absolute;
            inset: -6px;
            border-radius: 16px;
            box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
            transition: box-shadow .35s ease, transform .35s ease;
            pointer-events: none;
        }

        &::after {
            content: "";
            position: absolute;
            top: 0;
            left: -120%;
            width: 60%;
            height: 100%;
            transform: skewX(-20deg);
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
            opacity: 0;
            transition: opacity .2s ease;
        }

        &:hover {
            img {
                filter: grayscale(0) opacity(1);
                transform: scale(1.06);
            }

            &::before {
                box-shadow: 0 10px 24px rgba(0, 0, 0, .08), 0 0 0 2px rgba(44, 122, 123, .25);
                transform: scale(1.02);
            }

            &::after {
                animation: shine-sweep .9s forwards;
                opacity: 1;
            }
        }
    }

    @keyframes shine-sweep {
        to {
            left: 160%;
        }
    }

    @media (max-width: 1199.98px) {
        .partners-row {
            --gap: 36px;
        }

        .partner-logo {
            min-width: 110px;
        }
    }

    @media (max-width: 991.98px) {
        .partners-head .sec-tit {
            font-size: 30px;
        }

        .partner-logo img {
            height: 110px;
        }
    }

    @media (max-width: 575.98px) {
        .partners-head {
            padding: 22px 0 14px;
        }

        .partners-strip .container {
            padding-top: 18px;
            padding-bottom: 18px;
        }

        .partner-logo {
            min-width: 96px;
            min-height: 72px;
            padding: 6px 10px;

            img {
                height: 100px;
            }
        }
    }
}

/*----------------------------------------------------
 HomeFAQ Section
----------------------------------------------------*/
.simple-faq {
    position: relative;
    padding: 80px 0 44px;
    --fx: cubic-bezier(.22, .61, .36, 1);
    overflow: hidden;

    &:before,
    &:after {
        content: "";
        position: absolute;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        z-index: 0;
    }

    &:before {
        background-image: url('../img/tool.webp');
        width: 140px;
        height: 160px;
        left: 20px;
        bottom: 20px;
    }

    &:after {
        background-image: url('../img/question.webp');
        width: 129px;
        height: 129px;
        right: 190px;
        top: 120px;
    }

    .faq-intro {
        max-width: 400px;
        margin: 0 auto 32px;
        color: #000;
        font-size: 20px;
        font-weight: 500;
        line-height: 28px;
    }

    .faq-list {
        max-width: 760px;
        margin: 0 auto;
        display: grid;
        gap: 12px;
    }

    .faq-item {
        border: 0;
        border-radius: 0 13px 13px 0;
        position: relative;
        overflow: hidden;
        background: var(--c-primary);
        border-inline-start: 5px solid var(--c-secondary);

        &.is-open {
            .faq-body {
                grid-template-rows: 1fr;
                opacity: 1;
                transform: translateY(0);
            }

            .faq-q {

                i {
                    transform: rotate(180deg);
                }
            }

            .faq-a {
                clip-path: inset(0 0 0 0);
                opacity: 1;
                transform: translateY(0);

                &::before {
                    transform: translateY(0);
                    transition-delay: .05s;
                }
            }
        }
    }

    .faq-q {
        text-align: start;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: var(--c-primary);
        color: #fff;
        border: 0;
        cursor: pointer;
        padding: 16px;
        font-weight: 800;
        font-size: 18px;
        transition: background .2s ease, transform .2s ease, box-shadow .2s ease;

        i {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: var(--c-secondary);
            color: #fff;
            font-size: 14px;
            transition: .35s cubic-bezier(.22, .61, .36, 1);
        }
    }

    .faq-body {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows .35s cubic-bezier(.4, 0, .2, 1), opacity .3s ease, transform .3s ease;
        opacity: 1;
        background: var(--c-primary);
    }

    .faq-inner {
        overflow: hidden;
        position: relative;
        isolation: isolate;
    }

    .faq-a {
        background: var(--c-primary);
        border: 1px solid rgba(0, 0, 0, .06);
        border-top: none;
        padding: 0 16px 14px;
        color: rgba(255 255 255 / 80%);
        line-height: 28px;
        font-size: 20px;
        font-weight: 500;

        position: relative;
        clip-path: inset(0 0 100% 0);
        opacity: 1;
        transition: clip-path .6s var(--fx), opacity .45s ease;
    }
}


/*----------------------------------------------------
 HomeContact Section
----------------------------------------------------*/
.contact-block {
    padding: 24px 0 0;

    .contact-row {
        position: relative;
    }

    .hold_contact {
        position: relative;
        background: rgba(200 185 164 / 20%);
        max-height: 650px;
        overflow: visible;

        &.has-errors {
            max-height: none;
        }

        .hold_contact_photo {
            position: relative;
            overflow: hidden;
            display: block;
            height: 100%;
            max-height: 650px;

            &:before {
                content: "";
                position: absolute;
                inset: 0;
                background: rgba(253 231 224 / 40%);
            }

            .contact-photo {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
            }
        }

        &.has-errors .hold_contact_photo {
            max-height: none;
        }

        .contact-form {
            padding: 45px 35px;

            .row {
                >[class*="col-"]:not(:last-child) {
                    margin-bottom: 27px !important;
                }
            }

            .form-label {
                font-weight: 700;
                margin-bottom: 6px;
            }

            .contact-input {
                width: 100%;
                background: transparent;
                border: 1px solid var(--c-primary);
                border-radius: 2px;
                height: 44px;
                max-width: 261px;
            }

            textarea.contact-input {
                height: auto;
                max-width: 261px;
            }

            .send-btn {
                display: inline-block;
                background: var(--button);
                color: #fff;
                border: none;
                padding: 8px 24px;
                border-radius: 2px;
                font-weight: 700;
                transition: transform .2s ease, box-shadow .2s ease;
                box-shadow: 0 8px 18px rgba(0, 0, 0, .08);

                &:hover {
                    transform: translateY(-2px);
                    box-shadow: 0 14px 28px rgba(0, 0, 0, .16);
                }
            }
        }

        .contact-card {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            min-width: 600px;
            height: 390px;
            padding: 20px;
            background: var(--c-primary);
            overflow: hidden;
            box-shadow: 0 8px 18px rgba(0, 0, 0, .1);
            border-radius: 8px;

            .row {
                margin: 0;
                height: 100%;
            }

            .contact-map {
                iframe {
                    width: 100%;
                    height: 100%;
                    min-height: 300px;
                    border: 0;
                    display: block;
                }
            }

            .contact-info {
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 20px;

                ul {
                    width: 100%;
                    margin: 0;
                    padding: 0;
                    list-style: none;

                    li {
                        display: flex;
                        align-items: center;
                        margin-bottom: 20px;
                        color: #fff;
                        font-size: 16px;
                        direction: ltr;

                        i {
                            width: 40px;
                            height: 40px;
                            border-radius: 50%;
                            background: #fff;
                            color: #3b7d77;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            font-size: 18px;
                            margin-inline-end: 12px;
                            flex-shrink: 0;
                        }

                        a {
                            color: #fff;
                            text-decoration: none;
                            transition: color .2s ease;

                            &:hover {
                                color: #d5c6b0;
                            }
                        }
                    }
                }
            }
        }

        .cf7-btn-wrap {
            display: flex;
            align-items: center;
            gap: 10px;

            .btn-spinner {
                width: 20px;
                height: 20px;
                border: 2px solid rgba(0, 0, 0, 0.2);
                border-top-color: var(--c-primary);
                border-radius: 50%;
                animation: spin .6s linear infinite;
                opacity: 0;
                transition: opacity .2s ease;

                &.active {
                    opacity: 1;
                }
            }
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }
    }

    .contact-row>[class*="col-"]>* {
        height: 100%;
    }

    .wpcf7-form .wpcf7-not-valid-tip {
        display: block;
        line-height: 1.2;
        margin-top: 6px;
    }

    .wpcf7 form .wpcf7-response-output {
        margin-top: 12px;
    }

    @media (max-width: 1199.98px) {
        .hold_contact .contact-card {
            min-width: 540px;
            height: 360px;
            padding: 18px;
        }

        .hold_contact .hold_contact_photo {
            max-height: 520px;
        }

        .hold_contact.has-errors .hold_contact_photo {
            max-height: none;
        }
    }

    @media (max-width: 991.98px) {
        .sec-tit {
            font-size: 32px;
        }

        .hold_contact {
            max-height: none;

            .contact-form {
                padding: 28px 20px;

                .contact-input {
                    max-width: none;
                    height: 44px;
                }

                .send-btn {
                    width: 100%;
                    padding-block: 10px;
                }
            }

            .hold_contact_photo {
                max-height: 360px;

                &:before {
                    background: rgba(253 231 224 / 32%);
                }
            }

            .contact-card {
                position: relative;
                top: auto;
                left: auto !important;
                transform: none;
                width: 100%;
                min-width: 0;
                height: auto;
                margin: 16px auto 0;
                padding: 16px;

                .contact-map iframe {
                    min-height: 280px;
                }

                .contact-info {
                    padding: 18px;

                    ul li {
                        margin-bottom: 16px;
                        font-size: 15px;

                        i {
                            width: 36px;
                            height: 36px;
                            font-size: 16px;
                        }
                    }
                }
            }
        }

        .hold_contact.has-errors .hold_contact_photo {
            max-height: none;
        }
    }

    @media (max-width: 767.98px) {
        .sec-tit {
            font-size: 30px;
        }

        .hold_contact {
            .contact-form {
                padding: 22px 16px;
            }

            .hold_contact_photo {
                max-height: 300px;
            }

            .contact-card {
                padding: 14px;

                .contact-map iframe {
                    min-height: 240px;
                }

                .contact-info ul li {
                    margin-bottom: 14px;
                    font-size: 15px;

                    i {
                        width: 34px;
                        height: 34px;
                        font-size: 15px;
                        margin-inline-end: 10px;
                    }
                }
            }
        }

        .hold_contact.has-errors .hold_contact_photo {
            max-height: none;
        }
    }

    @media (max-width: 575.98px) {
        .sec-tit {
            font-size: 28px;
        }

        .hold_contact {
            .contact-form {
                padding: 18px 14px;
            }

            .contact-card {
                border-radius: 8px;

                .contact-map iframe {
                    min-height: 220px;
                }
            }
        }

        .hold_contact.has-errors .hold_contact_photo {
            max-height: none;
        }
    }

    @media (max-width: 400px) {
        .hold_contact {
            .contact-card {
                padding: 12px;
            }

            .contact-card .contact-info ul li {
                font-size: 14px;
            }

            .contact-card .contact-info ul li i {
                width: 30px;
                height: 30px;
                font-size: 14px;
            }
        }

        .hold_contact.has-errors .hold_contact_photo {
            max-height: none;
        }
    }
}


/* wpc7 messages and tips */
.wpcf7 {
    .wpcf7-form-control-wrap {
        display: block;
        max-width: 261px;

        .wpcf7-form-control {
            width: 100%;
            background: #fff;
            border: 1px solid #ddd;
            border-radius: 8px;
            height: 48px;
            padding: 10px 14px;
            font-size: 15px;
            color: #1f1f1f;
            transition: border-color .2s ease, box-shadow .2s ease;
            outline: none;

            &:focus {
                border-color: #3b7d77;
                box-shadow: 0 0 0 3px rgba(59, 125, 119, 0.2);
            }
        }

        textarea.wpcf7-form-control {
            min-height: 120px;
            resize: vertical;
            line-height: 1.6;
        }

        .wpcf7-form-control.wpcf7-not-valid {
            border-color: #d43c3c;
            box-shadow: 0 0 0 3px rgba(212, 60, 60, 0.15);
        }

        .wpcf7-not-valid-tip {
            margin-top: 6px;
            font-size: 13px;
            color: #d43c3c;
            background: #fdf0f0;
            padding: 6px 10px;
            border-radius: 6px;
        }

        .wpcf7-submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 160px;
            height: 48px;
            padding: 0 20px;
            border: 0;
            border-radius: 8px;
            background: #3b7d77;
            color: #fff;
            font-weight: 700;
            cursor: pointer;
            transition: background .2s ease, transform .2s ease, box-shadow .2s ease;

            &:hover {
                background: #346e69;
                transform: translateY(-1px);
                box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
            }

            &:active {
                transform: translateY(0);
                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.10);
            }
        }

        .wpcf7-spinner {
            margin-inline-start: 10px;
            width: 20px;
            height: 20px;
            border: 2px solid rgba(0, 0, 0, 0.2);
            border-top-color: #3b7d77;
            border-radius: 50%;
            animation: spin .6s linear infinite;
        }

        .wpcf7-response-output {
            margin: 16px 0 0;
            padding: 12px 14px;
            border-radius: 8px;
            font-size: 14px;
            line-height: 1.6;
            border: 1px solid transparent;
        }

        form.init .wpcf7-response-output {
            background: #fff;
            border-color: #ddd;
            color: #333;
        }

        form.invalid .wpcf7-response-output,
        form.aborted .wpcf7-response-output {
            background: #fdf0f0;
            border-color: #f3c2c2;
            color: #d43c3c;
        }

        form.spam .wpcf7-response-output {
            background: #fffaf0;
            border-color: #f1d99c;
            color: #b6872a;
        }

        form.failed .wpcf7-response-output {
            background: #fdf0f0;
            border-color: #e4b1b1;
            color: #d43c3c;
        }

        form.sent .wpcf7-response-output {
            background: #f0faf7;
            border-color: #aedfc8;
            color: #2a9d6f;
        }
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


/*----------------------------------------------------
Footer
----------------------------------------------------*/
.footer .row>div {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}

.footer.animate .row>div {
    opacity: 1;
    transform: translateY(0);
}

.footer {
    background: var(--c-primary);
    color: var(--c-white);
    position: relative;
    padding-top: 32px;
    margin-top: 180px;

    .footer-badge {
        position: absolute;
        top: -100px;
        right: 10px;
        width: 238px;
        height: 238px;
        background: var(--c-white);
        border-radius: 120px 120px 0px 0px;
        display: grid;
        place-items: center;
        padding: 14px;
        box-shadow: 0 10px 28px rgba(0, 0, 0, .15);
        border: 2px solid var(--c-primary);

        img {
            height: 238px;
            max-height: 100%;
            object-fit: contain;
            display: block;
        }

        @media (max-width: 991.98px) {
            position: static;
            margin: 0 auto 18px;
            width: 148px;
            height: 162px;
            outline-width: 4px;
        }
    }

    .footer-title {
        font-size: 16px;
        font-weight: 800;
        margin-bottom: 14px;
        color: var(--c-white);
    }

    .footer-links {
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;

        li {
            list-style: none;
        }

        a {
            color: var(--c-white);
            text-decoration: none;
            font-weight: 500;
            font-size: 16px;
            margin-bottom: 16px;
            line-height: 25px;
            transition: transform .2s ease;
        }

        a:hover {
            opacity: 1;
            transform: translateX(-2px);
        }
    }

    .footer-line {
        display: flex;
        align-items: center;
        gap: 10px;
        color: rgba(255, 255, 255, .85);
        margin-bottom: 10px;

        i {
            width: 18px;
            text-align: center;
        }

        a {
            color: var(--c-white);
            text-decoration: none;
        }

        a:hover {
            opacity: 1;
        }
    }

    .footer-social-row {
        margin-top: 12px;
        display: flex;
        align-items: center;
        gap: 8px;

        .social-btn {
            width: 32px;
            height: 32px;
            border: 1px solid rgba(255, 255, 255, .5);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 4px;
            color: var(--c-white);
            text-decoration: none;
            transition: transform .2s ease, background .2s ease, border-color .2s ease;
        }

        .social-btn:hover {
            transform: translateY(-2px);
            background: rgba(255, 255, 255, .1);
            border-color: var(--c-white);
        }
    }

    .footer-row {
        position: relative;

        @media (min-width: 992px) {
            >[class*="col-"] {
                position: relative;
                padding-inline: 30px;
            }

            >[class*="col-"]:not(:first-child, :nth-of-type(2))::before {
                content: "";
                position: absolute;
                right: -1px;
                top: 6px;
                bottom: 6px;
                width: 2px;
                background: var(--c-secondary);
            }
        }
    }

    .footer-copy {
        border-top: 1px solid rgba(255, 255, 255, .35);
        margin-top: 18px;
        padding-top: 12px;

        p {
            margin: 0;
            color: var(--c-secondary);
            font-weight: 500;
            font-size: 18px;
            line-height: 25px;
        }

        a {
            color: var(--c-white) !important;
            font-weight: 800;
            text-decoration: none !important;
        }

        a:hover {
            border-bottom-color: var(--c-white);
        }
    }
}


.scroll-top-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #4f7471;
    border: none;
    box-shadow: 0 10px 18px rgba(0, 0, 0, .18);
    cursor: pointer;
    z-index: 50;
    display: grid;
    place-items: center;
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

.scroll-top-btn .arrow-up {
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
    margin-top: 4px;
}

.scroll-top-btn:hover {
    transform: translateY(-2px);
    background: #3d5f5c
}


/*----------------------------------------------------
 WhatsApp
----------------------------------------------------*/
.wa-fab {
    position: fixed;
    inset-inline-start: 18px;
    inset-block-end: 18px;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    z-index: 9999;
    text-decoration: none;
    isolation: isolate;
    transition: transform .2s ease, box-shadow .2s ease;
    animation: wa-float 3s ease-in-out infinite, wa-pulse 2.6s ease-in-out infinite;
    box-shadow: none !important;
}

/*.home .wa-fab {*/
/*    display: none;*/
/*}*/
.wa-fab:hover {
    transform: translateY(-2px) scale(1.05);
}

.wa-fab::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(circle, rgba(37, 211, 102, .35) 0%, rgba(37, 211, 102, .25) 35%, rgba(37, 211, 102, 0) 60%);
    animation: wa-ring 1.6s ease-out infinite;
    z-index: -1;
}

.wa-fab img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform .35s ease, filter .35s ease, opacity .35s ease;
    transform-origin: center;
}

.wa-fab:hover img {
    animation: wa-bounce .9s ease forwards, wa-spin .9s ease forwards;
    filter: hue-rotate(-15deg) brightness(1.1) saturate(1.3);
    opacity: .98;
}

@keyframes wa-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

@keyframes wa-pulse {

    0%,
    100% {
        filter: drop-shadow(0 0 0 rgba(37, 211, 102, 0));
    }

    50% {
        filter: drop-shadow(0 0 8px rgba(37, 211, 102, .25));
    }
}

@keyframes wa-ring {
    0% {
        transform: scale(.9);
        opacity: .35;
    }

    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

@keyframes wa-bounce {
    0% {
        transform: scale(1) translateY(0);
    }

    30% {
        transform: scale(1.15) translateY(-4px);
    }

    50% {
        transform: scale(0.95) translateY(2px);
    }

    70% {
        transform: scale(1.1) translateY(-2px);
    }

    100% {
        transform: scale(1) translateY(0);
    }
}

@keyframes wa-spin {
    0% {
        rotate: 0deg;
    }

    40% {
        rotate: 8deg;
    }

    70% {
        rotate: -6deg;
    }

    100% {
        rotate: 0deg;
    }
}

@media (max-width: 480px) {
    .wa-fab {
        width: 56px;
        height: 56px;
        inset-inline-start: 14px;
        inset-block-end: 185px;
    }
}


/*----------------------------------------------------
 Pages Inside
----------------------------------------------------*/
.singlePage .whyus-row {
    margin-top: 0;
}

.simple-faq {

    &::before,
    &::after {
        display: none;
    }
}

.singlePage {
    .singlePage-img {
        inline-size: min(100%, 860px);
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 16px 36px rgba(0, 0, 0, .12);
        position: relative;
        transform: translateZ(0);
        margin-block-end: clamp(16px, 3vw, 28px);

        img {
            display: block;
            inline-size: 100%;
            block-size: auto;
            object-fit: cover;
            transition: transform .7s cubic-bezier(.2, .8, .2, 1), filter .6s ease;
        }

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(0, 0, 0, .06), transparent 30%, rgba(0, 0, 0, .10));
            opacity: .0;
            transition: opacity .5s ease;
            pointer-events: none;
        }

        &::after {
            content: "";
            position: absolute;
            inset: -1px;
            border-radius: 18px;
            background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .42) 40%, transparent 75%);
            transform: translateX(-130%) skewX(-14deg);
            transition: transform .85s cubic-bezier(.2, .8, .2, 1);
            pointer-events: none;
        }

        &:hover,
        &:focus-within {
            img {
                transform: scale(1.05);
                filter: saturate(1.04) contrast(1.03);
            }

            &::before {
                opacity: .35;
            }

            &::after {
                transform: translateX(130%) skewX(-14deg);
            }
        }
    }

    .singlePage-content {
        text-align: justify;
        max-inline-size: 78ch;
        margin-inline: auto;
        font-size: clamp(16px, 1.15vw + .5rem, 18.5px);
        line-height: 1.85;
        color: color-mix(in srgb, var(--c-black) 92%, transparent);

        >* {
            margin-block: clamp(12px, 1.5vw, 20px);
        }

        > :first-child {
            margin-block-start: 0;
        }

        > :last-child {
            margin-block-end: 0;
        }

        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
            color: var(--c-black);
            font-weight: 800;
            line-height: 1.25;
            letter-spacing: .2px;
        }

        h1 {
            font-size: clamp(28px, 2.6vw + .5rem, 40px);
        }

        h2 {
            font-size: clamp(24px, 2.2vw + .4rem, 34px);
            position: relative;
        }

        h3 {
            font-size: clamp(20px, 1.6vw + .35rem, 28px);
        }

        h4 {
            font-size: clamp(18px, 1.2vw + .3rem, 22px);
        }


        a {
            color: var(--c-primary);
            text-decoration: underline;
            text-underline-offset: 3px;
            transition: color .25s ease, text-underline-offset .25s ease, background .25s ease;
        }

        a:hover {
            color: var(--c-primary-hover);
            text-underline-offset: 5px;
            background: color-mix(in srgb, var(--c-secondary) 12%, transparent);
        }

        ul,
        ol {
            padding-inline-start: 1.25em;
        }

        li {
            margin-block: .35em;
        }

        ul li::marker {
            color: var(--c-secondary);
        }

        ol li::marker {
            color: var(--c-primary);
            font-weight: 700;
        }

        blockquote {
            margin: clamp(14px, 2vw, 20px) 0;
            padding: 16px 18px;
            border-inline-start: 4px solid var(--c-primary);
            background: color-mix(in srgb, var(--c-secondary) 16%, var(--c-white) 84%);
            border-radius: 12px;
            color: color-mix(in srgb, var(--c-black) 92%, transparent);
        }

        :where(img, .wp-block-image img) {
            max-inline-size: 100%;
            height: auto;
            border-radius: 12px;
            display: block;
        }

        figure {
            margin: clamp(10px, 2vw, 18px) 0;
            text-align: center;
        }

        figcaption {
            font-size: .9em;
            color: #6f6f6f;
            margin-top: 8px;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 6px 16px rgba(0, 0, 0, .06);
            background: var(--c-white);
        }

        thead th {
            background: color-mix(in srgb, var(--c-primary) 14%, var(--c-white) 86%);
            color: var(--c-black);
            text-align: start;
            font-weight: 800;
        }

        th,
        td {
            padding: 12px 14px;
            border-bottom: 1px solid rgba(0, 0, 0, .06);
        }

        tbody tr:hover {
            background: color-mix(in srgb, var(--c-secondary) 12%, var(--c-white) 88%);
        }

        code,
        kbd {
            font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
            background: #f4f6f7;
            padding: .15em .35em;
            border-radius: 6px;
            font-size: .95em;
        }

        pre {
            background: #0f172a;
            color: #e2e8f0;
            padding: 16px 18px;
            border-radius: 12px;
            overflow: auto;
            box-shadow: 0 10px 22px rgba(0, 0, 0, .10);
        }

        pre code {
            background: transparent;
            padding: 0;
            color: inherit;
        }

        hr {
            border: 0;
            height: 2px;
            background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--c-black) 16%, transparent), transparent);
            margin-block: clamp(18px, 3vw, 28px);
            border-radius: 2px;
        }

        .wp-block-button__link,
        .button,
        .btn {
            background: var(--c-primary);
            color: var(--c-white);
            border-radius: 999px;
            padding: 10px 18px;
            text-decoration: none;
            display: inline-block;
            transition: transform .2s ease, box-shadow .25s ease, background .25s ease;
        }

        .wp-block-button__link:hover,
        .button:hover,
        .btn:hover {
            background: var(--c-primary-hover);
            transform: translateY(-1px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, .12);
        }
    }

    @media (max-width: 576px) {
        .singlePage-img {
            border-radius: 14px;
        }

        .singlePage-content {
            padding-inline: 6px;
        }
    }

    @media (min-width: 1400px) {
        .singlePage-content {
            max-inline-size: 82ch;
        }

    }
}

.singlePage a:focus-visible,
.singlePage .wp-block-button__link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-primary) 25%, transparent);
    border-radius: 12px;
}


.svc-archive {
    .svc-archive__title {
        font-weight: 800;
    }

    .svc-card {
        background: var(--c-white);
        box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
        overflow: hidden;
        transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s cubic-bezier(.2, .8, .2, 1);
        height: 100%;

        &:hover {
            transform: translateY(-6px);
            box-shadow: 0 16px 34px rgba(0, 0, 0, .14);
        }

        .svc-link {
            display: grid;
            color: inherit;
            text-decoration: none;
            height: 100%;
        }

        .svc-media {
            position: relative;
            aspect-ratio: 16/7;
            background: #eee;
            overflow: hidden;

            img {
                inline-size: 100%;
                block-size: 100%;
                object-fit: cover;
                transition: transform .7s cubic-bezier(.2, .8, .2, 1);
            }

            .svc-media__ph {
                inline-size: 100%;
                block-size: 100%;
                background: #e9ecef;
            }
        }

        &:hover .svc-media img {
            transform: scale(1.06);
        }

        .svc-body {
            text-align: center;
            padding: 18px 16px 20px;

            .svc-icon {
                inline-size: 99px;
                block-size: 99px;
                padding: 19px;
                margin: -55px auto 10px;
                border-radius: 50%;
                background: var(--c-white);
                display: grid;
                place-items: center;
                transform: translateY(0) scale(1);
                transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s cubic-bezier(.2, .8, .2, 1), background .35s ease;

                img {
                    max-block-size: 65px;
                    filter: brightness(0) saturate(100%) invert(48%) sepia(9%) saturate(1063%) hue-rotate(128deg) brightness(91%) contrast(94%);
                    transition: transform .45s cubic-bezier(.2, .8, .2, 1);
                }

                i {
                    font-size: 28px;
                    color: var(--c-white);
                    transition: transform .45s cubic-bezier(.2, .8, .2, 1);
                }
            }

            .svc-title {
                font-size: 20px;
                font-weight: 800;
                color: var(--c-black);
                margin: 10px 0 16px;
            }

            .svc-excerpt {
                color: #000;
                line-height: 25px;
                font-size: 18px;
                margin: 0 0 16px;
            }

            .svc-cta {
                display: inline-flex;
                align-items: center;
                gap: 6px;
                color: var(--c-primary);
                font-weight: 700;
                position: relative;
                transition: color .3s ease;

                i {
                    transition: transform .35s cubic-bezier(.2, .8, .2, 1);
                }
            }
        }

        &:hover .svc-icon {
            transform: translateY(-4px) scale(1.06);
        }

        &:hover .svc-icon img,
        &:hover .svc-icon i {
            transform: translateY(-1px) scale(1.06);
        }

        &:hover .svc-cta i {
            transform: translateX(-4px);
        }
    }

    [dir="ltr"] .svc-card:hover .svc-cta i {
        transform: translateX(4px);
    }
}

.singlePage.posts-section [class*="col-"] {
    margin-bottom: 30px;
}


.header-inside {
    margin-bottom: 80px !important;
}

.singlePage.simple-faq .contact-form,
.singlePage.consult .contact-form {
    max-width: 800px;
    margin: 0 auto;
    border: 4px solid #527A78;
    border-radius: 14px;
    padding: 22px 28px 28px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
}

.form-note {
    font-size: 20px;
    font-weight: 600;
}

.singlePage.simple-faq .contact-form {
    background: #FFFFFF;
}

.singlePage.consult .contact-form {
    background: rgba(255, 255, 255, 0.4);
    -webkit-backdrop-filter: blur(10px) brightness(1.24);
    backdrop-filter: blur(10px) brightness(1.24);
    border: 6px solid #527A78;
    border-radius: 14px;
    isolation: isolate;
}

.singlePage .wpcf7-form-control-wrap {
    max-width: 100%;
}

.singlePage.simple-faq .contact-form .form-title,
.singlePage.simple-faq .contact-form>h2,
.singlePage.consult .contact-form .form-title,
.singlePage.consult .contact-form>h2 {
    margin: 0 0 14px;
    text-align: center;
    font-weight: 900;
    font-size: clamp(20px, 3vw, 28px);
    color: #000;
}

.singlePage.simple-faq .contact-form .row.g-3,
.singlePage.consult .contact-form .row.g-3 {
    row-gap: 14px;
    column-gap: 18px;
}

.singlePage.simple-faq .contact-form .form-label,
.singlePage.consult .contact-form .form-label {
    display: block;
    text-align: right;
    margin-bottom: 8px;
    font-weight: 800;
    color: #000;
}

.singlePage.simple-faq .contact-form .contact-input.form-control,
.singlePage.consult .contact-form .contact-input.form-control {
    display: block;
    width: 100%;
    height: 44px;
    background: #F3F0EC;
    border: 2px solid #8BA4A2;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: 14px;
    color: #000;
    outline: none;
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.singlePage.simple-faq .contact-form textarea.contact-input,
.singlePage.consult .contact-form textarea.contact-input {
    min-height: 90px;
    height: auto;
    resize: vertical;
}

.singlePage.simple-faq .contact-form .contact-input:focus,
.singlePage.consult .contact-form .contact-input:focus {
    border-color: #527A78;
    background: #F7F4F0;
    box-shadow: 0 0 0 3px rgba(82, 122, 120, .15);
}

.singlePage.simple-faq .contact-form .cf7-btn-wrap,
.singlePage.consult .contact-form .cf7-btn-wrap {
    text-align: center;
    margin-top: 6px;
}

.singlePage.simple-faq .contact-form .main-btn,
.singlePage.consult .contact-form .main-btn {
    width: 185px;
}

.singlePage.simple-faq .wpcf7 form .wpcf7-response-output,
.singlePage.consult .wpcf7 form .wpcf7-response-output {
    margin-top: 12px;
    border-radius: 10px;
    padding: 10px 12px;
    border: 2px solid #CEB9A3;
    background: #FFF;
}

.singlePage.simple-faq .wpcf7-not-valid,
.singlePage.consult .wpcf7-not-valid {
    border-color: #c24 !important;
    background: #FFF4F4 !important;
}

.singlePage.simple-faq .wpcf7 .wpcf7-not-valid-tip,
.singlePage.consult .wpcf7 .wpcf7-not-valid-tip {
    margin-top: 6px;
    font-size: .9rem;
}

@media (max-width: 576px) {

    .singlePage.simple-faq .contact-form,
    .singlePage.consult .contact-form {
        padding: 18px 16px 22px;
        border-width: 3px;
        border-radius: 12px;
    }

    .singlePage.simple-faq .contact-form .main-btn,
    .singlePage.consult .contact-form .main-btn {
        width: 100%;
    }
}

.singlePage.simple-faq .contact-form .form-title,
.singlePage.consult .contact-form .form-title {
    margin: 0 0 14px;
    text-align: center;
    font-weight: 900;
    font-size: clamp(20px, 3vw, 28px);
    color: #000;
}

.hero-title {
    position: relative;
    overflow: hidden;
    isolation: isolate;

    min-height: 270px;
    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    margin: 0 0 80px;
    padding: 18px 20px;

    color: #fff;
    font-weight: 900;
    font-size: clamp(22px, 4vw, 40px);
    line-height: 1.25;

    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
    text-shadow: 0 2px 8px rgba(0, 0, 0, .35);

    background-image: var(--hero-title-bg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.hero-title::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    z-index: 0;
    pointer-events: none;
}

.hero-title>* {
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .hero-title {
        padding: 14px 16px;
    }
}

@media (pointer: coarse) {
    .hero-title {
        background-attachment: scroll;
    }
}


.page-id-2764 .wrap {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--consult-bg) center/cover no-repeat;
}

.page-id-2764 .wrap:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .40);
    z-index: -1;
    pointer-events: none;
}



/*----------------------------------------------------
 Global Responsive
----------------------------------------------------*/
@media (max-width: 1399.96px) {
    .contact-card {
        left: 35% !important;
    }

    .header-logo {
        img {
            max-block-size: 75px !important;
        }
    }

    .main-btn span {
        font-size: 16px;
    }
}

@media (min-width: 992px) {


    .site-sidebar,
    .sidebar-overlay {
        display: none !important;
    }

    @media (min-width: 992px) {

        .nav-list {
            display: flex;
            gap: 18px;
            align-items: center;
        }

        .nav-list>li.menu-item {
            position: relative;
        }

        .nav-list>li>a {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            padding: 10px 12px;
            font-weight: 700;
            color: var(--c-black);
            text-decoration: none;
            line-height: 1.2;
            transition: color .25s ease;
        }

        .nav-list>li>a:hover,
        .nav-list>li>a:focus {
            color: var(--c-primary-hover);
        }

        .nav-list>.menu-item-has-children>a::after {
            content: "\f078";
            /* chevron-down */
            font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
            font-weight: 900;
            display: inline-block;
            margin-inline-start: 6px;
            color: var(--c-black);
            transition: transform .25s ease, color .25s ease;
        }

        .nav-list>.menu-item-has-children:hover>a::after,
        .nav-list>.menu-item-has-children:focus-within>a::after {
            transform: rotate(180deg);
            color: var(--c-primary);
        }

        .nav-list>.menu-item-has-children.active>a::after,
        .nav-list>.menu-item-has-children.current-menu-item>a::after,
        .nav-list>.menu-item-has-children.current_page_item>a::after,
        .nav-list>.menu-item-has-children.current-menu-ancestor>a::after,
        .nav-list>.menu-item-has-children.current_page_ancestor>a::after,
        .nav-list>.menu-item-has-children.current-menu-parent>a::after {
            color: var(--c-primary);
        }

        .nav-list>li>.sub-menu {
            position: absolute;
            top: 100%;
            inset-inline-start: 0;
            z-index: 50;
            transform-origin: 0 0 0;
            min-width: 260px;
            padding: 10px;
            list-style: none;
            background: radial-gradient(600px 300px at 110% -10%, color-mix(in srgb, var(--c-primary) 10%, transparent), transparent 60%),
                linear-gradient(180deg, color-mix(in srgb, var(--c-white) 96%, transparent), color-mix(in srgb, var(--c-white) 88%, transparent));
            border: 1px solid color-mix(in srgb, var(--c-black) 8%, transparent);
            border-radius: 16px;
            box-shadow: 0 18px 44px color-mix(in srgb, var(--c-black) 14%, transparent);
            transform-origin: top center;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(8px) scale(.98);
            transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
            will-change: opacity, transform;
        }

        .nav-list>li.menu-item-has-children:hover>.sub-menu,
        .nav-list>li.menu-item-has-children:focus-within>.sub-menu {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0) scale(1);
            transition-delay: 0s;
        }

        .nav-list .sub-menu>li {
            position: relative;
        }

        .nav-list .sub-menu>li>a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 10px 12px;
            border-radius: 12px;
            color: color-mix(in srgb, var(--c-black) 85%, var(--c-white) 15%);
            text-decoration: none;
            font-weight: 600;
            transition: background .18s ease, color .18s ease, transform .18s ease;
        }

        .nav-list .sub-menu>li>a:hover,
        .nav-list .sub-menu>li>a:focus {
            background: color-mix(in srgb, var(--c-secondary) 24%, var(--c-white) 76%);
            color: var(--c-black);
            transform: translateY(-1px);
        }

        .nav-list .sub-menu>li:not(:last-child)>a {
            margin-bottom: 6px;
        }

        .nav-list .sub-menu>li.menu-item-has-children>a::after {
            font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
            font-weight: 900;
            font-size: 13px;
            color: var(--c-black);
            transition: transform .2s ease, color .2s ease;
            margin-inline-start: 10px;
            line-height: 1;
        }

        html[dir="ltr"] .nav-list .sub-menu>li.menu-item-has-children>a::after {
            content: "\f054";
        }

        /* chevron-right */
        html[dir="rtl"] .nav-list .sub-menu>li.menu-item-has-children>a::after {
            content: "\f053";
        }

        /* chevron-left */
        .nav-list .sub-menu .sub-menu {
            position: absolute;
            top: 0;
            inset-inline-start: 100%;
            min-width: 240px;
            padding: 10px;
            background: var(--c-white);
            border: 1px solid color-mix(in srgb, var(--c-black) 8%, transparent);
            box-shadow: 0 16px 40px color-mix(in srgb, var(--c-black) 12%, transparent);
            transform-origin: top start;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(6px) scale(.98);
            transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
        }

        .nav-list .sub-menu>li.menu-item-has-children:hover>.sub-menu,
        .nav-list .sub-menu>li.menu-item-has-children:focus-within>.sub-menu {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0) scale(1);
            transition-delay: 0s;
        }

        .btn-nav,
        .mobile-nav-list,
        .dd-trigger {
            display: none !important;
        }
    }
}

@media (max-width: 992px) {

    .about,
    .services {
        margin-block: 35px;
    }

    /* sidebar  */
    .sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 9990;
        background: rgba(0, 0, 0, .42);
        opacity: 0;
        pointer-events: none;
        transform: scale(1.02);
        transition: opacity .35s cubic-bezier(.2, .8, .2, 1),
            transform .40s cubic-bezier(.2, .8, .2, 1);

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(1200px 600px at 20% -10%, rgba(82, 122, 120, .18), transparent 60%),
                radial-gradient(900px 520px at 120% 110%, rgba(206, 185, 163, .16), transparent 65%);
            opacity: 0;
            transition: opacity .45s cubic-bezier(.2, .8, .2, 1);
        }

        &.is-open {
            opacity: 1;
            pointer-events: auto;
            transform: scale(1);

            &::before {
                opacity: .12;
            }
        }

        @supports (backdrop-filter: blur(6px)) {
            backdrop-filter: blur(3px) saturate(110%);

            &.is-open {
                backdrop-filter: blur(6px) saturate(120%);
            }
        }
    }

    .site-sidebar {
        position: fixed;
        inset-block: 0;
        inset-inline-start: 0;
        inline-size: min(100vw, 400px);
        z-index: 10000;
        display: flex;
        flex-direction: column;

        background: radial-gradient(900px 420px at 120% -10%, rgba(82, 122, 120, .16), transparent 50%),
            radial-gradient(700px 360px at -10% 110%, rgba(206, 185, 163, .18), transparent 55%),
            linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .86));
        border-inline-start: 1px solid rgba(255, 255, 255, .55);
        box-shadow: 20px 0 70px rgba(0, 0, 0, .16);
        transform: translateX(100%);
        transition: transform .45s cubic-bezier(.2, .8, .2, 1);

        &.is-open {
            transform: translateX(0);
        }

        .sidebar-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 18px;
            border-bottom: 1px solid rgba(0, 0, 0, .08);

            .sidebar-logo img {
                max-height: 80px;
                display: block;
            }

            .logo-text {
                font-weight: 800;
                color: #527A78;
            }

            .sidebar-close {
                inline-size: 46px;
                block-size: 46px;
                border: 0;
                background: #fff;
                color: #000;
                display: grid;
                place-items: center;
                box-shadow: 0 8px 26px rgba(0, 0, 0, .12);
            }
        }

        .sidebar-nav {
            padding: 12px;
            overflow: auto;
            scrollbar-width: thin;

            .sidebar-menu {
                margin: 0;
                padding: 0;
                display: grid;
                gap: 12px;

                >li {
                    background: rgba(255, 255, 255, .94);
                    border: 1px solid rgba(0, 0, 0, .08);
                    box-shadow: 0 14px 36px rgba(0, 0, 0, .08);
                    overflow: hidden;
                    transition: transform .18s cubic-bezier(.2, .8, .2, 1),
                        box-shadow .18s cubic-bezier(.2, .8, .2, 1);

                    &:hover {
                        transform: translateY(-1px);
                        box-shadow: 0 18px 40px rgba(0, 0, 0, .10);
                    }

                    >a {
                        position: relative;
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        gap: 12px;
                        padding: 16px 18px;
                        color: #000;
                        text-decoration: none;
                        font-weight: 700;
                        line-height: 1.1;
                        min-block-size: 56px;

                        &:hover {
                            background: rgba(82, 122, 120, .08);
                        }
                    }

                    &.active>a,
                    >a.active {
                        background: #527A78;
                        color: #fff;
                    }

                    &.has-dropdown>a {
                        padding-inline-end: 62px;
                    }

                    .dd-trigger {
                        appearance: none;
                        -webkit-appearance: none;
                        border: 1px solid rgba(0, 0, 0, .08);
                        background: #fff;
                        color: #000;
                        position: absolute;
                        inset-inline-end: 12px;
                        top: 50%;
                        transform: translateY(-50%);
                        inline-size: 38px;
                        block-size: 38px;
                        border-radius: 12px;
                        display: grid;
                        place-items: center;
                        cursor: pointer;
                        transition: background .18s cubic-bezier(.2, .8, .2, 1),
                            transform .18s cubic-bezier(.2, .8, .2, 1);

                        &::before {
                            font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
                            font-weight: 900;
                            content: "\f078";
                            font-size: 14px;
                            line-height: 1;
                            display: inline-block;
                            transition: transform .25s cubic-bezier(.2, .8, .2, 1), color .2s;
                        }
                    }

                    &.is-open {
                        >a .dd-trigger {
                            background: rgba(206, 185, 163, .24);
                        }

                        >a .dd-trigger::before {
                            transform: rotate(-180deg);
                            color: #FFF;
                        }
                    }

                    /* Submenu */

                    .sub-menu {
                        display: none;
                        padding: 8px 10px 14px;
                        margin: 0 14px 14px;
                        border-inline-start: 2px solid #CEB9A3;
                        background: rgba(206, 185, 163, .16);

                        li {
                            border: 0;
                            background: transparent;

                            &.active {
                                span {
                                    color: #FFF;
                                }
                            }

                            a {
                                position: relative;
                                display: block;
                                font-weight: 600;
                                padding: 10px 12px;
                                color: rgba(0, 0, 0, .80);
                                text-decoration: none;

                                &:hover {
                                    background: rgba(206, 185, 163, .26);
                                    color: #000;
                                }
                            }

                            &.has-dropdown>a {
                                padding-inline-end: 62px;
                            }

                            &.is-open {
                                >a .dd-trigger {
                                    background: rgba(206, 185, 163, .24);
                                }

                                >a .dd-trigger::before {
                                    transform: rotate(-180deg);
                                }
                            }
                        }
                    }
                }
            }
        }

        .sidebar-cta {
            margin-top: auto;
            padding: 16px;
            border-top: 1px solid rgba(0, 0, 0, .08);
            display: grid;
            gap: 12px;
            background: rgba(255, 255, 255, .80);

            .ghost-btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                padding: 12px 16px;
                border-radius: 999px;
                text-decoration: none;
                color: #527A78;
                border: 1px solid #527A78;
                font-weight: 700;
                transition: background .2s cubic-bezier(.2, .8, .2, 1),
                    color .2s cubic-bezier(.2, .8, .2, 1),
                    transform .18s cubic-bezier(.2, .8, .2, 1);

                &:hover {
                    background: #527A78;
                    color: #fff;
                    transform: translateY(-1px);
                }
            }
        }
    }

    /* Hamburger */
    .hamburger {
        inline-size: 50px;
        block-size: 46px;
        border: 0;
        background: #fff;
        display: grid;
        place-content: center;
        gap: 6px;
        box-shadow: 0 6px 24px rgba(0, 0, 0, .12);

        span {
            display: block;
            inline-size: 24px;
            block-size: 2px;
            background: #000;
            border-radius: 2px;
        }
    }

    @media (min-width: 992px) {
        .site-sidebar {
            inline-size: 440px;
        }
    }

    @media (hover: hover) {
        .sidebar-menu>li:hover .dd-trigger {
            transform: translateY(-50%) scale(1.04);
        }
    }

    @media (prefers-reduced-motion: reduce) {

        .sidebar-overlay,
        .site-sidebar,
        .dd-trigger::before {
            transition: none !important;
        }
    }

    /* end sidebar*/
    .header-actions {
        a:not(.search-icon) {
            display: none !important;
        }
    }

}

@media (max-width: 991.96px) {
    .services {
        .services-hero {
            .service-card {
                padding: 20px;
            }
        }
    }

    .about-photo {
        min-height: 250px;
        background-position: inherit !important;
        background-size: cover !important;
    }

    .whyus {
        .whyus-canvas {
            margin-bottom: 15px;
        }
    }

    [class*="col-"]:not(.whyus [class*="col-"], .about [class*="col-"]) {
        margin-bottom: 30px;
    }

    .stories {
        & .in_stroies {
            padding: 90px 20px 30px;
        }
    }

    .wpcf7 {
        .wpcf7-form-control-wrap {
            max-width: 100%;

        }
    }

    .contact-block {
        & .hold_contact {
            & .contact-form {
                & textarea.contact-input {
                    max-width: 100%;
                }
            }
        }
    }

    .contact-row {
        flex-direction: column-reverse;
    }

    .contact-photo {
        object-fit: none;
    }

    .footer {
        .footer-badge {
            margin-top: -100px;

            img {
                height: 145px;
            }
        }
    }

    .main-caption {
        transform: translateY(-17%);
    }


}


@media(min-width: 1200px) {

    #main-header .container>.d-flex,
    #fixed-header .container>.d-flex {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
    }

    #main-header .header-logo,
    #fixed-header .header-logo {
        justify-self: start;
    }

    #main-header .main-menu,
    #fixed-header .main-menu {
        justify-self: center;
        text-align: center;
    }

    #main-header .header-actions,
    #fixed-header .header-actions {
        justify-self: end;
    }
}

@media (max-width: 768px) {
    .main-caption {
        & .headline-title {
            font-size: 24px;
            font-weight: 700;
            margin-bottom: 27px;
        }

        transform: translateY(0);
    }

    .about {
        & .about-tabs {
            & .row {
                gap: 0;
            }
        }
    }

    .sec-tit {
        color: #000;
        font-weight: 700;
        font-size: 26px;
        margin-bottom: 40px;
    }

}

@media (max-width: 576px) {
    .stats {
        & .stats-wrap {
            & .stat-box {
                min-width: 160px;
            }
        }
    }


    .site-sidebar {
        position: fixed;
        inline-size: min(90vw, 400px);
    }

    .contact-form {
        margin-top: 40px;
    }

    .simple-faq {
        & .faq-q {
            font-size: 16px;
        }
    }

    .txt {
        width: calc(100% - 28px);
    }

    .footer {
        & .footer-copy {
            & p {
                margin: 0;
                color: var(--c-secondary);
                font-weight: 500;
                font-size: 15px;
                line-height: 25px;
            }
        }
    }

    .footer {
        margin-top: 60px;
    }

    #main-header {
        margin-inline: 25px;
    }

    .headline-title {
        line-height: 35px;
    }

    .whyus,
    .partners {
        margin-top: 40px;
    }

    .posts-section {
        & .post-card {
            & .post-body {
                & .post-title {
                    font-size: 15px;
                    line-height: 23px;
                }
            }
        }
    }

    .posts-section {
        & .post-card {
            & .post-body {
                & .post-meta {
                    & time {
                        font-size: 15px;
                    }
                }
            }
        }
    }

    .posts-section {
        & .post-card {
            & .post-body {
                & .post-cta {
                    width: 36px;
                    height: 36px;

                    i {
                        font-size: 20px;

                        line-height: 36px;

                    }
                }
            }
        }
    }

    .hold_contact_photo {
        max-height: 390px !important;
    }

    .contact-photo {
        width: 100%;
        max-height: 387px;
        object-fit: cover;
        display: block;
        object-fit: cover;
    }

}

@media (max-width: 380px) {
    .main-btn span {
        font-size: 14px;
    }

    .gap-4 {
        gap: .9rem !important;
    }

    .posts-section {
        & .post-card {
            & .post-body {
                & .post-title {
                    font-size: 15px;
                    font-weight: 700;
                    margin: 0 0 16px;
                }
            }
        }
    }
}

/*----------------------------------------------------
End of CSS
----------------------------------------------------*/
.header-icon.search-icon {
    font-size: 19px;
    color: var(--color-primary);
    cursor: pointer;
    transition: 0.3s;
    margin-top: 5px;
    margin-inline-end: 8px;

    &:hover {
        color: var(--color-accent-hover);
    }
}

.search-form-wrapper {
    background-color: #fff;
    border-radius: 15px;
    padding: 0 25px;
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    transition: 0.3s;
}

.search-form-wrapper .search-form {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
}

.search-form-wrapper .search-form .search-btn {
    border: none !important;
    color: var(--color-primary);
    font-size: 20px;
    transition: 0.3s;
}

.search-form-wrapper .search-form .search-btn:hover {
    color: var(--color-accent-hover);
}

.search-form-wrapper .search-form .form-control {
    padding-block: 10px;
    width: 100%;
    background-color: transparent;
    border: none;
    color: var(--color-primary);
    font-size: 18px;
    box-shadow: none;
}

.search-form-wrapper .search-form .form-control::placeholder {
    color: var(--color-primary);
    font-size: 14px;
    opacity: 0.5;
}

.search-form-wrapper.active {
    opacity: 1;
    visibility: visible;
    transition: 0.3s;
    max-height: 100px;
    margin-top: 5px;
}

.search-icon.active i:before {
    content: "\f00d";
    font-family: "Font Awesome 6 Free" !important;
}