/* ==========================================================================
   Intelsense — Premium Media Coverage page
   Scoped under .media-premium so the shared .page-25/.page-39/.page-inr25
   classes used on other pages are untouched. Base brand #00256b. WCAG AA.
   ========================================================================== */

.media-premium{
    --m-navy:      #00256b;
    --m-navy-deep: #001a4d;
    --m-navy-mid:  #143a86;   /* links on white — 10.6:1                      */
    --m-ink:       #1d2b47;   /* body — 12:1                                   */
    --m-ink-soft:  #45577a;   /* secondary — 6:1                              */
    --m-amber:     #f99e1e;   /* decorative accent                            */
    --m-surface:   #ffffff;
    --m-tint:      #f4f7fc;
    --m-line:      rgba(0, 37, 107, .10);
    --m-shadow:    0 1px 2px rgba(0, 37, 107, .05), 0 12px 30px rgba(0, 37, 107, .08);
    --m-shadow-lg: 0 18px 44px rgba(0, 37, 107, .16);
    --m-radius:    16px;
    --m-ease:      cubic-bezier(.4, 0, .2, 1);

    font-family: 'Poppins', sans-serif;
    color: var(--m-ink);
}

/* ------------------------------------------------------------------ hero */

.media-premium .page-33{
    float: none;
    width: 100%;
    height: auto;
    padding: 88px 0 74px;
    background:
        linear-gradient(120deg, rgba(0, 37, 107, .90) 0%, rgba(0, 26, 77, .82) 100%),
        url(../images/page-bnnr19.jpg) center / cover no-repeat;
}

.media-premium .page-inr24{ float: none; width: 100%; }

.media-premium .page-inr24 h1{
    color: #fff;
    font-weight: 700;
    letter-spacing: -.01em;
    font-size: clamp(30px, 4.4vw, 48px);
    margin: 0 0 16px;
    line-height: 1.1;
}

.media-premium .footer-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px 7px 14px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
}

.media-premium .footer-link i{ color: #ffd07a; font-size: 13px; margin: 0; }

.media-premium .footer-link a{
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.media-premium .footer-link a:hover{ text-decoration: underline; }

/* --------------------------------------------------------- section shell */

.media-premium .page-25,
.media-premium .page-39{
    float: none;
    width: 100%;
    padding: 54px 0;
}

.media-premium .page-25{ background: var(--m-surface); }
.media-premium .page-39{ background: var(--m-tint); }
.media-premium .page-39.mt-5{ margin-top: 0 !important; }
.media-premium .page-39:nth-of-type(even){ background: var(--m-surface); }

.media-premium .page-inr24,
.media-premium .page-inr25{ float: none; width: 100%; }

/* section headings — was a full-width navy bar; now a clean underlined title */
.media-premium .page-inr25 h2{
    position: relative;
    width: 100%;
    background: transparent;
    border-left: 0;
    color: var(--m-navy);
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    letter-spacing: -.01em;
    font-size: clamp(23px, 2.8vw, 32px);
    padding: 0 0 16px;
    margin: 0 0 30px;
    line-height: 1.2;
}

.media-premium .page-inr25 h2::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--m-amber), #ffca6b);
}

/* --------------------------------------------------- ET Profile feature */

.media-premium .page-25 .row{ align-items: center; row-gap: 26px; }

.media-premium .page-25 .col-lg-3{
    padding: 14px;
    background: var(--m-surface);
    border: 1px solid var(--m-line);
    border-radius: var(--m-radius);
    box-shadow: var(--m-shadow) !important;   /* replace inline flat shadow */
}

.media-premium .page-25 .col-lg-3 img{
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
}

.media-premium .small-text{
    margin-top: 14px;
    font-size: 13.5px;
    line-height: 1.6;
    font-style: italic;
    color: var(--m-ink-soft);
    text-align: left;
}

.media-premium .page-inr25 p{
    float: none;
    width: 100%;
    color: var(--m-ink);
    font-size: 15.5px;
    line-height: 1.8;
    margin: 0 0 16px;
}

/* ------------------------------------------------------ video gallery */

.media-premium .demo-gallery ul{
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.media-premium .demo-gallery ul li.video{
    /* the <li> also has Bootstrap .col-lg-4 (flex:0 0 33.333%). flex-basis
       beats width, so we must override the flex shorthand here or the gap
       pushes each row down to 2 items. */
    float: none;
    flex: 0 0 calc((100% - 44px) / 3);   /* 3 per row with two 22px gaps */
    max-width: calc((100% - 44px) / 3);
    width: calc((100% - 44px) / 3);
    padding: 0;
    margin: 0;
}

.media-premium .demo-gallery ul li.video > a{
    position: relative;
    display: block;
    border-radius: var(--m-radius);
    overflow: hidden;
    box-shadow: var(--m-shadow);
    transition: transform .2s var(--m-ease), box-shadow .2s var(--m-ease);
}

.media-premium .demo-gallery ul li.video > a img.img-responsive{
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform .3s var(--m-ease);
}

/* play/logo overlay, centred, on a subtle scrim */
.media-premium .demo-gallery .demo-gallery-poster{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 26, 77, .28);
    opacity: 1;
    transition: background .25s var(--m-ease);
}

