/* --Variables-- */
:root {
    --red: #EA5936;
    --purple: #835DF6;
    --black: #080808;
    --black-70: rgba(8, 8, 8, .70);
    --black-48: rgba(8, 8, 8, .48);
    --grey: #B4B6C1;
    --white: #ffffff;
    --white-80: rgba(255, 255, 255, .8);
    --white-70: rgba(255, 255, 255, .7);
    --white-60: rgba(255, 255, 255, .6);
    --white-50: rgba(255, 255, 255, .5);
    --white-40: rgba(255, 255, 255, .4);
    --white-30: rgba(255, 255, 255, .3);
    --white-20: rgba(255, 255, 255, .2);
    --white-12: rgba(255, 255, 255, .12);
}


/* --Fonts-- */
@font-face {
    font-family: moulay;
    src: url(../fonts/moulay-light-webfont.woff);
    font-weight: 300;
}

@font-face {
    font-family: moulay;
    src: url(../fonts/moulay-regular-webfont.woff);
    font-weight: 400;
}

@font-face {
    font-family: moulay;
    src: url(../fonts/moulay-medium-webfont.woff);
    font-weight: 500;
}

@font-face {
    font-family: moulay;
    src: url(../fonts/moulay-semibold-webfont.woff);
    font-weight: 600;
}

@font-face {
    font-family: moulay;
    src: url(../fonts/moulay-bold-webfont.woff);
    font-weight: 700;
}

@font-face {
    font-family: moulay;
    src: url(../fonts/moulay-extrabold-webfont.woff);
    font-weight: 900;
}


/* --Foundation-- */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

body {
    font-size: 16px;
    font-family: moulay, helvetica, arial, sans-serif;
    background-color: var(--white);
    color: var(--black);
}

a {
    text-decoration: none;
    font-weight: 400;
    color: var(--black);
}

a span {
    margin-left: 8px;
    display: inline-block;
    transition: .3s;
}

a:hover span {
    transform: translate(4px);
}

p {
    line-height: 1.5;
    font-size: 20px;
    color: var(--black-70);
}

em,
cite {
    font-style: italic;
}

strong {
    font-weight: 600;
}

p a {
    font-weight: 500;
    transition: .3s;
}

p a:hover {
    color: var(--purple);
}

h3,
h4,
h5 {
    line-height: 1.28;
}

h2 {
    font-size: 2.2em;
    margin-bottom: 40px;
}

h3 {
    font-size: 1.8em;
    margin-bottom: 24px;
}

h4 {
    font-size: 1.4em;
    font-weight: 500;
    margin-bottom: 24px;
}

h5 {
    margin-bottom: 16px;
}

body.dark {
    background-color: var(--black);
    color: var(--white);
}

body.dark p {
    color: var(--white-70);
    font-weight: 300;
}

body.dark a {
    color: var(--white);
}

body.dark a:hover {
    color: var(--purple);
}

img {
    max-width: 100%;
}

main {
    padding-top: 100px;
    overflow: hidden;
    position: relative;
}

main * {
    box-sizing: border-box;
}

main>section {
    padding: 48px 6%;
    position: relative;
}

figure figcaption {
    width: 100%;
    font-size: 16px;
    max-width: 200px;
    margin-top: 8px;
    line-height: 1.28;
    color: var(--black-48);
}

.bw-filter {
    filter: saturate(0%);
}

.flex-row {
    display: flex;
    flex-direction: column;
}

.flex-header h2 {
    flex: 1;
}

.grid-two-col {
    display: grid;
    grid-template-columns: 1fr;
}

.radio-img {
    height: 240px;
    overflow: hidden;
    position: relative;
    margin-bottom: 100px;
    margin-top: 24px
}

.radio-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top right;
    position: absolute;
    top: 0;
    left: 0;
}

.grid-col-span {
    width: 144%;
    display: none;
}

.one-four-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 84px;
}

.padding-right-0 {
    padding-right: 0 !important;
}

.margin-bottom-0 {
    margin-bottom: 0 !important;
}

