.project-rich-content {
    color: #425b6b;
    font-size: 1rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.project-rich-content > :first-child {
    margin-top: 0;
}

.project-rich-content > :last-child {
    margin-bottom: 0;
}

.project-rich-content p {
    margin: 0 0 1rem;
}

.project-rich-content h3,
.project-rich-content h4,
.project-rich-content h5,
.project-rich-content h6 {
    color: #102c3d;
    font-weight: 750;
    line-height: 1.3;
    margin: 1.65rem 0 .7rem;
}

.project-rich-content h3 {
    border-left: 3px solid #20b9e7;
    font-size: 1.1rem;
    padding-left: .75rem;
}

.project-rich-content h4 {
    font-size: 1rem;
}

.project-rich-content ul,
.project-rich-content ol {
    margin: .75rem 0 1.15rem;
    padding-left: 1.45rem;
}

.project-rich-content ul {
    list-style: disc;
}

.project-rich-content ol {
    list-style: decimal;
}

.project-rich-content li {
    margin: .38rem 0;
    padding-left: .2rem;
}

.project-rich-content li::marker {
    color: #0783a7;
    font-weight: 700;
}

.project-rich-content strong {
    color: #18384b;
    font-weight: 750;
}

.project-rich-content a {
    color: #087fa4;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.project-rich-content blockquote {
    background: #f1f9fc;
    border-left: 3px solid #7bcce5;
    margin: 1rem 0;
    padding: .8rem 1rem;
}

.project-rich-content code {
    background: #eef5f8;
    border-radius: 4px;
    color: #18384b;
    font-size: .9em;
    padding: .12rem .35rem;
}

.project-rich-content pre {
    background: #102c3d;
    border-radius: 10px;
    color: #eefbff;
    margin: 1rem 0;
    overflow-x: auto;
    padding: 1rem;
}

.project-rich-content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

.project-rich-content table {
    border-collapse: separate;
    border-spacing: 0;
    display: block;
    margin: 1rem 0 1.25rem;
    max-width: 100%;
    overflow-x: auto;
    width: max-content;
}

.project-rich-content th,
.project-rich-content td {
    border-bottom: 1px solid #d8e7ee;
    min-width: 130px;
    padding: .72rem .85rem;
    text-align: left;
    vertical-align: top;
}

.project-rich-content th {
    background: #eaf6fa;
    color: #15384b;
    font-weight: 750;
}

.project-rich-content tr:nth-child(even) td {
    background: #f8fbfc;
}

.disclosure-body .project-rich-content {
    font-size: .96rem;
}

@media (max-width: 640px) {
    .project-rich-content {
        font-size: .96rem;
        line-height: 1.68;
    }

    .project-rich-content h3 {
        font-size: 1.04rem;
    }

    .project-rich-content th,
    .project-rich-content td {
        min-width: 115px;
        padding: .65rem .72rem;
    }
}

/* 2026-09-23: grid blowout guards — image intrinsic widths (width="900" attrs)
   must not widen grid tracks on narrow screens. minmax(0,...) + min-width:0
   keep .detail-layout / .detail-media / .detail-gallery tracks at their fr size. */
.detail-layout {
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
}
.detail-layout > * {
    min-width: 0;
}
.detail-media {
    grid-template-columns: minmax(0, 1fr);
}
.detail-media > * {
    min-width: 0;
}
.detail-gallery > * {
    min-width: 0;
}
@media (max-width: 640px) {
    .detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}