.media-premium .demo-gallery .demo-gallery-poster > img{
    width: 58px;
    height: auto;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .4));
    transition: transform .25s var(--m-ease);
}

.media-premium .demo-gallery ul li.video > a:hover{
    transform: translateY(-4px);
    box-shadow: var(--m-shadow-lg);
}

.media-premium .demo-gallery ul li.video > a:hover img.img-responsive{
    transform: scale(1.06);
}

.media-premium .demo-gallery ul li.video > a:hover .demo-gallery-poster{
    background: rgba(0, 26, 77, .12);
}

.media-premium .demo-gallery ul li.video > a:hover .demo-gallery-poster > img{
    transform: scale(1.12);
}

.media-premium .demo-gallery ul li.video > a:focus-visible{
    outline: 3px solid var(--m-amber);
    outline-offset: 3px;
}

/* ------------------------------------------- article / podcast cards */
/* :has(> h3) targets the text items only — the video/quote columns don't
   have a direct <h3>, so they're excluded. */

.media-premium .page-39 .col-lg-12.mt-2:has(> h3){
    background: var(--m-surface);
    border: 1px solid var(--m-line);
    border-left: 4px solid var(--m-amber);
    border-radius: var(--m-radius);
    box-shadow: var(--m-shadow);
    padding: 26px 28px;
    margin-bottom: 22px;
    transition: transform .18s var(--m-ease), box-shadow .18s var(--m-ease);
}

.media-premium .page-39 .col-lg-12.mt-2:has(> h3):hover{
    transform: translateY(-3px);
    box-shadow: var(--m-shadow-lg);
}

.media-premium .page-inr25 h3{
    margin: 0 0 10px;
    font-size: clamp(18px, 2vw, 21px);
    font-weight: 700;
    line-height: 1.35;
    color: var(--m-navy);
}

.media-premium .page-inr25 h4{
    margin: 0 0 14px;
    font-size: 15.5px;
    font-weight: 600;
    font-style: italic;
    line-height: 1.5;
    color: var(--m-ink-soft);
}

/* ---------------------------------------------------------- quote cards */

.media-premium .box-area-new2{
    float: none;
    width: 100%;
    position: relative;
    border: 1px solid var(--m-line);
    border-left: 4px solid var(--m-navy);
    border-radius: var(--m-radius);
    box-shadow: var(--m-shadow);
    padding: 30px 28px 24px;
    background: var(--m-surface);
    transition: transform .18s var(--m-ease), box-shadow .18s var(--m-ease);
}

.media-premium .box-area-new2::before{
    content: "\201C";                /* decorative opening quote */
    position: absolute;
    top: 4px;
    left: 20px;
    font-family: Georgia, serif;
    font-size: 56px;
    line-height: 1;
    color: rgba(0, 37, 107, .14);
}

.media-premium .box-area-new2:hover{
    transform: translateY(-3px);
    box-shadow: var(--m-shadow-lg);
}

.media-premium .box-area-new2 p{
    color: var(--m-ink);
    font-size: 15.5px;
    line-height: 1.8;
}

/* -------------------------------------------------------------- buttons */

.media-premium .new-btn{
    float: none;
    width: auto;
    margin-top: 6px;
}

.media-premium .new-btn1{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 24px;
    border: 0;
    border-radius: 999px;
    background: var(--m-navy);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .01em;
    box-shadow: 0 8px 20px rgba(0, 37, 107, .18);
    transition: transform .18s var(--m-ease), box-shadow .18s var(--m-ease);
}

.media-premium .new-btn1 .fa{ color: var(--m-amber); font-size: 13px; margin: 0; }

.media-premium .new-btn1:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 37, 107, .3);
}

.media-premium .new-btn a:focus-visible{
    outline: 3px solid var(--m-navy-mid);
    outline-offset: 3px;
    border-radius: 999px;
}

/* -------------------------------------------------------------- a11y focus */

.media-premium a:focus-visible{
    outline: 3px solid var(--m-navy-mid);
    outline-offset: 3px;
    border-radius: 6px;
}

.media-premium .page-33 a:focus-visible{ outline-color: #ffd07a; }

/* ---------------------------------------------------------------- responsive */

@media (max-width: 991.98px){
    .media-premium .page-33{ padding: 62px 0 52px; }
    .media-premium .demo-gallery ul li.video{ width: calc(50% - 11px); }
}

@media (max-width: 575.98px){
    .media-premium .demo-gallery ul li.video{ width: 100%; }
    .media-premium .page-39 .col-lg-12.mt-2:has(> h3){ padding: 22px 20px; }
}

@media (prefers-reduced-motion: reduce){
    .media-premium .demo-gallery ul li.video > a,
    .media-premium .demo-gallery img,
    .media-premium .box-area-new2,
    .media-premium .new-btn1,
    .media-premium .page-39 .col-lg-12.mt-2:has(> h3){ transition: none; }
    .media-premium .demo-gallery ul li.video > a:hover,
    .media-premium .box-area-new2:hover,
    .media-premium .new-btn1:hover,
    .media-premium .page-39 .col-lg-12.mt-2:has(> h3):hover{ transform: none; }
    .media-premium .demo-gallery ul li.video > a:hover img.img-responsive{ transform: none; }
}
