/* Static site stabilization layer for the mirrored WordPress export. */

:root {
    /* Edit these tokens to switch the site's theme from one place. */
    --theme-font-base: "Inter", sans-serif;
    --theme-font-heading: "Inter", sans-serif;
    --theme-font-accent: "Inter", sans-serif;

    --theme-color-page-bg: #f3f3f3;
    --theme-color-surface: #ffffff;
    --theme-color-surface-muted: #dfe7ec;
    --theme-color-surface-soft: #e6e6e6;

    --theme-color-text: #3a5d6e;
    --theme-color-heading: #07344b;
    --theme-color-primary: #4fc5e1;
    --theme-color-primary-strong: #1389a5;
    --theme-color-accent: #fed459;
    --theme-color-success: #7ad458;
    --theme-color-danger: #dd4c45;
    --theme-color-black: #000000;
    --theme-color-white: #ffffff;

    --theme-overlay-dark: rgba(0, 0, 0, 0.8);
    --theme-ui-muted: #69727d;
    --theme-ui-dark: #32373c;
    --theme-swiper-arrow: rgba(238, 238, 238, 0.9);
    --theme-shadow-soft: rgba(7, 52, 75, 0.12);

    /* Bridge tokens for Elementor / WordPress generated CSS. */
    --e-global-color-primary: var(--theme-color-primary);
    --e-global-color-secondary: var(--theme-color-heading);
    --e-global-color-text: var(--theme-color-text);
    --e-global-color-accent: var(--theme-color-accent);
    --e-global-color-75d016e: var(--theme-color-primary-strong);
    --e-global-color-6e0bffd: var(--theme-color-success);
    --e-global-color-c1ebeff: var(--theme-color-danger);
    --e-global-color-0f81266: var(--theme-color-black);
    --e-global-color-75439a2: var(--theme-color-white);
    --e-global-color-afed912: var(--theme-color-surface-soft);
    --e-global-typography-primary-font-family: var(--theme-font-heading);
    --e-global-typography-secondary-font-family: var(--theme-font-base);
    --e-global-typography-text-font-family: var(--theme-font-base);
    --e-global-typography-accent-font-family: var(--theme-font-accent);

    --wp--preset--color--black: var(--theme-color-black);
    --wp--preset--color--white: var(--theme-color-white);
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
}

/* Theme 1: darker blue accents */
:root[data-theme="deep-blue"],
body.theme-deep-blue {
    --theme-color-page-bg: #eef2f5;
    --theme-color-surface: #eef7fc;
    --theme-color-surface-muted: #d4e6f1;
    --theme-color-surface-soft: #dbeaf3;

    --theme-color-text: #17384b;
    --theme-color-heading: #082739;
    --theme-color-primary: #1f6f98;
    --theme-color-primary-strong: #0f5274;
    --theme-color-accent: #f0c24f;
    --theme-shadow-soft: rgba(10, 47, 69, 0.16);
    --wp--preset--color--pale-cyan-blue: #5f93b4;
    --wp--preset--color--vivid-cyan-blue: #1f6f98;
}

html[data-theme="deep-blue"] .elementor-kit-2034,
body.theme-deep-blue .elementor-kit-2034 {
    --e-global-color-primary: var(--theme-color-primary) !important;
    --e-global-color-secondary: var(--theme-color-heading) !important;
    --e-global-color-text: var(--theme-color-text) !important;
    --e-global-color-accent: var(--theme-color-accent) !important;
    --e-global-color-75d016e: var(--theme-color-primary-strong) !important;
    --e-global-color-6e0bffd: var(--theme-color-success) !important;
    --e-global-color-c1ebeff: var(--theme-color-danger) !important;
    --e-global-color-0f81266: var(--theme-color-black) !important;
    --e-global-color-75439a2: var(--theme-color-surface) !important;
    --e-global-color-afed912: var(--theme-color-surface-soft) !important;
}

