.video-launch {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    max-width: 100%;
    margin: 0.38rem 0;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(214, 179, 108, 0.5);
    background: rgba(226, 188, 111, 0.1);
    color: var(--gold-bright);
    font: 500 0.98rem/1.3 var(--serif);
    text-align: left;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.video-launch:hover,.video-launch:focus-visible { border-color: var(--gold); background: rgba(226, 188, 111, 0.2); color: #fff; transform: translateY(-1px); }
.video-launch__play { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; color: var(--gold); font: 0.66rem/1 var(--sans); }
.video-launch__label { min-width: 0; }
.video-dialog { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); background: rgba(0, 0, 0, 0.84); }
.video-dialog__panel { position: relative; width: min(100%, 70rem); background: #0b0907; border: 1px solid rgba(214, 179, 108, 0.58); box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.6); }
.video-dialog__close { position: absolute; z-index: 1; top: -0.8rem; right: -0.8rem; display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border: 1px solid var(--gold); border-radius: 50%; background: #17120d; color: var(--gold-bright); font-size: 1.25rem; cursor: pointer; }
.video-dialog__frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #000; }
@media (max-width: 700px) { .video-launch { width: 100%; } .video-dialog { padding: 1rem; } .video-dialog__close { top: 0.5rem; right: 0.5rem; } }
