.elementor-3145 .elementor-element.elementor-element-8ee9b01{--display:flex;}.elementor-3145 .elementor-element.elementor-element-884aaa1{--display:flex;}.elementor-3145 .elementor-element.elementor-element-260bfce{--display:flex;}.elementor-3145 .elementor-element.elementor-element-fcbc8c1{--display:flex;}.elementor-3145 .elementor-element.elementor-element-ae2fb39{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* ==================================================================
   FGMA GLOBAL FOOTER V1 - CENTRALIZED COMPONENT STYLESHEET
   Single source of truth: this document-level Custom CSS field on
   Footer template post 3145. No element-level Custom CSS, no change
   to global wp-custom-css, no JavaScript.

   SPECIFICITY NOTE: Elementor container/widget layout rules are
   single-class (.e-con / .elementor-widget). Component rules are
   scoped .fgma-footer-v1 .fgma-footer-* (0,2,0) so they reach the
   same or greater weight and win on source order. Mirrors the
   established FGMA Header V1 pattern.
   ================================================================== */

/* ---- 1. COMPONENT VARIABLES (component root only, never :root) ---- */
.fgma-footer-v1 {
    --fgma-footer-bg: var(--fgma-off-white);
    --fgma-footer-ink: var(--fgma-black);
    --fgma-footer-rule: var(--fgma-brand-red);
    --fgma-footer-block: var(--fgma-space-2xl);
    --fgma-footer-stack: var(--fgma-space-md);
    --fgma-footer-logo-max: 215px;
    /* Detail step. The fgmadev scale currently starts at step-0; the
       Production footer utility text sits one step below it. Declared
       on the component root only so no parallel global scale is added. */
    --fgma-footer-detail: clamp(0.8889rem, 0.873rem + 0.0794vw, 1rem);
}

/* ---- 2. ROOT SHELL ---- */
.fgma-footer-v1.fgma-footer-v1 {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background-color: var(--fgma-footer-bg);
    color: var(--fgma-footer-ink);
    font-family: var(--fgma-font-family);
}

/* ---- 3. INNER MEASURE (content-max + gutter) ---- */
.fgma-footer-v1 .fgma-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--fgma-footer-block);
    width: 100%;
    max-width: var(--fgma-content-max);
    margin-inline: auto;
    padding: var(--fgma-footer-block) var(--fgma-gutter);
}

/* ---- 4. PRIMARY REGION: logo + Start a Project ---- */
.fgma-footer-v1 .fgma-footer-primary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fgma-footer-block);
    width: 100%;
    max-width: none;
    padding: 0;
}

.fgma-footer-v1 .fgma-footer-logo {
    flex: 0 0 auto;
    width: min(40vw, var(--fgma-footer-logo-max));
}

.fgma-footer-v1 .fgma-footer-logo-link {
    display: block;
    width: 100%;
    color: var(--fgma-brand-red);
}

.fgma-footer-v1 .fgma-footer-logo-link svg {
    display: block;
    width: 100%;
    height: auto;
}

.fgma-footer-v1 .fgma-footer-cta {
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
}

.fgma-footer-v1 .fgma-footer-cta-link {
    display: inline-flex;
    align-items: center;
    gap: var(--fgma-space-xs);
    color: var(--fgma-footer-ink);
    font-size: var(--fgma-step-3);
    font-weight: var(--fgma-weight-medium);
    line-height: 1.32;
    text-decoration: none;
}

.fgma-footer-v1 .fgma-footer-cta-label {
    position: relative;
    display: inline-block;
}

.fgma-footer-v1 .fgma-footer-cta-label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.35em;
    width: 100%;
    height: 1px;
    background-color: var(--fgma-footer-rule);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.5s ease, opacity 0.3s ease;
}

.fgma-footer-v1 .fgma-footer-cta-link:hover .fgma-footer-cta-label::after,
.fgma-footer-v1 .fgma-footer-cta-link:focus-visible .fgma-footer-cta-label::after {
    opacity: 1;
    transform: scaleX(1);
}

