.project-detail-hero {
    min-height: 560px;
    display: flex;
    align-items: center;
}

.project-detail-hero-media {
    position: absolute;
    inset: 0 0 0 38%;
    overflow: hidden;
    opacity: .78;
}

.project-detail-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #071c36 0%, rgba(7,28,54,.9) 22%, rgba(7,28,54,.28) 100%);
}

.project-detail-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.82);
}

.project-detail-overlap {
    position: relative;
    z-index: 3;
    margin-top: -56px;
    padding-bottom: 90px;
}

.project-detail-main,
.project-detail-aside,
.project-gallery-card {
    border: 1px solid rgba(7,28,54,.1);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(7,28,54,.11);
}

.project-detail-main { overflow: hidden; }

.project-detail-main-image {
    width: 100%;
    height: 390px;
    object-fit: cover;
    display: block;
}

.project-detail-copy { padding: 40px; }

.project-detail-copy h2,
.project-detail-copy h3,
.project-detail-copy h4 {
    color: var(--tb-navy);
    font-weight: 900;
    letter-spacing: -.035em;
}

.project-detail-copy p,
.project-detail-copy li {
    color: var(--tb-muted);
    line-height: 1.85;
}

.project-detail-copy ul,
.project-detail-copy ol { padding-left: 1.25rem; }

.project-detail-aside {
    position: sticky;
    top: 110px;
    padding: 30px;
}

.project-fact {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid rgba(7,28,54,.09);
}

.project-fact:last-child { border-bottom: 0; }

.project-fact-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--tb-blue-dark);
    background: linear-gradient(135deg, rgba(18,148,255,.12), rgba(21,218,200,.16));
}

.project-fact strong {
    display: block;
    color: var(--tb-navy);
    font-weight: 850;
}

.project-fact span {
    display: block;
    color: var(--tb-muted);
    font-size: .9rem;
    line-height: 1.55;
}

.project-gallery-card { padding: 34px; }

.project-gallery-image {
    width: 100%;
    height: 235px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    transition: transform .25s ease, filter .25s ease;
}

.project-gallery-link {
    display: block;
    overflow: hidden;
    border-radius: 20px;
    background: var(--tb-navy);
}

.project-gallery-link:hover .project-gallery-image {
    transform: scale(1.04);
    filter: brightness(1.08);
}

.project-related { padding: 0 0 90px; }

@media (max-width: 991.98px) {
    .project-detail-hero { min-height: 500px; }
    .project-detail-hero-media { inset: 0; opacity: .42; }
    .project-detail-hero-media::after { background: linear-gradient(90deg, #071c36, rgba(7,28,54,.55)); }
    .project-detail-aside { position: static; }
}

@media (max-width: 575.98px) {
    .project-detail-overlap { margin-top: -34px; padding-bottom: 60px; }
    .project-detail-copy,
    .project-detail-aside,
    .project-gallery-card { padding: 24px; }
    .project-detail-main-image { height: 230px; }
    .project-gallery-image { height: 190px; }
    .project-related { padding-bottom: 60px; }
}
