@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@200;300&display=swap');

.jury-wrap {
    background: #000;
    width: 100%;
    padding: 60px 24px;
    font-family: 'Outfit', sans-serif;
}

@media (min-width: 600px) {
    .jury-wrap { padding: 80px 48px; }
}

.jury-label {
    font-size: 11px;
    letter-spacing: 0.3em;
    color: #ffffff;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-weight: 300;
    text-align: center;
}

.jury-manifest {
    font-size: clamp(32px, 3.5vw, 72px);
    font-weight: 100;
    color: #cacaca;
    line-height: 1.15;
    letter-spacing: -0.01em;
    max-width: 1100px;
    margin: 0 auto 64px;
    text-align: center;
}

.jury-manifest em {
    color: #c0000a;
    font-style: normal;
}

/* Rows */
.jury-row {
    border-top: 1px solid #141414;
    cursor: pointer;
    overflow: hidden;
}
.jury-row:last-child { border-bottom: 1px solid #141414; }

.jury-row-inner {
    display: flex;
    align-items: center;
    padding: 20px 0;
}

.jury-num {
    font-size: 10px;
    letter-spacing: 0.15em;
    color: #cacaca;
    width: 36px;
    flex-shrink: 0;
    font-weight: 300;
}

.jury-name {
    font-size: clamp(18px, 4vw, 40px);
    font-weight: 200;
    color: #cacaca;
    flex: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

.jury-row:hover .jury-name,
.jury-row.open .jury-name { color: #999; }

.jury-role { display: none; }

@media (min-width: 600px) {
    .jury-role {
        display: block;
        font-size: 10px;
        letter-spacing: 0.12em;
        color: #cacaca;
        text-transform: uppercase;
        margin-right: 20px;
        font-weight: 300;
        transition: color 0.3s;
    }
}

.jury-arrow {
    font-size: 18px;
    color: #cacaca;
    transition: transform 0.4s cubic-bezier(0.76, 0, 0.24, 1), color 0.3s;
    line-height: 1;
    font-weight: 200;
    flex-shrink: 0;
}
.jury-row:hover .jury-arrow { color: #555; }
.jury-row.open .jury-arrow { transform: rotate(45deg); color: #c0000a; }

/* Reveal */
.jury-reveal {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.6s cubic-bezier(0.76, 0, 0.24, 1), padding 0.6s cubic-bezier(0.76, 0, 0.24, 1);
    padding: 0 0 0 36px;
}
.jury-row.open .jury-reveal { max-height: 600px; padding: 16px 0 36px 36px; }

.jury-reveal-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
@media (min-width: 600px) {
    .jury-reveal-inner { flex-direction: row; gap: 40px; align-items: flex-start; }
}

/* Photo */
.jury-photo {
    width: 120px; height: 120px; flex-shrink: 0;
    overflow: hidden; background: #0d0d0d;
    transform: translateY(-12px); opacity: 0;
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1) 0.1s, opacity 0.4s ease 0.1s;
}
@media (min-width: 600px) {
    .jury-photo { width: 150px; height: 150px; transform: translateX(-24px); }
}
.jury-row.open .jury-photo { transform: translateX(0) translateY(0); opacity: 1; }

.jury-photo img {
    width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%);
}

.jury-photo-placeholder {
    width: 100%; height: 100%; background: #111;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; color: #2a2a2a; font-weight: 200; font-family: 'Outfit', sans-serif;
}

/* Bio */
.jury-bio {
    flex: 1; opacity: 0; transform: translateY(8px);
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1) 0.2s, opacity 0.4s ease 0.2s;
}
@media (min-width: 600px) {
    .jury-bio { transform: translateX(-16px) translateY(0); }
}
.jury-row.open .jury-bio { transform: translateX(0) translateY(0); opacity: 1; }

.jury-bio-name { font-size: 11px; font-weight: 300; color: #fff; margin-bottom: 4px; letter-spacing: 0.2em; text-transform: uppercase; }
.jury-bio-role { font-size: 10px; letter-spacing: 0.15em; color: #c0000a; text-transform: uppercase; margin-bottom: 14px; font-weight: 300; }
.jury-bio-text { font-size: 11px; line-height: 2; color: #fff; text-align: justify; font-weight: 300; }

/* Placeholder */
.jury-row.placeholder { cursor: default; pointer-events: none; }
.jury-row.placeholder .jury-name { color: #1a1a1a; }

.jury-tba { font-size: 10px; letter-spacing: 0.25em; color: #ffffff; text-transform: uppercase; margin-right: 8px; font-weight: 300; }
