
.ghx-a7f2,
.ghx-a7f2 *,
.ghx-a7f2 *::before,
.ghx-a7f2 *::after{
    box-sizing:border-box;
}

.ghx-a7f2{
    width:100%;
    background:#fff;
    font-family:"Titillium Web",Arial,sans-serif;
}

.ghx-a7f2__inside{
    width:100%;
    max-width:1380px;
    margin:0 auto;
}

.ghx-a7f2__mast{
    max-width:900px;
    margin:0 auto 28px;
    text-align:center;
}

.ghx-a7f2__mast h2,
.ghx-a7f2__pane h3,
.ghx-a7f2__summary strong{
    font-family:"Tungsten","Arial Narrow",sans-serif;
    text-transform:uppercase;
    font-weight:700;
}

.ghx-a7f2__mast h2{
    margin:0 0 12px;
    font-size:clamp(38px,3vw,56px);
    line-height:.95;
}

.ghx-a7f2__lead{
    margin:0;
    font-size:18px;
    line-height:1.5;
}

.ghx-a7f2__window{
    width:100%;
}

.ghx-a7f2__rail{
    --ghx-a7f2-count:4;
    width:100%;
    display:grid;
    grid-template-columns:repeat(var(--ghx-a7f2-count),minmax(0,1fr));
    gap:14px;
    align-items:stretch;
    justify-content:center;
}

