/* =========================================================
   IIM SAMBALPUR PROGRAMME DETAIL
   Website palette:
   Navy      #001340
   Deep Teal #002C40
   Teal      #008491
   Gold      #C6A15B
   ========================================================= */
.iimsbp-programme-safe{
    --ps-navy:#001340;
    --ps-deep:#002C40;
    --ps-teal:#008491;
    --ps-gold:#C6A15B;
    --ps-ink:#1c2a36;
    --ps-body:#56636f;
    --ps-muted:#7d8892;
    --ps-line:#dfe6ea;
    --ps-soft:#f5f8f9;
    --ps-white:#fff;
    --ps-shadow:0 12px 30px rgba(0,19,64,.08);

    background:#fff;
    color:var(--ps-ink);
    font-family:Arial,Helvetica,sans-serif;
}
.iimsbp-programme-safe *{box-sizing:border-box}
.iimsbp-programme-safe a{text-decoration:none}
.iimsbp-programme-safe .ps-container{
    /*
     * FULL-WIDTH FLUID LAYOUT
     * No fixed/max container width.
     * Side spacing changes automatically with device width.
     */
    width:100%;
    max-width:none;
    margin:0;
    padding-left:clamp(18px,4vw,72px);
    padding-right:clamp(18px,4vw,72px);
}

/* =========================================================
   TOP PROGRAMME MASTHEAD
   Old programme-page character, current website palette.
   ========================================================= */
.iimsbp-programme-safe .ps-masthead{
    position:relative;
    overflow:hidden;
    background:var(--ps-navy);
}
.iimsbp-programme-safe .ps-mast-grid{
    min-height:320px;
    display:grid;
    grid-template-columns:minmax(360px,40%) minmax(0,60%);
}
.iimsbp-programme-safe .ps-mast-grid.no-image{
    grid-template-columns:1fr;
}
.iimsbp-programme-safe .ps-mast-media{
    min-width:0;
    min-height:320px;
    overflow:hidden;
    background:#112f4b;
}
.iimsbp-programme-safe .ps-mast-media img{
    width:100%;
    height:100%;
    min-height:320px;
    display:block;
    object-fit:cover;
}
.iimsbp-programme-safe .ps-mast-copy{
    position:relative;
    overflow:hidden;
    padding:
      clamp(34px,4vw,58px)
      clamp(28px,5vw,82px)
      clamp(34px,4vw,58px)
      clamp(46px,6vw,104px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
    background:
      radial-gradient(circle at 84% 16%,rgba(198,161,91,.22),transparent 23%),
      radial-gradient(circle at 92% 84%,rgba(0,132,145,.24),transparent 27%),
      linear-gradient(115deg,var(--ps-navy) 0%,var(--ps-deep) 58%,#0c5864 100%);
}
.iimsbp-programme-safe .ps-mast-grid:not(.no-image) .ps-mast-copy:before{
    content: "";
    position: absolute;
    left: -38px;
    top: -25px;
    bottom: -25px;
    width: 45px;
    background: #fff;
}
.iimsbp-programme-safe .ps-mast-copy:after{
    content:"";
    position:absolute;
    width:175px;
    height:175px;
    right:-55px;
    top:-55px;
    border:25px solid rgba(255,255,255,.06);
    border-radius:5%;
}
.iimsbp-programme-safe .ps-mast-copy>*{
    position:relative;
    z-index:2;
}
.iimsbp-programme-safe .ps-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:10px;
    color:#98dde0;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.iimsbp-programme-safe .ps-kicker:before{
    content:"";
    width:27px;
    height:2px;
    background:var(--ps-gold);
}
.iimsbp-programme-safe .ps-mast-copy h1{
    margin:0;
    max-width:min(980px,90%);
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:40px;
    line-height:1.15;
    font-weight:700;
}
.iimsbp-programme-safe .ps-mast-copy p{
    max-width:min(980px,92%);
    margin:14px 0 0;
    color:#d7e1e6;
    font-size:14px;
    line-height:1.65;
}
.iimsbp-programme-safe .ps-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:20px;
}
.iimsbp-programme-safe .ps-actions a{
    min-height:40px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.07);
    color:#fff;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:10.5px;
    font-weight:800;
}
.iimsbp-programme-safe .ps-actions a.primary{
    background:var(--ps-gold);
    border-color:var(--ps-gold);
    color:#152637;
}

/* BREADCRUMB */
.iimsbp-programme-safe .ps-breadcrumb-band{
    border-bottom:1px solid var(--ps-line);
    background:#fff;
}
.iimsbp-programme-safe .ps-breadcrumb{
    min-height:46px;
    display:flex;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
    
}
.iimsbp-programme-safe .ps-breadcrumb::-webkit-scrollbar{display:none}
.iimsbp-programme-safe .ps-breadcrumb a,
.iimsbp-programme-safe .ps-breadcrumb span{
    flex:0 0 auto;
    color:#596774;
    font-size:9.5px;
    font-weight:700;
}
.iimsbp-programme-safe .ps-breadcrumb a{
    color:var(--ps-teal);
}
.iimsbp-programme-safe .ps-breadcrumb i{
    color:var(--ps-gold);
    font-style:normal;
}

