.project-details__title {
    font-size: clamp(60px, 12.5vw, 180px);
    line-height: 1.05;
    overflow-wrap: anywhere;
}
.project-details__summary { line-height: 1.5; overflow-wrap: anywhere; }
.project-details__meta > div {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) minmax(0, 2fr);
    gap: 20px;
    padding: 20px 0;
    border-top: 1px solid #ffffff30;
    font-size: 20px;
    line-height: 1.5;
}
.project-details__meta dt { font-weight: 400; }
.project-details__meta dd { margin: 0; overflow-wrap: anywhere; }
.project-details__meta a, .project-body__description a { text-decoration: underline; text-underline-offset: 4px; }
.project-details__banner { width: 92%; }
.project-details__banner img { display: block; width: 100%; height: auto; }
.project-body__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 5vw, 88px);
    margin-bottom: clamp(48px, 7vw, 100px);
}
.project-body__row:last-child { margin-bottom: 0; }
.project-body__column { min-width: 0; }
.project-body__column > * { margin: 0 0 28px; }
.project-body__column > :last-child { margin-bottom: 0; }
.project-body__heading { font-size: clamp(30px, 3vw, 48px); line-height: 1.2; overflow-wrap: anywhere; }
.project-body__image { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.project-body__description { font-size: 20px; line-height: 1.6; overflow-wrap: anywhere; }
.project-body__description p { margin-bottom: 20px; }
.project-body__description ul { padding-left: 1.4em; margin-bottom: 20px; list-style: disc; }
.project-body__description li { list-style: disc; padding-left: .25em; margin-bottom: 8px; }
.project-body__description .rich-text > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .project-details__title { font-size: clamp(48px, 14vw, 100px); }
    .project-details__meta > div { font-size: 18px; }
    .project-details__banner { width: 100% !important; }
    .project-body__row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .project-body__description { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 768px) {
    .project-details__banner { width: 92% !important; }
}
