/* ======================================
   MAXIMIZE OPPORTUNITY SECTION
====================================== */

.fg-maximize {
    background-color: #EEF0FF;
    padding: 80px 0;
    width: 100% !important;
}

.fg-maximize__inner {
    max-width: 1680px;
    padding: 0 12px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    width: 100%;
}

/* ======================================
   OUTER CARD WRAPPER
====================================== */

.fg-maximize__wrap {
    background: #F5F5F5;
    border-radius: 24px;
    padding: 12px;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.06);
}

/* ======================================
   TOP — HEADING + DESCRIPTION
====================================== */

.fg-maximize__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    margin-bottom: 32px;
}

.fg-maximize__heading {
    flex: 0 0 48%;
    max-width: 48%;
}

.fg-maximize__heading h1,
.fg-maximize__heading h2,
.fg-maximize__heading h3,
.fg-maximize__heading p,
.fg-maximize__heading strong {
    font-size: 2.6rem;
    font-weight: 900;
    color: #06064E;
    line-height: 1.15;
    text-transform: uppercase;
    margin: 0;
}

.fg-maximize__highlight {
    color: #D2221A;
}

.fg-maximize__heading span[style*="color"] {
    color: #D2221A !important;
}

.fg-maximize__description {
    flex: 0 0 44%;
    max-width: 44%;
    display: flex;
    align-items: center;
}

.fg-maximize__description p {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.75;
    color: #4D4D4d;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

/* ======================================
   GRID — 3 columns, 2 rows
   Col 1 & 3 span both rows (full height)
   Col 2 has 2 stacked cards (CTA + Stat)
====================================== */

.fg-maximize__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    gap: 12px;
}

/* Item 1: col 1, spans both rows */
.fg-maximize__grid > .fg-maximize__card:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 3;
}

/* Item 2: col 2, row 1 (CTA card) */
.fg-maximize__grid > .fg-maximize__card:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

/* Item 3: col 2, row 2 (stat card) */
.fg-maximize__grid > .fg-maximize__card:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}

/* Item 4: col 3, spans both rows */
.fg-maximize__grid > .fg-maximize__card:nth-child(4) {
    grid-column: 3;
    grid-row: 1 / 3;
}

/* ======================================
   CARD BASE
====================================== */

.fg-maximize__card {
    border-radius: 16px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    overflow: hidden;
}

/* Light card */
.fg-maximize__card--light {
    background-color: #ffffff;
}

/* White card (CTA) */
.fg-maximize__card--white {
    background-color: #ffffff;
}

/* Dark navy card */
.fg-maximize__card--dark {
    background-color: #06064E;
}

/* ======================================
   WAVE DECORATION — dark card
====================================== */

.fg-maximize__card-wave {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 180px;
    height: 140px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 140' fill='none'%3E%3Cpath d='M10 110 Q50 60 90 80 Q130 100 170 30' stroke='rgba(255,255,255,0.15)' stroke-width='3' fill='none'/%3E%3Cpath d='M10 125 Q50 80 90 100 Q130 120 170 55' stroke='rgba(255,255,255,0.09)' stroke-width='3' fill='none'/%3E%3Cpath d='M10 135 Q50 100 90 115 Q130 130 170 75' stroke='rgba(255,255,255,0.05)' stroke-width='3' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
    pointer-events: none;
    z-index: 0;
}

/* ======================================
   CTA BUTTON
====================================== */

.fg-maximize__card-btn {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
}

.fg-maximize__card-btn-label {
    font-size: 1.25rem;
    font-weight: 700;
    color: #06064E;
    transition: color 0.2s ease;
}

.fg-maximize__card-btn:hover .fg-maximize__card-btn-label {
    color: #D2221A;
}

.fg-maximize__card-btn-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background-color: #D2221A;
    flex-shrink: 0;
    transition: background-color 0.25s ease;
}

.fg-maximize__card-btn:hover .fg-maximize__card-btn-arrow {
    background-color: #b01a13;
}

.fg-maximize__card-btn-arrow svg {
    width: 22px;
    height: 22px;
}

/* ======================================
   CARD — TEXT
====================================== */

.fg-maximize__card-text,
.fg-maximize__card-text p {
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
    position: relative;
    z-index: 1;
    font-weight: 500;
}

.fg-maximize__card--light .fg-maximize__card-text,
.fg-maximize__card--light .fg-maximize__card-text p,
.fg-maximize__card--white .fg-maximize__card-text,
.fg-maximize__card--white .fg-maximize__card-text p {
    color: #1C1C1C;
}

.fg-maximize__card--dark .fg-maximize__card-text,
.fg-maximize__card--dark .fg-maximize__card-text p {
    color: rgba(255, 255, 255, 0.85);
}

/* ======================================
   STAT — NUMBER + LABEL
====================================== */

.fg-maximize__card-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 1;
}

.fg-maximize__card-number {
    font-size: 3.75rem;
    font-weight: 900;
    line-height: 1;
    display: block;
}

.fg-maximize__card--light .fg-maximize__card-number {
    color: #06064E;
}

.fg-maximize__card--dark .fg-maximize__card-number {
    color: #ffffff;
}

.fg-maximize__card-plus {
    color: #D2221A;
}

.fg-maximize__card-label {
    font-size: 0.88rem;
    font-weight: 500;
    display: block;
}

.fg-maximize__card--light .fg-maximize__card-label {
    color: #666666;
}

.fg-maximize__card--dark .fg-maximize__card-label {
    color: rgba(255, 255, 255, 0.65);
}

/* ======================================
   RESPONSIVE
====================================== */

@media (max-width: 991.98px) {
    .fg-maximize__wrap {
        padding: 36px 28px;
    }

    .fg-maximize__top {
        flex-direction: column;
        gap: 20px;
    }

    .fg-maximize__heading,
    .fg-maximize__description {
        flex: none;
        max-width: 100%;
    }

    /* Reset explicit grid placement for tablet */
    .fg-maximize__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: unset;
    }

    .fg-maximize__grid > .fg-maximize__card:nth-child(1),
    .fg-maximize__grid > .fg-maximize__card:nth-child(2),
    .fg-maximize__grid > .fg-maximize__card:nth-child(3),
    .fg-maximize__grid > .fg-maximize__card:nth-child(4) {
        grid-column: unset;
        grid-row: unset;
    }
}

@media (max-width: 767.98px) {
    .fg-maximize {
        padding: 60px 0;
    }

    .fg-maximize__heading h1,
    .fg-maximize__heading h2,
    .fg-maximize__heading h3,
    .fg-maximize__heading p,
    .fg-maximize__heading strong {
        font-size: 2rem;
    }

    .fg-maximize__card-number {
        font-size: 3rem;
    }
}

@media (max-width: 575.98px) {
    .fg-maximize {
        padding: 48px 0;
    }

    .fg-maximize__wrap {
        padding: 24px 16px;
        border-radius: 16px;
    }

    .fg-maximize__grid {
        grid-template-columns: 1fr;
    }

    .fg-maximize__heading h1,
    .fg-maximize__heading h2,
    .fg-maximize__heading h3,
    .fg-maximize__heading p,
    .fg-maximize__heading strong {
        font-size: 1.75rem;
    }

    .fg-maximize__card-number {
        font-size: 2.75rem;
    }
}
