main.about #hero {
    padding-block: 15rem 12rem;

    display: grid;
    gap: 15rem;

    background-image: url("/Team/_nightsky_background.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    position: relative;
    isolation: isolate;
}
main.about #hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(to bottom, #000, #090b4f, #000 65%);
    opacity: 0.75;

    z-index: -1;
}

main.about #hero article {
    display: grid;
    gap: 3rem;
}

main.about #hero h1,
main.about #hero h1 b {
    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 9rem;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}
main.about #hero h1 b {
    color: var(--accent-yellow);
}

main.about #hero h1 {
    max-width: 89rem;
}

main.about #hero h2 {
    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 4rem;
    line-height: 1;
    text-transform: uppercase;
    /* text-align: center; */
    color: #fff;
}

main.about #hero ul {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}
main.about #hero ul li {
    display: flex;
    align-items: center;
    gap: 1rem;
}
main.about #hero ul li span {
    --w: 3.8rem;

    width: var(--w);
    min-width: var(--w);

    height: var(--w);
    min-height: var(--w);

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: var(--accent-yellow);
    border: 2px solid #fff;
}
main.about #hero ul li p {
    font-size: 2rem;
    color: #fff;
}
main.about #hero .buttons {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 2rem;
}

main.about #hero .buttons .btn.-blog {
    max-width: 16.5rem;
}


/* Management */

main.about #management {
    margin-inline: auto;
    width: 95%;

    display: flex;
    align-items: start;
    justify-content: center;
    gap: 5rem;
}

main.about #management .titles {
    max-width: 45rem;
}
main.about #management .titles h4 {
    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 4rem;
    line-height: 1;
    text-transform: uppercase;
    color: var(--accent-yellow);

    margin-bottom: 2rem;
}
main.about #management .titles p {
    font-size: 2rem;
    color: #ccc;
}

main.about #management ul {
    display: flex;
    gap: 3.5rem;
}

main.about #management ul li {
    margin-inline: auto;
    max-width: 22rem;
    
    display: grid;
    gap: 1rem;
}

main.about #management ul li .photo {
    width: 100%;
    aspect-ratio: 1;

    position: relative;
    isolation: isolate;
    overflow: hidden;
}

main.about #management ul li image {
    width: 100%;
    object-fit: contain;
}

main.about #management ul li image[data-exists="true"] {
    filter: sepia(100%);
    opacity: 0.75;
}
/* main.about #management ul li:is(:hover, :focus-within) image {
    filter: sepia(0%);
} */

@property --position {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 0%;
}

main.about #management ul li image.color {
    mask-image:
        radial-gradient(
            circle at top left,
            #000 var(--position),
            #0000 0
        );

    mask-size: 100%;

    transition: --position 0.35s ease-in-out;
}

main.about #management ul li:is(:hover, :focus-within) image.color {
    --position: 100%;
}


main.about #management ul li .photo svg {
    width: 100%;
    height: 100%;
    display: block;
}

main.about #management ul li em,
main.about #management ul li i {
    display: block;

    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 2.7rem;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}
main.about #management ul li i {
    font-size: 1.8rem;
    text-wrap: balance;
    color: var(--accent-yellow);
    margin-bottom: 1.5rem;
}
main.about #management ul li p,
main.about #management ul li a {
    font-size: 1.5rem;
    text-decoration: none;
    color: #fff;
}

main.about #management ul li a.email {
    font-style: italic;
    color: #ffffff59;
}


/* Team */

main.about #team {
    background-color: var(--accent-yellow);
    position: relative;
    isolation: isolate;
}
main.about #team h3 {
    min-height: 7rem;

    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 5.5rem;
    line-height: 1;
    
    text-transform: uppercase;
    text-align: center;
    color: #000;

    position: relative;
    isolation: isolate;
}
main.about #team h3::before,
main.about #team h3::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    height: 6.5rem;

    transform-origin: right center;
    transform: rotate(1.57deg);

    background-color: var(--accent-yellow);
    z-index: -2;
}
main.about #team h3::after {
    transform: rotate(-1.57deg);
    border-bottom: 3px solid #000;
    z-index: -1;
}

main.about #team ul {
    padding-block: 5rem 1.5rem;

    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(74rem, 100%), 1fr));
    gap: 2rem 0.5rem;
}

main.about #team ul li {
    aspect-ratio: 2 / 1;
    display: grid;

    position: relative;
    isolation: isolate;
    overflow: hidden;
}

main.about #team ul li::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #00000099;
    z-index: -1;
}

main.about #team ul li dl {
    padding-block: 3rem;
    padding-inline: 4rem 3rem;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    border: 3px solid #000;

    position: relative;
    isolation: isolate;
}

main.about #team ul li:nth-child(even) dl:before,
main.about #team ul li:nth-child(even) dl:after {
    content: "";
    position: absolute;
    inset-block: -5px;
    left: -3px; width: 14px;
    
    clip-path: polygon(0% 0%, 100% 0%, 3px 100%, 0% 100%);
}