.frosted-mask {
    position: fixed;
    height: 100vh;
    width: 100vw;
    background-color: #B4B6C1;
}

.connect-cta {
    background-color: var(--white-12);
    margin: 6%;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.connect-cta h3 {
    margin-bottom: 16px;
}

.connect-cta a {
    font-size: 20px;
    line-height: 1.5;
}

.link-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 40px;
}

.link-group a {
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: break-word;
    overflow-wrap: break-word;
}

.link-group a span {
    margin-left: 4px;
}

.button-group {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    margin: 36px 0;
}

.button-group h5 {
    color: var(--grey);
    font-weight: 300;
}

.button-group nav {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    white-space: nowrap;
    scroll-behavior: smooth;
    cursor: grab;
    user-select: none;
}

.button-group nav::-webkit-scrollbar {
    display: none;
}

.button-group nav:active {
    cursor: grabbing;
}

.button-group nav button,
.button-group nav .btn-style,
.button-group nav .btn-secondary {
    display: inline-block;
    margin-right: 24px;
}

button,
.btn-style {
    display: inline-block;
    font-size: 16px;
    font-family: moulay, helvetica, arial, sans-serif;
    color: var(--white);
    border-radius: 100px;
    padding: 12px 36px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: -1px 1px 0 0 rgba(0, 0, 0, 0.24), -1px 1px 0 0 rgba(255, 255, 255, 0.24) inset;
    border: none;
    white-space: nowrap;
    cursor: pointer;
    transition: .4s;
}

button:hover,
.btn-style:hover {
    background: rgba(255, 255, 255, .06);
    box-shadow: -1px -1px 0 0 rgba(0, 0, 0, 0.24), -1px -1px 0 0 rgba(255, 255, 255, 0.24) inset;
    color: var(--white-70) !important;
}

button.btn-secondary,
.btn-secondary {
    display: inline-block;
    font-size: 16px;
    font-family: moulay, helvetica, arial, sans-serif;
    color: var(--black);
    border-radius: 100px;
    padding: 12px 36px;
    background: rgba(0, 0, 0, 0.12);
    box-shadow: 1px -1px 0 0 var(--grey) inset;
    border: none;
    white-space: nowrap;
    cursor: pointer;
    transition: .4s;
}

button.btn-secondary:hover,
.btn-secondary:hover {
    background: rgba(0, 0, 0, .08);
    box-shadow: -1px -1px 0 0 var(--grey) inset;
}


/* --Foundation Media Queries-- */
@media screen and (min-width: 800px) {
    main>section {
        position: relative;
        padding: 48px 12%;
    }

    .flex-row {
        flex-direction: row;
    }

    .connect-cta {
        margin: 100px 12%;
        flex-direction: row;
        padding: 64px;
        align-items: center;
        gap: 12px
    }

    .connect-cta h3 {
        margin-bottom: 0;
    }

    .connect-cta a {
        font-size: 24px;
    }

    .one-four-grid {
        grid-template-columns: 1fr 1fr;
        gap: 240px;
    }

    .link-group a {
        margin-right: 40px;
    }

    h2 {
        font-size: 4em;
        margin-bottom: 20px;
    }

    h3 {
        font-size: 2.8em;
    }

    h4 {
        font-size: 1.6em;
    }

    .radio-img {
        margin-bottom: 0px;
    }
}

@media screen and (min-width: 1200px) {
    .grid-two-col {
        grid-template-columns: 1fr 1fr;
        gap: 6vw 16vw;
    }

    .grid-two-col section:last-of-type {
        grid-column: 1 / 3;
    }

    .about .grid-two-col p {
        width: 100%;
        max-width: none;
    }

    .grid-col-span {
        display: block;
    }

    h2 {
        font-size: 4em;
        margin-bottom: 0;
    }
}



/* --Heading & Navigation-- */
#site-header {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 20px 6%;
    z-index: 998;
    color: white;
    font-size: 1.1em;
    min-height: 50px;
    mix-blend-mode: difference;
}

#header-blur {
    position: fixed;
    top: 0;
    left: 0;
    height: 72px;
    width: 100%;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 996;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
}

