:root {
    --flt-as-dark: #061018;
    --flt-as-dark-2: #091923;
    --flt-as-panel: rgba(10, 27, 37, .94);
    --flt-as-gold: #d7b56d;
    --flt-as-teal: #00a7b5;
    --flt-as-white: #f7f7f3;
    --flt-as-muted: #b8c4ca;
    --flt-as-line: rgba(215, 181, 109, .30);
}

.flt-as-page {
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 15%, rgba(0, 167, 181, .09), transparent 34%),
        linear-gradient(180deg, #061018 0%, #08151e 100%);
    color: var(--flt-as-white);
}

.flt-as-page *,
.flt-as-page *::before,
.flt-as-page *::after {
    box-sizing: border-box;
}

.flt-as-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.flt-as-section {
    padding: clamp(68px, 8vw, 112px) 0;
}

.flt-as-section--compact {
    padding: clamp(48px, 6vw, 78px) 0;
}

.flt-as-eyebrow {
    margin: 0 0 14px;
    color: var(--flt-as-teal);
    font-size: clamp(12px, 1.25vw, 15px);
    font-weight: 800;
    letter-spacing: .19em;
    line-height: 1.4;
    text-transform: uppercase;
}

.flt-as-title {
    max-width: 930px;
    margin: 0;
    color: var(--flt-as-white);
    font-size: clamp(38px, 6vw, 76px);
    font-weight: 820;
    letter-spacing: -.045em;
    line-height: .98;
    text-wrap: balance;
}

.flt-as-title span,
.flt-as-heading span {
    color: var(--flt-as-gold);
}

.flt-as-heading {
    margin: 0 0 22px;
    color: var(--flt-as-white);
    font-size: clamp(31px, 4.4vw, 58px);
    font-weight: 790;
    letter-spacing: -.035em;
    line-height: 1.04;
    text-wrap: balance;
}

.flt-as-subheading {
    margin: 0 0 16px;
    color: var(--flt-as-white);
    font-size: clamp(22px, 2.5vw, 32px);
    line-height: 1.12;
}

.flt-as-lead {
    max-width: 780px;
    margin: 24px 0 0;
    color: #edf2f4;
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.55;
}

.flt-as-copy {
    color: var(--flt-as-muted);
    font-size: clamp(16px, 1.45vw, 19px);
    line-height: 1.75;
}

.flt-as-copy p {
    margin: 0 0 20px;
}

.flt-as-copy p:last-child {
    margin-bottom: 0;
}

.flt-as-hero {
    position: relative;
    display: flex;
    min-height: min(760px, calc(100vh - 88px));
    align-items: flex-end;
    border-bottom: 1px solid var(--flt-as-line);
    isolation: isolate;
}

.flt-as-hero::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: "";
    background-image: var(--flt-as-hero-image);
    background-position: center;
    background-size: cover;
}

.flt-as-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        linear-gradient(90deg, rgba(3, 11, 17, .94) 0%, rgba(3, 11, 17, .68) 52%, rgba(3, 11, 17, .28) 100%),
        linear-gradient(0deg, rgba(3, 11, 17, .97) 0%, transparent 60%);
}

.flt-as-hero__content {
    width: 100%;
    padding: clamp(100px, 13vw, 168px) 0 clamp(66px, 9vw, 112px);
}

.flt-as-hero__actions,
.flt-as-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 30px;
}

.flt-as-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border: 1px solid var(--flt-as-gold);
    background: linear-gradient(135deg, #e5c476, #bd882b);
    color: #071018;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: .035em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .2s ease, filter .2s ease;
}

.flt-as-button:hover {
    filter: brightness(1.07);
    transform: translateY(-2px);
}

.flt-as-button--teal {
    border-color: var(--flt-as-teal);
    background: linear-gradient(135deg, #16bdc9, #008d9b);
    color: #fff;
}

.flt-as-button--ghost {
    border-color: rgba(255, 255, 255, .32);
    background: rgba(5, 16, 24, .50);
    color: #fff;
    backdrop-filter: blur(10px);
}

.flt-as-grid-2 {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    gap: clamp(34px, 6vw, 80px);
    align-items: center;
}

.flt-as-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.flt-as-image-frame {
    position: relative;
    overflow: hidden;
    min-height: 470px;
    border: 1px solid var(--flt-as-line);
    border-radius: 22px;
    background: #0b1c26;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .24);
}

.flt-as-image-frame img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}

.flt-as-image-frame::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(0deg, rgba(3, 11, 17, .36), transparent 54%);
}

.flt-as-card {
    height: 100%;
    padding: clamp(25px, 3.2vw, 38px);
    border: 1px solid rgba(215, 181, 109, .22);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(15, 38, 50, .96), rgba(7, 20, 29, .96));
}

.flt-as-card__number {
    display: block;
    margin-bottom: 24px;
    color: var(--flt-as-gold);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .16em;
}

.flt-as-card h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(22px, 2.3vw, 30px);
    line-height: 1.12;
}

.flt-as-card p {
    margin: 0;
    color: var(--flt-as-muted);
    font-size: 17px;
    line-height: 1.65;
}

.flt-as-band {
    border-block: 1px solid rgba(215, 181, 109, .18);
    background:
        linear-gradient(90deg, rgba(0, 167, 181, .08), rgba(215, 181, 109, .07));
}

