.protocol-trailer.trailer-section {
    background: #050506 !important;
    display: block !important;
    margin: clamp(6rem, 8vw, 7.25rem) auto clamp(4rem, 7vw, 6.5rem) !important;
    max-width: 1320px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    width: calc(100% - 8rem) !important;
}

.protocol-trailer.trailer-section::before,
.protocol-trailer.trailer-section::after {
    display: none !important;
}

.protocol-trailer.trailer-section::before {
    background: none !important;
}

.protocol-trailer.trailer-section::after {
    background: none !important;
}

.protocol-trailer .trailer-shell {
    background: #050506 !important;
    border: 0 !important;
    min-height: clamp(540px, 74vh, 760px) !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

.protocol-trailer .trailer-shell::before {
    background:
        linear-gradient(90deg, rgba(5, 5, 6, 0.84) 0%, rgba(5, 5, 6, 0.48) 34%, rgba(5, 5, 6, 0.12) 70%, rgba(5, 5, 6, 0.3) 100%),
        linear-gradient(0deg, rgba(5, 5, 6, 0.7) 0%, rgba(5, 5, 6, 0.08) 56%, rgba(5, 5, 6, 0.24) 100%) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 4 !important;
}

.protocol-trailer .trailer-shell::after {
    border: 1px solid rgba(240, 236, 225, 0.09) !important;
    content: "" !important;
    inset: clamp(0.75rem, 2vw, 1.5rem) !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 4 !important;
}

.protocol-trailer .trailer-video {
    background: #050506 !important;
    border: 0 !important;
    filter: none !important;
    height: 100% !important;
    inset: 0 !important;
    object-fit: cover !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: absolute !important;
    transform: scale(1.02) !important;
    user-select: none !important;
    width: 100% !important;
}

.protocol-trailer .trailer-chrome-mask {
    left: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 0 !important;
    z-index: 3 !important;
}

.protocol-trailer .trailer-chrome-mask-top {
    background: linear-gradient(180deg, #050506 0%, #050506 28%, rgba(5, 5, 6, 0.92) 62%, rgba(5, 5, 6, 0.16) 100%) !important;
    height: clamp(118px, 18vh, 188px) !important;
    top: -1px !important;
}

.protocol-trailer .trailer-chrome-mask-bottom {
    background: linear-gradient(0deg, #050506 0%, #050506 30%, rgba(5, 5, 6, 0.9) 64%, rgba(5, 5, 6, 0.14) 100%) !important;
    bottom: -1px !important;
    height: clamp(110px, 17vh, 176px) !important;
}

.protocol-trailer .trailer-poster-veil {
    animation: trailerPosterReveal 3.2s ease 1.35s forwards !important;
    background:
        linear-gradient(90deg, rgba(5, 5, 6, 0.96) 0%, rgba(5, 5, 6, 0.62) 42%, rgba(5, 5, 6, 0.18) 100%),
        linear-gradient(0deg, rgba(5, 5, 6, 0.82), rgba(5, 5, 6, 0.34)),
        var(--trailer-poster, url("cover-pictures/protocol-midnight.png")) center / cover no-repeat !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 2 !important;
}

@keyframes trailerPosterReveal {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

.protocol-trailer .trailer-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    max-width: min(650px, 88vw) !important;
    min-height: inherit !important;
    padding: clamp(3.5rem, 6.5vw, 6rem) clamp(1.5rem, 6vw, 5.25rem) !important;
    position: relative !important;
    z-index: 5 !important;
}

.protocol-trailer .trailer-kicker {
    color: #c9a05b !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    margin-bottom: 0.85rem !important;
    text-transform: uppercase !important;
}

.protocol-trailer .trailer-title {
    color: #f0ece1 !important;
    font-family: var(--font-editorial, "Playfair Display", serif) !important;
    font-size: clamp(2.55rem, 5.2vw, 5rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.02 !important;
    margin: 0 0 1rem !important;
    max-width: 12ch !important;
    text-wrap: balance;
    text-shadow: 0 4px 24px rgba(0, 0, 0, 0.86);
}

.protocol-trailer .trailer-description {
    color: rgba(240, 236, 225, 0.7) !important;
    font-size: clamp(0.92rem, 1.25vw, 1.05rem) !important;
    line-height: 1.58 !important;
    margin: 0 0 1.45rem !important;
    max-width: 520px !important;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.82);
}

.protocol-trailer .trailer-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.55rem !important;
}

.protocol-trailer .trailer-full-btn,
.protocol-trailer .trailer-sound-btn,
.protocol-trailer .trailer-play-btn {
    display: none !important;
}

.protocol-trailer .trailer-feature-rail {
    display: flex !important;
    gap: 0 !important;
    margin-top: clamp(1.65rem, 2.8vw, 2.4rem) !important;
    max-width: min(620px, 100%) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0.8rem 0 0.35rem !important;
    position: relative !important;
    scroll-padding-left: 0 !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: thin !important;
}

.protocol-trailer .trailer-feature-rail::before {
    background: linear-gradient(90deg, rgba(201, 160, 91, 0.72), rgba(240, 236, 225, 0.1), transparent) !important;
    content: "" !important;
    height: 1px !important;
    left: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
}

.protocol-trailer .trailer-feature-rail::-webkit-scrollbar {
    height: 5px !important;
}

.protocol-trailer .trailer-feature-rail::-webkit-scrollbar-track {
    background: rgba(240, 236, 225, 0.07) !important;
}

.protocol-trailer .trailer-feature-rail::-webkit-scrollbar-thumb {
    background: rgba(201, 160, 91, 0.5) !important;
    border-radius: 999px !important;
}

.protocol-trailer .trailer-feature-card {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(240, 236, 225, 0.12) !important;
    border-radius: 0 !important;
    color: #f0ece1 !important;
    display: grid !important;
    flex: 0 0 min(190px, 62vw) !important;
    gap: 0.62rem !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    min-height: 54px !important;
    padding: 0.18rem 1rem 0.18rem 0.85rem !important;
    scroll-snap-align: start !important;
    text-align: left !important;
    transition: border-color 0.22s ease, opacity 0.22s ease, transform 0.22s ease !important;
}

.protocol-trailer .trailer-feature-card:hover,
.protocol-trailer .trailer-feature-card:focus-visible,
.protocol-trailer .trailer-feature-card.is-active {
    border-color: rgba(201, 160, 91, 0.74) !important;
    opacity: 1 !important;
}

.protocol-trailer .trailer-feature-card:hover,
.protocol-trailer .trailer-feature-card:focus-visible {
    transform: translateY(-2px) !important;
}

.protocol-trailer .trailer-feature-index {
    color: rgba(201, 160, 91, 0.9) !important;
    font-size: 0.62rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
}

.protocol-trailer .trailer-feature-thumb {
    aspect-ratio: 9 / 16 !important;
    background: #050506 !important;
    border-radius: 4px !important;
    display: none !important;
    height: 42px !important;
    overflow: hidden !important;
    width: 34px !important;
}

.protocol-trailer .trailer-feature-thumb img {
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

.protocol-trailer .trailer-feature-meta {
    display: grid !important;
    gap: 0.18rem !important;
    min-width: 0 !important;
}

.protocol-trailer .trailer-feature-label {
    color: rgba(201, 160, 91, 0.82) !important;
    font-size: 0.56rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
}

.protocol-trailer .trailer-feature-title {
    color: rgba(240, 236, 225, 0.88) !important;
    display: -webkit-box !important;
    font-family: var(--font-editorial, "Playfair Display", serif) !important;
    font-size: 0.9rem !important;
    line-height: 1.14 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.protocol-trailer .trailer-control {
    align-items: center !important;
    background: rgba(240, 236, 225, 0.92) !important;
    border: 1px solid rgba(240, 236, 225, 0.5) !important;
    border-radius: 999px !important;
    color: #050506 !important;
    display: inline-flex !important;
    gap: 0.55rem !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 1.2rem !important;
    position: relative !important;
    z-index: 3 !important;
}

.protocol-trailer .trailer-control:hover,
.protocol-trailer .trailer-control:focus-visible {
    background: #c9a05b !important;
    border-color: rgba(201, 160, 91, 0.9) !important;
    transform: translateY(-2px) !important;
}

.protocol-trailer .trailer-control svg {
    height: 16px !important;
    width: 16px !important;
}

.protocol-trailer .trailer-control-label {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.protocol-video-modal {
    align-items: center;
    background: rgba(2, 2, 3, 0.94);
    display: none;
    inset: 0;
    justify-content: center;
    padding: clamp(0.75rem, 3vw, 2rem);
    position: fixed;
    z-index: 999999;
}

.protocol-video-modal.is-open {
    display: flex;
}

.protocol-video-modal-inner {
    background: #050506;
    border: 1px solid rgba(240, 236, 225, 0.14);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.72);
    max-height: min(92vh, 980px);
    max-width: min(1200px, 96vw);
    position: relative;
    width: 100%;
}

.protocol-video-modal iframe {
    aspect-ratio: 9 / 16;
    border: 0;
    background: #000;
    display: block;
    max-height: 92vh;
    object-fit: contain;
    width: min(96vw, 520px);
    margin: 0 auto;
}

.protocol-cover-preview-ready {
    overflow: hidden !important;
    position: relative !important;
}

.protocol-cover-video {
    aspect-ratio: 9 / 16;
    background: #050506;
    border: 0;
    height: 100%;
    inset: 0;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: scale(1.01);
    transition: opacity 0.28s ease;
    width: 100%;
    z-index: 2;
}

.protocol-cover-preview-ready.is-preview-playing .protocol-cover-video {
    opacity: 1;
}

.protocol-video-close {
    align-items: center;
    background: rgba(5, 5, 6, 0.78);
    border: 1px solid rgba(240, 236, 225, 0.2);
    border-radius: 999px;
    color: #f0ece1;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    width: 42px;
    z-index: 2;
}

body.protocol-video-open {
    overflow: hidden !important;
}

@media (max-width: 900px) {
    .protocol-trailer.trailer-section {
        margin-bottom: 3rem !important;
        margin-top: 5rem !important;
        width: calc(100% - 2rem) !important;
    }

    .protocol-trailer .trailer-shell {
        min-height: clamp(590px, 78vh, 720px) !important;
    }

    .protocol-trailer .trailer-shell::before {
        background:
            linear-gradient(0deg, rgba(5, 5, 6, 0.88) 0%, rgba(5, 5, 6, 0.58) 42%, rgba(5, 5, 6, 0.18) 78%, rgba(5, 5, 6, 0.3) 100%),
            linear-gradient(90deg, rgba(5, 5, 6, 0.34), rgba(5, 5, 6, 0.04)) !important;
    }

    .protocol-trailer .trailer-shell::after {
        inset: 0.75rem !important;
    }

    .protocol-trailer .trailer-chrome-mask-top {
        height: 96px !important;
    }

    .protocol-trailer .trailer-chrome-mask-bottom {
        height: 100px !important;
    }

    .protocol-trailer .trailer-video {
        object-position: center center !important;
    }

    .protocol-trailer .trailer-copy {
        max-width: none !important;
        padding: 4.75rem 1.25rem 1.65rem !important;
    }

    .protocol-trailer .trailer-title {
        font-size: clamp(2.1rem, 9.2vw, 3.35rem) !important;
        line-height: 1.04 !important;
        margin-bottom: 0.8rem !important;
        max-width: 10.5ch !important;
    }

    .protocol-trailer .trailer-kicker {
        font-size: 0.62rem !important;
        margin-bottom: 0.65rem !important;
    }

    .protocol-trailer .trailer-description {
        display: -webkit-box !important;
        font-size: 0.92rem !important;
        line-height: 1.5 !important;
        margin-bottom: 1.25rem !important;
        max-width: 34ch !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    .protocol-trailer .trailer-actions {
        display: flex !important;
    }

    .protocol-trailer .trailer-control {
        min-height: 44px !important;
        min-width: 0 !important;
        padding: 0 1.05rem !important;
    }

    .protocol-trailer .trailer-feature-rail {
        gap: 0 !important;
        margin-left: -0.25rem !important;
        margin-right: -1.25rem !important;
        margin-top: 1.35rem !important;
        max-width: none !important;
        padding-left: 0.25rem !important;
        padding-right: 1.25rem !important;
        scroll-padding-left: 0.25rem !important;
        scrollbar-width: none !important;
    }

    .protocol-trailer .trailer-feature-rail::-webkit-scrollbar {
        display: none !important;
    }

    .protocol-trailer .trailer-feature-card {
        flex-basis: min(178px, 52vw) !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        min-height: 50px !important;
        padding: 0.3rem 0.8rem 0.3rem 0.7rem !important;
    }

    .protocol-trailer .trailer-feature-thumb {
        display: none !important;
    }

    .protocol-trailer .trailer-feature-title {
        font-size: 0.84rem !important;
        -webkit-line-clamp: 2 !important;
    }
}
