.elementor-10526 .elementor-element.elementor-element-1f08cd7:not(.elementor-motion-effects-element-type-background), .elementor-10526 .elementor-element.elementor-element-1f08cd7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://impacctbrooklyn.org/wp-content/uploads/2016/03/homeowner-couple-on-couch.jpg");background-position:-63px 0px;background-repeat:no-repeat;background-size:cover;}.elementor-10526 .elementor-element.elementor-element-1f08cd7 > .elementor-container{min-height:283px;}.elementor-10526 .elementor-element.elementor-element-1f08cd7{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:20px;margin-bottom:20px;}.elementor-10526 .elementor-element.elementor-element-1f08cd7 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-10526 .elementor-element.elementor-element-384ac20:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-10526 .elementor-element.elementor-element-384ac20 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-51298c5 );}.elementor-10526 .elementor-element.elementor-element-384ac20 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:21px 21px 21px 21px;}.elementor-10526 .elementor-element.elementor-element-384ac20 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.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-10526 .elementor-element.elementor-element-9871f29 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:500;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-10526 .elementor-element.elementor-element-3c1565c > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-10526 .elementor-element.elementor-element-2ca8469 > .elementor-container{max-width:1200px;}.elementor-10526 .elementor-element.elementor-element-2ca8469{margin-top:50px;margin-bottom:50px;padding:0px 0px 0px 0px;}.elementor-10526 .elementor-element.elementor-element-b7df2e3 > .elementor-container{max-width:1200px;}.elementor-10526 .elementor-element.elementor-element-b7df2e3{padding:100px 0px 0px 25px;}.elementor-10526 .elementor-element.elementor-element-592b859 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:500;}.elementor-10526 .elementor-element.elementor-element-81bb24d > .elementor-widget-container{padding:0px 200px 0px 0px;}.elementor-10526 .elementor-element.elementor-element-0cd700b > .elementor-container{max-width:1200px;}.elementor-10526 .elementor-element.elementor-element-0cd700b{padding:100px 0px 0px 25px;}.elementor-10526 .elementor-element.elementor-element-74e3c7f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:500;}.elementor-10526 .elementor-element.elementor-element-3afa479 > .elementor-widget-container{padding:0px 200px 0px 0px;}.elementor-bc-flex-widget .elementor-10526 .elementor-element.elementor-element-3a17819.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-10526 .elementor-element.elementor-element-3a17819.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-10526 .elementor-element.elementor-element-3a17819 > .elementor-element-populated{padding:22px 22px 22px 22px;}.elementor-10526 .elementor-element.elementor-element-87f1264 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-10526 .elementor-element.elementor-element-fbf4036 > .elementor-container{max-width:1200px;}.elementor-10526 .elementor-element.elementor-element-fbf4036{padding:100px 0px 150px 25px;}.elementor-10526 .elementor-element.elementor-element-6bb3c10 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:500;}.elementor-10526 .elementor-element.elementor-element-8abf802 > .elementor-widget-container{padding:0px 200px 0px 0px;}@media(max-width:1024px){.elementor-10526 .elementor-element.elementor-element-1f08cd7:not(.elementor-motion-effects-element-type-background), .elementor-10526 .elementor-element.elementor-element-1f08cd7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-10526 .elementor-element.elementor-element-1f08cd7:not(.elementor-motion-effects-element-type-background), .elementor-10526 .elementor-element.elementor-element-1f08cd7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}.elementor-10526 .elementor-element.elementor-element-9871f29 .elementor-heading-title{line-height:1em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-10526 .elementor-element.elementor-element-3c1565c > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-10526 .elementor-element.elementor-element-592b859 .elementor-heading-title{line-height:0.9em;}.elementor-10526 .elementor-element.elementor-element-81bb24d > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-10526 .elementor-element.elementor-element-74e3c7f .elementor-heading-title{line-height:1.1em;}.elementor-10526 .elementor-element.elementor-element-3afa479 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-10526 .elementor-element.elementor-element-6bb3c10 .elementor-heading-title{line-height:1.1em;}.elementor-10526 .elementor-element.elementor-element-8abf802 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS */<!-- ========================================== -->
<!--        SHARED STYLES & SCRIPT              -->
<!-- ========================================== -->
<style>
    /* 
     * GLOBAL SCOPED STYLES for IMPACCT Brooklyn FAQ Widgets 
     * All classes prefixed with .ifw- to prevent conflicts.
     */
    /* Grid Layout Container */
    .ifw-grid-container {
        font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        line-height: 1.5;
        width: 100%;
        background-color: transparent; /* Allows section bg to show */
        padding: 2rem 1rem; /* Adjust padding as needed */
        box-sizing: border-box;
    }
    .ifw-grid-container * {
        box-sizing: border-box;
    }
    /* Grid System */
    .ifw-grid {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 1.5rem;
        max-width: 1200px;
        margin: 0 auto;
    }
    @media (min-width: 768px) {
        .ifw-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
    @media (min-width: 1024px) {
        .ifw-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }
    /* FAQ Card */
    .ifw-card {
        position: relative;
        aspect-ratio: 1 / 1;
        cursor: pointer;
        overflow: hidden;
        border-radius: 0.75rem;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        transition: transform 300ms, box-shadow 300ms;
        background-color: #000; /* Fallback */
    }
    .ifw-card:hover {
        transform: scale(1.02);
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    }
    /* Card Background Image */
    .ifw-card-bg {
        position: absolute;
        inset: 0;
        background-color: #000000;
        z-index: 1; /* Explicit lower z-index */
    }
    .ifw-card-img {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
        opacity: 0.6;
        transition: transform 700ms, opacity 700ms;
        margin: 0 !important;
    }
    .ifw-card:hover .ifw-card-img {
        transform: scale(1.1);
        opacity: 0.4;
    }
    /* Card Content Overlay */
    .ifw-card-content {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1.5rem;
        z-index: 20 !important; /* Force on top */
        pointer-events: none; /* Let clicks pass through to container */
    }
    .ifw-card-title {
        font-size: 1.25rem;
        font-weight: 700;
        color: #ffffff !important;
        text-align: center;
        text-shadow: 0 2px 4px rgba(0,0,0,0.8);
        transition: transform 300ms;
        margin: 0 !important;
        line-height: 1.4 !important;
        z-index: 30 !important;
        position: relative;
    }
    @media (min-width: 768px) {
        .ifw-card-title {
            font-size: 1.5rem;
        }
    }
    .ifw-card:hover .ifw-card-title {
        transform: scale(1.05);
    }
    /* ========================================== */
    /*           MODAL STYLES                     */
    /* ========================================== */
    
    .ifw-modal-overlay {
        position: fixed;
        inset: 0;
        z-index: 99999; /* High z-index to overlay Elementor header */
        background-color: rgba(0, 0, 0, 0.8);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        opacity: 0;
        pointer-events: none;
        transition: opacity 200ms ease-in-out;
        font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    .ifw-modal-overlay.active {
        opacity: 1;
        pointer-events: auto;
    }
    .ifw-modal-content {
        position: relative;
        width: 100%;
        max-width: 42rem;
        max-height: 90vh;
        overflow-y: auto;
        background-color: #ffffff;
        border-radius: 1rem;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        transform: scale(0.95);
        transition: transform 300ms ease-in-out;
        display: flex;
        flex-direction: column;
    }
    .ifw-modal-overlay.active .ifw-modal-content {
        transform: scale(1);
    }
    /* Modal Header */
    .ifw-modal-header {
        position: relative;
        height: 12rem;
        width: 100%;
        overflow: hidden;
        background-color: #003366;
        flex-shrink: 0;
    }
    .ifw-modal-header-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        opacity: 0.5;
        margin: 0 !important;
    }
    .ifw-modal-header-text {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: flex-end;
        padding: 1.5rem;
        background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    }
    .ifw-modal-title {
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        line-height: 1.25 !important;
        margin: 0 !important;
    }
    /* Close Button */
    .ifw-close-btn {
        position: absolute;
        top: 1rem;
        right: 1rem;
        padding: 0.5rem;
        background-color: rgba(0, 0, 0, 0.2) !important;
        color: #ffffff !important;
        border-radius: 9999px !important;
        border: none !important;
        cursor: pointer !important;
        transition: background-color 200ms !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
    }
    .ifw-close-btn:hover {
        background-color: rgba(0, 0, 0, 0.4) !important;
    }
    .ifw-close-icon {
        width: 1.5rem;
        height: 1.5rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    /* Modal Body */
    .ifw-modal-body {
        padding: 1.5rem;
        color: #1e293b;
        line-height: 1.625;
        overflow-y: auto;
    }
    @media (min-width: 768px) {
        .ifw-modal-body {
            padding: 2rem;
        }
    }
    .ifw-text-lg {
        font-size: 1.125rem;
        font-weight: 500;
    }
    
    .ifw-list {
        list-style-type: disc !important;
        padding-left: 1.25rem !important;
        margin-top: 0.5rem !important;
        margin-bottom: 1rem !important;
    }
    .ifw-list li {
        margin-bottom: 0.25rem;
    }
    .ifw-highlight-box {
        background-color: #f8fafc;
        padding: 1rem;
        border-radius: 0.5rem;
        border: 1px solid #e2e8f0;
        margin-top: 1rem;
    }
    .ifw-highlight-title {
        font-weight: 700;
        margin-bottom: 0.5rem;
        font-size: 1.1em;
        color: #0f172a;
    }
    .ifw-contact-info {
        font-size: 0.875rem;
        font-weight: 500;
        color: #334155;
        margin-top: 1rem;
    }
    .ifw-orange-text {
        color: #ff6600;
        font-weight: 700;
    }
    /* Modal Footer */
    .ifw-modal-footer {
        padding: 1.5rem;
        background-color: #f8fafc;
        border-top: 1px solid #e2e8f0;
        display: flex;
        justify-content: flex-end;
        flex-shrink: 0;
    }
    .ifw-close-action-btn {
        padding: 0.5rem 1.5rem !important;
        background-color: #003366 !important;
        color: #ffffff !important;
        border-radius: 0.5rem !important;
        font-weight: 500 !important;
        border: none !important;
        cursor: pointer !important;
        transition: background-color 200ms !important;
    }
    .ifw-close-action-btn:hover {
        background-color: #002244 !important;
    }
    
    /* Utility for spacing */
    .ifw-mb-2 { margin-bottom: 0.5rem; }
    .ifw-mb-4 { margin-bottom: 1rem; }
</style>/* End custom CSS */