/* FACTS */
.iimsbp-programme-safe .ps-facts-band{
    border-bottom:1px solid var(--ps-line);
    background:#fff;
}
.iimsbp-programme-safe .ps-facts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.iimsbp-programme-safe .ps-fact{
    min-width:0;
    padding:15px 18px;
    border-right:1px solid var(--ps-line);
}
.iimsbp-programme-safe .ps-fact:last-child{border-right:0}
.iimsbp-programme-safe .ps-fact small{
    display:block;
    margin-bottom:3px;
    color:var(--ps-muted);
    font-size:8.5px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.iimsbp-programme-safe .ps-fact strong{
    display:block;
    color:var(--ps-navy);
    font-size:12.5px;
    line-height:1.4;
}

/* =========================================================
   MAIN AREA
   ========================================================= */
.iimsbp-programme-safe .ps-main{
    position:relative;
    overflow:visible;
    padding:28px 0 72px;
    background:linear-gradient(180deg,#f5f8fa 0,#fff 330px);
}
.iimsbp-programme-safe .ps-layout{
    position:relative;
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:clamp(220px,16vw,270px) minmax(0,1fr);
    gap:clamp(20px,2vw,32px);
    align-items:stretch;
}


/*
 * MAIN PROGRAMME AREA ONLY
 * The circled section (left menu + programme banner + content)
 * returns to a centered institutional container.
 * Hero, breadcrumb and facts remain fluid/full-width.
 */
.iimsbp-programme-safe .ps-main > .ps-container{
    /*
     * Wider professional container:
     * keeps the main programme block centered,
     * but removes excessive blank space on wide screens.
     */
    width:calc(100% - 56px);
    max-width:1480px;
    margin-left:auto;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
}

@media(min-width:1500px){
    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 72px);
        max-width:1560px;
        padding-left:0;
        padding-right:0;
    }
}

@media(min-width:981px) and (max-width:1250px){
    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 32px);
        max-width:none;
        padding-left:0;
        padding-right:0;
    }
}

