/* Reset */
* { margin: 0; padding: 0; box-sizing: border-box; }

body { 
    background-color: #000; 
    font-family: 'Helvetica Neue', sans-serif; 
    /* Allow scrolling if list is too long */
    overflow-y: hidden; 
    -webkit-font-smoothing: antialiased;
}

/* --- VIDEO LAYER --- */
#bg-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    z-index: 1;
    opacity: 0.8; 
}

/* --- MASK LAYER --- */
.stencil-mask {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100vh; 
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-y: auto; 
    background-color: #000; 
    mix-blend-mode: multiply; 
    padding: 40px 20px;
    
    /* FIX FOR MOBILE RENDERING: */
    isolation: isolate; 
    transform: translate3d(0,0,0);
}

/* --- LINKS --- */
.partners-list a {
    display: block;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 900;
    line-height: 1.0; 
    font-size: clamp(2rem, 5.5vw, 5.5rem);
    color: #fff; 
    transition: transform 0.3s ease, color 0.3s ease;
    
    /* FIX FOR MOBILE HIGHLIGHT: */
    -webkit-tap-highlight-color: transparent; 
    
    /* Ensure focus doesn't turn it blue/black */
    outline: none; 
}

/* Force color on focus/active to stay white */
.partners-list a:focus,
.partners-list a:active {
    color: #fff;
    outline: none;
}
.content-wrapper {
    text-align: center;
    width: 100%;
    max-width: 1400px;
    /* Ensure content doesn't get cut off if scrolling is needed */
    margin: auto 0; 
}

h3 {
    color: #666;
    font-size: clamp(0.7rem, 1.5vw, 0.9rem);
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 3vh;
}

/* --- LIST --- */
.partners-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center; 
}

.partners-list li {
    /* Tighter spacing for 10 items */
    margin: 0.2vh 0; 
}

.partners-list a {
    display: block;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 900;
    line-height: 1.0; /* Tighter line height */
    
    /* UPDATED CLAMP: Smaller min/max to fit 10 items */
    /* Min: 2rem (Phone), Preferred: 5.5vw, Max: 5.5rem (Desktop) */
    font-size: clamp(2rem, 5.5vw, 5.5rem);
    
    color: #fff; 
    transition: transform 0.3s ease, color 0.3s ease;
    
    -webkit-tap-highlight-color: transparent; 
    outline: none;
    cursor: pointer;
}

/* --- INTERACTION STATES --- */
.partners-list.has-active-item a {
    color: #333; /* Dim others */
}

.partners-list a.is-active {
    color: #fff !important; 
    transform: scale(1.05);
}

/* --- MOBILE / TABLET --- */
@media (max-width: 768px) {
    body {
        /* On mobile, allow body scroll */
        overflow-y: auto;
    }
    
    .stencil-mask {
        align-items: flex-start; /* Start text at top */
        padding-top: 100px;
        height: auto; /* Allow mask to grow with content */
        min-height: 100vh;
        overflow-y: visible; /* Let content flow */
    }

    .partners-list li {
        margin: 1.5vh 0; /* More breathing room on mobile scroll */
    }
    
    .partners-list a:active {
        transform: scale(0.98);
    }
}