/* Theme 2: muted forest + warm amber */
:root[data-theme="forest-amber"],
body.theme-forest-amber {
    --theme-color-page-bg: #f2f3ee;
    --theme-color-surface: #fffdf8;
    --theme-color-surface-muted: #dde4d7;
    --theme-color-surface-soft: #e8ece1;

    --theme-color-text: #4a5a50;
    --theme-color-heading: #233b31;
    --theme-color-primary: #3f6b57;
    --theme-color-primary-strong: #2d5342;
    --theme-color-accent: #d7a64a;
    --theme-color-success: #6d9b62;
    --theme-shadow-soft: rgba(35, 59, 49, 0.14);
}

/* Theme 3: dark graphite + cyan */
:root[data-theme="graphite-cyan"],
body.theme-graphite-cyan {
    --theme-color-page-bg: #10161b;
    --theme-color-surface: #151d23;
    --theme-color-surface-muted: #1b252d;
    --theme-color-surface-soft: #22313b;

    --theme-color-text: #c8d5de;
    --theme-color-heading: #eef7fb;
    --theme-color-primary: #49b9d6;
    --theme-color-primary-strong: #2f95b0;
    --theme-color-accent: #8de1f5;
    --theme-color-success: #5db890;
    --theme-color-danger: #e06d72;
    --theme-color-white: #f5fbff;

    --theme-overlay-dark: rgba(6, 10, 13, 0.86);
    --theme-ui-muted: #8ea1af;
    --theme-ui-dark: #0c1115;
    --theme-swiper-arrow: rgba(18, 28, 35, 0.92);
    --theme-shadow-soft: rgba(0, 0, 0, 0.35);
    --wp--preset--color--pale-cyan-blue: #78bfd2;
    --wp--preset--color--vivid-cyan-blue: #49b9d6;
}

html[data-theme="graphite-cyan"] .elementor-kit-2034,
body.theme-graphite-cyan .elementor-kit-2034 {
    --e-global-color-primary: var(--theme-color-primary) !important;
    --e-global-color-secondary: var(--theme-color-heading) !important;
    --e-global-color-text: var(--theme-color-text) !important;
    --e-global-color-accent: var(--theme-color-accent) !important;
    --e-global-color-75d016e: var(--theme-color-primary-strong) !important;
    --e-global-color-6e0bffd: var(--theme-color-success) !important;
    --e-global-color-c1ebeff: var(--theme-color-danger) !important;
    --e-global-color-0f81266: #05080a !important;
    --e-global-color-75439a2: var(--theme-color-surface) !important;
    --e-global-color-afed912: var(--theme-color-surface-soft) !important;
}

body {
    background-color: var(--theme-color-page-bg);
    color: var(--theme-color-text);
    font-family: var(--theme-font-base);
}

html[data-theme="deep-blue"] body,
body.theme-deep-blue {
    background-color: var(--theme-color-page-bg) !important;
    color: var(--theme-color-text) !important;
}

html[data-theme="graphite-cyan"] body,
body.theme-graphite-cyan {
    background-color: var(--theme-color-page-bg) !important;
    color: var(--theme-color-text) !important;
}

html[data-theme="deep-blue"] a,
body.theme-deep-blue a,
html[data-theme="deep-blue"] .elementor-kit-2034 a,
body.theme-deep-blue .elementor-kit-2034 a {
    color: var(--theme-color-primary) !important;
}

html[data-theme="graphite-cyan"] a,
body.theme-graphite-cyan a,
html[data-theme="graphite-cyan"] .elementor-kit-2034 a,
body.theme-graphite-cyan .elementor-kit-2034 a {
    color: var(--theme-color-primary) !important;
}

html[data-theme="deep-blue"] .elementor-button,
body.theme-deep-blue .elementor-button,
html[data-theme="deep-blue"] .jet-button__plane-normal,
body.theme-deep-blue .jet-button__plane-normal,
html[data-theme="deep-blue"] .jet-portfolio__view-more-button,
body.theme-deep-blue .jet-portfolio__view-more-button {
    background-color: var(--theme-color-primary) !important;
}

