body { background: light-dark(#FFF4DD, #071628); }
html, body { scroll-behavior: auto; }
.page-header { border: none; background: light-dark(radial-gradient(closest-side, #ffff 0%, transparent 100%), radial-gradient(closest-side, #102D53 0%, transparent 100%)); }
.text-gold { color: var(--brand-gold); }

@media only screen {
    @keyframes fade {
      0% { opacity: 0; }
      75% { opacity: 1; }
      100% { opacity: 0; }
    }
    .scroll-indicator { margin: 2rem auto; width: 6px; display: flex; flex-flow: column; position: absolute; left: 50%; bottom: 0;
        span {
            background-color: #ae9142;
            animation: fade 2.5s infinite;
            border-radius: 100%;
            width: 100%;
            margin-block: 200%;
            aspect-ratio: 1;
            &:nth-child(2) { animation-delay: 0.2s; }
            &:nth-child(3) { animation-delay: 0.4s; }
            &:nth-child(4) { animation-delay: 0.5s; }
        }
    }
}

.page-header { min-height: 80vh;
    .page-title-wrapper { grid-row: unset; align-content: center;
        .page-title { margin-top: -4em;
            .title-part { display: inline-block; }
        }
    }
}

.page--values { position: relative; overflow: clip;
    .section {
        display: flex;
        flex-flow: column;
        width: 100vw;
        height: auto;
        .section-media--back { z-index: 1; }
        .section-primary {
            z-index: 2;
            padding: 2rem;
            .section-title { line-height: 1; }
            p { text-wrap-style: balance; }
        }
        .section-media {
            z-index: 3;
            align-content: center;
            position: absolute;
            top: 0;
        }
        &.section--courage { z-index: 1;position: relative; }
        &.section--boundaries { z-index: 2; position: relative; }
        &.section--human-dignity { z-index: 3; position: relative; }
        &.section--spirit { z-index: 4; position: relative; }
    }
}

.page-section--wwyff { display: none;
    .section--wwyff {
        position: relative;
        height: 120vh;
        --section-margin: 0;
    }
    .tube-canvas {
        width: 100%;
        height: 120vh;
        opacity: 0;
        transition: opacity 1.2s ease;
        mask-image: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 1) 20%); mask-mode: luminance; mask-position: center center; mask-size: 100% 100%; mask-repeat:no-repeat;
    }
    .section-logo {
        position: absolute;
        text-align: right;
        max-width: 40%;
        margin-inline-start: auto;
        padding-inline-end: 6vw;
        top: 40%;
        right: 0;
        svg {
            display: block;
            aspect-ratio: 295 / 188;
            height: 13vw;
            --logo-color: light-dark( var(--brand-blue), white);
        }
    }
}

.page--ff-stories { margin-block-start: 10vw;
    .section--story { aspect-ratio: 4.5 / 8; overflow: clip; position: relative; margin-block: 8vw;
        &:nth-child(1) .section-media img { object-position: 78% center; }
        &:nth-child(2) .section-media img { object-position: 60% center; }
        &:nth-child(3) .section-media img { object-position: 78% center; }
        &:nth-child(4) .section-media img { object-position: 70% center; }
        &:nth-child(5) .section-media img { object-position: 70% center; }
        &:nth-child(6) .section-media img { object-position: 40% center; }
        .section-media { opacity: 0.5; filter: grayscale(1); }
        .section-body { align-self: end; margin-block-end: 0;
            .story-lede { font-size: 1rem; }
            .coming-date { margin-block-start: 2rem; font-size: 1rem;
                &.notched { background-color: var(--brand-gold-dark); text-align: center; aspect-ratio: 2 / 1; width: 200px; position: absolute; transform: rotate(-45deg) translate(35%, 73%); transform-origin: center bottom; right: 0; bottom: 0; margin-block-start: 0; font-size: 0.9rem; padding: 1rem 2.5rem; line-height: 1.3; }
            }
        }
        &:has(.btn--lede) {
            .section-media { opacity: 1; filter: grayscale(0); }
        }
    }
}

@media only screen and (min-width: 48em) {
    .page-header--container .page-title-wrapper { grid-row: unset; align-content: center;
        .page-title { margin-top: 0; }
    }
    .page--values {
        position: relative;
        height: 100vh;
        &:last-child { overflow: hidden; }
        .section {
            inset: 0;
            margin: 0;
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            position: absolute;
            top: 0;
            left: 0;
            .section-primary {
                grid-row: 1 / -1;
                grid-column: 1 / -1;
                /* align-self: center; */
                /* align-content: center; */
                .section-title { font-size: clamp(3rem, 10vw, 15rem); color: white; mix-blend-mode: overlay; /* Sadly breaks once becomes static positioned */ }
                p { font-size: clamp(1rem, 2.5vw, 1.4rem); color: white; }
            }
            .section-media--back { grid-row: 1 / -1; grid-column: 1 / -1; position: absolute; top: 0; left: 0; width: 100vw; height: auto;
                img { object-fit: cover; width: 100%; height: 100vh; object-position: center bottom; position: absolute; }
            }
            .section-media {
                grid-row: 1 / -1;
                grid-column: 1 / -1;
                height: 100%;
                width: 100%;
                img { object-fit: cover; width: 100vw; height: 100vh; object-position: center bottom; }
            }
            &.section--courage { z-index: 1;
                .section-media img { height: 100vh; object-position: 69% bottom; }
                .section-primary {
                    grid-column: 1 / 9;
                    text-align: right;
                }
            }
            &.section--boundaries { position: absolute; z-index: 2;
                .section-media {
                    img { object-position: right center; object-fit: contain; }
                 }
                .section-primary {
                    grid-column: 1 / 7;
                    text-align: right;
                }
            }
            &.section--human-dignity { position: absolute; z-index: 3;
                .section-primary {
                    grid-column: 5 / 13;
                }
                .section-media {
                    img { object-position: 30% bottom; object-fit: cover; }
                 }
            }
            &.section--spirit { position: absolute; z-index: 4;
                .section-primary {
                    grid-column: 2 / 11;
                    p { width: 100%; }
                }
                .section-media {
                    img { object-position: 85% bottom; }
                }
            }
        }
    }
    .page--ff-stories {
        .section--story { aspect-ratio: 8 / 5;
            .section-media {
                img { object-position: center center; }
            }
            .section-body { padding: 2rem;
                .story-lede { font-size: 1.2rem; }
            }
        }
    }
}

@media only screen and (min-width: 60em) {
    .page--values {
        .section {
            .section-primary {
                .section-media { width: 100%; height: 100%;
                    img { object-position: center bottom; }
                }
            }
            &.section--courage {
                .section-media {
                    img { object-position: 69% bottom; }
                }
                .section-primary {
                    grid-column: 1 / 8;
                }
            }
            &.section--boundaries {
                .section-primary {
                    grid-column: 1 / 7;
                }
                .section-media {
                    img { object-position: right center; object-fit: contain; }
                }
            }
            &.section--human-dignity {
                 .section-primary {
                    grid-column: 5 / 12;
                }
                .section-media {
                    img { object-fit: cover; object-position: 30% bottom; }
                }
            }
            &.section--spirit {
                .section-primary {
                    grid-column: 2 / 12;
                    p { width: 100%; }
                }
                .section-media {
                    img { object-position: 83% bottom; }
                }
            }
        }
    }

    .page-section--wwyff { display: block; }
}

@media only screen and (min-width: 80em) {
    .page--values {
        .section {
            .section-primary {
                .section-media { width: 100%; height: 100%;
                    img { object-position: center bottom; }
                }
            }
            &.section--courage {
                .section-media {
                    img { object-position: 69% bottom; }
                }
                .section-primary {
                    grid-column: 2 / 7;
                }
            }
            &.section--boundaries {
                .section-primary {
                    grid-column: 2 / 7;
                }
                .section-media {
                    img { object-position: right center; object-fit: contain; }
                }
            }
            &.section--human-dignity {
                 .section-primary {
                    grid-column: 5 / 13;
                }
                .section-media {
                    img { object-fit: contain; object-position: 40% bottom; }
                }
            }
            &.section--spirit {
                .section-primary {
                    grid-column: 2 / 8;
                    p { width: 80%; }
                }
                .section-media {
                    img { object-position: center bottom; }
                }
            }
        }
    }
}