/* Coordeble Top Intro Typing Stable v6 */

/*
 * 1行につき1つのグリッドを使用。
 * 透明な完成文章とタイピング文字を同じ位置に重ねる。
 * 余計な高さや絶対配置は使用しない。
 */

.coordeble-top-hero-intro .cd-stable-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: inherit;
    text-align: inherit;
}

.coordeble-top-hero-intro .cd-stable-reserve,
.coordeble-top-hero-intro .cd-stable-visible {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    line-height: inherit;
    text-align: inherit;
    white-space: normal;
    overflow-wrap: anywhere;
}

.coordeble-top-hero-intro .cd-stable-reserve {
    visibility: hidden;
    pointer-events: none;
}

.coordeble-top-hero-intro .cd-stable-visible {
    visibility: visible;
}

/* 見出しの自然な行間 */
.coordeble-top-hero-intro-heading {
    line-height: 1.35 !important;
}

/* タイピングカーソル */
.coordeble-top-hero-intro .cd-type-cursor::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: .85em;
    margin-left: .06em;
    vertical-align: -.06em;
    background: currentColor;
    animation: cdStableBlink .75s step-end infinite;
}

@keyframes cdStableBlink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .coordeble-top-hero-intro .cd-type-cursor::after {
        animation: none;
        content: none;
    }
}