html[data-theme="graphite-cyan"] .elementor-button,
body.theme-graphite-cyan .elementor-button,
html[data-theme="graphite-cyan"] .jet-button__plane-normal,
body.theme-graphite-cyan .jet-button__plane-normal,
html[data-theme="graphite-cyan"] .jet-portfolio__view-more-button,
body.theme-graphite-cyan .jet-portfolio__view-more-button {
    background-color: var(--theme-color-primary) !important;
}

html[data-theme="deep-blue"] .jet-button__plane-hover,
body.theme-deep-blue .jet-button__plane-hover {
    background-color: var(--theme-color-primary-strong) !important;
}

html[data-theme="graphite-cyan"] .jet-button__plane-hover,
body.theme-graphite-cyan .jet-button__plane-hover {
    background-color: var(--theme-color-primary-strong) !important;
}

html[data-theme="deep-blue"] .elementor-button,
body.theme-deep-blue .elementor-button,
html[data-theme="deep-blue"] .jet-button__label,
body.theme-deep-blue .jet-button__label {
    color: var(--theme-color-white) !important;
}

html[data-theme="graphite-cyan"] .elementor-button,
body.theme-graphite-cyan .elementor-button,
html[data-theme="graphite-cyan"] .jet-button__label,
body.theme-graphite-cyan .jet-button__label {
    color: var(--theme-ui-dark) !important;
}

html[data-theme="deep-blue"] .elementor-kit-2034 h1,
html[data-theme="deep-blue"] .elementor-kit-2034 h2,
html[data-theme="deep-blue"] .elementor-kit-2034 h3,
html[data-theme="deep-blue"] .elementor-kit-2034 h4,
html[data-theme="deep-blue"] .elementor-kit-2034 h5,
html[data-theme="deep-blue"] .elementor-kit-2034 h6,
body.theme-deep-blue .elementor-kit-2034 h1,
body.theme-deep-blue .elementor-kit-2034 h2,
body.theme-deep-blue .elementor-kit-2034 h3,
body.theme-deep-blue .elementor-kit-2034 h4,
body.theme-deep-blue .elementor-kit-2034 h5,
body.theme-deep-blue .elementor-kit-2034 h6 {
    color: var(--theme-color-heading) !important;
}

html[data-theme="graphite-cyan"] .elementor-kit-2034 h1,
html[data-theme="graphite-cyan"] .elementor-kit-2034 h2,
html[data-theme="graphite-cyan"] .elementor-kit-2034 h3,
html[data-theme="graphite-cyan"] .elementor-kit-2034 h4,
html[data-theme="graphite-cyan"] .elementor-kit-2034 h5,
html[data-theme="graphite-cyan"] .elementor-kit-2034 h6,
body.theme-graphite-cyan .elementor-kit-2034 h1,
body.theme-graphite-cyan .elementor-kit-2034 h2,
body.theme-graphite-cyan .elementor-kit-2034 h3,
body.theme-graphite-cyan .elementor-kit-2034 h4,
body.theme-graphite-cyan .elementor-kit-2034 h5,
body.theme-graphite-cyan .elementor-kit-2034 h6 {
    color: var(--theme-color-heading) !important;
}

html[data-theme="deep-blue"] .elementor-kit-2034,
body.theme-deep-blue .elementor-kit-2034,
html[data-theme="deep-blue"] .elementor-kit-2034 p,
body.theme-deep-blue .elementor-kit-2034 p,
html[data-theme="deep-blue"] .elementor-kit-2034 li,
body.theme-deep-blue .elementor-kit-2034 li,
html[data-theme="deep-blue"] .elementor-kit-2034 span,
body.theme-deep-blue .elementor-kit-2034 span {
    color: var(--theme-color-text) !important;
}

