.aftab-hero-caption .image-element {
    position: relative;
    display: block;
    overflow: hidden;
}
.aftab-hero-caption .aftab-hero-caption-panel {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    display: block;
    box-sizing: border-box;
    padding: 12px 20px;
    background: rgba(15, 18, 20, .88);
    color: #fff;
    text-align: right;
    transform: translateY(100%);
    transition: transform .24s ease-out;
}
.aftab-hero-caption .aftab-hero-caption-title {
    display: block;
    margin: 0 0 5px;
    color: #fff;
    font-family: inherit;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}
.aftab-hero-caption .aftab-hero-caption-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 18px;
    color: #f1f1f1;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
}
.aftab-hero-caption:hover .aftab-hero-caption-panel,
.aftab-hero-caption:focus-within .aftab-hero-caption-panel {
    transform: translateY(0);
}
.aftab-hero-caption a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -3px;
}
@media (hover: none), (pointer: coarse), (max-width: 767px) {
    .aftab-hero-caption .aftab-hero-caption-panel { transform: translateY(0); padding: 9px 12px; }
    .aftab-hero-caption .aftab-hero-caption-title { font-size: 17px; line-height: 1.5; margin-bottom: 4px; }
    .aftab-hero-caption .aftab-hero-caption-meta { font-size: 10px; gap: 1px 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .aftab-hero-caption .aftab-hero-caption-panel { transition: none; }
}

.aftab-hero-caption .aftab-hero-caption-subtitle {
    display: block;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
    margin-bottom: 5px;
    color: #f1f1f1;
}
@media (max-width: 767px) {
    .aftab-hero-caption .aftab-hero-caption-subtitle { font-size: 13px; line-height: 1.5; }
}