main.about #team ul li:nth-child(even) dl:before {
    background-color: #000;
    z-index: -1;
}
main.about #team ul li:nth-child(even) dl:after {
    left: -6px;
    background-color: var(--accent-yellow);
}

main.about #team ul li .image-box {
    position: absolute;
    inset: 0;
    z-index: -2;
}
main.about #team ul li img {
    width: 100%;
    object-fit: cover;
}

main.about #team li svg.bottom {
    position: absolute;
    
    width: 105%;
    height: var(--h, 25px);

    bottom: -2px;
    
    fill: var(--accent-yellow);
    stroke: #000;

    z-index: 1;
}

main.about #team li dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
main.about #team li dt p {
    max-width: 25.5rem;

    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 3rem;
    line-height: 1;
    
    text-transform: uppercase;
    color: var(--accent-yellow);
}
main.about #team li dt a.btn {
    max-width: 17.8rem;
}

main.about #team li dd {
    max-width: 44.5rem;
    font-size: 2rem;
    color: #fff;
}


main.about #team li [name="player"] {
    position: absolute;

    top: 50%; left: 50%;
    width: 100%; height: 200%;
    transform: translate(-50%, -50%);

    object-fit: cover;
    pointer-events: none;   /* щоб hover працював на картці */

    opacity: 0;
    transition: opacity 1s;

    z-index: -1;
}
main.about #team li.-shown [name="player"] {
    opacity: 1;
}


/* Hiring - Become a superhero */

main.about #hiring {
    padding-block: 3rem 5rem;
    padding-inline: 2rem;
    background-color: var(--accent-yellow);
}
main.about #hiring h3 {
    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 5.5rem;
    line-height: 1;
    
    text-transform: uppercase;
    text-align: center;
    color: #000;

    margin-bottom: 5rem;
}

main.about #hiring .navigator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;

    margin-bottom: 3rem;
}
main.about #hiring .navigator h5 {
    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 3rem;
    line-height: 1;
    
    text-transform: uppercase;
    text-align: center;
    color: #000;
}
main.about #hiring .navigator nav {
    display: flex;
    align-items: center;
    gap: 2rem;
}
main.about #hiring .navigator nav button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: unset;

    cursor: pointer;
}

main.about #hiring #positionsBox {
    width: 100%;

    scroll-snap-type: inline mandatory; /* or x, or both, and proximity */
    scroll-behavior: smooth;
    scrollbar-width: thin;
    
    overflow-x: auto;
    overscroll-behavior-inline: contain;

    padding-bottom: 1rem;
}

main.about #hiring ul {
    margin-inline: auto;
    width: fit-content;

    display: flex;
    /* align-items: center; */
    justify-content: center;
    gap: 1rem;
}
main.about #hiring ul li {
    width: 33rem;
    min-height: 25rem;

    padding: 3rem 2rem;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;

    background-color: #fff;
    border: 3px solid #000;

    scroll-snap-align: start; /* or center, or end */
}
main.about #hiring ul li h6 {
    font-family: "Druk";
    font-style: italic;
    font-weight: 900;
    font-size: 2rem;
    line-height: 1;
    
    text-transform: uppercase;
    text-align: center;
    color: #000;
}
main.about #hiring ul li p.pos-desc {
    flex: 1;

    font-size: 1.2rem;
    text-align: center;
}
main.about #hiring ul li a.btn {
    max-width: 24rem;
    border: 3px solid #000;
}


/* Згладждую перехід */
main.about #maps {
    position: relative;
    isolation: isolate;
}
main.about #maps::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 100%; height: 7rem;
    background: linear-gradient(to bottom, transparent, #000);
}


@media (max-width: 1250px) {
    main.about #management {
        flex-direction: column;
    }
    main.about #team h3 {
        padding-block: 4rem 1rem;
    }
}

@media (max-width: 950px) {
    main.about #hero {
        padding-block: 12rem 8rem;
        gap: 5rem;
    }
    main.about #hero h1,
    main.about #hero h1 b {
        font-size: 4.2rem;
    }
    main.about #hero h2 {
        font-size: 1.7rem;
    }
    main.about #hero article ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    #requests aside {
        opacity: 0.1;
    }
    main.about #team h3::after {
        display: none;
    }
}

@media (max-width: 600px) {
    main.about h3 {
        font-size: 3rem !important;
        padding-block: 3rem 0;
    }
    main.about #team h3::before,
    main.about #team h3::after {
        height: 4.5rem;
    }
    main.about #team li dt p {
        font-size: 1.8rem;
    }
    main.about #team li dd {
        font-size: 1.5rem;
    }
}

@media (max-width: 500px) {
    main.about #hero ul {
        grid-template-columns: 1fr;
    }
    main.about #hero .buttons {
        display: grid;
        grid-template-columns: 1fr;
        place-items: center;
    }
}