.fs-switcher-54376ebd {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    font-family: inherit;
}
/* BACKGROUND LAYER: Always full bleed */
.fs-bgs-54376ebd {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
}
.fs-bg-item-54376ebd {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.6s ease-in-out; /* Default, overridden by control */
    pointer-events: none;
}
.fs-bg-item-54376ebd.active {
    opacity: 1;
    pointer-events: auto;
}
.fs-bg-overlay-54376ebd {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0,0,0,0.6); /* Default, overridden by control */
    z-index: 1;
    pointer-events: none;
}

/* CONTENT LAYER: Sits above background, handles padding independently */
.fs-content-layer-54376ebd {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 2;
    padding: 60px 40px; /* Default, overridden by control */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.fs-content-inner-54376ebd {
    position: relative;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 800px; /* Default, overridden by control */
}

/* PURE FADE PANELS */
.fs-panels-54376ebd {
    position: relative;
    flex-grow: 1;
}
.fs-panel-54376ebd {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    /* PURE FADE: No positional transform transitions */
    transition: opacity 0.6s ease-in-out, visibility 0.6s;
}
.fs-panel-54376ebd.active {
    opacity: 1;
    visibility: visible;
}

/* CONTENT TYPOGRAPHY DEFAULTS */
.fs-eyebrow-54376ebd {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 40px;
}
.fs-kicker-54376ebd {
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.fs-heading-54376ebd {
    font-size: 64px;
    line-height: 1.1;
    margin: 0 0 20px 0;
    font-weight: 400;
}
.fs-desc-54376ebd {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 20px;
}
.fs-meta-54376ebd {
    font-size: 14px;
    margin-bottom: 20px;
    opacity: 0.8;
}
.fs-features-54376ebd {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.fs-features-54376ebd li {
    font-size: 14px;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 5px 15px;
    border-radius: 20px;
}
.fs-cta-54376ebd {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    border-bottom: 1px solid #fff; /* default fallback */
    padding-bottom: 5px;
    text-decoration: none;
    transition: all 0.3s;
}
.fs-cta-54376ebd:hover {
    opacity: 0.7;
}

/* BOTTOM NAVIGATION */
.fs-bottom-bar-54376ebd {
    position: relative;
    padding-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.fs-tabs-54376ebd {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
.fs-tab-54376ebd {
    /* Critical reset to fix browser/theme button defaults (the pink bug) */
    background: transparent !important; /* Force override any theme button background */
    border: none;
    border-bottom: 2px solid transparent;
    font-size: 16px;
    padding: 10px 0;
    cursor: pointer;
    transition: all 0.3s;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: none !important;
    outline: none;
}
/* Re-allow custom background via Elementor controls if user explicitly sets one */
.elementor-element .fs-tab-54376ebd[style*="background-color"] {
    background: inherit !important;
}

@media (max-width: 767px) {
    .fs-content-layer-54376ebd { padding: 40px 20px; }
    .fs-heading-54376ebd { font-size: 40px; }
}