h1 {
    visibility: hidden;
    height: 0;
    width: 0;
    line-height: 0;
}

#site-header>a {
    line-height: 0;
}

#site-header svg {
    height: 40px;
}

.rir-shape {
    fill: var(--white);
}

/*Mobile menu button animation*/
.mobile-nav-input {
    display: none;
}

.menu--1 label {
    display: block;
    cursor: pointer;
    position: fixed;
    width: 25vw;
    height: 25vw;
    max-width: 80px;
    max-height: 80px;
    top: -5px;
    right: 0;
    z-index: 998;
    padding: 0;
    mix-blend-mode: difference;
}

.menu--1 path {
    fill: none;
    stroke: var(--white);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    --length: 24;
    --offset: -38;
    stroke-dasharray: var(--length) var(--total-length);
    stroke-dashoffset: var(--offset);
    transition: all .8s cubic-bezier(.645, .045, .355, 1);
}

.menu--1 circle {
    display: none;
}

.cross input:checked+svg .line--1,
.cross input:checked+svg .line--3 {
    --length: 22.627416998;
}

.cross input:checked+svg .line--2 {
    --length: 0;
}

.back input:checked+svg .line--1,
.back input:checked+svg .line--3 {
    --length: 8.602325267;
}


.menu--1 .line--1,
.menu--1 .line--3 {
    --total-length: 126.64183044433594;
}

.menu--1 .line--2 {
    --total-length: 70;
}

.menu--1 input:checked+svg .line--1,
.menu--1 input:checked+svg .line--3 {
    --offset: -94.1149185097;
}

.menu--1 input:checked+svg .line--2 {
    --offset: -50;
}

#nav {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    right: -110%;
    flex-direction: column;
    z-index: 997;
    height: 100vh;
    width: 100vw;
    background-color: var(--black);
    font-size: 2em;
    opacity: 1;
    color: white;
    transition: color 0.3s ease, background-color 0.3s ease, right 1s;
    font-weight: 600;
}

#nav div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#nav a {
    margin-right: 0;
    margin-bottom: 35px;
    transition: .3s;
    color: var(--white);
}

#nav a:last-of-type {
    margin-right: 0;
}

#nav a:hover {
    color: var(--purple);
    mix-blend-mode: normal;
}

.episode-page #nav.nav-light .rir-shape {
    fill: #fff;
}

.episode-page #nav.nav-dark .rir-shape {
    fill: #000;
}



body.landing #nav,
.episode-page #nav {
    mix-blend-mode: normal;
}

body.landing #nav a:hover,
.episode-page #nav a:hover {
    color: var(--purple);
}

body.landing #site-header,
.episode-page #site-header {
    mix-blend-mode: normal;
}

body.landing #site-header a:hover .rir-shape,
.episode-page #site-header a:hover .rir-shape {
    fill: var(--purple) !important;
}

body.landing #site-header .rir-shape {
    fill: var(--black);
    transition: .3s;
}

#nav.show-nav-mob {
    right: 0;
}

.overflow-mob {
    width: 110%;
}


/* --Header & Navigation Media Queries-- */
@media screen and (min-width: 800px) {

    .menu--1 {
        display: none;
    }

    #nav {
        float: right;
        position: fixed;
        right: 0;
        padding: 20px 6%;
        padding-left: 0;
        background-color: transparent;
        z-index: 999;
        height: 40px;
        width: auto;
        flex-direction: row;
        font-size: 1em;
        mix-blend-mode: difference;
    }

    #nav div {
        display: inline-block;
    }

    #nav a {
        margin-right: 80px;
        margin-bottom: 0;
        color: var(--white);
        transition: color .2s ease, mix-blend-mode .2s ease;
    }

    body.landing #nav a {
        color: var(--black);
    }

    #nav a:hover {
        mix-blend-mode: normal !important;
        color: var(--purple);
    }

    #nav a:last-of-type {
        margin-right: 0;
    }

    .episode-page #nav.nav-light a {
        color: #fff;
    }

    .episode-page #nav.nav-dark a {
        color: #000;
    }

    .overflow-mob {
        width: 40%;
    }
}