.flt-as-athletes {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 36px;
}

.flt-as-athlete {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    background: #0a1a24;
}

.flt-as-athlete img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}

.flt-as-athlete::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(3, 10, 16, .94), transparent 54%);
}

.flt-as-athlete__copy {
    position: absolute;
    z-index: 1;
    right: 20px;
    bottom: 20px;
    left: 20px;
}

.flt-as-athlete__copy strong {
    display: block;
    color: #fff;
    font-size: 20px;
}

.flt-as-athlete__copy small {
    display: block;
    margin-top: 5px;
    color: var(--flt-as-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.flt-as-partner-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}

.flt-as-partner {
    display: flex;
    min-height: 210px;
    flex-direction: column;
    border: 1px solid rgba(215, 181, 109, .25);
    border-radius: 17px;
    overflow: hidden;
    background: #0a1a24;
}

.flt-as-partner__logo {
    display: flex;
    min-height: 132px;
    align-items: center;
    justify-content: center;
    padding: 26px;
}

.flt-as-partner__logo img {
    display: block;
    width: 100%;
    max-width: 220px;
    max-height: 70px;
    object-fit: contain;
}

.flt-as-partner__logo--light {
    background: #fff;
}

.flt-as-partner__logo--dark {
    background:
        radial-gradient(circle at 50% 20%, #17485b 0%, #062130 72%);
}

.flt-as-partner__copy {
    padding: 18px 20px 22px;
}

.flt-as-partner__copy strong {
    display: block;
    margin-bottom: 5px;
    color: #fff;
    font-size: 17px;
}

.flt-as-partner__copy small {
    color: var(--flt-as-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.flt-as-destination {
    position: relative;
    overflow: hidden;
    min-height: 610px;
    display: flex;
    align-items: flex-end;
    border-radius: 24px;
    background-position: center;
    background-size: cover;
    isolation: isolate;
}

.flt-as-destination::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        linear-gradient(90deg, rgba(3, 11, 17, .93), rgba(3, 11, 17, .35)),
        linear-gradient(0deg, rgba(3, 11, 17, .92), transparent 62%);
}

.flt-as-destination__copy {
    max-width: 720px;
    padding: clamp(32px, 6vw, 72px);
}

.flt-as-tier-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}

.flt-as-tier {
    position: relative;
    overflow: hidden;
    min-height: 380px;
    padding: 34px;
    border: 1px solid rgba(215, 181, 109, .27);
    border-radius: 18px;
    background: linear-gradient(150deg, #0d2835, #07141d);
}

.flt-as-tier::before {
    position: absolute;
    top: -80px;
    right: -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    content: "";
    background: rgba(215, 181, 109, .08);
}

.flt-as-tier__level {
    display: block;
    margin-bottom: 30px;
    color: var(--flt-as-gold);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.flt-as-tier h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 32px;
}

.flt-as-tier p,
.flt-as-tier li {
    color: var(--flt-as-muted);
    font-size: 16px;
    line-height: 1.6;
}

.flt-as-tier ul {
    margin: 22px 0 0;
    padding-left: 20px;
}

.flt-as-tier li + li {
    margin-top: 9px;
}

.flt-as-network-hero {
    --flt-as-hero-image: url("/assets/provault/flt-sponsors-network.webp");
}

.flt-as-about-hero {
    --flt-as-hero-image: url("/assets/brand/Images/about-1.png.webp");
}

.flt-as-cta {
    padding: clamp(38px, 6vw, 64px);
    border: 1px solid var(--flt-as-line);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(0, 167, 181, .14), rgba(215, 181, 109, .10)),
        #0a1c27;
}

.flt-as-cta .flt-as-heading {
    max-width: 850px;
}

@media (max-width: 980px) {
    .flt-as-grid-2 {
        grid-template-columns: 1fr;
    }

    .flt-as-grid-3,
    .flt-as-tier-grid {
        grid-template-columns: 1fr;
    }

    .flt-as-athletes,
    .flt-as-partner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flt-as-image-frame {
        min-height: 420px;
    }
}

@media (max-width: 640px) {
    .flt-as-shell {
        width: min(100% - 28px, 1180px);
    }

    .flt-as-section {
        padding: 58px 0;
    }

    .flt-as-hero {
        min-height: 670px;
    }

    .flt-as-hero::after {
        background:
            linear-gradient(0deg, rgba(3, 11, 17, .98) 0%, rgba(3, 11, 17, .58) 74%, rgba(3, 11, 17, .30) 100%);
    }

    .flt-as-hero__content {
        padding-bottom: 54px;
    }

    .flt-as-title {
        font-size: clamp(39px, 12vw, 53px);
        line-height: 1.01;
    }

    .flt-as-heading {
        font-size: clamp(31px, 9vw, 43px);
    }

    .flt-as-lead {
        font-size: 18px;
    }

    .flt-as-athletes,
    .flt-as-partner-grid {
        grid-template-columns: 1fr;
    }

    .flt-as-athlete {
        min-height: 460px;
    }

    .flt-as-image-frame {
        min-height: 340px;
    }

    .flt-as-destination {
        min-height: 560px;
    }

    .flt-as-button {
        width: 100%;
    }

    .flt-as-tier {
        min-height: auto;
    }
}