/* LEFT PROGRAMME MENU */
.iimsbp-programme-safe .ps-sidebar{
    position:relative;
    align-self:stretch;
    min-width:0;
}
.iimsbp-programme-safe .ps-side-card{
    overflow:hidden;
    border:1px solid #d8e2e7;
    border-radius:5px;
    background:#fff;
    box-shadow:0 10px 26px rgba(0,19,64,.07);
    display:flex;
    flex-direction:column;
    max-height:calc(100vh - 170px);
}
.iimsbp-programme-safe .ps-side-card.ps-fixed{
    position:fixed;
    top:148px;
    z-index:130;
}
.iimsbp-programme-safe .ps-side-card.ps-bottom{
    position:absolute;
    left:0;
    bottom:0;
    top:auto;
    z-index:20;
}
.iimsbp-programme-safe .ps-side-head{
    padding:15px 14px 13px;
    background:linear-gradient(135deg,var(--ps-navy),var(--ps-deep));
    color:#fff;
}
.iimsbp-programme-safe .ps-side-head small{
    display:block;
    color:#93dadd;
    font-size:8.5px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.iimsbp-programme-safe .ps-side-head strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
    line-height:1.35;
}
.iimsbp-programme-safe .ps-tabs{
    padding:9px;
    display:flex;
    flex-direction:column;
    gap:6px;
    overflow-y:auto;
    overflow-x:hidden;
    min-height:0;
    scrollbar-width:thin;
    scrollbar-color:#99a9b6 #edf2f4;
}
.iimsbp-programme-safe .ps-tabs a{
    position:relative;
    min-height:43px;
    padding:10px 30px 10px 11px;
    display:flex;
    align-items:center;
    color:#2c3a47;
    background:#f7f9fa;
    border-left:3px solid transparent;
    font-size:10.5px;
    line-height:1.35;
    font-weight:700;
    transition:background .2s ease,color .2s ease;
}
.iimsbp-programme-safe .ps-tabs a:after{
    content:"→";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    color:#99a5ae;
}
.iimsbp-programme-safe .ps-tabs a:hover{
    background:#eef6f6;
    color:var(--ps-teal);
}
.iimsbp-programme-safe .ps-tabs a.active{
    color:#fff;
    background:linear-gradient(90deg,var(--ps-navy),#174f75);
    border-left-color:var(--ps-gold);
}
.iimsbp-programme-safe .ps-tabs a.active:after{color:#fff}
.iimsbp-programme-safe .ps-side-foot{
    padding:11px 13px;
    border-top:1px solid var(--ps-line);
    background:#fafbfc;
}
.iimsbp-programme-safe .ps-side-foot a{
    color:var(--ps-navy);
    font-size:9.5px;
    font-weight:800;
}

/* RIGHT TOP TITLE PANEL */
.iimsbp-programme-safe .ps-right{
    min-width:0;
    width:100%;
    max-width:none !important;
    margin:0 !important;
    padding-left:0;
    padding-right:0;
}

/*
 * Override any global .content-prose / article width rule.
 * The right column must fill ALL remaining grid space so the
 * outer right margin visually matches the left outer margin.
 */
.iimsbp-programme-safe .ps-layout > .ps-right.content-prose,
.iimsbp-programme-safe .ps-layout > article.ps-right{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
.iimsbp-programme-safe .ps-programme-banner{
    width:100%;
    max-width:none;
    position:relative;
    overflow:hidden;
    min-height:112px;
    margin-bottom:16px;
    padding:20px 26px;
    border-radius:5px;
    color:#fff;
    background:
      radial-gradient(circle at 88% 45%,rgba(255,255,255,.08),transparent 28%),
      linear-gradient(105deg,var(--ps-navy),#164a70 72%,#1d6690);
    box-shadow:0 10px 24px rgba(0,19,64,.14);
}
.iimsbp-programme-safe .ps-programme-banner:after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-75px;
    width:175px;
    height:175px;
    border-radius:5%;
    background:rgba(255,255,255,.06);
}
.iimsbp-programme-safe .ps-programme-banner>*{
    position:relative;
    z-index:2;
}
.iimsbp-programme-safe .ps-programme-banner small{
    display:block;
    margin-bottom:5px;
    color:#9de0e2;
    font-size:8.5px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.iimsbp-programme-safe .ps-programme-banner h2{
    margin:0;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:22px;
    line-height:1.3;
}
.iimsbp-programme-safe .ps-programme-banner p{
    max-width:1100px;
    margin:7px 0 0;
    color:#d7e2e8;
    font-size:10.5px;
    line-height:1.55;
}

/* TAB CONTENT */
.iimsbp-programme-safe .programme-tab-panel{
    width:100%;
    max-width:none;
    display:none;
    opacity:0;
    transform:translateY(5px);
}
.iimsbp-programme-safe .programme-tab-panel.active{
    display:block;
    animation:psIn .25s ease forwards;
}
.iimsbp-programme-safe .programme-tab-panel[hidden]{
    display:none !important;
}
@keyframes psIn{
    to{opacity:1;transform:none}
}
.iimsbp-programme-safe .ps-content-card{
    width:100%;
    max-width:none;
    overflow:hidden;
    border:1px solid #dbe4e9;
    border-top:3px solid var(--ps-teal);
    border-radius:5px;
    background:#fff;
    box-shadow:var(--ps-shadow);
}
.iimsbp-programme-safe .ps-content-inner{
    padding:22px 24px 28px;
}
.iimsbp-programme-safe .ps-section-head{
    position:relative;
    margin-bottom:18px;
    padding-bottom:10px;
    border-bottom:1px solid var(--ps-line);
}
.iimsbp-programme-safe .ps-section-head:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-1px;
    width:54px;
    height:2px;
    background:var(--ps-teal);
}
.iimsbp-programme-safe .ps-section-head small{
    display:block;
    margin-bottom:4px;
    color:var(--ps-teal);
    font-size:8.5px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.iimsbp-programme-safe .ps-section-head h2{
    margin:0;
    color:var(--ps-navy);
    font-family:Arial,Helvetica,sans-serif;
    font-size:21px;
    line-height:1.3;
}
.iimsbp-programme-safe .ps-rich,
.iimsbp-programme-safe .ps-rich p,
.iimsbp-programme-safe .ps-rich li{
    color:#52606c;
    font-size:12px;
    line-height:1.75;
}
.iimsbp-programme-safe .ps-rich p:first-child{margin-top:0}
.iimsbp-programme-safe .ps-rich h2,
.iimsbp-programme-safe .ps-rich h3,
.iimsbp-programme-safe .ps-rich h4{
    color:var(--ps-navy);
    font-family:Arial,Helvetica,sans-serif;
}
.iimsbp-programme-safe .ps-rich h2{
    margin-top:1.55em;
    font-size:20px;
}
.iimsbp-programme-safe .ps-rich h3{
    margin-top:1.4em;
    font-size:17px;
}
.iimsbp-programme-safe .ps-rich a{
    color:var(--ps-teal);
    font-weight:700;
}
.iimsbp-programme-safe .ps-rich table{
    width:100%;
    margin:18px 0;
    border-collapse:collapse;
    border:1px solid var(--ps-line);
}
.iimsbp-programme-safe .ps-rich th,
.iimsbp-programme-safe .ps-rich td{
    padding:9px 10px;
    border:1px solid var(--ps-line);
    text-align:left;
    vertical-align:top;
    font-size:11px;
}
.iimsbp-programme-safe .ps-rich th{
    background:#eef6f6;
    color:var(--ps-navy);
    font-weight:800;
}
.iimsbp-programme-safe .ps-rich blockquote{
    margin:18px 0;
    padding:14px 17px;
    border-left:3px solid var(--ps-gold);
    background:#fbf8f1;
}

/* DOWNLOADS */
.iimsbp-programme-safe .ps-downloads{
    width:100%;
    max-width:none;
    margin-top:16px;
    overflow:hidden;
    border:1px solid var(--ps-line);
    border-radius:5px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,19,64,.05);
}
.iimsbp-programme-safe .ps-download-head{
    padding:13px 16px;
    border-bottom:1px solid var(--ps-line);
    background:#f5f8f9;
}
.iimsbp-programme-safe .ps-download-head small{
    display:block;
    color:var(--ps-teal);
    font-size:8.5px;
    font-weight:800;
    text-transform:uppercase;
}
.iimsbp-programme-safe .ps-download-head h3{
    margin:3px 0 0;
    color:var(--ps-navy);
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
}
.iimsbp-programme-safe .ps-download-list a{
    min-height:49px;
    padding:10px 16px;
    border-bottom:1px solid var(--ps-line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    color:#44525f;
}
.iimsbp-programme-safe .ps-download-list a:last-child{border-bottom:0}
.iimsbp-programme-safe .ps-download-list a:hover{background:#f3f8f8}
.iimsbp-programme-safe .ps-download-list strong{
    display:block;
    color:var(--ps-navy);
    font-size:11px;
}
.iimsbp-programme-safe .ps-download-list small{
    display:block;
    margin-top:2px;
    color:#85909a;
    font-size:8.5px;
}
.iimsbp-programme-safe .ps-download-list b{
    color:var(--ps-teal);
    font-size:9.5px;
    white-space:nowrap;
}


/* Final equal-edge alignment fix */
.iimsbp-programme-safe .ps-main .content-prose,
.iimsbp-programme-safe .ps-main .programme-tab-stage{
    max-width:none !important;
    width:100% !important;
}
.iimsbp-programme-safe .ps-right > *{
    max-width:none;
}

/* DARK MODE */
html[data-theme="dark"] .iimsbp-programme-safe{
    background:#091624;
    color:#dce4ea;
}
html[data-theme="dark"] .iimsbp-programme-safe .ps-breadcrumb-band,
html[data-theme="dark"] .iimsbp-programme-safe .ps-facts-band,
html[data-theme="dark"] .iimsbp-programme-safe .ps-main{
    background:#091624;
    border-color:#263949;
}
html[data-theme="dark"] .iimsbp-programme-safe .ps-side-card,
html[data-theme="dark"] .iimsbp-programme-safe .ps-content-card,
html[data-theme="dark"] .iimsbp-programme-safe .ps-downloads{
    background:#102131;
    border-color:#263949;
}
html[data-theme="dark"] .iimsbp-programme-safe .ps-side-foot,
html[data-theme="dark"] .iimsbp-programme-safe .ps-download-head{
    background:#142738;
    border-color:#263949;
}
html[data-theme="dark"] .iimsbp-programme-safe .ps-section-head h2,
html[data-theme="dark"] .iimsbp-programme-safe .ps-rich h2,
html[data-theme="dark"] .iimsbp-programme-safe .ps-rich h3,
html[data-theme="dark"] .iimsbp-programme-safe .ps-download-head h3,
html[data-theme="dark"] .iimsbp-programme-safe .ps-fact strong{
    color:#fff;
}
html[data-theme="dark"] .iimsbp-programme-safe .ps-rich,
html[data-theme="dark"] .iimsbp-programme-safe .ps-rich p,
html[data-theme="dark"] .iimsbp-programme-safe .ps-rich li{
    color:#cbd5dc;
}
html[data-theme="dark"] .iimsbp-programme-safe .ps-tabs a{
    background:#142738;
    color:#d4dee5;
}


/* Wide screens: outer bands stay fluid; main programme content stays centered. */
@media(min-width:1500px){
    .iimsbp-programme-safe .ps-container{
        padding-left:clamp(60px,5vw,110px);
        padding-right:clamp(60px,5vw,110px);
    }
    .iimsbp-programme-safe .ps-layout{
        grid-template-columns:255px minmax(0,1fr);
        gap:32px;
    }
    .iimsbp-programme-safe .ps-mast-grid{
        grid-template-columns:minmax(500px,40%) minmax(0,60%);
    }
    .iimsbp-programme-safe .ps-mast-copy h1{
        font-size:44px;
    }
}

/* Normal laptop widths */
@media(min-width:981px) and (max-width:1250px){
    .iimsbp-programme-safe .ps-container{
        padding-left:24px;
        padding-right:24px;
    }
    .iimsbp-programme-safe .ps-layout{
        grid-template-columns:220px minmax(0,1fr);
        gap:22px;
    }
    .iimsbp-programme-safe .ps-mast-copy{
        padding:15px 31px 15px 56px;
    }
}

/* RESPONSIVE */
@media(max-width:980px){
    .iimsbp-programme-safe .ps-container{
        width:100%;
        max-width:none;
        padding-left:20px;
        padding-right:20px;
    }
    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 28px);
        max-width:none;
        margin-left:auto;
        margin-right:auto;
        padding-left:0;
        padding-right:0;
    }
    .iimsbp-programme-safe .ps-mast-grid{
        grid-template-columns:1fr;
    }
    .iimsbp-programme-safe .ps-mast-media,
    .iimsbp-programme-safe .ps-mast-media img{
        min-height:220px;
        height:220px;
    }
    .iimsbp-programme-safe .ps-mast-copy{
        padding:31px 25px 34px;
    }
    .iimsbp-programme-safe .ps-mast-copy:before{display:none}
    .iimsbp-programme-safe .ps-layout{
        grid-template-columns:1fr;
    }
    .iimsbp-programme-safe .ps-sidebar{
        position:static;
        min-height:0 !important;
    }
    .iimsbp-programme-safe .ps-side-card,
    .iimsbp-programme-safe .ps-side-card.ps-fixed,
    .iimsbp-programme-safe .ps-side-card.ps-bottom{
        position:static !important;
        width:auto !important;
        top:auto !important;
        bottom:auto !important;
        left:auto !important;
        max-height:none;
    }
    .iimsbp-programme-safe .ps-tabs{
        flex-direction:row;
        overflow-x:auto;
        overflow-y:hidden;
    }
    .iimsbp-programme-safe .ps-tabs a{
        flex:0 0 auto;
        white-space:nowrap;
    }
    .iimsbp-programme-safe .ps-side-foot{display:none}
}
@media(max-width:760px){
    .iimsbp-programme-safe .ps-container{
        width:100%;
        max-width:none;
        padding-left:14px;
        padding-right:14px;
    }
    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 20px);
        max-width:none;
        margin-left:auto;
        margin-right:auto;
        padding-left:0;
        padding-right:0;
    }
    .iimsbp-programme-safe .ps-mast-copy h1{
        font-size:31px;
    }
    .iimsbp-programme-safe .ps-mast-copy p{
        font-size:13px;
    }
    .iimsbp-programme-safe .ps-facts{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .iimsbp-programme-safe .ps-fact:nth-child(2n){border-right:0}
    .iimsbp-programme-safe .ps-fact:nth-child(n+3){
        border-top:1px solid var(--ps-line);
    }
    .iimsbp-programme-safe .ps-main{
        padding:20px 0 52px;
    }
    .iimsbp-programme-safe .ps-programme-banner{
        min-height:102px;
        padding:17px 18px;
    }
    .iimsbp-programme-safe .ps-programme-banner h2{
        font-size:19px;
    }
    .iimsbp-programme-safe .ps-content-inner{
        padding:18px;
    }
}
@media(max-width:480px){
    .iimsbp-programme-safe .ps-facts{
        grid-template-columns:1fr;
    }
    .iimsbp-programme-safe .ps-fact{
        border-right:0;
        border-top:1px solid var(--ps-line);
    }
    .iimsbp-programme-safe .ps-fact:first-child{border-top:0}
    .iimsbp-programme-safe .ps-actions{
        flex-direction:column;
        align-items:stretch;
    }
    .iimsbp-programme-safe .ps-actions a{
        justify-content:center;
    }
}

/* =========================================================
   PROGRAMME PAGE READABILITY UPGRADE
   Typography only - no PHP, layout, tab or sticky logic changed.
   ========================================================= */

.iimsbp-programme-safe{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:15px;
    line-height:1.65;
}

.iimsbp-programme-safe *,
.iimsbp-programme-safe button,
.iimsbp-programme-safe input,
.iimsbp-programme-safe select,
.iimsbp-programme-safe textarea{
    font-family:Arial,Helvetica,sans-serif!important;
}


/* HERO / MASTHEAD */

.iimsbp-programme-safe .ps-kicker{
    font-size:11px!important;
    line-height:1.2!important;
}

.iimsbp-programme-safe .ps-mast-copy h1{
    font-size:44px!important;
    line-height:1.14!important;
    font-weight:700!important;
}

.iimsbp-programme-safe .ps-mast-copy p{
    font-size:16px!important;
    line-height:1.65!important;
}

.iimsbp-programme-safe .ps-actions a{
    font-size:13px!important;
    line-height:1.2!important;
}


/* BREADCRUMB */

.iimsbp-programme-safe .ps-breadcrumb a,
.iimsbp-programme-safe .ps-breadcrumb span{
    font-size:12px!important;
    line-height:1.35!important;
}


/* FACTS */

.iimsbp-programme-safe .ps-fact small{
    font-size:10px!important;
    line-height:1.3!important;
}

.iimsbp-programme-safe .ps-fact strong{
    font-size:15px!important;
    line-height:1.4!important;
}


/* LEFT PROGRAMME NAV */

.iimsbp-programme-safe .ps-side-head small{
    font-size:10px!important;
    line-height:1.3!important;
}

.iimsbp-programme-safe .ps-side-head strong{
    font-size:18px!important;
    line-height:1.35!important;
}

.iimsbp-programme-safe .ps-tabs a{
    font-size:13.5px!important;
    line-height:1.4!important;
    min-height:45px;
}

.iimsbp-programme-safe .ps-side-foot a{
    font-size:12px!important;
    line-height:1.35!important;
}


/* RIGHT PROGRAMME BANNER */

.iimsbp-programme-safe .ps-programme-banner small{
    font-size:10px!important;
    line-height:1.3!important;
}

.iimsbp-programme-safe .ps-programme-banner h2{
    font-size:27px!important;
    line-height:1.28!important;
    font-weight:700!important;
}

.iimsbp-programme-safe .ps-programme-banner p{
    font-size:14px!important;
    line-height:1.6!important;
}


/* TAB / SECTION HEADING */

.iimsbp-programme-safe .ps-section-head small{
    font-size:10px!important;
    line-height:1.3!important;
}

.iimsbp-programme-safe .ps-section-head h2{
    font-size:25px!important;
    line-height:1.3!important;
    font-weight:700!important;
}


/* MAIN CONTENT */

.iimsbp-programme-safe .ps-rich,
.iimsbp-programme-safe .ps-rich p,
.iimsbp-programme-safe .ps-rich li{
    font-size:15px!important;
    line-height:1.78!important;
}

.iimsbp-programme-safe .ps-rich h1{
    font-size:29px!important;
    line-height:1.25!important;
}

.iimsbp-programme-safe .ps-rich h2{
    font-size:24px!important;
    line-height:1.3!important;
}

.iimsbp-programme-safe .ps-rich h3{
    font-size:20px!important;
    line-height:1.35!important;
}

.iimsbp-programme-safe .ps-rich h4{
    font-size:17px!important;
    line-height:1.4!important;
}

.iimsbp-programme-safe .ps-rich a{
    font-size:inherit!important;
}


/* TABLES */

.iimsbp-programme-safe .ps-rich th,
.iimsbp-programme-safe .ps-rich td{
    font-size:14px!important;
    line-height:1.5!important;
}


/* DOWNLOADS */

.iimsbp-programme-safe .ps-download-head small{
    font-size:10px!important;
    line-height:1.3!important;
}

.iimsbp-programme-safe .ps-download-head h3{
    font-size:19px!important;
    line-height:1.35!important;
}

.iimsbp-programme-safe .ps-download-list strong{
    font-size:14px!important;
    line-height:1.4!important;
}

.iimsbp-programme-safe .ps-download-list small{
    font-size:11px!important;
    line-height:1.35!important;
}

.iimsbp-programme-safe .ps-download-list b{
    font-size:12px!important;
    line-height:1.3!important;
}


/* RESPONSIVE TYPOGRAPHY */

@media(max-width:980px){

    .iimsbp-programme-safe .ps-mast-copy h1{
        font-size:38px!important;
    }

    .iimsbp-programme-safe .ps-mast-copy p{
        font-size:15px!important;
    }

    .iimsbp-programme-safe .ps-tabs a{
        font-size:13px!important;
    }

}

@media(max-width:760px){

    .iimsbp-programme-safe .ps-mast-copy h1{
        font-size:34px!important;
        line-height:1.16!important;
    }

    .iimsbp-programme-safe .ps-mast-copy p{
        font-size:14.5px!important;
    }

    .iimsbp-programme-safe .ps-programme-banner h2{
        font-size:23px!important;
    }

    .iimsbp-programme-safe .ps-programme-banner p{
        font-size:13.5px!important;
    }

    .iimsbp-programme-safe .ps-section-head h2{
        font-size:22px!important;
    }

    .iimsbp-programme-safe .ps-rich,
    .iimsbp-programme-safe .ps-rich p,
    .iimsbp-programme-safe .ps-rich li{
        font-size:14.5px!important;
        line-height:1.72!important;
    }

    .iimsbp-programme-safe .ps-rich h2{
        font-size:22px!important;
    }

    .iimsbp-programme-safe .ps-rich h3{
        font-size:19px!important;
    }

}

@media(max-width:480px){

    .iimsbp-programme-safe .ps-mast-copy h1{
        font-size:31px!important;
    }

    .iimsbp-programme-safe .ps-programme-banner h2{
        font-size:21px!important;
    }

    .iimsbp-programme-safe .ps-tabs a{
        font-size:12.5px!important;
    }

}

/* =========================================================
   PROGRAMME V5 - RESPONSIVE / HEADER-AWARE FINAL OVERRIDES
   ========================================================= */
.iimsbp-programme-safe{
    --ps-ease:cubic-bezier(.16,1,.3,1);
    --ps-header-offset:118px;
    overflow:clip;
    -webkit-font-smoothing:antialiased;
}
.iimsbp-programme-safe a,
.iimsbp-programme-safe .ps-content-card,
.iimsbp-programme-safe .ps-programme-banner,
.iimsbp-programme-safe .ps-side-card{
    transition:all .35s var(--ps-ease);
}

/* Smaller top programme thumbnail */
.iimsbp-programme-safe .ps-mast-grid{
    min-height:0!important;
    grid-template-columns:minmax(330px,36%) minmax(0,64%)!important;
}
.iimsbp-programme-safe .ps-mast-media{
    height:270px!important;
    min-height:270px!important;
    align-self:center;
}
.iimsbp-programme-safe .ps-mast-media img{
    width:100%;
    height:270px!important;
    min-height:270px!important;
    object-fit:cover;
    object-position:center;
    transition:transform .8s var(--ps-ease);
}
.iimsbp-programme-safe .ps-mast-media:hover img{transform:scale(1.02)}
.iimsbp-programme-safe .ps-mast-copy{
    min-height:270px!important;
    padding:28px clamp(30px,5vw,78px) 30px clamp(42px,5.5vw,92px)!important;
}
.iimsbp-programme-safe .ps-mast-copy h1{
    font-size:clamp(34px,3vw,44px)!important;
    line-height:1.11!important;
    letter-spacing:-.025em;
}
.iimsbp-programme-safe .ps-mast-copy p{
    font-size:15px!important;
    margin-top:11px!important;
}

/* Header-style smooth page entrance */
.iimsbp-programme-safe.ps-motion-ready .ps-mast-media{
    animation:psMediaIn .65s var(--ps-ease) both;
}
.iimsbp-programme-safe.ps-motion-ready .ps-mast-copy>*{
    animation:psCopyIn .55s var(--ps-ease) both;
}
@keyframes psMediaIn{
    from{opacity:.25;transform:translate3d(-22px,0,0)}
    to{opacity:1;transform:none}
}
@keyframes psCopyIn{
    from{opacity:0;transform:translate3d(0,13px,0)}
    to{opacity:1;transform:none}
}

/* More flexible facts */
.iimsbp-programme-safe .ps-facts{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.iimsbp-programme-safe .ps-fact strong{overflow-wrap:anywhere}

/* Main layout */
.iimsbp-programme-safe .ps-main>.ps-container{
    width:calc(100% - 48px)!important;
    max-width:1560px!important;
}
.iimsbp-programme-safe .ps-layout{
    grid-template-columns:clamp(225px,17vw,275px) minmax(0,1fr)!important;
    gap:clamp(20px,2.1vw,34px)!important;
}

/* Header-aware sticky card */
.iimsbp-programme-safe .ps-side-card{
    max-height:calc(100vh - var(--ps-header-offset) - 28px)!important;
}
.iimsbp-programme-safe .ps-side-card.ps-fixed{
    top:var(--ps-header-offset)!important;
}
.iimsbp-programme-safe .ps-tabs{
    scroll-behavior:smooth;
    overscroll-behavior:contain;
}
.iimsbp-programme-safe .ps-tabs a{
    border-radius:4px;
    transition:background .22s ease,color .22s ease,transform .25s var(--ps-ease)!important;
}
.iimsbp-programme-safe .ps-tabs a:hover{transform:translateX(2px)}

/* Smoother programme tab transition */
.iimsbp-programme-safe .programme-tab-panel{
    opacity:0;
    transform:translate3d(0,10px,0) scale(.995);
}
.iimsbp-programme-safe .programme-tab-panel.active{
    animation:psTabIn .42s var(--ps-ease) forwards!important;
}
@keyframes psTabIn{
    from{opacity:0;transform:translate3d(0,10px,0) scale(.995)}
    to{opacity:1;transform:none}
}

/* Better responsive rich content */
.iimsbp-programme-safe .ps-rich{min-width:0;overflow-wrap:anywhere}
.iimsbp-programme-safe .ps-rich img{
    max-width:100%!important;
    height:auto!important;
    border-radius:5px;
}
.iimsbp-programme-safe .ps-rich iframe,
.iimsbp-programme-safe .ps-rich video{max-width:100%!important}
.iimsbp-programme-safe .ps-rich table{
    display:block;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.iimsbp-programme-safe .ps-rich table tbody{
    display:table;
    width:100%;
    min-width:620px;
}

/* Tablet: horizontal programme navigation */
@media(max-width:1024px){
    .iimsbp-programme-safe .ps-main>.ps-container{
        width:calc(100% - 28px)!important;
        max-width:none!important;
    }
    .iimsbp-programme-safe .ps-layout{
        grid-template-columns:1fr!important;
        gap:17px!important;
    }
    .iimsbp-programme-safe .ps-sidebar{position:static!important;min-height:0!important}
    .iimsbp-programme-safe .ps-side-card,
    .iimsbp-programme-safe .ps-side-card.ps-fixed,
    .iimsbp-programme-safe .ps-side-card.ps-bottom{
        position:static!important;
        width:100%!important;
        max-height:none!important;
        left:auto!important;top:auto!important;bottom:auto!important;
    }
    .iimsbp-programme-safe .ps-tabs{
        flex-direction:row!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scroll-snap-type:x proximity;
        gap:7px!important;
    }
    .iimsbp-programme-safe .ps-tabs a{
        flex:0 0 auto!important;
        white-space:nowrap;
        min-height:40px!important;
        scroll-snap-align:start;
    }
    .iimsbp-programme-safe .ps-side-foot{display:none!important}
}

/* Tablet portrait: stack hero and reduce thumbnail */
@media(max-width:860px){
    .iimsbp-programme-safe .ps-mast-grid{grid-template-columns:1fr!important}
    .iimsbp-programme-safe .ps-mast-media,
    .iimsbp-programme-safe .ps-mast-media img{
        height:205px!important;
        min-height:205px!important;
    }
    .iimsbp-programme-safe .ps-mast-copy{
        min-height:0!important;
        padding:27px 22px 30px!important;
    }
    .iimsbp-programme-safe .ps-mast-grid:not(.no-image) .ps-mast-copy:before{display:none!important}
    .iimsbp-programme-safe .ps-mast-copy h1{font-size:34px!important}
    .iimsbp-programme-safe .ps-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Phones */
@media(max-width:600px){
    .iimsbp-programme-safe .ps-container{padding-left:12px!important;padding-right:12px!important}
    .iimsbp-programme-safe .ps-main>.ps-container{width:calc(100% - 20px)!important}
    .iimsbp-programme-safe .ps-mast-media,
    .iimsbp-programme-safe .ps-mast-media img{
        height:178px!important;
        min-height:178px!important;
    }
    .iimsbp-programme-safe .ps-mast-copy{padding:23px 16px 26px!important}
    .iimsbp-programme-safe .ps-mast-copy h1{font-size:29px!important;line-height:1.14!important}
    .iimsbp-programme-safe .ps-mast-copy p{font-size:14px!important}
    .iimsbp-programme-safe .ps-actions a{flex:1 1 auto;justify-content:center}
    .iimsbp-programme-safe .ps-facts{grid-template-columns:1fr!important}
    .iimsbp-programme-safe .ps-fact{border-right:0!important;border-top:1px solid var(--ps-line)}
    .iimsbp-programme-safe .ps-fact:first-child{border-top:0}
    .iimsbp-programme-safe .ps-programme-banner{min-height:0!important;padding:15px!important}
    .iimsbp-programme-safe .ps-programme-banner h2{font-size:21px!important}
    .iimsbp-programme-safe .ps-content-inner{padding:16px!important}
    .iimsbp-programme-safe .ps-rich,
    .iimsbp-programme-safe .ps-rich p,
    .iimsbp-programme-safe .ps-rich li{font-size:14px!important;line-height:1.72!important}
}
@media(max-width:390px){
    .iimsbp-programme-safe .ps-mast-media,
    .iimsbp-programme-safe .ps-mast-media img{
        height:160px!important;
        min-height:160px!important;
    }
    .iimsbp-programme-safe .ps-mast-copy h1{font-size:27px!important}
}

/* Accessibility */
.iimsbp-programme-safe a:focus-visible{
    outline:3px solid rgba(0,132,145,.28);
    outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
    .iimsbp-programme-safe *,
    .iimsbp-programme-safe *:before,
    .iimsbp-programme-safe *:after{
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
}


/* ========================================================================
   PROGRAMME V5.1
   WIDTH MATCHED TO GENERIC page.php + NO TAB-SWAP PAGE JUMP
   ======================================================================== */

/*
 * Match the current generic page.php spacing:
 * - desktop outer content spacing: 70px
 * - inner content width: calc(100% - 20px)
 * - no artificial max-width restriction
 */
.iimsbp-programme-safe .ps-container{
    width:100%!important;
    max-width:none!important;

    margin-left:0!important;
    margin-right:0!important;

    padding-left:70px!important;
    padding-right:70px!important;
}


/*
 * The programme main area now follows the same visual width system
 * as page.php instead of the previous 1480/1560px maximum.
 */
.iimsbp-programme-safe .ps-main{
    padding:
        28px
        70px
        72px!important;
}

.iimsbp-programme-safe .ps-main > .ps-container{
    width:calc(100% - 20px)!important;
    max-width:none!important;

    margin-left:auto!important;
    margin-right:auto!important;

    padding-left:0!important;
    padding-right:0!important;
}


/*
 * Preserve the full remaining right-column width.
 */
.iimsbp-programme-safe .ps-layout,
.iimsbp-programme-safe .ps-right,
.iimsbp-programme-safe .programme-tab-stage,
.iimsbp-programme-safe .programme-tab-panel,
.iimsbp-programme-safe .ps-content-card{
    max-width:none!important;
}


/*
 * Browser scroll anchoring can reposition the viewport when one
 * programme panel is hidden and another panel has a different height.
 * Disable it only in the dynamic programme-tab area.
 */
.iimsbp-programme-safe .programme-tab-stage,
.iimsbp-programme-safe .programme-tab-panel,
.iimsbp-programme-safe .ps-content-card{
    overflow-anchor:none;
}


/*
 * JavaScript temporarily applies this class during a tab swap.
 * No fade of the entire right column; only the new panel animates.
 */
.iimsbp-programme-safe .programme-tab-stage.ps-tab-changing{
    overflow-anchor:none;
}


/* Normal laptop */
@media(min-width:981px) and (max-width:1250px){

    .iimsbp-programme-safe .ps-container{
        padding-left:24px!important;
        padding-right:24px!important;
    }

    .iimsbp-programme-safe .ps-main{
        padding:
            26px
            24px
            64px!important;
    }

    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 20px)!important;
        max-width:none!important;
    }
}


/* Tablet / smaller screens — same compact width approach as page.php */
@media(max-width:980px){

    .iimsbp-programme-safe .ps-container{
        padding-left:10px!important;
        padding-right:10px!important;
    }

    .iimsbp-programme-safe .ps-main{
        padding:
            20px
            10px
            52px!important;
    }

    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 20px)!important;
        max-width:none!important;

        margin-left:auto!important;
        margin-right:auto!important;

        padding-left:0!important;
        padding-right:0!important;
    }
}


/* Mobile keeps the same 10px site-page edge treatment */
@media(max-width:600px){

    .iimsbp-programme-safe .ps-container{
        padding-left:10px!important;
        padding-right:10px!important;
    }

    .iimsbp-programme-safe .ps-main{
        padding:
            18px
            10px
            48px!important;
    }

    .iimsbp-programme-safe .ps-main > .ps-container{
        width:calc(100% - 20px)!important;
    }
}