/* --LANDING PAGE STYLES-- */
body.landing {
    height: 100vh;
    touch-action: manipulation;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: black;
}

body.landing #wrapper {
    box-sizing: border-box;
    height: 100%;
    width: 100vw;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 100px;
    gap: 16px;
    position: relative;
}


.coverflow-container {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.coverflow {
    width: 100%;
    height: 30vh;
    position: relative;
    perspective: 1000px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coverflow-item {
    position: absolute;
    height: 30vh;
    max-height: 260px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    cursor: pointer;
    background: lightgrey;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: white;
    font-size: 16px;
    text-align: center;
}

.coverflow-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0%);
    transition: filter 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.coverflow-item.center img {
    filter: saturate(100%);
}

.coverflow-item.center {
    transform: translateZ(0) rotateY(0deg) scale(1.1);
    z-index: 10;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
}

.coverflow-item.left-1 {
    transform: translateX(-120px) translateZ(-80px) rotateY(35deg) scale(0.85);
    z-index: 9;
}

.coverflow-item.right-1 {
    transform: translateX(120px) translateZ(-80px) rotateY(-35deg) scale(0.85);
    z-index: 9;
}

.coverflow-item.left-2 {
    transform: translateX(-200px) translateZ(-160px) rotateY(50deg) scale(0.7);
    z-index: 8;
    opacity: 0.7;
}

.coverflow-item.right-2 {
    transform: translateX(200px) translateZ(-160px) rotateY(-50deg) scale(0.7);
    z-index: 8;
    opacity: 0.7;
}

.coverflow-item.left-3,
.coverflow-item.right-3,
.coverflow-item.hidden {
    opacity: 0;
    transform: translateX(300px) translateZ(-300px) rotateY(70deg) scale(0.5);
}

.indicators {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 8px 12px;
    border-radius: 20px;
    z-index: 2;
    margin: 8px 0;
}

.radio-indicator {
    text-align: center;
    transition: .3s;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 16px;
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
    margin-top: 4px;
    cursor: pointer;
}

.radio-indicator:first-of-type {
    margin-top: 0;
}

.radio-indicator.selected {
    color: var(--purple);
    font-weight: 600;
    font-size: 1.1em;
}

#program-indicator {
    font-weight: 600;
}

body.landing .container {
    position: relative;
    height: 50vh;
    min-height: 320px;
    max-height: 560px;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

#mute-button {
    position: fixed;
    top: 100px;
    right: 6%;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
}

#mute-button img {
    width: 48px;
}

.dial {
    position: absolute;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    user-select: none;
}

.dial:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.dial.dragging {
    transition: none;
    transform: scale(1.05);
    box-shadow: 0 10px 30px 0 rgba(131, 93, 246, 0.80);
    border-color: rgb(172, 149, 242);
}

.dial-outer {
    width: 100%;
    height: 100%;
    background: conic-gradient(from 3deg at 50% 50%, #B4B6C1 0deg, #e8e9ee 180deg, #B4B6C1 360deg);

    border: 8px solid #D9DADF;
}

.dial-middle {
    width: 70%;
    height: 70%;
    background: conic-gradient(from 0deg at 50% 50%, #B4B6C1 0deg, #e8e9ee 180deg, #B4B6C1 360deg);
    ;

    border: 6px solid #D9DADF;
}

.dial-inner {
    width: 40%;
    height: 40%;
    background: conic-gradient(from 0deg at 50% 50%, #B4B6C1 0deg, #e8e9ee 180deg, #B4B6C1 360deg);

    border: 4px solid #D9DADF;
}

.dial-marker {
    position: absolute;
    width: 4px;
    height: 25%;
    background: #fff;
    border-radius: 2px;
    top: 5%;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.dial-middle .dial-marker {
    width: 3px;
    height: 20%;
    top: 8%;
}

.dial-inner .dial-marker {
    width: 2px;
    height: 15%;
    top: 10%;
}

.center-dot {
    position: absolute;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 10;
    pointer-events: none;
}

.control-btn {
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    min-width: 80px;
    touch-action: manipulation;
}

.control-btn:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.control-btn:active {
    transform: translateY(0);
}

.rotation-display {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 10px 16px;
    border-radius: 15px;
    font-family: 'Courier New', monospace;
    font-size: 12px;
    backdrop-filter: blur(10px);
    z-index: 20;
}

.rotation-display dl {
    display: flex;
    gap: 15px;
    margin: 0;
}

.rotation-display dt {
    font-weight: bold;
    margin: 0;
}

.rotation-display dd {
    margin: 0;
}

#modal-overlay {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.4);
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.filter-modal,
#episode-modal {
    display: none;
    background-color: #fefefe;
    padding: 24px;
    border: 1px solid #888;
    width: 80%;
    max-width: 500px;
    border-radius: 5px;
    position: relative;
    max-height: 70vh;
    overflow: auto;
    scrollbar-width: 8px;
    scroll-behavior: smooth;
}

#episode-modal {
    max-width: 1200px;
}

#episode-modal img {
    width: 100%;
    margin-bottom: 24px;
}

#episode-modal>div {
    font-size: 20px;
    margin: 24px 0;
    line-height: 1.5;
}