.ghx-a7f2__pane{
    min-width:0;
    min-height:205px;
    border:1px solid #ddd;
    padding:28px 20px;
    background:#fff;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.ghx-a7f2__symbol{
    margin:0 0 14px;
    color:#ef3123;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

.ghx-a7f2__symbol i{
    color:inherit;
    font-size:46px;
    line-height:1;
}

.ghx-a7f2__symbol svg,
.ghx-a7f2__symbol .e-font-icon-svg{
    width:46px;
    height:46px;
    display:block;
    color:inherit;
}

.ghx-a7f2__symbol svg [fill]:not([fill="none"]){
    fill:currentColor;
}

.ghx-a7f2__symbol svg [stroke]:not([stroke="none"]){
    stroke:currentColor;
}

.ghx-a7f2__pane h3{
    margin:0 0 12px;
    font-size:22px;
    line-height:1.05;
}

.ghx-a7f2__pane p{
    margin:0;
    font-size:15px;
    line-height:1.45;
}

.ghx-a7f2__summary{
    width:100%;
    max-width:1050px;
    margin:32px auto 0;
    background:#eee;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:center;
}

.ghx-a7f2__panel{
    min-width:0;
    padding:28px 34px;
}

.ghx-a7f2__panel + .ghx-a7f2__panel{
    border-left:1px solid #ccc;
}

.ghx-a7f2__panel-head{
    margin:0 0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.ghx-a7f2__panel-mark{
    color:#ef3123;
    font-size:22px;
    line-height:1;
    flex:0 0 auto;
}

.ghx-a7f2__summary strong{
    font-size:22px;
    line-height:1.05;
}

.ghx-a7f2__summary p{
    margin:0;
    line-height:1.5;
}

.ghx-a7f2__nav{
    display:none;
}

/* Keep the number of desktop columns equal to the number of cards.
   For large repeaters, cap the row at six columns and wrap naturally. */
@media(min-width:1025px){
    .ghx-a7f2__rail{
        grid-template-columns:repeat(min(var(--ghx-a7f2-count),6),minmax(0,1fr));
    }
}

@media(max-width:1024px) and (min-width:768px){
    .ghx-a7f2__rail{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767px){
    .ghx-a7f2__window{
        width:100%;
        overflow:hidden;
    }

    .ghx-a7f2__rail{
        display:flex !important;
        flex-wrap:nowrap !important;
        gap:0 !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        transform:translate3d(0,0,0);
        transition:transform .35s ease;
        will-change:transform;
        scroll-snap-type:none !important;
    }

    .ghx-a7f2__pane{
        flex:0 0 100% !important;
        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        scroll-snap-align:none !important;
        scroll-snap-stop:normal !important;
    }

    .ghx-a7f2__nav{
        margin-top:18px;
        display:grid;
        grid-template-columns:50px minmax(0,1fr) 50px;
        gap:14px;
        align-items:center;
    }

    .ghx-a7f2__nav-label{
        text-align:center;
        text-transform:uppercase;
        font-weight:700;
        letter-spacing:.04em;
    }

    .ghx-a7f2__nav-btn{
        width:50px;
        height:50px;
        padding:0;
        border:2px solid currentColor;
        border-radius:50%;
        background:#fff;
        color:#ef3123;
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
    }

    .ghx-a7f2__nav-btn span{
        width:11px;
        height:11px;
        border-top:3px solid currentColor;
        border-right:3px solid currentColor;
        display:block;
    }

    .ghx-a7f2__back span{
        transform:rotate(-135deg);
        margin-left:5px;
    }

    .ghx-a7f2__forward span{
        transform:rotate(45deg);
        margin-right:5px;
    }

    .ghx-a7f2__nav-btn:disabled{
        opacity:.3;
        cursor:default;
    }

    .ghx-a7f2__summary{
        grid-template-columns:1fr;
    }

    .ghx-a7f2__panel + .ghx-a7f2__panel{
        border-left:0;
        border-top:1px solid #ccc;
    }
}


/* v1.1.3: hard mobile carousel reset.
   This intentionally overrides external two-column/mobile optimization CSS. */
@media (max-width:767px){
    body .elementor-widget-ghome-make-ready .ghx-a7f2__window{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
    }

    body .elementor-widget-ghome-make-ready .ghx-a7f2__rail[data-ghx-a7f2-rail]{
        display:flex !important;
        flex-flow:row nowrap !important;
        grid-template-columns:none !important;
        grid-auto-columns:auto !important;
        gap:0 !important;
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
    }

    body .elementor-widget-ghome-make-ready .ghx-a7f2__rail[data-ghx-a7f2-rail] > .ghx-a7f2__pane{
        display:flex !important;
        flex:0 0 100% !important;
        flex-basis:100% !important;
        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }
}


/* v1.1.4 isolated namespace: immune to previous G Home mobile helper selectors */
@media (max-width:767px){
    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__window{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
        contain:layout paint !important;
    }

    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__rail[data-ghx-a7f2-rail]{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        grid-template-columns:none !important;
        grid-auto-flow:initial !important;
        grid-auto-columns:initial !important;
        gap:0 !important;
        column-gap:0 !important;
        row-gap:0 !important;
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
    }

    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__rail[data-ghx-a7f2-rail] > .ghx-a7f2__pane{
        display:flex !important;
        flex:0 0 100% !important;
        flex-basis:100% !important;
        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        transform:none !important;
        box-sizing:border-box !important;
    }
}


/* v1.1.5 mobile carousel: one DOM pane displayed at a time.
   This avoids all flex/grid/scroll conflicts from other plugins. */
@media (max-width:767px){
    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__window{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        overflow:visible !important;
        contain:none !important;
    }

    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__rail[data-ghx-a7f2-rail]{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        transform:none !important;
    }

    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__rail[data-ghx-a7f2-rail] > .ghx-a7f2__pane{
        display:none !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin:0 !important;
        transform:none !important;
        box-sizing:border-box !important;
    }

    html body .elementor-widget-ghome-make-ready .ghx-a7f2 .ghx-a7f2__rail[data-ghx-a7f2-rail] > .ghx-a7f2__pane.ghx-a7f2__pane--active{
        display:flex !important;
    }
}


/* G Home forced accent icons: prevents theme and inline SVG colors from overriding red. */
.ghx-a7f2__symbol{
    color:#ef3123 !important;
}
.ghx-a7f2__symbol i,
.ghx-a7f2__symbol svg,
.ghx-a7f2__symbol .e-font-icon-svg{
    color:#ef3123 !important;
}
.ghx-a7f2__symbol svg path:not([fill="none"]):not([fill="transparent"]),
.ghx-a7f2__symbol svg polygon:not([fill="none"]):not([fill="transparent"]),
.ghx-a7f2__symbol svg rect:not([fill="none"]):not([fill="transparent"]),
.ghx-a7f2__symbol svg circle:not([fill="none"]):not([fill="transparent"]),
.ghx-a7f2__symbol svg ellipse:not([fill="none"]):not([fill="transparent"]){
    fill:#ef3123 !important;
}
.ghx-a7f2__symbol svg path:not([stroke="none"]),
.ghx-a7f2__symbol svg line:not([stroke="none"]),
.ghx-a7f2__symbol svg polyline:not([stroke="none"]),
.ghx-a7f2__symbol svg polygon:not([stroke="none"]),
.ghx-a7f2__symbol svg rect:not([stroke="none"]),
.ghx-a7f2__symbol svg circle:not([stroke="none"]),
.ghx-a7f2__symbol svg ellipse:not([stroke="none"]){
    stroke:#ef3123 !important;
}
.ghx-a7f2__symbol img{
    filter:brightness(0) saturate(100%) invert(28%) sepia(95%) saturate(3976%) hue-rotate(351deg) brightness(99%) contrast(89%) !important;
}
