/* =========================================================
   AVX Home Sections v1.3
   AVYENTRA Consulting — Responsive Homepage Sections
   ========================================================= */

.avxhs-stats,
.avxhs-sectors,
.avxhs-services,
.avxhs-why {
    width:100%;
    box-sizing:border-box;
    font-family:Arial,Helvetica,sans-serif;
}

.avxhs-stats *,
.avxhs-sectors *,
.avxhs-services *,
.avxhs-why *,
.avxhs-stats *::before,
.avxhs-stats *::after,
.avxhs-sectors *::before,
.avxhs-sectors *::after,
.avxhs-services *::before,
.avxhs-services *::after,
.avxhs-why *::before,
.avxhs-why *::after {
    box-sizing:border-box;
}


/* =========================================================
   SHARED INNER CONTAINERS
   ========================================================= */

.avxhs-services__inner,
.avxhs-sectors__inner {
    width:min(1200px,100%);
    margin:0 auto;
}

/*
   WHY CLIENTS:
   Full-width section.
   Unlike services/sectors, this section intentionally
   does not stay inside the 1200px content box.
*/
.avxhs-why__inner {
    width:100%;
    max-width:none;
    margin:0 auto;
}


/* =========================================================
   STATS — EXISTING SHORTCODE RETAINED
   ========================================================= */

.avxhs-stats {
    background:#faf9f6;
    padding:28px 20px;
}

.avxhs-stats__inner {
    width:min(1200px,100%);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}

.avxhs-stat {
    flex:1 1 0;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    text-align:left;
    opacity:0;
    transform:translateY(10px);
    animation:avxhs-stat-in .65s ease-out forwards;
}