.filter-modal::-webkit-scrollbar,
#episode-modal::-webkit-scrollbar {
    width: 8px;
}

.filter-modal::-webkit-scrollbar-track,
#episode-modal::-webkit-scrollbar-track {
    background: transparent;
}

.filter-modal::-webkit-scrollbar-thumb,
#episode-modal::-webkit-scrollbar-thumb {
    background: var(--grey);
    border-radius: 100px;
}

.filter-modal ul li,
#episode-modal ul li {
    margin-bottom: 24px;
    cursor: pointer;
}

body.landing .hide {
    display: none;
}

@media screen and (min-width: 1024px) {

    .coverflow-item {
        max-height: 360px;
    }
}

@media screen and (min-width: 800px) {
    #episode-modal>div {
        align-items: flex-start;
    }

    #episode-modal img {
        width: 30%;
        margin-bottom: 0;
        margin-right: 24px;
    }
}


/* --ABOUT PAGE STYLES-- */
#orange-blur-1 {
    position: absolute;
    top: -10vh;
    right: -80vw;
    mix-blend-mode: plus-lighter;
    opacity: .8;
    width: 200%;
    max-width: none;
}

#orange-blur-2 {
    position: absolute;
    right: -100vw;
    top: -30vh;
    mix-blend-mode: plus-lighter;
    opacity: .8;
    width: 300%;
    max-width: none;
    z-index: -1;
}

#blur-group-3 {
    mix-blend-mode: plus-lighter;
    position: absolute;
    left: -90vw;
    bottom: -40vh;
    width: 200%;
    max-width: none;
}

#blur-group-5 {
    mix-blend-mode: plus-lighter;
    position: absolute;
    left: -90vw;
    bottom: -40vh;
    width: 200%;
    max-width: none;
    z-index: -1;
}

#blur-group-6 {
    mix-blend-mode: plus-lighter;
    position: absolute;
    left: -90vw;
    top: 0;
    width: 400%;
    max-width: none;
    z-index: -1;
}

#purple-blur-1 {
    mix-blend-mode: plus-lighter;
    position: absolute;
    right: -110vw;
    top: 150vh;
    width: 200%;
    max-width: none;
    z-index: -1;
}

#purple-blur-3 {
    mix-blend-mode: plus-lighter;
    position: fixed;
    right: 0;
    top: 0;
    width: 200%;
    max-width: none;
    z-index: 1;
    pointer-events: none;
}

.call-out-stat {
    margin-top: 48px;
    margin-right: 80px;
    padding-left: 24px;
    border-left: 2px solid;
    border-image: linear-gradient(to bottom, var(--red), var(--purple)) 1;
}

.call-out-stat p:first-of-type {
    font-size: 48px;
    font-weight: 800;
    color: var(--white);
    line-height: 1;
}

.call-out-stat p:last-of-type {
    color: var(--white-70);
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1;
}

.about h3 {
    font-weight: 400;
}

.about p {
    max-width: 900px;
}