html[data-theme="graphite-cyan"] .elementor-kit-2034,
body.theme-graphite-cyan .elementor-kit-2034,
html[data-theme="graphite-cyan"] .elementor-kit-2034 p,
body.theme-graphite-cyan .elementor-kit-2034 p,
html[data-theme="graphite-cyan"] .elementor-kit-2034 li,
body.theme-graphite-cyan .elementor-kit-2034 li,
html[data-theme="graphite-cyan"] .elementor-kit-2034 span,
body.theme-graphite-cyan .elementor-kit-2034 span {
    color: var(--theme-color-text) !important;
}

html[data-theme="deep-blue"] .jet-headline__second,
body.theme-deep-blue .jet-headline__second,
html[data-theme="deep-blue"] .elementor-icon,
body.theme-deep-blue .elementor-icon,
html[data-theme="deep-blue"] .elementor-icon i,
body.theme-deep-blue .elementor-icon i,
html[data-theme="deep-blue"] .elementor-icon svg,
body.theme-deep-blue .elementor-icon svg {
    color: var(--theme-color-primary) !important;
    fill: var(--theme-color-primary) !important;
}

html[data-theme="graphite-cyan"] .jet-headline__second,
body.theme-graphite-cyan .jet-headline__second,
html[data-theme="graphite-cyan"] .elementor-icon,
body.theme-graphite-cyan .elementor-icon,
html[data-theme="graphite-cyan"] .elementor-icon i,
body.theme-graphite-cyan .elementor-icon i,
html[data-theme="graphite-cyan"] .elementor-icon svg,
body.theme-graphite-cyan .elementor-icon svg {
    color: var(--theme-color-primary) !important;
    fill: var(--theme-color-primary) !important;
}

html[data-theme="deep-blue"] [style*="var(--e-global-color-75439a2)"],
body.theme-deep-blue [style*="var(--e-global-color-75439a2)"] {
    background-color: var(--theme-color-surface) !important;
}

html[data-theme="deep-blue"] [style*="var(--e-global-color-afed912)"],
body.theme-deep-blue [style*="var(--e-global-color-afed912)"] {
    background-color: var(--theme-color-surface-soft) !important;
}

html[data-theme="graphite-cyan"] [style*="var(--e-global-color-75439a2)"],
body.theme-graphite-cyan [style*="var(--e-global-color-75439a2)"] {
    background-color: var(--theme-color-surface) !important;
}

html[data-theme="graphite-cyan"] [style*="var(--e-global-color-afed912)"],
body.theme-graphite-cyan [style*="var(--e-global-color-afed912)"] {
    background-color: var(--theme-color-surface-soft) !important;
}

html[data-theme="graphite-cyan"] body.custom-background,
body.theme-graphite-cyan.custom-background,
html[data-theme="graphite-cyan"] #page,
body.theme-graphite-cyan #page,
html[data-theme="graphite-cyan"] #content,
body.theme-graphite-cyan #content,
html[data-theme="graphite-cyan"] .site-header,
body.theme-graphite-cyan .site-header,
html[data-theme="graphite-cyan"] .site-footer,
body.theme-graphite-cyan .site-footer {
    background-color: var(--theme-color-page-bg) !important;
}

html[data-theme="graphite-cyan"] .elementor-section[data-element_type="section"],
body.theme-graphite-cyan .elementor-section[data-element_type="section"] {
    background-color: var(--theme-color-page-bg) !important;
}

html[data-theme="graphite-cyan"] .elementor-column[data-settings*="background_background"] > .elementor-widget-wrap,
body.theme-graphite-cyan .elementor-column[data-settings*="background_background"] > .elementor-widget-wrap,
html[data-theme="graphite-cyan"] .elementor-element[data-settings*="background_background"] > .elementor-widget-container,
body.theme-graphite-cyan .elementor-element[data-settings*="background_background"] > .elementor-widget-container {
    background-color: var(--theme-color-surface) !important;
}

