/* rasa-current-content-fix-20260712 */

/* ---------- full-width hero images: complete image, no destructive crop ---------- */
#top.rp-hero .rasa-hero-final-slide.rasa-current-full-image-contain {
    position: absolute !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: #063844 !important;
}

#top.rp-hero .rasa-current-hero-backdrop {
    position: absolute !important;
    inset: -28px !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    filter: blur(22px) brightness(.68) saturate(1.12) !important;
    transform: scale(1.08) !important;
    opacity: .78 !important;
}

#top.rp-hero .rasa-current-full-image-contain .rasa-current-hero-media-wrap {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
}

#top.rp-hero .rasa-current-full-image-contain img.rasa-current-hero-direct-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
}

#top.rp-hero .rasa-current-full-image-contain img.rasa-current-hero-contain-image {
    position: relative !important;
    inset: auto !important;
    z-index: 3 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    background: transparent !important;
    filter: saturate(1.03) contrast(1.015) brightness(1.01) !important;
}

#top.rp-hero .rasa-current-full-image-contain > *:not(.rasa-current-hero-backdrop) {
    z-index: 2;
}

/* Split-layout image stays compact, but the image itself is no longer cropped. */
#top.rp-hero .rasa-hero-final-slide:not(.rasa-current-full-image-contain)
.rp-reference-form.has-hero-image .rasa-hero-slide-image {
    object-fit: contain !important;
    object-position: center !important;
    background: rgba(4, 50, 62, .92) !important;
}

/* ---------- services cards ---------- */
#services .rp-service-card p,
#services .service-card p {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* ---------- honors cards: fixed internal layout, no text collision ---------- */
#honors .rp-honors-grid,
#honors .rp-honors-track {
    align-items: stretch !important;
}

#honors .rp-honor-card {
    flex: 0 0 clamp(238px, 20vw, 286px) !important;
    width: clamp(238px, 20vw, 286px) !important;
    min-width: clamp(238px, 20vw, 286px) !important;
    height: 318px !important;
    min-height: 318px !important;
    max-height: 318px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-rows: 132px minmax(0, 1fr) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
}

#honors .rp-honor-media {
    width: 100% !important;
    height: 132px !important;
    min-height: 132px !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.90) !important;
}

#honors .rp-honor-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 5px !important;
    background: rgba(255,255,255,.94) !important;
}

#honors .rp-honor-body {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 11px 5px 4px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    overflow: hidden !important;
    direction: rtl !important;
    text-align: right !important;
}

#honors .rp-honor-issuer {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
}

#honors .rp-honor-card h3 {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 66px !important;
    max-height: 66px !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(13px, 1vw, 16px) !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

#honors .rp-honor-card p {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: 48px !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 10.5px !important;
    line-height: 1.65 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

/* ---------- rich content in service/honor detail page ---------- */
.content-body.rasa-current-detail-content {
    direction: rtl !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

.content-body.rasa-current-detail-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 18px !important;
}

@media (max-width: 700px) {
    #honors .rp-honor-card {
        flex-basis: 244px !important;
        width: 244px !important;
        min-width: 244px !important;
        height: 306px !important;
        min-height: 306px !important;
        max-height: 306px !important;
    }
}
