/* Responsive index control for internal pages. */
.internal-index-toggle {
    display: none;
}

@media (max-width: 760px) {
    .about-reading-layout > .about-index,
    .solution-reading-layout > .solution-index {
        position: static;
        width: 100%;
        margin-bottom: 22px;
    }

    .about-reading-layout > .about-index.is-floating,
    .solution-reading-layout > .solution-index.is-floating {
        position: fixed;
        top: calc(var(--origami-header-height, 101px) + 12px);
        left: 24px;
        z-index: 30;
        width: auto;
        margin: 0;
    }

    .internal-index-toggle {
        display: inline-flex;
        width: 46px;
        height: 46px;
        align-items: center;
        justify-content: center;
        border: 1px solid #dbe2ec;
        border-radius: 14px 14px 14px 4px;
        color: #fff;
        background: var(--about-navy, var(--proposal-navy, #102968));
        box-shadow: 0 10px 24px rgba(16, 41, 104, .16);
        cursor: pointer;
        transition: background-color .2s ease, transform .2s ease;
    }

    .internal-index-toggle:hover,
    .internal-index-toggle:focus-visible,
    .about-index.is-open .internal-index-toggle,
    .solution-index.is-open .internal-index-toggle {
        background: var(--about-orange, var(--proposal-orange, #ef803d));
        transform: translateY(-1px);
    }

    .internal-index-toggle i {
        color: inherit;
        font-size: 17px;
        line-height: 1;
    }

    .about-index > .about-index__inner,
    .solution-index > .solution-index__inner {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        display: none;
        width: min(300px, calc(100vw - 48px));
        max-height: calc(100vh - var(--origami-header-height, 101px) - 90px);
        margin: 0;
        padding: 16px 18px;
        overflow-y: auto;
        border: 1px solid #dbe2ec;
        border-radius: 5px 22px 5px 5px;
        background: #fff;
        box-shadow: 0 16px 34px rgba(16, 41, 104, .14);
    }

    .about-index.is-open > .about-index__inner,
    .solution-index.is-open > .solution-index__inner {
        display: block;
    }

    .about-index__label,
    .solution-index__label {
        display: block !important;
        margin: 0 0 10px !important;
        color: #7d8493 !important;
        font-size: 10px !important;
        letter-spacing: 1.8px;
    }

    .about-index a,
    .solution-index a {
        display: flex;
        width: 100%;
        align-items: center;
        gap: 10px;
        padding: 10px 0;
        border-bottom: 1px solid #e0e4e9;
        font-size: 13px;
        white-space: normal;
    }

    .about-index a:last-child,
    .solution-index a:last-child {
        border-bottom: 0;
    }

    .about-index__cta,
    .solution-index__all {
        justify-content: space-between;
        margin-top: 10px !important;
        border-bottom: 0 !important;
    }

    .about-index .about-index__cta,
    .solution-index .solution-index__all {
        display: flex !important;
    }
}
