.rl-launch-page {
    min-height: 100vh;
    overflow-x: hidden;
}

.rl-launch-header {
    position: relative;
    z-index: var(--rl-z-header);
    border-bottom: var(--rl-border-width) solid var(--rl-colour-border);
    background: var(--rl-colour-surface);
}

.rl-launch-header__inner {
    display: flex;
    min-height: 4.5rem;
    align-items: center;
    justify-content: space-between;
    gap: var(--rl-space-3);
}

.rl-launch-header__action {
    flex: 0 0 auto;
    padding-inline: var(--rl-space-4);
}

.rl-launch-hero {
    padding-block: var(--rl-space-12) var(--rl-space-16);
    background: linear-gradient(180deg, var(--rl-colour-action-soft), var(--rl-colour-background));
}

.rl-launch-hero__grid {
    display: grid;
    align-items: center;
    gap: var(--rl-space-10);
}

.rl-launch-hero__content {
    min-width: 0;
}

.rl-launch-hero__title {
    max-width: var(--rl-content-narrow);
    margin-block-end: var(--rl-space-5);
    font-size: var(--rl-font-size-title);
    line-height: var(--rl-line-height-tight);
    overflow-wrap: anywhere;
}

.rl-launch-hero__copy {
    max-width: var(--rl-content-form);
    margin-block-end: var(--rl-space-8);
    color: var(--rl-colour-text-secondary);
    font-size: var(--rl-font-size-lead);
}

.rl-launch-actions {
    display: grid;
    gap: var(--rl-space-3);
}

.rl-launch-actions .rl-button {
    width: 100%;
    min-height: 3rem;
}

.rl-launch-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-block-start: var(--rl-space-6);
    gap: var(--rl-space-3);
    color: var(--rl-colour-text-secondary);
    font-size: var(--rl-font-size-sm);
}

.rl-launch-summary {
    min-width: 0;
    padding: var(--rl-space-5);
    border: var(--rl-border-width) solid var(--rl-colour-border);
    border-radius: var(--rl-radius-panel);
    background: var(--rl-colour-surface);
    box-shadow: var(--rl-shadow-panel);
}

.rl-launch-summary__header {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    align-items: center;
    margin-block-end: var(--rl-space-6);
    gap: var(--rl-space-4);
}

.rl-launch-summary__header :is(.rl-eyebrow, h2) {
    margin-block-end: 0;
}

.rl-launch-summary__header h2 {
    font-size: var(--rl-font-size-subheading);
}

.rl-launch-summary__mark {
    width: 3.5rem;
    height: 3.5rem;
}

.rl-launch-participant-card {
    position: relative;
    min-width: 0;
    padding-block-start: var(--rl-space-10);
}

.rl-launch-card__index {
    position: absolute;
    top: var(--rl-space-5);
    right: var(--rl-space-5);
    color: var(--rl-colour-action-hover);
    font-size: var(--rl-font-size-xs);
    font-variant-numeric: tabular-nums;
    font-weight: var(--rl-font-weight-bold);
    letter-spacing: var(--rl-letter-spacing-label);
}

.rl-launch-cta {
    display: grid;
    align-items: center;
    gap: var(--rl-space-6);
}

.rl-launch-cta h2 {
    margin-block-end: var(--rl-space-3);
}

.rl-launch-cta .rl-button {
    width: 100%;
    min-height: 3rem;
}

.rl-launch-footer {
    border-top: var(--rl-border-width) solid var(--rl-colour-border);
    background: var(--rl-colour-brand-navy);
    color: var(--rl-colour-on-action);
}

.rl-launch-footer__inner {
    display: grid;
    padding-block: var(--rl-space-8);
    gap: var(--rl-space-5);
}

.rl-launch-footer p {
    margin: 0;
}

.rl-launch-footer__links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--rl-space-2) var(--rl-space-5);
}

.rl-launch-footer__links a {
    display: inline-flex;
    min-height: var(--rl-touch-target);
    align-items: center;
    color: var(--rl-colour-on-action);
    font-weight: var(--rl-font-weight-semibold);
}

@media (min-width: 40rem) {
    .rl-launch-hero {
        padding-block: var(--rl-space-16);
    }

    .rl-launch-actions {
        display: flex;
        flex-wrap: wrap;
    }

    .rl-launch-actions .rl-button,
    .rl-launch-cta .rl-button {
        width: auto;
    }

    .rl-launch-summary {
        padding: var(--rl-space-8);
    }

    .rl-launch-footer__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .rl-launch-footer__links {
        justify-content: flex-end;
    }
}

@media (min-width: 64rem) {
    .rl-launch-hero {
        padding-block: var(--rl-space-20);
    }

    .rl-launch-hero__grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(24rem, 0.95fr);
        gap: var(--rl-space-16);
    }

    .rl-launch-summary .rl-workflow {
        grid-template-columns: 1fr;
    }

    .rl-launch-summary .rl-workflow__step {
        grid-template-columns: var(--rl-touch-target) 1fr;
        justify-items: start;
        text-align: start;
    }

    .rl-launch-summary .rl-workflow__step:not(:last-child)::after {
        top: var(--rl-touch-target);
        right: auto;
        bottom: calc(var(--rl-space-4) * -1);
        left: calc((var(--rl-touch-target) - var(--rl-workflow-line)) / 2);
        width: var(--rl-workflow-line);
        height: auto;
    }

    .rl-launch-cta {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: var(--rl-space-10);
    }
}

@media print {
    .rl-launch-header__action,
    .rl-launch-actions,
    .rl-launch-cta .rl-button {
        display: none;
    }

    .rl-launch-footer {
        border-color: var(--rl-colour-border);
        background: var(--rl-colour-surface);
        color: var(--rl-colour-text);
    }

    .rl-launch-footer__links a {
        color: var(--rl-colour-text);
    }
}