.about .splide {
    margin-bottom: 40px;
}

.about main>section,
.research main>section {
    margin-bottom: 100px;
}

.outcomes main>section {
    background-color: var(--black);
    margin: 48px 6%;
    color: var(--white);
    padding: 48px;
}

.outcomes main>section p {
    color: var(--white-70);
    font-weight: 300;
}

.outcomes main>section p a {
    color: var(--white);
}

.outcomes main>section p a:hover {
    color: var(--purple);
}

.outcomes main>section:first-of-type {
    background-color: transparent;
    color: inherit;
    padding: inherit;
    padding-top: 0;
}

.outcomes .connect-cta a {
    color: var(--white);
}

.about .staggered-splide {
    margin-bottom: 0;
}

.about .staggered-splide .splide__track {
    padding-bottom: 32%;
}

.about .staggered-carousel .splide__slide {
    width: 200px !important;
    margin-right: 24px;
}

.about .staggered-carousel .splide__slide[data-stagger="1"] {
    transform: translateY(20%);
}

.about .staggered-carousel .splide__slide[data-stagger="2"] {
    transform: translateY(28%);
}

.about .staggered-carousel .splide__slide[data-stagger="3"] {
    transform: translateY(20%);
}

.about .staggered-carousel .splide__slide[data-stagger="4"] {
    transform: translateY(8%);
}

.about .staggered-carousel .splide__slide[data-stagger="5"] {
    transform: translateY(16%);
}

.about .staggered-carousel .splide__slide[data-stagger="6"] {
    transform: translateY(0%);
}

.about .staggered-carousel .splide__slide[data-stagger="7"] {
    transform: translateY(12%);
}

.about .staggered-carousel .splide__slide figure {
    width: 100%;
}

.about .staggered-carousel .splide__slide img {
    width: 100%;
}

.about .partners {
    background-color: var(--white-12);
    margin-left: 6%;
    margin-right: 6%;
    padding: 32px;
}

.about .partners div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 32px 64px;
    justify-content: center;
    align-items: center;
}

.about .partners div a:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
}

.about .partners div a:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
}

.about .partners div a:nth-of-type(3) {
    grid-column: 1 / 3;
    grid-row: 3;
}

.about .partners div a:nth-of-type(4) {
    grid-column: 1;
    grid-row: 2;
}

.about .partners div a:nth-of-type(5) {
    grid-column: 2;
    grid-row: 2;
}

.about .partners div img {
    width: 100%;
}

.about-hero {
    padding-bottom: 0;
    margin-bottom: 48px;
}

.about .staff ul {
    display: grid;
    grid-template-columns: 1fr;
}

.about ul {
    font-size: 20px;
    margin: 40px 0;
}

.about ul li {
    margin-bottom: 24px;
    color: var(--white-60);
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: 400;
}

.about ul li span {
    font-weight: 600;
    color: var(--white);
    display: block;
    margin-bottom: 8px;
    font-size: 20px;
    letter-spacing: normal;
}

.research section>section {
    margin-bottom: 100px;
}

.research section>section:last-of-type {
    margin-bottom: 0;
}

.research .header-text {
    margin-bottom: 100px;
}

#definitions h2 {
    margin-bottom: 40px;
}

#definitions p {
    max-width: 900px;
}

.research-definition {
    transition: opacity 0.3s ease;
}

.outcomes a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.outcomes a span {
    margin-left: 4px;
}

.outcomes p {
    margin-bottom: 24px;
}

