.vision-page {
    position: relative;
    margin-left: var(--rail);
    min-height: 100vh;
    overflow: hidden;
    background: radial-gradient(circle at 46% 38%, #082847 0, #03172c 48%, #021224 87%)
}

.vision-page::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(151deg, transparent 0 78%, rgba(255, 181, 0, .95) 78.3% 89%, transparent 89.3%), linear-gradient(34deg, transparent 0 78%, rgba(225, 12, 24, .68) 78.3% 85%, transparent 85.3%);
    opacity: .83
}

.vision-page::after {
    content: '';
    position: absolute;
    right: -70px;
    top: 75px;
    width: 430px;
    height: 430px;
    background: linear-gradient(rgba(1, 18, 34, .68), rgba(1, 18, 34, .68)), url('../images/fcdeccan.png') center/72% no-repeat;
    opacity: .35
}

.vision-content {
    position: relative;
    z-index: 2;
    padding: 22px 36px 45px
}

.vision-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px
}

.vision-heading>div>p {
    margin: 0;
    text-transform: uppercase;
    font: 700 39px Oswald, sans-serif
}

.vision-heading h1 {
    position: relative;
    margin: 0;
    color: var(--gold);
    text-transform: uppercase;
    font: 700 clamp(68px, 7.2vw, 105px)/.95 Oswald, sans-serif;
    font-style: italic
}

.vision-heading h1::after {
    content: '';
    display: block;
    width: 112%;
    height: 7px;
    margin-top: 13px;
    background: #e20d1b;
    clip-path: polygon(0 30%, 100% 0, 84% 78%, 4% 100%)
}

.vision-intro {
    display: flex;
    align-items: center;
    gap: 25px;
    margin: 0 13% 35px 0;
    text-align: center;
    text-transform: uppercase;
    font: 500 21px/1.3 Oswald, sans-serif
}

.vision-intro span {
    width: 50px;
    height: 3px;
    background: var(--gold)
}

.vision-statement {
    position: relative;
    width: 75%;
    margin: 25px auto 30px;
    padding: 4px 60px 22px;
    border-bottom: 2px solid rgba(225, 12, 24, .75);
    text-align: center
}

.vision-statement p {
    margin: 0;
    font: 500 clamp(25px, 2.45vw, 36px)/1.36 Oswald, sans-serif
}

.vision-statement strong {
    color: var(--gold);
    font-weight: 500
}

.vision-statement .quote-open,
.vision-statement .quote-close {
    position: absolute;
    color: var(--gold);
    font: 700 75px/1 Georgia, serif
}

.vision-statement .quote-open {
    left: 0;
    top: -7px
}

.vision-statement .quote-close {
    right: -5px;
    bottom: 6px
}

.vision-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 0 5px
}

.vision-pillars article {
    position: relative;
    padding: 0 28px;
    text-align: center
}

.vision-pillars article+article {
    border-left: 1px solid rgba(255, 255, 255, .35)
}

.pillar-icon {
    display: grid;
    width: 142px;
    height: 142px;
    margin: 0 auto 17px;
    place-items: center;
    border: 3px solid var(--gold);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 181, 0, .16), rgba(1, 18, 34, .8) 67%);
    font-size: 67px;
    filter: grayscale(1) brightness(2.4)
}

.pillar-icon.trophy {
    font-size: 76px
}

.vision-pillars h2 {
    position: relative;
    margin: 0 0 28px;
    color: var(--gold);
    text-transform: uppercase;
    font: 700 24px/1.15 Oswald, sans-serif
}

.vision-pillars h2::after {
    content: '';
    position: absolute;
    left: 35%;
    right: 35%;
    bottom: -14px;
    height: 3px;
    background: #e20d1b
}

.vision-pillars p {
    margin: 0;
    font: 400 17px/1.5 Oswald, sans-serif
}

.vision-motto {
    margin: 43px 0 0;
    text-align: center;
    text-transform: uppercase;
    font: 600 23px Oswald, sans-serif
}

.vision-motto strong {
    color: var(--gold)
}

.vision-motto b {
    color: #ed0b1c;
    margin: 0 15px
}

@media(max-width:1150px) {
    .vision-content {
        padding-inline: 24px
    }

    .vision-intro {
        margin-right: 2%;
        font-size: 18px
    }

    .vision-statement {
        width: 92%
    }

    .vision-pillars article {
        padding-inline: 15px
    }

    .pillar-icon {
        width: 115px;
        height: 115px;
        font-size: 55px
    }

    .vision-pillars h2 {
        font-size: 20px
    }

    .vision-pillars p {
        font-size: 15px
    }
}

@media(max-width:900px) {
    .vision-pillars {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px 0
    }

    .vision-pillars article:nth-child(3) {
        border-left: 0
    }

    .vision-page {
        overflow: visible
    }

    .vision-statement {
        width: 100%
    }
}

@media(max-width:760px) {
    .vision-page {
        margin-left: 0
    }

    .vision-content {
        padding: 86px 18px 40px
    }

    .vision-heading {
        display: block
    }

    .vision-heading>div>p {
        font-size: 30px
    }

    .vision-heading h1 {
        font-size: 58px
    }

    .vision-intro {
        justify-content: center;
        margin: 30px 0 10px;
        font-size: 17px
    }

    .vision-intro span {
        display: none
    }

    .vision-statement {
        padding: 20px 20px 26px
    }

    .vision-statement p {
        font-size: 24px
    }

    .vision-statement p br {
        display: none
    }

    .vision-statement .quote-open {
        left: -4px
    }

    .vision-pillars article {
        padding-inline: 19px
    }

    .vision-motto {
        font-size: 18px;
        line-height: 1.45
    }

    .vision-motto b {
        margin: 0 5px
    }
}

@media(max-width:520px) {
    .vision-pillars {
        grid-template-columns: 1fr
    }

    .vision-pillars article+article {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .25);
        padding-top: 30px
    }

    .vision-heading h1 {
        font-size: 52px
    }

    .vision-statement p {
        font-size: 21px
    }
}