html[data-theme="graphite-cyan"] .static-team-card,
body.theme-graphite-cyan .static-team-card {
    background: var(--theme-color-surface-muted) !important;
    box-shadow: 0 14px 32px var(--theme-shadow-soft) !important;
}

.page-preloader-cover.is-static-hidden {
    display: none !important;
}

.jet-portfolio .jet-portfolio__image-instance {
    display: block;
    visibility: visible;
    opacity: 1;
}

.jet-portfolio .jet-portfolio__content {
    visibility: visible;
}

.jet-portfolio .jet-portfolio__image-loader {
    display: none;
}

/* ── Scroll & hero animations ─────────────────────────────────────────────── */

:root {
    --reveal-distance: 18px;
    --reveal-distance-hero: 28px;
    --reveal-duration: 0.68s;
    --reveal-duration-hero: 0.86s;
    --reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --reveal-blur: 2px;
}

.js-animations.reveal-ready .reveal-item {
    opacity: 0;
    transform: translate3d(0, var(--reveal-distance), 0) scale(0.985);
    filter: blur(var(--reveal-blur));
    transition:
        opacity var(--reveal-duration) var(--reveal-ease),
        transform var(--reveal-duration) var(--reveal-ease),
        filter calc(var(--reveal-duration) * 0.85) ease;
    transition-delay: var(--reveal-delay, 0s);
    will-change: opacity, transform, filter;
}

.js-animations.reveal-ready .reveal-item.reveal-hero {
    transform: translate3d(0, var(--reveal-distance-hero), 0) scale(0.975);
    transition-duration: var(--reveal-duration-hero), var(--reveal-duration-hero), calc(var(--reveal-duration-hero) * 0.85);
}

.js-animations.reveal-ready .reveal-item.is-visible {
    opacity: 1;
    transform: none;
    filter: blur(0);
}

.js-animations.reveal-ready .reveal-item.elementor-widget-button .elementor-button {
    transition:
        transform var(--reveal-duration) var(--reveal-ease),
        box-shadow var(--reveal-duration) ease,
        background-color 0.3s ease,
        color 0.3s ease;
}

.js-animations.reveal-ready .reveal-item.reveal-hero.elementor-widget-heading .elementor-heading-title,
.js-animations.reveal-ready .reveal-item.reveal-hero.elementor-widget-text-editor {
    text-wrap: balance;
}

@media (prefers-reduced-motion: reduce) {
    .js-animations .reveal-item {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}

/* Eicons — character definitions absent from the main page CSS bundle */
[class^="eicon-"],[class*=" eicon-"] {
    display: inline-block;
    font-family: eicons;
    font-size: inherit;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.eicon-menu-bar:before { content: "\e816"; }
.eicon-close:before    { content: "\e87f"; }

/* Desktop dropdown fallback for static export */
@media (min-width: 768px) {
    .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main .menu-item-has-children {
        position: relative;
    }

    .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 9998;
        min-width: max-content;
    }

    .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
    .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu {
        display: block;
    }
}

/* Mobile hamburger menu */
@media (max-width: 767px) {
    /* Positioning context so the dropdown can use top:100% */
    #masthead {
        position: relative !important;
        z-index: 200;
        overflow: visible !important;
    }
    #masthead .elementor-container,
    #masthead .elementor-column,
    #masthead .elementor-widget-wrap,
    #masthead .elementor-widget-container {
        overflow: visible !important;
    }

    /* Ensure the toggle is visible and clickable */
    .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle {
        display: flex !important;
        cursor: pointer;
    }

    .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle .elementor-menu-toggle__icon--close {
        display: none;
    }

    .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open {
        display: none !important;
    }

    .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
        display: inline-block !important;
    }

    /* Fix the dropdown position — override any JS-injected inline styles */
    .elementor-nav-menu--dropdown-mobile
    nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
        z-index: 9997;
    }
}