.listen-card {
    background-color: var(--white-12);
    padding: 32px;
    position: relative;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.listen-card::after {
    display: flex;
    content: '';
    background-image: url('../img/kxrw-logo.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -30%;
    right: -10%;
    width: 80%;
    aspect-ratio: 1/1;
    pointer-events: none;
    opacity: .12;
    z-index: -1;
}

.listen-card:nth-of-type(2)::after {
    background-image: url('../img/xray-logo.png');
}

.listen-card:nth-of-type(3)::after {
    background-image: url('../img/knom-logo.png');
}

.listen-card:nth-of-type(4)::after {
    background-image: url('../img/kaad-lp-logo.png');
}

.listen-card:nth-of-type(5)::after {
    background-image: url('../img/youtube-ico.svg');
}

.listen-card:nth-of-type(6)::after {
    background-image: url('../img/rir-logo.svg');
}

.podcasts {
    margin-top: 0
}


/* --About and Research Page Media Queries-- */
@media screen and (min-width: 800px) {
    #orange-blur-1 {
        top: -48vh;
        right: -24vw;
        width: 90%;
        z-index: -1;
    }

    #orange-blur-2 {
        right: -40vw;
        top: -32vh;
        width: 100%;
        z-index: -1;
    }

    #blur-group-3 {
        left: -27vw;
        bottom: -48vh;
        width: 70%;
        z-index: -1;
    }

    #blur-group-5 {
        left: -44vw;
        bottom: -30vh;
        width: 110%;
        z-index: -1;
    }

    #blur-group-6 {
        width: 180%;
    }

    #purple-blur-1 {
        position: absolute;
        right: -48vw;
        top: 12vh;
        width: 80%;
    }

    #purple-blur-3 {
        right: 0;
        top: -50vh;
        width: 150%;
    }

    .call-out-stat {
        margin-bottom: 40px;
    }

    .outcomes main>section {
        margin: 80px 12%;
    }

    .about .partners {
        margin-left: 12%;
        margin-right: 12%;
    }

    .research .header-text {
        margin-bottom: 0;
    }

    .about .staggered-splide .splide__track {
        padding-bottom: 8%;
    }

    .about .partners div {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        grid-template-rows: 1fr;
    }

    .about .partners div a:nth-of-type(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .about .partners div a:nth-of-type(2) {
        grid-column: 2;
        grid-row: 1;
    }

    .about .partners div a:nth-of-type(3) {
        grid-column: 3;
        grid-row: 1;
    }

    .about .partners div a:nth-of-type(4) {
        grid-column: 4;
        grid-row: 1;
    }

    .about .partners div a:nth-of-type(5) {
        grid-column: 5;
        grid-row: 1;
    }

    .about .staff ul {
        grid-template-columns: 1fr 1fr;
    }
}


/* --EPISODES PAGE STYLES-- */
/* --Episode Archive Isotope-- */
#blur-group-4 {
    position: absolute;
    top: -16vh;
    right: -80vw;
    max-width: none;
    width: 200%;
    mix-blend-mode: plus-lighter;
}

.filter-button-group {
    display: flex;
    flex-direction: row;
    position: relative;
    z-index: 5;
}

.filter-button-group button:hover {
    background: rgba(255, 255, 255, 0.1);
}

.filter-button-group button.is-checked,
.button-group button.is-checked {
    background: var(--purple);
    color: var(--white);
}

.episode-card.isotope-hidden {
    pointer-events: none;
    opacity: 0;
}

.episode-archive-container {
    transition: height 0.4s ease;
}

.episode-archive-container.isotope {
    transition-property: height;
    transition-duration: 0.2s;
}

.episode-card {
    background-color: var(--white-12);
    backdrop-filter: blur(6px);
    transition: all 0.4s ease;
    width: 88%;
    padding: 16px;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 24px;
    margin-bottom: 48px;
    box-sizing: border-box;
}

.episode-card:hover {
    transition: all 0.4s ease;
    transform: scale(1.012);
    color: var(--white);
}

.episode-card:hover a {
    color: var(--white);
}

.episode-card img {
    aspect-ratio: 1 / 1;
    width: 100%;
}

.episode-card p {
    font-size: 16px;
}

.episode-card .episode-card-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.episode-card .episode-card-info header {
    margin-bottom: 24px;
}

.episode-card .episode-card-info header h3 {
    margin-bottom: 12px;
    font-size: 24px;
}

.episode-card .episode-card-info header h4 {
    font-size: 20px;
}

.episode-card .episode-card-info div {
    display: flex;
    flex-direction: row;
    margin-bottom: 24px;
}

.episode-card .episode-card-info div p {
    margin-right: 24px;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 2px;
}

