/**
 * EMA Narrative — text + image split ("What We Do").
 * Matches .narr from service-festivals-events.html.
 */
.elementor-widget-ema_narrative .narr{
    padding: 120px 32px;
    background: #F5EFD9;
    position: relative;
}
.elementor-widget-ema_narrative .narr-inner{
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 80px;
    align-items: center;
}
/* Image-left variant flips column order */
.elementor-widget-ema_narrative .narr.narr-image-left .narr-inner{
    grid-template-columns: 1fr 1.3fr;
}
.elementor-widget-ema_narrative .narr.narr-image-left .narr-content{ order: 2; }
.elementor-widget-ema_narrative .narr.narr-image-left .narr-image{ order: 1; }

.elementor-widget-ema_narrative .narr-content .eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #A01428;
    margin-bottom: 24px;
}
.elementor-widget-ema_narrative .narr-content .eyebrow::before{
    content: "";
    width: 32px;
    height: 2px;
    background: #A01428;
    flex: 0 0 32px;
}
.elementor-widget-ema_narrative .narr-content h2{
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-weight: 700;
    font-size: clamp(40px, 4.4vw, 64px);
    line-height: .98;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #12110F;
    margin: 0 0 28px;
}
.elementor-widget-ema_narrative .narr-content h2 em{
    font-style: normal;
    color: #A01428;
    display: block;
}
.elementor-widget-ema_narrative .narr-content p{
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(18,17,15,.78);
    margin: 0 0 18px;
}
.elementor-widget-ema_narrative .narr-content p strong{
    color: #12110F;
    font-weight: 700;
}
.elementor-widget-ema_narrative .narr-image{
    position: relative;
    aspect-ratio: 4/5;
    background-size: cover;
    background-position: center;
    border: 4px solid #12110F;
    box-shadow: 14px 14px 0 #A01428;
    transform: rotate(2deg);
    transition: transform .4s cubic-bezier(.6,.05,.2,.95);
}
.elementor-widget-ema_narrative .narr.narr-image-left .narr-image{
    transform: rotate(-2deg);
}
.elementor-widget-ema_narrative .narr-image:hover{ transform: rotate(0); }
.elementor-widget-ema_narrative .narr-image .tag{
    position: absolute;
    bottom: -20px;
    left: -20px;
    background: #12110F;
    color: #F5EFD9;
    padding: 14px 20px;
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .18em;
    text-transform: uppercase;
    border: 3px solid #F5EFD9;
    transform: rotate(-3deg);
}
.elementor-widget-ema_narrative .narr-image .tag em{
    font-style: normal;
    color: #C2A862;
    margin-right: 6px;
}

@media (max-width: 1100px){
    .elementor-widget-ema_narrative .narr-inner,
    .elementor-widget-ema_narrative .narr.narr-image-left .narr-inner{
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .elementor-widget-ema_narrative .narr-image{
        aspect-ratio: 4/3;
        max-width: 520px;
        margin: 0 auto;
    }
    /* On mobile, always show text first */
    .elementor-widget-ema_narrative .narr.narr-image-left .narr-content{ order: 1; }
    .elementor-widget-ema_narrative .narr.narr-image-left .narr-image{ order: 2; }
}
@media (max-width: 780px){
    .elementor-widget-ema_narrative .narr{ padding: 60px 16px; }
    .elementor-widget-ema_narrative .narr-content h2{ font-size: 36px; }
    .elementor-widget-ema_narrative .narr-content p{ font-size: 15.5px; }
    .elementor-widget-ema_narrative .narr-image,
    .elementor-widget-ema_narrative .narr.narr-image-left .narr-image{ transform: rotate(0); }
    .elementor-widget-ema_narrative .narr-image .tag{
        font-size: 11px;
        padding: 11px 16px;
        left: -10px;
        bottom: -14px;
    }
}
