/* Match the final Index section's layout and container-based typography. */
.capability-section--offer > .capability-offer-copy[data-demo-copy],
.capability-section--offer > .capability-offer-copy[data-demo-copy] > h2,
.capability-section--offer > .capability-offer-copy[data-demo-copy] > p {
    text-align: left;
    white-space: normal;
    word-spacing: normal;
}

.capability-section--offer > .capability-offer-copy[data-demo-copy] > p {
    max-width: 100%;
    margin: 0;
    text-wrap: wrap;
}

.capability-section.capability-section--offer,
#sequence-stage.capability-section--najima {
    position: relative;
    height: 100vh;
    height: 100svh;
    min-height: 0;
    max-width: 1758px;
    margin-inline: auto;
    padding: 0 4vw;
    gap: 0;
}

.capability-section--offer > .capability-offer-copy,
#sequence-stage > .sequence-copy {
    container-type: inline-size;
    flex: none;
    width: min(560px, 44%);
    max-width: none;
    margin: 0 0 0 auto;
    min-height: 0;
    text-align: left;
}

#sequence-stage > .sequence-copy {
    margin: 0 auto 0 0;
}

.capability-section-copy.capability-offer-copy h2,
#sequence-stage .sequence-copy h2,
#embedded-works-title {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    font-size: clamp(2.06rem, 3.3vw, 3.09rem);
    line-height: 1.12;
    margin-bottom: clamp(1rem, 4.3cqw, 1.5rem);
    overflow-wrap: break-word;
    text-wrap: balance;
    word-spacing: normal;
}

#embedded-works-title {
    font-size: clamp(1.8rem, 2.9vw, 2.7rem);
}

.capability-offer-copy > p,
#sequence-stage .sequence-copy p {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.15rem, 1.5vw, 1.35rem);
    line-height: 1.6;
    text-wrap: pretty;
}

#sequence-stage .sequence-copy p {
    margin: 0;
    word-spacing: normal;
}

#sequence-stage .sequence-copy-break {
    display: none;
}

#sequence-stage .sequence-copy a {
    margin-left: 0;
    margin-top: clamp(1.5rem, 4.3cqw, 2rem);
    font-size: clamp(1rem, 3.6cqw, 1.16rem);
}

.capability-offer-copy .capability-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 4.3cqw, 1.5rem);
    margin-top: clamp(1rem, 4.3cqw, 1.5rem);
}

.capability-offer-copy .capability-list-block:nth-child(n) {
    margin: 0;
}

.capability-offer-copy .capability-list-block h3 {
    margin: 0 0 0.6rem;
    font-size: clamp(1rem, 4.3cqw, 1.35rem);
}

.capability-offer-copy .capability-list-text {
    font-size: clamp(1rem, 3.6cqw, 1.16rem);
    overflow-wrap: break-word;
}

.capability-section--offer > .receipt-showcase-card,
#sequence-stage > .video-card {
    position: absolute;
    top: calc(50% + 20px);
    left: 4vw;
    width: min(600px, 43vw);
    min-width: 0;
    max-width: none;
    height: auto;
    aspect-ratio: 1;
    margin: 0;
    transform: translateY(-50%);
}

#sequence-stage > .video-card {
    left: auto;
    right: 4vw;
}

@media (max-width: 1024px) {
    .capability-section--offer > .capability-offer-copy[data-demo-copy],
    .capability-section--offer > .capability-offer-copy[data-demo-copy] > h2,
    .capability-section--offer > .capability-offer-copy[data-demo-copy] > p {
        text-align: center;
    }

    .capability-section.capability-section--offer,
    #sequence-stage.capability-section--najima {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(1.5rem, 4svh, 2.5rem);
        height: auto;
        min-height: 100svh;
        padding: calc(84px + 2rem) 5vw 3rem;
    }

    .capability-section--offer > .capability-offer-copy,
    #sequence-stage > .sequence-copy {
        order: 0;
        width: min(100%, 560px);
        margin: 0 auto;
        text-align: center;
    }

    .capability-section-copy.capability-offer-copy h2,
    #sequence-stage .sequence-copy h2,
    #embedded-works-title {
        font-size: clamp(1.65rem, 8cqw, 2.6rem);
        line-height: 1.15;
        margin-bottom: 1.25rem;
        word-spacing: normal;
    }

    #embedded-works-title {
        font-size: clamp(0.65rem, 3.8vw, 2.3rem);
    }

    .capability-offer-copy > p,
    #sequence-stage .sequence-copy p {
        font-size: clamp(1rem, 4.2cqw, 1.25rem);
    }

    .capability-offer-copy .capability-list-grid {
        width: 100%;
        max-width: 100%;
        margin: 1.5rem auto 0;
        gap: 1.05rem;
    }

    .capability-offer-copy .capability-list-block h3 {
        display: block;
        font-size: clamp(1rem, 4.2cqw, 1.25rem);
    }

    .capability-offer-copy .capability-list-block h3::after {
        content: none;
    }

    .capability-offer-copy .capability-list-text {
        display: block;
    }

    #sequence-stage .sequence-copy a {
        margin-inline: auto;
        align-self: center;
    }

    .capability-section--offer > .receipt-showcase-card,
    #sequence-stage > .video-card {
        order: 1;
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: min(100%, 600px);
        flex: none;
        transform: none;
    }
}