.episode-card .episode-card-info p {
    color: var(--grey);
}

@media screen and (min-width: 800px) {
    #blur-group-4 {
        top: -55vh;
        right: -50vw;
        width: 120%;
    }

    .episode-card {
        width: 76%;
        padding: 20px;
        grid-template-columns: auto auto;
    }

    .episode-card img {
        max-width: 240px;
    }
}


/* --EPISODE PAGE STYLES-- */


.episode-page main {
    padding-top: 0;
}

.episode-page p {
    margin-bottom: 24px;
    width: 94%;
    max-width: 900px;
}

.episode-page h3 {
    max-width: 800px;
    line-height: 1.28;
}

.episode-page h4 {
    margin-top: 56px;
}

.episode-page ul {
    font-size: 20px;
}

.episode-page ul li {
    margin-left: 24px;
    margin-bottom: 24px;
    color: rgba(0, 0, 0, 0.5);
    font-weight: 400;
    line-height: 1.5;
}

.episode-page audio {
    margin: 12px 24px 24px 0;
}

.episode-scripts {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.episode-scripts a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-weight: 600;
}

.episode-scripts a img {
    transition: .3s;
}

.episode-scripts a:hover img {
    transform: translateY(4px);
}

.episode-scripts img {
    width: 16px;
    opacity: .7;
}

.episode-page main>header {
    position: relative;
    background-image: url(../episodes/frequency-43/images/rir-frequency-43-landscape.jpg);
    background-position: center;
    background-size: 200%;
    background-repeat: no-repeat;
    background-position: center;
    padding: 32px 6%;
    padding-top: 120px;
    margin-bottom: 24px;
}

.episode-header-mask {
    height: 100%;
    width: 100%;
    background-color: var(--black-48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    will-change: opacity, transform;
    backface-visibility: hidden;
    transform: translateZ(0);
}

.episode-page main>header h2,
.episode-page main>header .episode-num,
.episode-page main>header p,
.episode-page main>header iframe {
    position: relative;
    z-index: 1;
    color: var(--white);
}

.episode-page main>header h2 {
    font-size: 2.2em;
}

.episode-info-container {
    display: flex;
    flex-direction: row;
    margin: 20px 0;
}

.episode-info-container p {
    margin-bottom: 0;
    width: auto;
}

.episode-info-container .episode-num {
    margin-right: 40px;
}

.button-group h5 {
    color: var(--black-72);
}

.splide__slide {
    width: auto !important;
    margin-right: 40px;
}

.splide__slide img {
    height: 400px;
    width: auto;
    object-fit: contain;
    display: block;
}

#metadata {
    width: 100%;
}

#metadata h6 {
    font-size: 18px;
    margin-bottom: 12px;
    line-height: 1.25;
    color: var(--black-70);
}

#metadata h6 strong {
    color: var(--black);
    font-weight: 600;
}


/* --Episode Page Media Queries-- */
@media screen and (min-width: 800px) {
    .episode-page main>header {
        padding: 32px 12%;
        padding-top: 120px;
    }

    .episode-page main>header h2 {
        font-size: 3em;
    }

    .episode-page p {
        width: 72%;
    }

    .episode-info-container p {
        width: auto;
    }

    #metadata {
        width: 44%;
    }
}

footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 48px 6%;
    background-color: var(--black);
}

footer .socials {
    display: flex;
}

footer .socials a {
    margin-right: 24px;
}

footer img {
    max-width: 800px;
    width: 100%;
}

footer nav {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
}

footer nav a {
    color: rgba(255, 255, 255, 0.48) !important;
}


/* --Footer Media Queries-- */
@media screen and (min-width: 800px) {
    footer {
        grid-template-columns: 6fr .75fr;
        grid-template-rows: 1fr 1fr;
    }

    footer .socials {
        grid-column: 1;
        grid-row: 1;
    }

    footer>img {
        grid-column: 1;
        grid-row: 2;
        max-width: 620px;
    }

    footer nav {
        flex-direction: column;
        grid-column: 2;
        grid-row: 1 / 3;
        padding: 6% 0
    }
}