.fgma-footer-v1 .fgma-footer-cta-link svg {
    flex: 0 0 auto;
    display: block;
    width: 0.85em;
    height: auto;
    color: var(--fgma-footer-rule);
    transition: transform 0.5s ease;
}

.fgma-footer-v1 .fgma-footer-cta-link:hover svg {
    transform: translateX(8px);
}

/* ---- 5. UTILITY REGION: social + links + copyright ---- */
.fgma-footer-v1 .fgma-footer-utility {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fgma-footer-block);
    width: 100%;
    max-width: none;
    padding: 0;
}

.fgma-footer-v1 .fgma-footer-utility-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--fgma-footer-stack);
    width: 100%;
    max-width: none;
    padding: 0;
}

.fgma-footer-v1 .fgma-footer-links,
.fgma-footer-v1 .fgma-footer-copyright {
    width: 100%;
}

.fgma-footer-v1 .fgma-footer-links-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: var(--fgma-space-sm);
    row-gap: var(--fgma-space-3xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.fgma-footer-v1 .fgma-footer-links-list a {
    color: var(--fgma-footer-ink);
    font-size: var(--fgma-footer-detail);
    font-weight: var(--fgma-weight-book);
    line-height: 1.5;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

.fgma-footer-v1 .fgma-footer-links-list a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.35em;
    width: 100%;
    height: 1px;
    background-color: var(--fgma-footer-rule);
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 0.5s ease, opacity 0.3s ease;
}

.fgma-footer-v1 .fgma-footer-links-list a:hover::after {
    transform: scaleX(0.01);
    opacity: 0;
}

.fgma-footer-v1 .fgma-footer-copyright .elementor-heading-title {
    margin: 0;
    color: var(--fgma-footer-ink);
    font-size: var(--fgma-footer-detail);
    font-weight: var(--fgma-weight-book);
    line-height: 1.5;
}

/* ---- 6. SOCIAL ---- */
.fgma-footer-v1 .fgma-footer-social {
    flex: 0 0 auto;
    width: auto;
}

.fgma-footer-v1 .fgma-footer-social-list li {
    display: flex;
}

.fgma-footer-v1 .fgma-footer-social-list {
    display: flex;
    align-items: center;
    gap: var(--fgma-space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.fgma-footer-v1 .fgma-footer-social-link {
    display: inline-flex;
    align-items: center;
    color: var(--fgma-brand-red);
    transition: color 0.3s ease;
}

.fgma-footer-v1 .fgma-footer-social-link:hover,
.fgma-footer-v1 .fgma-footer-social-link:focus-visible {
    color: var(--fgma-red-hover);
}

.fgma-footer-v1 .fgma-footer-social-link svg {
    display: block;
}

.fgma-footer-v1 .fgma-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---- 7. RESPONSIVE: >= 768px, primary + utility become rows ---- */
@media (min-width: 768px) {
    .fgma-footer-v1 .fgma-footer-primary {
        flex-direction: row;
        align-items: center;
    }

    .fgma-footer-v1 .fgma-footer-logo {
        width: clamp(100px, 15vw, var(--fgma-footer-logo-max));
    }

    .fgma-footer-v1 .fgma-footer-utility {
        flex-direction: row;
        align-items: center;
        gap: var(--fgma-space-lg);
    }

    .fgma-footer-v1 .fgma-footer-utility-group {
        flex: 0 1 auto;
        width: auto;
    }

    /* Production DOM order is social-first for mobile stacking; the
       social cluster returns to the right edge from tablet up. */
    .fgma-footer-v1 .fgma-footer-social {
        order: 2;
    }
}

/* ---- 8. RESPONSIVE: >= 1536px, utility text on one line ---- */
@media (min-width: 1536px) {
    .fgma-footer-v1 .fgma-footer-utility-group {
        flex-direction: row;
        align-items: center;
        gap: var(--fgma-space-md);
    }

    .fgma-footer-v1 .fgma-footer-links,
    .fgma-footer-v1 .fgma-footer-copyright {
        width: auto;
    }

    .fgma-footer-v1 .fgma-footer-links {
        order: 2;
    }
}/* End custom CSS */