.avxhs-stat__icon {
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.avxhs-stat__icon svg {
    width:42px;
    height:42px;
    display:block;
    fill:none!important;
    stroke:#b88925!important;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.avxhs-stat__number {
    color:#111;
    font-size:28px;
    line-height:1.08;
    font-weight:700;
    margin:0 0 2px;
}

.avxhs-stat__label {
    color:#222;
    font-size:15px;
    line-height:1.35;
    font-weight:400;
    margin:0;
}

.avxhs-stat:nth-child(1) {
    animation-delay:.05s
}

.avxhs-stat:nth-child(3) {
    animation-delay:.15s
}

.avxhs-stat:nth-child(5) {
    animation-delay:.25s
}

.avxhs-stat:nth-child(7) {
    animation-delay:.35s
}

.avxhs-stat__divider {
    width:1px;
    height:58px;
    flex:0 0 1px;
    background:#e7e7e7;
}


/* =========================================================
   END-TO-END RECRUITMENT SERVICES
   ========================================================= */

/*
   SAME OFF-WHITE COLOR AS SPECIALIZED / SECTORS SECTION
*/
.avxhs-services {
    background:#faf9f6;
    
    /*
       Reduced bottom padding to remove excessive
       white space underneath CTA.
    */
    padding:42px 20px 12px;
}

.avxhs-services__eyebrow,
.avxhs-sectors__eyebrow,
.avxhs-why__eyebrow {
    color:#b88925;
    font-size:13px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.avxhs-services__eyebrow {
    margin:0 0 9px;
}

.avxhs-services__title,
.avxhs-sectors__title {
    margin:0 0 27px!important;
    padding:0!important;
    color:#111!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-weight:400!important;
    letter-spacing:-.7px!important;
    text-transform:none!important;
}

.avxhs-services__title {
    font-size:clamp(32px,4vw,44px)!important;
    line-height:1.12!important;
}

.avxhs-services__grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.avxhs-service-card {
    min-height:190px;
    padding:22px 16px 18px;
    text-align:center;
    background:#fff;
    border:1px solid #f0eee9;
    border-radius:4px;
    box-shadow:0 8px 24px rgba(16,28,42,.06);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.avxhs-service-card:hover {
    transform:translateY(-5px);
    box-shadow:0 14px 32px rgba(16,28,42,.10);
    border-color:#e1c991;
}

.avxhs-service-card__icon {
    width:48px;
    height:48px;
    margin:0 0 14px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.avxhs-service-card__icon svg {
    width:42px;
    height:42px;
    fill:none;
    stroke:#c28d2b;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.avxhs-service-card__title {
    margin:0 0 9px!important;
    color:#111!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:16px!important;
    line-height:1.22!important;
    font-weight:700!important;
}

.avxhs-service-card__text {
    margin:0!important;
    color:#5a5a5a!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12px!important;
    line-height:1.45!important;
}


/* =========================================================
   CTA BUTTONS
   ========================================================= */

.avxhs-services__link,
.avxhs-sectors__link {
    display:flex;
    width:max-content;
    align-items:center;
    gap:9px;

    /*
       Reduced top margin slightly.
       This helps remove unnecessary gap below cards.
    */
    margin:20px auto 0;

    padding:11px 22px;
    color:#222!important;
    background:#fff;
    border:1px solid #cda75b;
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.7px;
    text-decoration:none!important;
    text-transform:uppercase;
    transition:all .25s ease;
}

.avxhs-services__link:hover,
.avxhs-sectors__link:hover {
    color:#fff!important;
    background:#b88925;
    border-color:#b88925;
}

.avxhs-services__link span,
.avxhs-sectors__link span {
    font-size:17px;
    line-height:1;
    transition:transform .25s ease;
}

.avxhs-services__link:hover span,
.avxhs-sectors__link:hover span {
    transform:translateX(3px);
}


/* =========================================================
   WHY CLIENTS CHOOSE AVYENTRA
   ========================================================= */

/*
   FULL WIDTH DARK SECTION
*/
.avxhs-why {
    background:#031528;
    padding:20px 20px 22px;
    color:#fff;

    /*
       Forces the section to reach the browser edges
       even if Elementor parent container is boxed.
    */
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
}

.avxhs-why__eyebrow {
    text-align:center;
    margin:0 0 15px;
    color:#c08d2d;
    font-size:11px;
    letter-spacing:1.8px;
}

.avxhs-why__grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    width:100%;
}

.avxhs-why-item {
    min-height:76px;
    padding:2px 20px 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    border-right:1px solid rgba(255,255,255,.12);
}

.avxhs-why-item:last-child {
    border-right:0;
}

.avxhs-why-item__icon {
    width:38px;
    height:38px;
    margin:0 0 7px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.avxhs-why-item__icon svg {
    width:34px;
    height:34px;
    fill:none;
    stroke:#c28d2b;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.avxhs-why-item__title {
    max-width:140px;
    color:#f5f5f5;
    font-size:12px;
    line-height:1.28;
    font-weight:500;
}


/* =========================================================
   SECTORS — EXISTING SHORTCODE RETAINED
   ========================================================= */

.avxhs-sectors {
    background:#faf9f6;
    padding:35px 20px 38px;
}

.avxhs-sectors__eyebrow {
    margin:0 0 9px;
}

.avxhs-sectors__title {
    font-size:clamp(34px,4vw,48px)!important;
    line-height:1.12!important;
}

.avxhs-sectors__grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    width:100%;
}

.avxhs-sector {
    min-height:120px;
    padding:8px 22px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-right:1px solid #e3e3e3;
}

.avxhs-sector:last-child {
    border-right:0;
}

.avxhs-sector__icon {
    width:58px;
    height:58px;
    margin:0 0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.avxhs-sector__icon img {
    display:block!important;
    width:52px!important;
    height:52px!important;
    max-width:52px!important;
    max-height:52px!important;
    object-fit:contain!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    padding:0!important;
}

.avxhs-sector__name {
    color:#111;
    font-size:17px;
    line-height:1.25;
    font-weight:700;
}

.avxhs-sectors__link {
    margin-top:25px;
    color:#222!important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:900px){

    .avxhs-stats__inner {
        flex-wrap:wrap;
        gap:18px 0;
    }

    .avxhs-stat {
        flex:0 0 50%;
        justify-content:flex-start;
        padding:4px 18px;
    }

    .avxhs-stat__divider {
        display:none;
    }

    .avxhs-service-card {
        min-height:180px;
    }

    .avxhs-why-item {
        padding-left:10px;
        padding-right:10px;
    }

    .avxhs-sector {
        padding-left:12px;
        padding-right:12px;
    }

    .avxhs-sector__name {
        font-size:15px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

    /* -------------------------
       STATS
       ------------------------- */

    .avxhs-stats {
        padding:22px 16px;
    }

    .avxhs-stats__inner {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px 7px;
    }

    .avxhs-stat {
        width:100%;
        padding:0 3px;
        justify-content:flex-start;
        gap:9px;
    }

    .avxhs-stat__icon {
        flex-basis:36px;
        width:36px;
        height:36px;
    }

    .avxhs-stat__icon svg {
        width:34px;
        height:34px;
    }

    .avxhs-stat__number {
        font-size:21px;
    }

    .avxhs-stat__label {
        font-size:12px;
    }


    /* -------------------------
       SERVICES
       ------------------------- */

    .avxhs-services {
        /*
           Same off-white background.
           Reduced bottom spacing.
        */
        background:#faf9f6;
        padding:31px 16px 10px;
    }

    .avxhs-services__eyebrow {
        font-size:11px;
        letter-spacing:1.5px;
    }

    .avxhs-services__title {
        font-size:31px!important;
        line-height:1.12!important;
        margin-bottom:20px!important;
    }


    /* Horizontal scrolling container */

    .avxhs-services__scroller,
    .avxhs-why__scroller,
    .avxhs-sectors__scroller {
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        margin-right:-16px;
        padding-right:16px;
    }

    .avxhs-services__scroller::-webkit-scrollbar,
    .avxhs-why__scroller::-webkit-scrollbar,
    .avxhs-sectors__scroller::-webkit-scrollbar {
        display:none;
    }


    /* Service cards in one horizontal row */

    .avxhs-services__grid {
        display:flex;
        gap:12px;
        width:max-content;
    }

    .avxhs-service-card {
        width:174px;
        min-width:174px;
        min-height:188px;
        padding:20px 14px 17px;
        border-radius:5px;
    }

    .avxhs-service-card__icon {
        margin-bottom:12px;
    }

    .avxhs-service-card__title {
        font-size:14px!important;
    }

    .avxhs-service-card__text {
        font-size:11px!important;
    }


    /* Services CTA */

    .avxhs-services__link {
        margin-top:16px;
        margin-bottom:0;
        font-size:11px;
        padding:10px 17px;
    }


    /* -------------------------
       WHY CLIENTS
       ------------------------- */

    .avxhs-why {
        width:100vw;
        max-width:100vw;
        margin-left:calc(50% - 50vw);
        margin-right:calc(50% - 50vw);

        padding:18px 16px 20px;
    }

    .avxhs-why__eyebrow {
        font-size:10px;
        letter-spacing:1.5px;
        margin-bottom:13px;
    }

    /*
       Horizontal one-row scrolling
       on mobile.
    */
    .avxhs-why__grid {
        display:flex;
        gap:0;
        width:max-content;
    }

    .avxhs-why-item {
        width:145px;
        min-width:145px;
        min-height:75px;
        padding:0 15px;
        border-right:1px solid rgba(255,255,255,.13);
    }

    .avxhs-why-item__title {
        font-size:11px;
        line-height:1.25;
    }


    /* -------------------------
       SECTORS
       ------------------------- */

    .avxhs-sectors {
        padding:28px 16px 31px;
    }

    .avxhs-sectors__eyebrow {
        font-size:11px;
        letter-spacing:1.5px;
    }

    .avxhs-sectors__title {
        margin-bottom:20px!important;
        font-size:31px!important;
        line-height:1.12!important;
    }


    /* Horizontal sector scrolling */

    .avxhs-sectors__grid {
        display:flex;
        width:max-content;
        gap:0;
    }

    .avxhs-sector {
        width:145px;
        min-width:145px;
        min-height:116px;
        padding:8px 12px 14px;
        border-right:1px solid #e3e3e3;
        border-bottom:0;
    }

    .avxhs-sector__icon {
        width:50px;
        height:50px;
        margin-bottom:11px;
    }

    .avxhs-sector__icon img {
        width:45px!important;
        height:45px!important;
        max-width:45px!important;
        max-height:45px!important;
    }

    .avxhs-sector__name {
        font-size:13px;
    }

    .avxhs-sectors__link {
        margin-top:21px;
        font-size:11px;
        padding:10px 17px;
    }
}


/* =========================================================
   STATS ANIMATION
   ========================================================= */

@keyframes avxhs-stat-in {
    from {
        opacity:0;
        transform:translateY(10px);
    }

    to {
        opacity:1;
        transform:translateY(0);
    }
}


/* =========================================================
   ELEMENTOR SAFETY
   ========================================================= */

.elementor-widget-shortcode .avxhs-stats,
.elementor-widget-shortcode .avxhs-sectors,
.elementor-widget-shortcode .avxhs-services,
.elementor-widget-shortcode .avxhs-why {
    position:relative;
    clear:both;
    overflow:visible;
    transform:none;
    filter:none;
    opacity:1;
}


/* =========================================================
   ELEMENTOR FULL-WIDTH SAFETY FOR WHY SECTION
   ========================================================= */

.elementor-widget-shortcode .avxhs-why {
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
}

/* =========================================================
   AVX BANNER FJ
   SHORTCODE: [avx_banner_fj]

   FULL SECTION CSS
   ---------------------------------------------------------
   Desktop:
   - Full browser width
   - Original banner proportions
   - Two content areas
   - Buttons aligned
   - Gold buttons -> white on hover

   Mobile:
   - Keeps complete banner visible
   - No tall stacked layout
   - No image cropping
   - Same proportional image behavior as Elementor Image
   ========================================================= */


/* =========================================================
   ROOT BANNER
   ========================================================= */

.avxhs-banner-fj {

    --avxhs-banner-fj-gold: #b88925;
    --avxhs-banner-fj-gold-dark: #966c1c;
    --avxhs-banner-fj-white: #ffffff;

    position: relative;

    width: 100vw;
    max-width: 100vw;

    /*
     * Break out of Elementor boxed container
     * and occupy the complete browser width.
     */
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    /*
     * IMPORTANT:
     * Original banner is approximately 1600 x 396.
     *
     * This keeps the same ratio on every screen.
     */
    aspect-ratio: 1600 / 396;

    min-height: 0;

    background-image: var(--avxhs-banner-fj-bg);

    background-repeat: no-repeat;

    /*
     * Show the complete banner.
     * No cropping.
     */
    background-position: center center;
    background-size: 100% 100%;

    overflow: hidden;

    box-sizing: border-box;

    isolation: isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   UNIVERSAL BOX SIZING
   ========================================================= */

.avxhs-banner-fj *,
.avxhs-banner-fj *::before,
.avxhs-banner-fj *::after {

    box-sizing: border-box;
}


/* =========================================================
   ELEMENTOR SHORTCODE SAFETY
   ========================================================= */

.elementor-widget-shortcode .avxhs-banner-fj {

    position: relative;

    width: 100vw;
    max-width: 100vw;

    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    clear: both;

    overflow: hidden;

    opacity: 1;

    transform: none;
}


/* =========================================================
   MAIN CONTENT OVERLAY
   ========================================================= */

.avxhs-banner-fj__overlay {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: grid;

    /*
     * Left text area
     * Right text area
     *
     * Woman and logo are already part of the
     * background image.
     */
    grid-template-columns: 38% 48%;

    column-gap: 5%;

    align-items: center;

    /*
     * Proportional horizontal spacing.
     */
    padding-left: 4.2%;
    padding-right: 4.2%;

    z-index: 2;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.avxhs-banner-fj__content {

    position: relative;

    width: 100%;

    min-width: 0;

    margin: 0;
    padding: 0;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    color: #ffffff;
}


/* =========================================================
   LEFT CONTENT
   ========================================================= */

.avxhs-banner-fj__content--left {

    width: 100%;

    margin: 0;
    padding: 0;
}


/* =========================================================
   RIGHT CONTENT
   ========================================================= */

.avxhs-banner-fj__content--right {

    width: 100%;

    margin: 0;
    padding: 0;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.avxhs-banner-fj__eyebrow {

    margin: 0 0 1.2% 0 !important;

    padding: 0 !important;

    color: #d2a348 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size:
        clamp(6px, .7vw, 11px) !important;

    line-height: 1.15 !important;

    font-weight: 700 !important;

    letter-spacing: .16em;

    text-transform: uppercase;
}


/* =========================================================
   MAIN HEADINGS
   ========================================================= */

.avxhs-banner-fj__heading {

    margin: 0 0 2.5% 0 !important;

    padding: 0 !important;

    color: #ffffff !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(18px, 3vw, 46px) !important;

    line-height: .94 !important;

    font-weight: 400 !important;

    letter-spacing: -.035em !important;

    text-transform: none !important;

    white-space: normal;

    /*
     * Both sides receive the same heading space
     * on desktop so the buttons align.
     */
}


/* =========================================================
   RIGHT HEADING
   ========================================================= */

.avxhs-banner-fj__content--right
.avxhs-banner-fj__heading {

    font-size:
        clamp(18px, 2.85vw, 44px) !important;

    line-height: .98 !important;
}


/* =========================================================
   DESKTOP HEADING ALIGNMENT
   ========================================================= */

@media (min-width: 768px) {

    .avxhs-banner-fj__heading {

        min-height: 2em;

        display: flex;

        align-items: flex-start;
    }

    .avxhs-banner-fj__content--right
    .avxhs-banner-fj__heading {

        min-height: 2em;
    }

}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.avxhs-banner-fj__text {

    margin: 0 0 3.5% 0 !important;

    padding: 0 !important;

    max-width: 100%;

    color: rgba(255,255,255,.95) !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size:
        clamp(8px, 1.18vw, 18px) !important;

    line-height: 1.25 !important;

    font-weight: 400 !important;

    text-transform: none !important;
}


/* =========================================================
   BUTTON BASE
   ========================================================= */

.avxhs-banner-fj__button {

    position: relative;

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    /*
     * SAME WIDTH FOR BOTH BUTTONS
     */
    width:
        clamp(95px, 9vw, 140px);

    /*
     * SAME HEIGHT FOR BOTH BUTTONS
     */
    height:
        clamp(34px, 3vw, 48px);

    margin: 0 !important;

    padding:
        0 clamp(10px, 1vw, 18px) !important;

    /*
     * GOLD NORMAL STATE
     */
    background: #b88925 !important;

    border: 1px solid #b88925 !important;

    border-radius: 0 !important;

    color: #ffffff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size:
        clamp(7px, .72vw, 12px) !important;

    font-weight: 700 !important;

    line-height: 1 !important;

    letter-spacing: .06em;

    text-align: center;

    text-transform: uppercase;

    text-decoration: none !important;

    white-space: nowrap;

    overflow: hidden;

    cursor: pointer;

    /*
     * Smooth interaction.
     */
    transition:
        background-color .28s ease,
        color .28s ease,
        border-color .28s ease,
        transform .28s ease,
        box-shadow .28s ease;
}


/* =========================================================
   BUTTON HOVER
   GOLD -> WHITE
   ========================================================= */

.avxhs-banner-fj__button:hover {

    background: #ffffff !important;

    border-color: #ffffff !important;

    color: #b88925 !important;

    transform: translateY(-2px);

    box-shadow:
        0 7px 18px rgba(0,0,0,.22);
}


/* =========================================================
   BUTTON FOCUS
   ========================================================= */

.avxhs-banner-fj__button:focus {

    outline: none;

    background: #ffffff !important;

    border-color: #ffffff !important;

    color: #b88925 !important;

    box-shadow:
        0 0 0 2px rgba(184,137,37,.45);
}


/* =========================================================
   BUTTON TEXT
   ========================================================= */

.avxhs-banner-fj__button > span {

    position: relative;

    z-index: 2;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    line-height: 1;
}


/* =========================================================
   BUTTON ARROW
   ========================================================= */

.avxhs-banner-fj__button-arrow {

    display: inline-block;

    margin-left: 6px;

    color: inherit;

    font-size:
        clamp(9px, .9vw, 15px);

    line-height: 1;

    transform: translateX(0);

    transition:
        transform .28s ease,
        color .28s ease;
}


/* =========================================================
   BUTTON ARROW HOVER
   ========================================================= */

.avxhs-banner-fj__button:hover
.avxhs-banner-fj__button-arrow {

    color: #b88925 !important;

    transform: translateX(4px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .avxhs-banner-fj__overlay {

        grid-template-columns: 39% 46%;

        column-gap: 4%;

        padding-left: 4%;
        padding-right: 4%;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    /*
     * Keep the banner proportional.
     *
     * DO NOT use a fixed height here.
     */
    .avxhs-banner-fj {

        width: 100vw;
        max-width: 100vw;

        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);

        aspect-ratio: 1600 / 396;

        min-height: 0;

        background-size: 100% 100%;

        background-position: center center;

        border-radius: 16px;

        overflow: hidden;
    }


    /* -----------------------------------------------------
       MOBILE OVERLAY
       ----------------------------------------------------- */

    .avxhs-banner-fj__overlay {

        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        display: grid;

        /*
         * KEEP BOTH SIDES NEXT TO EACH OTHER.
         *
         * Do NOT change this to column.
         */
        grid-template-columns: 38% 48%;

        column-gap: 5%;

        align-items: center;

        padding-left: 4.2%;
        padding-right: 4.2%;
    }


    /* -----------------------------------------------------
       MOBILE CONTENT
       ----------------------------------------------------- */

    .avxhs-banner-fj__content {

        width: 100%;

        min-width: 0;

        margin: 0;

        padding: 0;

        display: flex;

        flex-direction: column;

        align-items: flex-start;

        justify-content: center;
    }


    /* -----------------------------------------------------
       HIDE EYEBROW ON MOBILE
       ----------------------------------------------------- */

    .avxhs-banner-fj__eyebrow {

        display: none;
    }


    /* -----------------------------------------------------
       MOBILE HEADING
       ----------------------------------------------------- */

    .avxhs-banner-fj__heading {

        min-height: 0 !important;

        display: block;

        margin: 0 0 3% 0 !important;

        padding: 0 !important;

        font-size:
            clamp(7px, 4.1vw, 17px) !important;

        line-height: .94 !important;

        letter-spacing: -.035em !important;
    }


    /* -----------------------------------------------------
       MOBILE RIGHT HEADING
       ----------------------------------------------------- */

    .avxhs-banner-fj__content--right
    .avxhs-banner-fj__heading {

        min-height: 0 !important;

        font-size:
            clamp(7px, 3.9vw, 16px) !important;

        line-height: .98 !important;
    }


    /* -----------------------------------------------------
       MOBILE DESCRIPTION
       ----------------------------------------------------- */

    .avxhs-banner-fj__text {

        margin: 0 0 3% 0 !important;

        padding: 0 !important;

        font-size:
            clamp(4px, 1.9vw, 8px) !important;

        line-height: 1.2 !important;
    }


    /* -----------------------------------------------------
       MOBILE BUTTON
       ----------------------------------------------------- */

    .avxhs-banner-fj__button {

        width:
            clamp(48px, 13vw, 72px);

        height:
            clamp(16px, 4.5vw, 26px);

        margin: 0 !important;

        padding:
            0 clamp(4px, 1vw, 7px) !important;

        background: #b88925 !important;

        border: 1px solid #b88925 !important;

        color: #ffffff !important;

        font-size:
            clamp(4px, 1.45vw, 7px) !important;

        letter-spacing: .035em;

        line-height: 1 !important;

        box-shadow: none;
    }


    /* -----------------------------------------------------
       MOBILE BUTTON HOVER
       ----------------------------------------------------- */

    .avxhs-banner-fj__button:hover {

        background: #ffffff !important;

        border-color: #ffffff !important;

        color: #b88925 !important;

        transform: translateY(-1px);

        box-shadow:
            0 4px 10px rgba(0,0,0,.18);
    }


    /* -----------------------------------------------------
       MOBILE ARROW
       ----------------------------------------------------- */

    .avxhs-banner-fj__button-arrow {

        margin-left: 3px;

        font-size:
            clamp(5px, 1.8vw, 9px);

        line-height: 1;
    }


    .avxhs-banner-fj__button:hover
    .avxhs-banner-fj__button-arrow {

        transform: translateX(2px);

        color: #b88925 !important;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

    .avxhs-banner-fj {

        border-radius: 12px;
    }


    .avxhs-banner-fj__overlay {

        padding-left: 4%;
        padding-right: 4%;
    }


    .avxhs-banner-fj__heading {

        font-size:
            clamp(7px, 4vw, 15px) !important;
    }


    .avxhs-banner-fj__content--right
    .avxhs-banner-fj__heading {

        font-size:
            clamp(7px, 3.8vw, 14px) !important;
    }


    .avxhs-banner-fj__text {

        font-size:
            clamp(4px, 1.8vw, 7px) !important;
    }


    .avxhs-banner-fj__button {

        width: 58px;

        height: 20px;

        padding: 0 5px !important;

        font-size: 5px !important;
    }


    .avxhs-banner-fj__button-arrow {

        font-size: 7px;

        margin-left: 2px;
    }

}


/* =========================================================
   ELEMENTOR EDITOR PREVIEW
   ========================================================= */

.elementor-editor-active
.avxhs-banner-fj {

    width: 100vw;
    max-width: 100vw;

    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .avxhs-banner-fj__button,
    .avxhs-banner-fj__button-arrow {

        transition: none !important;
    }

    .avxhs-banner-fj__button:hover {

        transform: none;
    }

}


/* =========================================================
   AVX BANNER FJ
   Find Jobs / Drop Resume Banner
   Scoped ONLY to .avxhs-banner-fj
   ========================================================= */

/* ---------------------------------------------------------
   MAIN BANNER
   --------------------------------------------------------- */

.avxhs-banner-fj {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    
    /* Original image = 1584 x 396 = 4:1 */
    aspect-ratio: 4 / 1;
    
    background-image: var(--avxhs-banner-fj-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    
    overflow: hidden;
    
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   OVERLAY / CONTENT AREA
   --------------------------------------------------------- */

.avxhs-banner-fj__overlay {
    position: absolute;
    inset: 0;
    
    width: 100%;
    height: 100%;
    
    display: grid;
    grid-template-columns: 1fr 1fr;
    
    align-items: center;
    
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   LEFT + RIGHT CONTENT
   --------------------------------------------------------- */

.avxhs-banner-fj__content {
    position: relative;
    z-index: 2;
    
    box-sizing: border-box;
}


/* LEFT CONTENT */

.avxhs-banner-fj__content--left {
    padding-left: 3.85%;
    padding-right: 4%;
    
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}


/* RIGHT CONTENT */

.avxhs-banner-fj__content--right {
    padding-left: 0%;
    padding-right: 12%;
    
    /* This is the important adjustment */
    transform: translateY(31px);
    
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}


/* ---------------------------------------------------------
   EYEBROW
   --------------------------------------------------------- */

.avxhs-banner-fj__eyebrow {
    margin: 0 0 7px 0;
    
    font-family: inherit;
    font-size: clamp(8px, 0.75vw, 14px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.18em;
    
    color: #c89427;
    
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   HEADINGS
   --------------------------------------------------------- */

.avxhs-banner-fj__heading {
    margin: 0;
    padding: 0;
    
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 3vw, 55px);
    font-weight: 500;
    line-height: 0.96;
    letter-spacing: -0.035em;
    
    color: #ffffff;
    
    max-width: 100%;
}


/* RIGHT HEADING */

.avxhs-banner-fj__content--right .avxhs-banner-fj__heading {
    font-size: clamp(19px, 2.65vw, 51px);
    
    margin-bottom: 14px;
}


/* ---------------------------------------------------------
   PARAGRAPHS
   --------------------------------------------------------- */

.avxhs-banner-fj__text {
    margin: 0;
    padding: 0;
    
    font-family: inherit;
    font-size: clamp(9px, 1.15vw, 20px);
    font-weight: 400;
    line-height: 1.28;
    
    color: #ffffff;
    
    max-width: 520px;
}


/* LEFT TEXT */

.avxhs-banner-fj__content--left .avxhs-banner-fj__text {
    margin-top: 13px;
}


/* RIGHT TEXT */

.avxhs-banner-fj__content--right .avxhs-banner-fj__text {
    margin-top: -15;
}


/* ---------------------------------------------------------
   BUTTONS
   --------------------------------------------------------- */

.avxhs-banner-fj__button {
    position: relative;
    
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    min-width: 148px;
    height: 50px;
    
    margin-top: 22px;
    padding: 0 20px;
    
    box-sizing: border-box;
    
    background: #c89427;
    border: 1px solid #c89427;
    
    color: #ffffff;
    
    text-decoration: none !important;
    
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
    
    text-transform: uppercase;
    
    overflow: hidden;
    
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}


/* Button text */

.avxhs-banner-fj__button span {
    position: relative;
    z-index: 2;
}


/* Arrow */

.avxhs-banner-fj__button-arrow {
    margin-left: 9px;
    
    font-size: 17px;
    font-weight: 400;
    
    transition: transform 0.3s ease;
}


/* ---------------------------------------------------------
   BUTTON HOVER
   GOLD → WHITE
   --------------------------------------------------------- */

.avxhs-banner-fj__button:hover,
.avxhs-banner-fj__button:focus {
    background: #ffffff;
    border-color: #ffffff;
    
    color: #1a1a1a;
    
    text-decoration: none !important;
    
    transform: translateY(-2px);
}


.avxhs-banner-fj__button:hover .avxhs-banner-fj__button-arrow,
.avxhs-banner-fj__button:focus .avxhs-banner-fj__button-arrow {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   DESKTOP BREAK
   --------------------------------------------------------- */

.avxhs-banner-fj__desktop-break {
    display: block;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) and (min-width: 768px) {

    .avxhs-banner-fj {
        aspect-ratio: 4 / 1;
    }

    .avxhs-banner-fj__content--left {
        padding-left: 4%;
    }

    .avxhs-banner-fj__content--right {
        padding-left: 2%;
        padding-right: 4%;
        
        transform: translateY(20px);
    }

    .avxhs-banner-fj__heading {
        font-size: clamp(18px, 3vw, 36px);
    }

    .avxhs-banner-fj__content--right .avxhs-banner-fj__heading {
        font-size: clamp(18px, 2.8vw, 34px);
        margin-bottom: 10px;
    }

    .avxhs-banner-fj__text {
        font-size: clamp(9px, 1.25vw, 15px);
    }

    .avxhs-banner-fj__button {
        min-width: 125px;
        height: 42px;
        margin-top: 15px;
        padding: 0 15px;
        font-size: 10px;
    }
}


/* =========================================================
   MOBILE
   IMPORTANT:
   Keep the banner as an IMAGE-LIKE 4:1 container.
   Do NOT stack the two content blocks vertically.
   ========================================================= */

@media (max-width: 767px) {

    .avxhs-banner-fj {
        width: 100%;
        max-width: 100%;
        
        /* Same ratio as original Elementor image */
        aspect-ratio: 4 / 1;
        
        min-height: 0;
        height: auto;
        
        background-size: cover;
        background-position: center center;
        
        overflow: hidden;
    }


    .avxhs-banner-fj__overlay {
        position: absolute;
        inset: 0;
        
        display: grid;
        grid-template-columns: 1fr 1fr;
        
        width: 100%;
        height: 100%;
    }


    /* LEFT */

    .avxhs-banner-fj__content--left {
        padding-left: 5%;
        padding-right: 2%;
        
        justify-content: center;
    }


    /* RIGHT */

    .avxhs-banner-fj__content--right {
        padding-left: 2%;
        padding-right: 5%;
        
        justify-content: center;
        
        /* Keep right section slightly lower */
        transform: translateY(8px);
    }


    /* Hide eyebrow on mobile */
    
    .avxhs-banner-fj__eyebrow {
        display: none;
    }


    /* HEADINGS */

    .avxhs-banner-fj__heading {
        font-size: clamp(9px, 3.25vw, 18px);
        line-height: 0.98;
        letter-spacing: -0.035em;
    }


    .avxhs-banner-fj__content--right .avxhs-banner-fj__heading {
        font-size: clamp(8px, 3vw, 17px);
        margin-bottom: 5px;
    }


    /* PARAGRAPHS */

    .avxhs-banner-fj__text {
        font-size: clamp(5px, 1.55vw, 9px);
        line-height: 1.2;
    }


    .avxhs-banner-fj__content--left .avxhs-banner-fj__text {
        margin-top: 5px;
    }


    /* BUTTONS */

    .avxhs-banner-fj__button {
        min-width: 0;
        height: auto;
        
        margin-top: 7px;
        padding: 5px 8px;
        
        font-size: clamp(5px, 1.35vw, 8px);
        letter-spacing: 0.05em;
        
        border-width: 1px;
    }


    .avxhs-banner-fj__button-arrow {
        margin-left: 4px;
        font-size: clamp(7px, 1.8vw, 10px);
    }


    /* Keep manual desktop line breaks */
    .avxhs-banner-fj__desktop-break {
        display: block;
    }
}


/* ---------------------------------------------------------
   VERY SMALL PHONES
   --------------------------------------------------------- */

@media (max-width: 400px) {

    .avxhs-banner-fj__content--left {
        padding-left: 5%;
        padding-right: 1%;
    }

    .avxhs-banner-fj__content--right {
        padding-left: 1%;
        padding-right: 5%;
        
        transform: translateY(6px);
    }

    .avxhs-banner-fj__heading {
        font-size: 10px;
    }

    .avxhs-banner-fj__content--right .avxhs-banner-fj__heading {
        font-size: 9px;
    }

    .avxhs-banner-fj__text {
        font-size: 5.5px;
    }

    .avxhs-banner-fj__button {
        margin-top: 5px;
        padding: 4px 7px;
        font-size: 5px;
    }
}