/* ---- Facts & Figures Hero ---- */
.fnf-hero-wrapper {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    display: flex;
}

.fnf-hero-img {
    display: block;
    width: 100%;
    height: auto;
    will-change: transform;
    transform-origin: top center;
}

.fnf-hero-text-container {
    position: absolute;
    bottom: 170px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 15px;
    z-index: 2;
}

.fnf-hero-year {
    font-size: clamp(32px, 5vw, 38px);
    font-weight: 500;
    color: #fff;
    line-height: 0.95;
    letter-spacing: 2px;
    font-family: Impact, 'Poppins', sans-serif;
    text-shadow: 2px 4px 10px rgba(0,0,0,0.6);
}

.fnf-hero-title {
    font-size: clamp(24px, 4vw, 46px);
    font-weight: 500;
    color: #fff;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: Impact, 'Poppins', sans-serif;
    text-shadow: 2px 4px 10px rgba(0,0,0,0.6);
    margin-top: 2px;
}

.fnf-hero-infobox {
    position: absolute;
    bottom: 55px;
    right: 0;
    width: 52%;
    background: #d91c2b;
    padding: 24px 32px 24px 28px;
    box-sizing: border-box;
    box-shadow: -15px 15px 0px #ffd200;
    z-index: 2;
}

.fnf-hero-infobox-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(9px, 1.2vw, 12px);
    font-weight: 800;
    color: #fff;
    margin-bottom: 2px;
    line-height: 1.3;
    text-transform: uppercase;
}

.fnf-hero-infobox-desc {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(10px, 1.1vw, 12px);
    font-weight: 400;
    color: #fff;
    line-height: 1.45;
    margin: 0;
}

/* Hero honeycomb */
.fnf-honeycomb-overlay {
    position: absolute;
    left: -440px;
    top: 70%;
    transform: translateY(-50%);
    width: 956px;
    height: 644px;
    z-index: 4;
    pointer-events: none;
}

.fnf-hex {
    position: absolute;
    width: 230px;
    height: 248px;
    filter: drop-shadow(0 4px 14px rgba(0,0,0,0.55));
}

.fnf-hex::before {
    content: "";
    position: absolute;
    inset: 0;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: #ffffff;
    transform: scale(1.025);
    transform-origin: center center;
    z-index: 1;
}

.fnf-hex img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    object-fit: cover;
    object-position: center;
    z-index: 2;
    display: block;
}

.fnf-hex--r1c1 { top:   0px; left: 242px; }
.fnf-hex--r1c2 { top:   0px; left: 484px; }
.fnf-hex--r2c1 { top: 198px; left: 121px; }
.fnf-hex--r2c2 { top: 198px; left: 363px; }
.fnf-hex--r2c3 { top: 198px; left: 605px; }
.fnf-hex--r3c1 { top: 396px; left:   0px; }
.fnf-hex--r3c2 { top: 396px; left: 242px; }
.fnf-hex--r3c3 { top: 396px; left: 484px; }
.fnf-hex--r3c4 { top: 396px; left: 726px; }

@media (max-width: 1024px) {
    .fnf-honeycomb-overlay {
        left: -300px;
        width: 800px;
        height: 536px;
    }

    .fnf-hex {
        width: 190px;
        height: 205px;
    }

    .fnf-hex--r1c1 { left: 200px; }
    .fnf-hex--r1c2 { left: 400px; }
    .fnf-hex--r2c1 { top: 164px; left: 100px; }
    .fnf-hex--r2c2 { top: 164px; left: 300px; }
    .fnf-hex--r2c3 { top: 164px; left: 500px; }
    .fnf-hex--r3c1 { top: 328px; left: 0px; }
    .fnf-hex--r3c2 { top: 328px; left: 200px; }
    .fnf-hex--r3c3 { top: 328px; left: 400px; }
    .fnf-hex--r3c4 { top: 328px; left: 600px; }

    .fnf-hero-text-container {
        bottom: 140px;
        right: 15px;
    }

    .fnf-hero-infobox {
        bottom: 45px;
        width: 55%;
    }
}

@media (max-width: 768px) {
    .fnf-honeycomb-overlay {
        left: -200px;
        width: 600px;
        height: 400px;
    }

    .fnf-hex {
        width: 140px;
        height: 150px;
    }

    .fnf-hex--r1c1 { left: 150px; }
    .fnf-hex--r1c2 { left: 300px; }
    .fnf-hex--r2c1 { top: 120px; left: 75px; }
    .fnf-hex--r2c2 { top: 120px; left: 225px; }
    .fnf-hex--r2c3 { top: 120px; left: 375px; }
    .fnf-hex--r3c1 { top: 240px; left: 0px; }
    .fnf-hex--r3c2 { top: 240px; left: 150px; }
    .fnf-hex--r3c3 { top: 240px; left: 300px; }
    .fnf-hex--r3c4 { top: 240px; left: 450px; }

    .fnf-hero-text-container {
        bottom: 100px;
        right: 10px;
    }

    .fnf-hero-infobox {
        bottom: 30px;
        width: 60%;
        padding: 18px 24px 18px 20px;
    }

    .fnf-hero-infobox-title {
        font-size: clamp(8px, 1.5vw, 10px);
    }

    .fnf-hero-infobox-desc {
        font-size: clamp(9px, 1.2vw, 11px);
    }
}

@media (max-width: 480px) {
    .fnf-honeycomb-overlay {
        left: -150px;
        width: 450px;
        height: 300px;
    }

    .fnf-hex {
        width: 105px;
        height: 113px;
    }

    .fnf-hex--r1c1 { left: 113px; }
    .fnf-hex--r1c2 { left: 225px; }
    .fnf-hex--r2c1 { top: 90px; left: 56px; }
    .fnf-hex--r2c2 { top: 90px; left: 169px; }
    .fnf-hex--r2c3 { top: 90px; left: 282px; }
    .fnf-hex--r3c1 { top: 180px; left: 0px; }
    .fnf-hex--r3c2 { top: 180px; left: 113px; }
    .fnf-hex--r3c3 { top: 180px; left: 225px; }
    .fnf-hex--r3c4 { top: 180px; left: 338px; }

    .fnf-hero-text-container {
        bottom: 80px;
        right: 8px;
    }

    .fnf-hero-year {
        font-size: clamp(24px, 6vw, 30px);
    }

    .fnf-hero-title {
        font-size: clamp(18px, 5vw, 36px);
    }

    .fnf-hero-infobox {
        bottom: 20px;
        width: 65%;
        padding: 12px 16px 12px 14px;
    }

    .fnf-hero-infobox-title {
        font-size: clamp(7px, 1.8vw, 9px);
    }

    .fnf-hero-infobox-desc {
        font-size: clamp(8px, 1.5vw, 10px);
    }
}
