/* =========================
   CBPM HERO CAROUSEL BEHAVIOUR
   Bootstrap supplies the core carousel mechanics. These rules ensure that
   the four hero panels never render vertically as normal-flow sections.
========================= */
.cbpm-hero-slider .carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.cbpm-hero-slider .carousel-item {
    position: relative;
    display: none;
    width: 100%;
    margin-right: -100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform 0.6s ease-in-out;
}

.cbpm-hero-slider .carousel-item.active,
.cbpm-hero-slider .carousel-item-next,
.cbpm-hero-slider .carousel-item-prev {
    display: block;
}

.cbpm-hero-slider .carousel-item-next:not(.carousel-item-start),
.cbpm-hero-slider .active.carousel-item-end {
    transform: translateX(100%);
}

.cbpm-hero-slider .carousel-item-prev:not(.carousel-item-end),
.cbpm-hero-slider .active.carousel-item-start {
    transform: translateX(-100%);
}

.cbpm-hero-slider .carousel-item-next.carousel-item-start,
.cbpm-hero-slider .carousel-item-prev.carousel-item-end,
.cbpm-hero-slider .active.carousel-item-start,
.cbpm-hero-slider .active.carousel-item-end {
    transform: translateX(0);
}

.cbpm-hero-slider .carousel-fade .carousel-item {
    opacity: 0;
    transform: none !important;
    transition-property: opacity;
}

.cbpm-hero-slider .carousel-fade .carousel-item.active,
.cbpm-hero-slider .carousel-fade .carousel-item-next.carousel-item-start,
.cbpm-hero-slider .carousel-fade .carousel-item-prev.carousel-item-end {
    z-index: 1;
    opacity: 1;
}

.cbpm-hero-slider .carousel-fade .active.carousel-item-start,
.cbpm-hero-slider .carousel-fade .active.carousel-item-end {
    z-index: 0;
    opacity: 0;
}

/* =========================
   CBPM HERO BANNERS
   Upload banner files to: assets/img/banner/
   Required filenames:
   cbpm-slide-01.jpg through cbpm-slide-04.jpg
========================= */
.cbpm-hero-slider {
    position: relative;
}

.cbpm-hero-slider .hero-slide {
    min-height: 720px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.cbpm-hero-slider .cbpm-slide-one {
    background-image: linear-gradient(90deg, rgba(13, 35, 64, 0.88) 0%, rgba(13, 35, 64, 0.62) 38%, rgba(13, 35, 64, 0.18) 72%, rgba(13, 35, 64, 0.08) 100%), url('../img/banner/cbpm-slide-01.jpg');
}

.cbpm-hero-slider .cbpm-slide-two {
    background-image: linear-gradient(90deg, rgba(13, 35, 64, 0.88) 0%, rgba(13, 35, 64, 0.62) 38%, rgba(13, 35, 64, 0.18) 72%, rgba(13, 35, 64, 0.08) 100%), url('../img/banner/cbpm-slide-02.jpg');
}

.cbpm-hero-slider .cbpm-slide-three {
    background-image: linear-gradient(90deg, rgba(13, 35, 64, 0.88) 0%, rgba(13, 35, 64, 0.62) 38%, rgba(13, 35, 64, 0.18) 72%, rgba(13, 35, 64, 0.08) 100%), url('../img/banner/cbpm-slide-03.jpg');
}

.cbpm-hero-slider .cbpm-slide-four {
    background-image: linear-gradient(90deg, rgba(13, 35, 64, 0.88) 0%, rgba(13, 35, 64, 0.62) 38%, rgba(13, 35, 64, 0.18) 72%, rgba(13, 35, 64, 0.08) 100%), url('../img/banner/cbpm-slide-04.jpg');
}

:root {
    --cbpm-navy: #0D2340;
    --cbpm-navy-dark: #08182C;
    --cbpm-navy-soft: #16395F;
    --cbpm-orange: #F28C28;
    --cbpm-orange-dark: #D87513;
    --cbpm-white: #FFFFFF;
    --cbpm-gray-50: #F7F9FB;
    --cbpm-gray-100: #EEF2F5;
    --cbpm-gray-200: #DDE4EA;
    --cbpm-gray-500: #64748B;
    --cbpm-text: #263445;
    --cbpm-shadow: 0 12px 35px rgba(13, 35, 64, 0.12);
    --cbpm-transition: 220ms ease;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--cbpm-text);
    background: var(--cbpm-white);
    font-family: "Inter", Arial, sans-serif;
    line-height: 1.6;
}

a {
    color: inherit;
    text-decoration: none;
}

.cbpm-skip-link {
    position: fixed;
    top: -100px;
    left: 20px;
    z-index: 99999;
    padding: 10px 16px;
    background: var(--cbpm-orange);
    color: var(--cbpm-navy);
    font-weight: 800;
    border-radius: 0 0 8px 8px;
}

.cbpm-skip-link:focus {
    top: 0;
}

/* =========================
   FIXED HEADER
========================= */
.cbpm-header {
    position: sticky;   /* was: fixed */
    top: 0;
    z-index: 9990;
    width: 100%;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 3px solid var(--cbpm-navy);
    box-shadow: 0 5px 22px rgba(13, 35, 64, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: box-shadow var(--cbpm-transition), background var(--cbpm-transition);
}

.cbpm-header.is-scrolled {
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 8px 30px rgba(13, 35, 64, 0.14);
}

.cbpm-header-inner {
    width: min(1480px, calc(100% - 40px));
    min-height: 104px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
}

/* =========================
   BRAND
========================= */
.cbpm-brand {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-width: 335px;
    color: var(--cbpm-navy);
}

.cbpm-brand-logo-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    overflow: hidden;
    border-radius: 50%;
    background: var(--cbpm-navy);
    box-shadow: 0 5px 16px rgba(13, 35, 64, 0.18);
}

.cbpm-brand-logo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cbpm-brand-divider {
    width: 3px;
    height: 66px;
    margin: 0 13px;
    background: var(--cbpm-orange);
    position: relative;
}

.cbpm-brand-divider::after {
    content: "";
    position: absolute;
    left: -11px;
    right: -11px;
    bottom: 7px;
    height: 2px;
    background: var(--cbpm-orange);
    transform: translateX(4px);
}

.cbpm-brand-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cbpm-brand-name {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 1.28;
    letter-spacing: 0.025em;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.cbpm-brand-short {
    margin-top: 3px;
    color: var(--cbpm-orange);
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.25em;
}

.cbpm-brand-accent {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 5px 0 0;
    max-width: 185px;
}

.cbpm-brand-accent span {
    height: 2px;
    flex: 1;
    background: var(--cbpm-orange);
}

.cbpm-brand-accent i {
    width: 5px;
    height: 5px;
    display: block;
    background: var(--cbpm-orange);
    transform: rotate(45deg);
}

/* =========================
   NAVIGATION
========================= */
.cbpm-nav {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

.cbpm-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cbpm-menu-item {
    position: relative;
}

.cbpm-menu-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 46px;
    padding: 10px 11px;
    border: 0;
    background: transparent;
    color: var(--cbpm-navy);
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--cbpm-transition);
}

.cbpm-menu-link::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 2px;
    height: 3px;
    border-radius: 10px;
    background: var(--cbpm-orange);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--cbpm-transition);
}

.cbpm-menu-link:hover,
.cbpm-menu-link:focus-visible,
.cbpm-menu-link.active {
    color: var(--cbpm-orange-dark);
    outline: none;
}

.cbpm-menu-link:hover::after,
.cbpm-menu-link:focus-visible::after,
.cbpm-menu-link.active::after {
    transform: scaleX(1);
}

.cbpm-menu-link .bi {
    font-size: 10px;
    transition: transform var(--cbpm-transition);
}

.cbpm-menu-item:hover > .cbpm-menu-link .bi {
    transform: rotate(180deg);
}

/* =========================
   DROPDOWN
========================= */
.cbpm-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    min-width: 270px;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: var(--cbpm-white);
    border: 1px solid rgba(13, 35, 64, 0.08);
    border-top: 3px solid var(--cbpm-orange);
    border-radius: 0 0 12px 12px;
    box-shadow: var(--cbpm-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -8px);
    transition: opacity var(--cbpm-transition), transform var(--cbpm-transition), visibility var(--cbpm-transition);
}

.cbpm-menu-item:hover > .cbpm-dropdown,
.cbpm-menu-item:focus-within > .cbpm-dropdown,
.cbpm-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.cbpm-dropdown-right {
    left: auto;
    right: 0;
    transform: translate(0, -8px);
}

.cbpm-menu-item:hover > .cbpm-dropdown-right,
.cbpm-menu-item:focus-within > .cbpm-dropdown-right,
.cbpm-dropdown-right.is-open {
    transform: translate(0, 0);
}

.cbpm-dropdown li {
    margin: 0;
}

.cbpm-dropdown a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 13px;
    color: var(--cbpm-navy);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    transition: background var(--cbpm-transition), color var(--cbpm-transition), transform var(--cbpm-transition);
}

.cbpm-dropdown a::before {
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 8px 0 0 8px;
    background: var(--cbpm-orange);
    transition: width var(--cbpm-transition);
}

.cbpm-dropdown a .bi {
    width: 18px;
    color: var(--cbpm-orange);
    font-size: 15px;
    text-align: center;
    transition: transform var(--cbpm-transition);
}

.cbpm-dropdown a:hover,
.cbpm-dropdown a:focus-visible {
    color: var(--cbpm-white);
    background: var(--cbpm-navy);
    transform: translateX(3px);
    outline: none;
}

.cbpm-dropdown a:hover::before,
.cbpm-dropdown a:focus-visible::before {
    width: 3px;
}

.cbpm-dropdown a:hover .bi,
.cbpm-dropdown a:focus-visible .bi {
    color: var(--cbpm-orange);
    transform: scale(1.08);
}

/* =========================
   ACTION BUTTONS
========================= */
.cbpm-nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.cbpm-btn {
    min-height: 42px;
    padding: 10px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 2px solid transparent;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: transform var(--cbpm-transition), background var(--cbpm-transition), color var(--cbpm-transition), box-shadow var(--cbpm-transition);
}

.cbpm-btn:hover,
.cbpm-btn:focus-visible {
    transform: translateY(-2px);
    outline: none;
}

.cbpm-btn-outline {
    color: var(--cbpm-navy);
    border-color: var(--cbpm-navy);
    background: var(--cbpm-white);
}

.cbpm-btn-outline:hover,
.cbpm-btn-outline:focus-visible {
    color: var(--cbpm-white);
    background: var(--cbpm-navy);
    box-shadow: 0 7px 18px rgba(13, 35, 64, 0.16);
}

.cbpm-btn-primary {
    color: var(--cbpm-white);
    background: var(--cbpm-orange);
    border-color: var(--cbpm-orange);
    box-shadow: 0 7px 18px rgba(242, 140, 40, 0.22);
}

.cbpm-btn-primary:hover,
.cbpm-btn-primary:focus-visible {
    background: var(--cbpm-orange-dark);
    border-color: var(--cbpm-orange-dark);
    box-shadow: 0 9px 22px rgba(242, 140, 40, 0.30);
}

/* =========================
   MOBILE TOGGLE
========================= */
.cbpm-menu-toggle {
    display: none;
    width: 45px;
    height: 45px;
    padding: 10px;
    margin-left: auto;
    border: 0;
    border-radius: 8px;
    background: var(--cbpm-navy);
    cursor: pointer;
}

.cbpm-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    margin: 5px auto;
    background: var(--cbpm-white);
    transition: transform var(--cbpm-transition), opacity var(--cbpm-transition);
}

.cbpm-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.cbpm-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.cbpm-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* =========================
   FOOTER
========================= */
.cbpm-footer {
    color: rgba(255, 255, 255, 0.86);
    background: var(--cbpm-navy-dark);
}

.cbpm-footer-top {
    padding: 65px 0 48px;
    background:
        linear-gradient(rgba(8, 24, 44, 0.97), rgba(8, 24, 44, 0.97)),
        radial-gradient(circle at 90% 10%, rgba(242, 140, 40, 0.13), transparent 35%);
}

.cbpm-footer-container {
    width: min(1480px, calc(100% - 40px));
    margin: 0 auto;
}

.cbpm-footer-top .cbpm-footer-container {
    display: grid;
    grid-template-columns: minmax(270px, 1.6fr) repeat(3, minmax(150px, 0.85fr)) minmax(230px, 1.2fr);
    gap: 38px;
}

.cbpm-footer-brand {
    max-width: 380px;
}

.cbpm-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 13px;
}

.cbpm-footer-logo img {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid rgba(242, 140, 40, 0.8);
}

.cbpm-footer-logo strong {
    display: block;
    color: var(--cbpm-white);
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 1.3;
    text-transform: uppercase;
}

.cbpm-footer-logo small {
    display: block;
    margin-top: 4px;
    color: var(--cbpm-orange);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.25em;
}

.cbpm-footer-brand > p {
    margin: 20px 0 22px;
    color: rgba(255, 255, 255, 0.67);
    font-size: 13px;
    line-height: 1.8;
}

.cbpm-footer-social {
    display: flex;
    gap: 8px;
}

.cbpm-footer-social a {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    color: var(--cbpm-white);
    transition: background var(--cbpm-transition), border-color var(--cbpm-transition), color var(--cbpm-transition), transform var(--cbpm-transition);
}

.cbpm-footer-social a:hover,
.cbpm-footer-social a:focus-visible {
    color: var(--cbpm-navy);
    background: var(--cbpm-orange);
    border-color: var(--cbpm-orange);
    transform: translateY(-3px);
    outline: none;
}

.cbpm-footer-column h3 {
    margin: 0 0 17px;
    color: var(--cbpm-white);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cbpm-footer-column h3::after {
    content: "";
    display: block;
    width: 34px;
    height: 2px;
    margin-top: 9px;
    background: var(--cbpm-orange);
}

.cbpm-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cbpm-footer-column li {
    margin: 0 0 9px;
}

.cbpm-footer-column li a {
    color: rgba(255, 255, 255, 0.64);
    font-size: 12px;
    transition: color var(--cbpm-transition), padding-left var(--cbpm-transition);
}

.cbpm-footer-column li a:hover,
.cbpm-footer-column li a:focus-visible {
    padding-left: 4px;
    color: var(--cbpm-orange);
    outline: none;
}

.cbpm-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 12px;
    line-height: 1.55;
}

.cbpm-footer-contact li i {
    flex: 0 0 17px;
    margin-top: 2px;
    color: var(--cbpm-orange);
}

.cbpm-footer-contact li a {
    color: rgba(255, 255, 255, 0.75);
}

.cbpm-footer-contact li a:hover {
    color: var(--cbpm-orange);
}

.cbpm-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    background: #061525;
}

.cbpm-footer-bottom-inner {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cbpm-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.48);
    font-size: 11px;
}

.cbpm-credit a {
    color: var(--cbpm-orange);
    font-weight: 800;
}

.cbpm-credit a:hover,
.cbpm-credit a:focus-visible {
    color: var(--cbpm-white);
    text-decoration: underline;
}

/* =========================
   BACK TO TOP
========================= */
.cbpm-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9980;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    color: var(--cbpm-white);
    background: var(--cbpm-orange);
    box-shadow: 0 10px 24px rgba(13, 35, 64, 0.20);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    cursor: pointer;
    transition: opacity var(--cbpm-transition), visibility var(--cbpm-transition), transform var(--cbpm-transition), background var(--cbpm-transition);
}

.cbpm-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cbpm-back-to-top:hover,
.cbpm-back-to-top:focus-visible {
    background: var(--cbpm-orange-dark);
    outline: none;
}

/* Ensure fixed header doesn't cover anchored sections */
[id] {
    scroll-margin-top: 125px;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1320px) {
    .cbpm-header-inner {
        width: min(100% - 28px, 1240px);
        gap: 12px;
    }

    .cbpm-brand {
        min-width: 290px;
    }

    .cbpm-brand-logo-wrap {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .cbpm-brand-divider {
        height: 56px;
        margin: 0 10px;
    }

    .cbpm-brand-name {
        font-size: 12px;
    }

    .cbpm-menu-link {
        padding-inline: 8px;
        font-size: 12px;
    }

    .cbpm-menu-link::after {
        left: 8px;
        right: 8px;
    }

    .cbpm-nav {
        gap: 10px;
    }

    .cbpm-btn {
        padding-inline: 11px;
        font-size: 10px;
    }
}

@media (max-width: 1120px) {
    .cbpm-menu-toggle {
        display: block;
    }

    .cbpm-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        padding: 15px;
        background: var(--cbpm-white);
        border-top: 1px solid var(--cbpm-gray-100);
        box-shadow: 0 15px 28px rgba(13, 35, 64, 0.14);
        max-height: calc(100vh - 80px);
        overflow-y: auto;
    }

    .cbpm-nav.is-open {
        display: block;
    }

    .cbpm-menu {
        display: block;
    }

    .cbpm-menu-item {
        border-bottom: 1px solid var(--cbpm-gray-100);
    }

    .cbpm-menu-link {
        width: 100%;
        justify-content: space-between;
        padding: 13px 10px;
        font-size: 13px;
        text-align: left;
    }

    .cbpm-menu-link::after {
        left: 0;
        right: auto;
        width: 45px;
    }

    .cbpm-dropdown,
    .cbpm-dropdown-right {
        position: static;
        width: 100%;
        min-width: 0;
        display: none;
        padding: 5px 0 10px 10px;
        border: 0;
        border-left: 2px solid var(--cbpm-orange);
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .cbpm-dropdown.is-open {
        display: block;
    }

    .cbpm-dropdown a {
        padding: 10px 12px;
    }

    .cbpm-nav-actions {
        padding-top: 15px;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .cbpm-btn {
        width: 100%;
    }

    .cbpm-footer-top .cbpm-footer-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .cbpm-footer-brand {
        grid-column: 1 / -1;
        max-width: 650px;
    }
}

@media (max-width: 650px) {
    .cbpm-header-inner {
        min-height: 82px;
        width: calc(100% - 24px);
    }

    .cbpm-brand {
        min-width: 0;
        max-width: calc(100% - 55px);
    }

    .cbpm-brand-logo-wrap {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .cbpm-brand-divider {
        width: 2px;
        height: 43px;
        margin: 0 8px;
    }

    .cbpm-brand-divider::after {
        display: none;
    }

    .cbpm-brand-name {
        font-size: 9px;
        white-space: normal;
    }

    .cbpm-brand-accent {
        margin-top: 3px;
        max-width: 110px;
    }

    .cbpm-brand-short {
        font-size: 8px;
        margin-top: 2px;
    }

    .cbpm-menu-toggle {
        width: 42px;
        height: 42px;
    }

    .cbpm-footer-top {
        padding: 48px 0 35px;
    }

    .cbpm-footer-top .cbpm-footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cbpm-footer-brand {
        grid-column: auto;
    }

    .cbpm-footer-bottom-inner {
        padding: 16px 0;
        flex-direction: column;
        align-items: flex-start;
    }

    .cbpm-back-to-top {
        right: 15px;
        bottom: 15px;
    }
}

@media (max-width: 991.98px) {
    .cbpm-hero-slider .hero-slide {
        min-height: 650px;
        background-position: center center;
    }
}

@media (max-width: 575.98px) {
    .cbpm-hero-slider .hero-slide {
        min-height: 680px;
        background-position: 58% center;
    }
}


/* =========================================================
   CBPM HERO ROTATING CAPTION
   ========================================================= */
.cbpm-hero-slider .txt-rotate {
    display: inline-block;
    min-width: 1ch;
    color: #F28C28;
    font-weight: 800;
}

.cbpm-hero-slider .txt-rotate .wrap {
    display: inline-block;
    min-height: 1em;
    border-right: 3px solid #F28C28;
    padding-right: 5px;
    animation: cbpmCaretBlink 0.75s step-end infinite;
}

@keyframes cbpmCaretBlink {
    0%, 100% { border-color: #F28C28; }
    50% { border-color: transparent; }
}

@media (prefers-reduced-motion: reduce) {
    .cbpm-hero-slider .txt-rotate .wrap {
        animation: none;
    }
}


/* =========================================================
   CBPM HOMEPAGE
========================================================= */
.cbpm-container { width: min(1240px, calc(100% - 40px)); margin: 0 auto; }

/* Hero content was intentionally kept separate from the carousel mechanics. */
.cbpm-hero-slider .hero-slide {
    min-height: 720px;
    position: relative;
    display: flex;
    align-items: center;
    background-color: var(--cbpm-navy);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.cbpm-hero-slider .cbpm-slide-one { background-image: linear-gradient(40deg, rgba(13,35,64,.94) 0%, rgba(13,35,64,.78) 35%, rgba(13,35,64,.20) 78%, rgba(13,35,64,.08) 100%), url('../img/banner/cbpm-slide-01.jpg'); }
.cbpm-hero-slider .cbpm-slide-two {
    background-image:
        linear-gradient(
            40deg,
            rgba(13, 35, 64, 0.25) 0%,
            rgba(13, 35, 64, 0.12) 35%,
            rgba(13, 35, 64, 0.03) 70%,
            rgba(13, 35, 64, 0.00) 100%
        ),
        url('../img/banner/cbpm-slide-02.jpg');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.cbpm-hero-slider .cbpm-slide-three { background-image: linear-gradient(40deg, rgba(13,35,64,.94) 0%, rgba(13,35,64,.74) 35%, rgba(13,35,64,.22) 78%, rgba(13,35,64,.08) 100%), url('../img/banner/cbpm-slide-03.jpg'); }
.cbpm-hero-slider .cbpm-slide-four { background-image: linear-gradient(40deg, rgba(13,35,64,.94) 0%, rgba(13,35,64,.74) 35%, rgba(13,35,64,.22) 78%, rgba(13,35,64,.08) 100%), url('../img/banner/cbpm-slide-04.jpg'); }
.cbpm-hero-slider .cbpm-slide-five { background-image: linear-gradient(40deg, rgba(13,35,64,.94) 0%, rgba(13,35,64,.74) 35%, rgba(13,35,64,.22) 78%, rgba(13,35,64,.08) 100%), url('../img/banner/cbpm-ayodeji-aiyetan-memorial-banner.jpg'); }
.cbpm-hero-slider .hero-overlay { position:absolute; inset:0; pointer-events:none; }
.cbpm-hero-slider .hero-content { position:relative; z-index:2; width:min(760px,100%); padding:150px 0 110px; color:var(--cbpm-white); }
.cbpm-hero-slider .hero-subtitle { display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; color:#fff; font-size:13px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.cbpm-hero-slider .hero-subtitle::before { content:""; width:38px; height:3px; background:var(--cbpm-orange); }
.cbpm-hero-slider h1 { margin:0 0 22px; max-width:850px; color:#fff; font-family:"Montserrat",sans-serif; font-size:clamp(40px,5vw,72px); line-height:1.05; font-weight:800; letter-spacing:-.035em; }
.cbpm-hero-slider .txt-rotate { display:inline-block; min-width:1ch; color:var(--cbpm-orange); font-weight:800; }
.cbpm-hero-slider .txt-rotate .wrap { display:inline-block; min-height:1em; border-right:3px solid var(--cbpm-orange); padding-right:6px; animation:cbpmCaretBlink .75s step-end infinite; }
.cbpm-hero-slider .hero-content > p { max-width:700px; margin:0 0 30px; color:rgba(255,255,255,.84); font-size:17px; line-height:1.8; }
.cbpm-hero-slider .hero-buttons { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cbpm-hero-slider .hero-btn-primary,
.cbpm-hero-slider .hero-btn-outline { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:13px 20px; border-radius:7px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; transition:all .22s ease; }
.cbpm-hero-slider .hero-btn-primary { color:var(--cbpm-white); background:var(--cbpm-orange); border:2px solid var(--cbpm-orange); box-shadow:0 10px 24px rgba(242,140,40,.22); }
.cbpm-hero-slider .hero-btn-primary:hover { color:#fff; background:#d87513; border-color:#d87513; transform:translateY(-2px); }
.cbpm-hero-slider .hero-btn-outline { color:#fff; background:rgba(255,255,255,.06); border:2px solid rgba(255,255,255,.78); backdrop-filter:blur(5px); }
.cbpm-hero-slider .hero-btn-outline:hover { color:var(--cbpm-navy); background:#fff; border-color:#fff; transform:translateY(-2px); }
.cbpm-hero-slider .carousel-indicators { z-index:5; margin-bottom:25px; }
.cbpm-hero-slider .carousel-indicators button { width:38px; height:4px; margin:0 4px; border:0; opacity:.65; background:#fff; }
.cbpm-hero-slider .carousel-indicators button.active { opacity:1; background:var(--cbpm-orange); }
.cbpm-hero-slider .carousel-control-prev,.cbpm-hero-slider .carousel-control-next { z-index:5; width:8%; }

/* Section framework */
.cbpm-section { padding:88px 0; background:#fff; }
.cbpm-section-light { background:var(--cbpm-gray-50); }
.cbpm-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:38px; }
.cbpm-section-heading.centered { display:block; max-width:760px; margin:0 auto 45px; text-align:center; }
.cbpm-section-heading h2 { margin:5px 0 0; color:var(--cbpm-navy); font-family:"Montserrat",sans-serif; font-size:clamp(30px,4vw,44px); line-height:1.15; font-weight:800; letter-spacing:-.025em; }
.cbpm-section-heading p { margin:13px 0 0; color:var(--cbpm-gray-500); line-height:1.75; }
.cbpm-kicker { color:var(--cbpm-orange-dark); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.cbpm-kicker-light { color:var(--cbpm-orange); }
.cbpm-text-link { color:var(--cbpm-navy); font-size:12px; font-weight:800; white-space:nowrap; }
.cbpm-text-link:hover { color:var(--cbpm-orange-dark); }
.cbpm-text-link i { margin-left:5px; }

/* Statistics */
.cbpm-stats-strip { position:relative; z-index:3; margin-top:0; background:var(--cbpm-navy); border-top:4px solid var(--cbpm-orange); }
.cbpm-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.cbpm-stat-card { min-height:125px; padding:25px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-right:1px solid rgba(255,255,255,.12); }
.cbpm-stat-card:last-child { border-right:0; }
.cbpm-stat-number { display:block; color:#fff; font-family:"Montserrat",sans-serif; font-size:34px; line-height:1; font-weight:800; }
.cbpm-stat-card span { margin-top:9px; color:rgba(255,255,255,.62); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }

/* Upcoming */
.cbpm-upcoming-card { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); overflow:hidden; background:#fff; border:1px solid var(--cbpm-gray-200); border-radius:18px; box-shadow:var(--cbpm-shadow); }
.cbpm-upcoming-image { min-height:480px; position:relative; overflow:hidden; }
.cbpm-upcoming-image img { width:100%; height:100%; min-height:480px; object-fit:cover; display:block; }
.cbpm-image-badge { position:absolute; top:20px; left:20px; padding:9px 13px; color:#fff; background:var(--cbpm-orange); border-radius:6px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.cbpm-upcoming-content { padding:48px; display:flex; flex-direction:column; justify-content:center; }
.cbpm-card-label { color:var(--cbpm-orange-dark); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.cbpm-upcoming-content h3,.cbpm-feature-body h3,.cbpm-proceedings-copy h3 { margin:8px 0 8px; color:var(--cbpm-navy); font-family:"Montserrat",sans-serif; font-size:30px; line-height:1.2; font-weight:800; }
.cbpm-event-theme { margin:0 0 14px; color:var(--cbpm-orange-dark); font-weight:800; }
.cbpm-upcoming-content > p:not(.cbpm-event-theme) { color:var(--cbpm-gray-500); line-height:1.75; }
.cbpm-event-meta { display:grid; gap:8px; margin:17px 0; }
.cbpm-event-meta span { color:var(--cbpm-navy); font-size:12px; font-weight:700; }
.cbpm-event-meta i { width:20px; margin-right:6px; color:var(--cbpm-orange); }
.cbpm-countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:14px 0 22px; }
.cbpm-countdown > div { padding:13px 8px; text-align:center; background:var(--cbpm-gray-50); border:1px solid var(--cbpm-gray-200); border-radius:8px; }
.cbpm-countdown strong { display:block; color:var(--cbpm-navy); font-family:"Montserrat",sans-serif; font-size:22px; line-height:1; }
.cbpm-countdown span { display:block; margin-top:6px; color:var(--cbpm-gray-500); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.cbpm-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px; }
.cbpm-home-btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:11px 16px; border:2px solid transparent; border-radius:7px; font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; transition:all .22s ease; }
.cbpm-home-btn-primary { color:#fff; background:var(--cbpm-orange); border-color:var(--cbpm-orange); }
.cbpm-home-btn-primary:hover { color:#fff; background:var(--cbpm-orange-dark); border-color:var(--cbpm-orange-dark); transform:translateY(-2px); }
.cbpm-home-btn-outline { color:var(--cbpm-navy); background:#fff; border-color:var(--cbpm-navy); }
.cbpm-home-btn-outline:hover { color:#fff; background:var(--cbpm-navy); transform:translateY(-2px); }
.cbpm-home-btn-link { padding-left:2px; color:var(--cbpm-navy); }
.cbpm-home-btn-link:hover { color:var(--cbpm-orange-dark); }
.cbpm-home-btn-orange { color:#fff; background:var(--cbpm-orange); border-color:var(--cbpm-orange); }
.cbpm-home-btn-orange:hover { color:#fff; background:var(--cbpm-orange-dark); transform:translateY(-2px); }
.cbpm-home-btn-white { color:var(--cbpm-navy); background:#fff; border-color:#fff; }
.cbpm-home-btn-white:hover { color:#fff; background:transparent; border-color:#fff; }
.cbpm-empty-state { padding:50px; text-align:center; color:var(--cbpm-gray-500); background:#fff; border:1px dashed var(--cbpm-gray-200); border-radius:14px; }

/* Participation cards */
.cbpm-participation-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.cbpm-feature-card { overflow:hidden; background:#fff; border:1px solid var(--cbpm-gray-200); border-radius:16px; box-shadow:0 10px 30px rgba(13,35,64,.07); }
.cbpm-feature-card-orange { border-top:4px solid var(--cbpm-orange); }
.cbpm-feature-image { height:240px; overflow:hidden; }
.cbpm-feature-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.cbpm-feature-card:hover .cbpm-feature-image img { transform:scale(1.04); }
.cbpm-feature-body { padding:32px; }
.cbpm-feature-body p { color:var(--cbpm-gray-500); line-height:1.75; }
.cbpm-deadline { margin:18px 0; padding:12px 14px; color:var(--cbpm-navy); background:var(--cbpm-gray-50); border-left:3px solid var(--cbpm-orange); font-size:11px; font-weight:800; }
.cbpm-deadline i { margin-right:7px; color:var(--cbpm-orange); }
.cbpm-check-list { margin:18px 0; padding:0; list-style:none; }
.cbpm-check-list li { margin:8px 0; color:var(--cbpm-text); font-size:12px; font-weight:600; }
.cbpm-check-list i { margin-right:7px; color:var(--cbpm-orange); }

/* Featured band */
.cbpm-featured-band { padding:85px 0; color:#fff; background:var(--cbpm-navy); }
.cbpm-featured-band-grid { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; }
.cbpm-featured-band h2 { margin:8px 0 15px; color:#fff; font-family:"Montserrat",sans-serif; font-size:clamp(30px,4vw,46px); line-height:1.15; font-weight:800; }
.cbpm-featured-band p { max-width:620px; margin-bottom:25px; color:rgba(255,255,255,.70); line-height:1.8; }
.cbpm-featured-visual { position:relative; padding:10px; border:1px solid rgba(242,140,40,.45); border-radius:16px; }
.cbpm-featured-visual img { display:block; width:100%; height:360px; object-fit:cover; border-radius:10px; }

/* Events */
.cbpm-event-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cbpm-event-tile { min-height:130px; display:grid; grid-template-columns:50px 1fr 18px; gap:15px; align-items:center; padding:22px; background:#fff; border:1px solid var(--cbpm-gray-200); border-radius:12px; transition:all .22s ease; }
.cbpm-event-tile:hover { transform:translateY(-4px); border-color:rgba(242,140,40,.55); box-shadow:var(--cbpm-shadow); }
.cbpm-event-tile > span { width:50px; height:50px; display:flex; align-items:center; justify-content:center; color:var(--cbpm-orange); background:rgba(242,140,40,.10); border-radius:50%; font-size:21px; }
.cbpm-event-tile strong { display:block; color:var(--cbpm-navy); font-size:13px; }
.cbpm-event-tile small { display:block; margin-top:5px; color:var(--cbpm-gray-500); font-size:11px; line-height:1.5; }
.cbpm-event-tile > i { color:var(--cbpm-orange); }

/* Proceedings */
.cbpm-proceedings-grid { display:grid; grid-template-columns:360px 1fr; gap:65px; align-items:center; }
.cbpm-proceedings-cover { width:100%; max-width:340px; margin:0 auto; padding:10px; background:#fff; border:1px solid var(--cbpm-gray-200); box-shadow:0 15px 35px rgba(13,35,64,.13); }
.cbpm-proceedings-cover img { display:block; width:100%; height:auto; }
.cbpm-proceedings-copy > p { max-width:680px; color:var(--cbpm-gray-500); line-height:1.8; }
.cbpm-mini-links { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:24px; }
.cbpm-mini-links a { padding:14px; color:var(--cbpm-navy); background:var(--cbpm-gray-50); border:1px solid var(--cbpm-gray-200); border-radius:8px; font-size:11px; font-weight:800; }
.cbpm-mini-links a:hover { color:var(--cbpm-orange-dark); border-color:rgba(242,140,40,.45); }
.cbpm-mini-links i { margin-right:6px; color:var(--cbpm-orange); }

/* News */
.cbpm-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cbpm-news-card { overflow:hidden; background:#fff; border:1px solid var(--cbpm-gray-200); border-radius:14px; transition:all .22s ease; }
.cbpm-news-card:hover { transform:translateY(-4px); box-shadow:var(--cbpm-shadow); }
.cbpm-news-card > img { width:100%; height:190px; display:block; object-fit:cover; }
.cbpm-news-card > div { padding:24px; }
.cbpm-news-tag { color:var(--cbpm-orange-dark); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.cbpm-news-card h3 { margin:7px 0 9px; color:var(--cbpm-navy); font-family:"Montserrat",sans-serif; font-size:19px; line-height:1.3; }
.cbpm-news-card p { margin:0 0 15px; color:var(--cbpm-gray-500); font-size:12px; line-height:1.7; }
.cbpm-news-card a { color:var(--cbpm-navy); font-size:11px; font-weight:900; text-transform:uppercase; }
.cbpm-news-card a:hover { color:var(--cbpm-orange-dark); }

/* Benefits */
.cbpm-benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cbpm-benefit { padding:28px; background:#fff; border:1px solid var(--cbpm-gray-200); border-radius:13px; }
.cbpm-benefit > span { width:50px; height:50px; display:flex; align-items:center; justify-content:center; color:var(--cbpm-orange); background:rgba(242,140,40,.10); border-radius:10px; font-size:21px; }
.cbpm-benefit h3 { margin:17px 0 8px; color:var(--cbpm-navy); font-family:"Montserrat",sans-serif; font-size:17px; }
.cbpm-benefit p { margin:0; color:var(--cbpm-gray-500); font-size:12px; line-height:1.7; }

/* Dates */
.cbpm-dates-band { padding:82px 0; color:#fff; background:linear-gradient(135deg,var(--cbpm-navy),#102E50); }
.cbpm-dates-band .cbpm-section-heading { margin-bottom:36px; }
.cbpm-dates-band h2 { color:#fff; }
.cbpm-dates-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.cbpm-date-card { display:flex; align-items:center; gap:13px; min-height:100px; padding:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:10px; }
.cbpm-date-card > i { color:var(--cbpm-orange); font-size:23px; }
.cbpm-date-card strong { display:block; color:#fff; font-size:11px; line-height:1.4; }
.cbpm-date-card span { display:block; margin-top:5px; color:rgba(255,255,255,.56); font-size:10px; }

/* Partners */
.cbpm-partner-placeholders { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.cbpm-partner-placeholder { min-height:78px; display:flex; align-items:center; justify-content:center; color:rgba(13,35,64,.48); background:#fff; border:1px solid var(--cbpm-gray-200); border-radius:9px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.cbpm-center-action { margin-top:24px; text-align:center; }

/* CTA */
.cbpm-home-cta { padding:70px 0; color:#fff; background:var(--cbpm-navy); border-top:4px solid var(--cbpm-orange); }
.cbpm-home-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cbpm-home-cta h2 { max-width:760px; margin:7px 0 10px; color:#fff; font-family:"Montserrat",sans-serif; font-size:clamp(27px,3.6vw,43px); line-height:1.18; }
.cbpm-home-cta p { max-width:700px; margin:0; color:rgba(255,255,255,.66); }
.cbpm-home-cta-actions { display:flex; flex-wrap:wrap; gap:10px; flex:0 0 auto; }

@media (max-width: 1050px) {
    .cbpm-upcoming-card,.cbpm-featured-band-grid,.cbpm-proceedings-grid { grid-template-columns:1fr; }
    .cbpm-upcoming-image { min-height:330px; }
    .cbpm-upcoming-image img { min-height:330px; }
    .cbpm-proceedings-grid { gap:35px; }
    .cbpm-proceedings-cover { max-width:290px; }
    .cbpm-partner-placeholders { grid-template-columns:repeat(3,1fr); }
    .cbpm-home-cta-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 800px) {
    .cbpm-stats-grid { grid-template-columns:repeat(2,1fr); }
    .cbpm-stat-card:nth-child(2) { border-right:0; }
    .cbpm-stat-card:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
    .cbpm-participation-grid,.cbpm-event-grid,.cbpm-news-grid,.cbpm-benefits-grid { grid-template-columns:1fr; }
    .cbpm-dates-grid { grid-template-columns:repeat(2,1fr); }
    .cbpm-mini-links { grid-template-columns:1fr; }
}
@media (max-width: 650px) {
    .cbpm-container { width:calc(100% - 24px); }
    .cbpm-section { padding:65px 0; }
    .cbpm-section-heading { align-items:flex-start; flex-direction:column; margin-bottom:28px; }
    .cbpm-section-heading.centered { align-items:initial; }
    .cbpm-hero-slider .hero-slide { min-height:700px; background-position:60% center; }
    .cbpm-hero-slider .hero-content { padding:130px 0 95px; }
    .cbpm-hero-slider h1 { font-size:39px; }
    .cbpm-hero-slider .hero-content > p { font-size:14px; line-height:1.7; }
    .cbpm-upcoming-content { padding:28px 22px; }
    .cbpm-upcoming-content h3,.cbpm-feature-body h3,.cbpm-proceedings-copy h3 { font-size:25px; }
    .cbpm-countdown { grid-template-columns:repeat(2,1fr); }
    .cbpm-dates-grid,.cbpm-partner-placeholders { grid-template-columns:1fr; }
    .cbpm-featured-visual img { height:260px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    .cbpm-hero-slider .txt-rotate .wrap { animation:none; }
    *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* =========================================================
   CBPM ABOUT PAGES
   Shared presentation styles for About CBPM, Vision & Mission,
   and Objectives pages. No database dependency.
========================================================= */
.cbpm-inner-hero{position:relative;overflow:hidden;min-height:430px;display:flex;align-items:center;color:#fff;background:linear-gradient(120deg,var(--cbpm-navy-dark),var(--cbpm-navy) 58%,#16395f)}
.cbpm-inner-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 46%,rgba(242,140,40,.08) 46% 46.5%,transparent 46.5% 60%,rgba(255,255,255,.04) 60% 60.4%,transparent 60.4%),linear-gradient(90deg,transparent 0 67%,rgba(242,140,40,.10) 67% 67.4%,transparent 67.4%)}
.cbpm-inner-hero::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(242,140,40,.25);right:-130px;top:-110px;transform:rotate(45deg)}
.cbpm-inner-hero .cbpm-container{position:relative;z-index:2}
.cbpm-inner-hero-content{max-width:880px;padding:72px 0 62px}
.cbpm-eyebrow,.cbpm-section-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--cbpm-orange);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.cbpm-eyebrow{margin-bottom:18px;color:#fff}.cbpm-eyebrow i{color:var(--cbpm-orange)}
.cbpm-inner-hero h1{max-width:900px;margin:0;color:#fff;font-family:"Montserrat",sans-serif;font-size:clamp(36px,5vw,62px);line-height:1.08;font-weight:800;letter-spacing:-.035em}
.cbpm-inner-hero h1 span{color:var(--cbpm-orange)}
.cbpm-inner-hero p{max-width:780px;margin:22px 0 0;color:rgba(255,255,255,.74);font-size:16px;line-height:1.85}
.cbpm-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:28px;color:rgba(255,255,255,.58);font-size:11px;font-weight:700}.cbpm-breadcrumb a{color:#fff}.cbpm-breadcrumb a:hover{color:var(--cbpm-orange)}.cbpm-breadcrumb i{font-size:9px;color:var(--cbpm-orange)}
.cbpm-about-intro{background:#fff}.cbpm-two-column{display:grid;grid-template-columns:1.08fr .92fr;gap:75px}.cbpm-align-center{align-items:center}
.cbpm-page-heading{margin:8px 0 20px;color:var(--cbpm-navy);font-family:"Montserrat",sans-serif;font-size:clamp(29px,4vw,43px);line-height:1.15;font-weight:800;letter-spacing:-.025em}.cbpm-about-intro p{max-width:720px;color:var(--cbpm-gray-500);line-height:1.85}.cbpm-about-intro strong{color:var(--cbpm-navy)}
.cbpm-about-visual{position:relative;min-height:440px;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#0a1c32,#0d2340 62%,#16395f);box-shadow:0 22px 55px rgba(13,35,64,.17)}
.cbpm-visual-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:42px 42px;transform:skewY(-7deg) scale(1.15)}
.cbpm-visual-card{position:absolute;left:42px;right:42px;bottom:42px;padding:26px;border:1px solid rgba(242,140,40,.45);border-radius:12px;background:rgba(255,255,255,.07);backdrop-filter:blur(7px)}.cbpm-visual-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;color:var(--cbpm-orange);border:1px solid rgba(242,140,40,.35);border-radius:10px;font-size:21px}.cbpm-visual-card strong{display:block;color:#fff;font-family:"Montserrat",sans-serif;font-size:18px}.cbpm-visual-card small{display:block;margin-top:7px;color:rgba(255,255,255,.62);line-height:1.6}.cbpm-visual-line{position:absolute;height:3px;background:var(--cbpm-orange);box-shadow:0 0 20px rgba(242,140,40,.25)}.line-one{width:210px;top:105px;right:60px;transform:rotate(-38deg)}.line-two{width:130px;top:210px;left:55px;transform:rotate(-38deg);opacity:.65}
.cbpm-context-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cbpm-context-card{padding:27px;background:#fff;border:1px solid var(--cbpm-gray-200);border-top:3px solid transparent;border-radius:13px;transition:all .22s ease}.cbpm-context-card:hover{transform:translateY(-5px);border-top-color:var(--cbpm-orange);box-shadow:var(--cbpm-shadow)}.cbpm-context-card>span{width:49px;height:49px;display:flex;align-items:center;justify-content:center;color:var(--cbpm-orange);background:rgba(242,140,40,.1);border-radius:10px;font-size:21px}.cbpm-context-card h3{margin:17px 0 8px;color:var(--cbpm-navy);font-family:"Montserrat",sans-serif;font-size:17px}.cbpm-context-card p{margin:0;color:var(--cbpm-gray-500);font-size:12px;line-height:1.75}
.cbpm-heading-note{max-width:500px;color:var(--cbpm-gray-500);line-height:1.75;font-size:13px}.cbpm-pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.cbpm-pillar{position:relative;min-height:260px;padding:30px;background:#fff;border:1px solid var(--cbpm-gray-200);border-radius:14px;overflow:hidden;transition:all .22s ease}.cbpm-pillar:hover{transform:translateY(-5px);box-shadow:var(--cbpm-shadow);border-color:rgba(242,140,40,.4)}.cbpm-pillar-number{position:absolute;right:18px;top:12px;color:rgba(13,35,64,.07);font-family:"Montserrat",sans-serif;font-size:58px;font-weight:800}.cbpm-pillar>i{color:var(--cbpm-orange);font-size:28px}.cbpm-pillar h3{margin:24px 0 9px;color:var(--cbpm-navy);font-family:"Montserrat",sans-serif;font-size:19px}.cbpm-pillar p{margin:0;color:var(--cbpm-gray-500);font-size:12px;line-height:1.75}
.cbpm-about-quote{padding:75px 0;background:var(--cbpm-navy);border-top:4px solid var(--cbpm-orange)}.cbpm-quote-inner{display:flex;gap:25px;align-items:flex-start;max-width:980px;margin:auto}.cbpm-quote-mark{flex:0 0 auto;color:var(--cbpm-orange);font-size:46px;line-height:1}.cbpm-quote-inner p{margin:0;color:#fff;font-family:"Montserrat",sans-serif;font-size:clamp(22px,3vw,34px);line-height:1.35;font-weight:700;letter-spacing:-.02em}
.cbpm-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:45px 48px;background:#fff;border:1px solid var(--cbpm-gray-200);border-left:5px solid var(--cbpm-orange);border-radius:15px;box-shadow:var(--cbpm-shadow)}.cbpm-cta-panel h2{margin:8px 0 10px;color:var(--cbpm-navy);font-family:"Montserrat",sans-serif;font-size:clamp(25px,3.3vw,37px);line-height:1.2}.cbpm-cta-panel p{max-width:720px;margin:0;color:var(--cbpm-gray-500);line-height:1.75}.cbpm-cta-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}.cbpm-page-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:7px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;transition:all .22s ease}.cbpm-page-btn-primary{color:#fff;background:var(--cbpm-orange);border:2px solid var(--cbpm-orange)}.cbpm-page-btn-primary:hover{color:#fff;background:var(--cbpm-orange-dark);border-color:var(--cbpm-orange-dark);transform:translateY(-2px)}.cbpm-page-btn-outline{color:var(--cbpm-navy);background:#fff;border:2px solid var(--cbpm-navy)}.cbpm-page-btn-outline:hover{color:#fff;background:var(--cbpm-navy);transform:translateY(-2px)}

/* Vision & Mission */
.cbpm-vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cbpm-statement-card{position:relative;padding:38px;border-radius:16px;overflow:hidden}.cbpm-statement-vision{color:#fff;background:var(--cbpm-navy)}.cbpm-statement-mission{background:#fff;border:1px solid var(--cbpm-gray-200);box-shadow:var(--cbpm-shadow)}.cbpm-statement-card::after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(242,140,40,.25);right:-80px;bottom:-80px;transform:rotate(45deg)}.cbpm-statement-top{display:flex;align-items:center;gap:14px}.cbpm-statement-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--cbpm-orange);background:rgba(242,140,40,.1);border-radius:10px;font-size:21px}.cbpm-statement-label{font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--cbpm-orange)}.cbpm-statement-card h2{position:relative;z-index:1;margin:30px 0 18px;font-family:"Montserrat",sans-serif;font-size:24px;line-height:1.35;font-weight:800}.cbpm-statement-vision h2{color:#fff}.cbpm-statement-mission h2{color:var(--cbpm-navy)}.cbpm-statement-card p{position:relative;z-index:1;margin:0;line-height:1.8;font-size:13px}.cbpm-statement-vision p{color:rgba(255,255,255,.68)}.cbpm-statement-mission p{color:var(--cbpm-gray-500)}
.cbpm-direction-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.cbpm-direction-item{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px;background:#fff;border:1px solid var(--cbpm-gray-200);border-radius:11px}.cbpm-direction-number{width:46px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--cbpm-orange);border:1px solid rgba(242,140,40,.35);border-radius:50%;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:800}.cbpm-direction-item h3{margin:0 0 5px;color:var(--cbpm-navy);font-family:"Montserrat",sans-serif;font-size:16px}.cbpm-direction-item p{margin:0;color:var(--cbpm-gray-500);font-size:12px;line-height:1.7}
.cbpm-values-section{color:#fff;background:var(--cbpm-navy)}.light-heading h2{color:#fff}.light-heading p{color:rgba(255,255,255,.62)}.cbpm-values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.cbpm-value{padding:27px 20px;text-align:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:12px;transition:all .22s ease}.cbpm-value:hover{transform:translateY(-4px);border-color:rgba(242,140,40,.55)}.cbpm-value i{display:block;margin-bottom:15px;color:var(--cbpm-orange);font-size:24px}.cbpm-value strong{display:block;color:#fff;font-family:"Montserrat",sans-serif;font-size:14px}.cbpm-value span{display:block;margin-top:8px;color:rgba(255,255,255,.55);font-size:11px;line-height:1.6}

/* Objectives */
.cbpm-objectives-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.cbpm-objective-card{position:relative;padding:28px;background:#fff;border:1px solid var(--cbpm-gray-200);border-radius:14px;min-height:310px;transition:all .22s ease}.cbpm-objective-card:hover{transform:translateY(-5px);box-shadow:var(--cbpm-shadow);border-color:rgba(242,140,40,.45)}.cbpm-objective-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;color:var(--cbpm-orange);background:rgba(242,140,40,.1);border-radius:10px;font-size:22px}.cbpm-objective-no{position:absolute;right:20px;top:22px;color:rgba(13,35,64,.11);font-family:"Montserrat",sans-serif;font-size:25px;font-weight:800}.cbpm-objective-card h3{margin:23px 0 9px;color:var(--cbpm-navy);font-family:"Montserrat",sans-serif;font-size:18px}.cbpm-objective-card p{margin:0;color:var(--cbpm-gray-500);font-size:12px;line-height:1.75}
.cbpm-objective-band{padding:82px 0;color:#fff;background:linear-gradient(135deg,var(--cbpm-navy),#102e50);border-top:1px solid rgba(255,255,255,.08)}.cbpm-objective-band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.cbpm-objective-band h2{margin:8px 0 15px;color:#fff;font-family:"Montserrat",sans-serif;font-size:clamp(29px,4vw,43px);line-height:1.15}.cbpm-objective-band p{max-width:610px;margin:0;color:rgba(255,255,255,.66);line-height:1.8}.cbpm-process-flow{display:flex;align-items:center;justify-content:center;gap:10px}.cbpm-process-flow>div{flex:1;min-width:110px;padding:18px 12px;text-align:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:11px}.cbpm-process-flow span{display:flex;width:34px;height:34px;align-items:center;justify-content:center;margin:0 auto 11px;color:var(--cbpm-orange);border:1px solid rgba(242,140,40,.4);border-radius:50%;font-size:10px;font-weight:900}.cbpm-process-flow strong{display:block;color:#fff;font-size:12px}.cbpm-process-flow small{display:block;margin-top:5px;color:rgba(255,255,255,.46);font-size:9px;line-height:1.4}.cbpm-process-flow>i{flex:0 0 auto;color:var(--cbpm-orange)}
.cbpm-outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.cbpm-outcome{display:flex;align-items:center;gap:12px;padding:19px 20px;background:#fff;border:1px solid var(--cbpm-gray-200);border-radius:10px;color:var(--cbpm-navy);font-size:12px;font-weight:700;line-height:1.5}.cbpm-outcome i{flex:0 0 auto;color:var(--cbpm-orange);font-size:18px}

@media(max-width:1050px){.cbpm-two-column,.cbpm-objective-band-grid{grid-template-columns:1fr}.cbpm-about-visual{max-width:680px}.cbpm-context-grid,.cbpm-pillars-grid{grid-template-columns:repeat(2,1fr)}.cbpm-objectives-grid{grid-template-columns:repeat(2,1fr)}.cbpm-values-grid{grid-template-columns:repeat(3,1fr)}.cbpm-cta-panel{align-items:flex-start;flex-direction:column}.cbpm-vision-grid{grid-template-columns:1fr}.cbpm-process-flow{margin-top:10px}}
@media(max-width:800px){.cbpm-direction-list,.cbpm-outcomes-grid{grid-template-columns:1fr}.cbpm-objective-band-grid{gap:35px}.cbpm-process-flow{flex-wrap:wrap}.cbpm-process-flow>i{display:none}.cbpm-process-flow>div{flex:1 1 40%}}
@media(max-width:650px){.cbpm-inner-hero{min-height:390px}.cbpm-inner-hero-content{padding:55px 0 48px}.cbpm-inner-hero h1{font-size:36px}.cbpm-inner-hero p{font-size:14px}.cbpm-two-column{gap:35px}.cbpm-about-visual{min-height:340px}.cbpm-visual-card{left:22px;right:22px;bottom:22px}.cbpm-context-grid,.cbpm-pillars-grid,.cbpm-objectives-grid,.cbpm-values-grid{grid-template-columns:1fr}.cbpm-quote-inner{gap:14px}.cbpm-quote-inner p{font-size:22px}.cbpm-cta-panel{padding:30px 24px}.cbpm-process-flow>div{flex-basis:100%}.cbpm-section-heading{gap:10px}}


/* ---------- Upcoming conference card ---------- */
.cbpm-upcoming-card{ display:grid; grid-template-columns: 1fr 1fr; gap:0; background:#fff; border-radius:var(--cbpm-radius); overflow:hidden; box-shadow: var(--cbpm-shadow); }
.cbpm-upcoming-image{ position:relative; min-height:340px; background:var(--cbpm-navy); }
.cbpm-upcoming-image img{ width:100%; height:100%; object-fit:cover; }
.cbpm-image-badge{ position:absolute; top:18px; left:18px; background:var(--cbpm-orange); color:#fff; padding:6px 14px; border-radius:20px; font-size:.78rem; font-weight:700; }
.cbpm-upcoming-content{ padding:38px; }
.cbpm-card-label{ color:var(--cbpm-orange); font-weight:700; text-transform:uppercase; font-size:.75rem; letter-spacing:.5px; }
.cbpm-event-theme{ color:var(--cbpm-muted); font-style:italic; margin-bottom:10px; }
.cbpm-event-meta{ display:flex; gap:20px; margin:16px 0; color:var(--cbpm-navy); font-weight:600; font-size:.92rem; flex-wrap:wrap; }
.cbpm-event-meta i{ color:var(--cbpm-orange); margin-right:6px; }
.cbpm-countdown{ display:flex; gap:12px; margin:20px 0; }
.cbpm-countdown div{ background:var(--cbpm-bg-light); border-radius:10px; padding:10px 14px; text-align:center; min-width:66px; }
.cbpm-countdown strong{ display:block; font-size:1.3rem; color:var(--cbpm-navy); font-family:var(--cbpm-font-heading); }
.cbpm-countdown span{ font-size:.7rem; color:var(--cbpm-muted); text-transform:uppercase; }
.cbpm-card-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.cbpm-empty-state{ text-align:center; padding:60px 20px; color:var(--cbpm-muted); background:#fff; border-radius:var(--cbpm-radius); border:1px dashed var(--cbpm-border); }

/* ---------- Buttons ---------- */
.cbpm-home-btn{ display:inline-block; padding:12px 26px; border-radius:30px; font-weight:700; font-size:.92rem; }
.cbpm-home-btn-primary{ background:var(--cbpm-navy); color:#fff; }
.cbpm-home-btn-primary:hover{ background:var(--cbpm-navy-light); color:#fff; }
.cbpm-home-btn-outline{ border:2px solid var(--cbpm-navy); color:var(--cbpm-navy); }
.cbpm-home-btn-outline:hover{ background:var(--cbpm-navy); color:#fff; }
.cbpm-home-btn-orange{ background:var(--cbpm-orange); color:#fff; }
.cbpm-home-btn-orange:hover{ background:var(--cbpm-orange-dark); color:#fff; }
.cbpm-home-btn-white{ background:#fff; color:var(--cbpm-navy); }
.cbpm-home-btn-white:hover{ background:var(--cbpm-bg-light); }
.cbpm-home-btn-link{ color:var(--cbpm-navy); font-weight:700; padding:12px 6px; }
.cbpm-home-btn-link:hover{ color:var(--cbpm-orange); }

/* ---------- Participation cards ---------- */
.cbpm-participation-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.cbpm-feature-card{ background:#fff; border-radius:var(--cbpm-radius); overflow:hidden; box-shadow:var(--cbpm-shadow); }
.cbpm-feature-image img{ width:100%; height:220px; object-fit:cover; }
.cbpm-feature-body{ padding:30px; }
.cbpm-deadline{ background:#FFF2E2; color:var(--cbpm-orange-dark); font-weight:700; padding:8px 14px; border-radius:8px; display:inline-block; font-size:.85rem; margin:10px 0; }
.cbpm-check-list{ list-style:none; padding:0; margin:14px 0; }
.cbpm-check-list li{ margin-bottom:8px; color:var(--cbpm-muted); }
.cbpm-check-list i{ color:var(--cbpm-orange); margin-right:8px; }

/* ---------- Featured band ---------- */
.cbpm-featured-band{ background:var(--cbpm-navy); color:#fff; padding:70px 0; }
.cbpm-featured-band-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
.cbpm-featured-band h2{ color:#fff; }
.cbpm-featured-band p{ color:#C9D4E2; margin-bottom:24px; }
.cbpm-featured-visual img{ width:100%; border-radius:var(--cbpm-radius); box-shadow:0 20px 50px rgba(0,0,0,.3); }

/* ---------- Event tiles ---------- */
.cbpm-event-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cbpm-event-tile{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--cbpm-border); border-radius:12px; padding:20px; color:var(--cbpm-navy); }
.cbpm-event-tile span{ width:46px; height:46px; background:var(--cbpm-bg-light); color:var(--cbpm-orange); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.cbpm-event-tile strong{ display:block; }
.cbpm-event-tile small{ color:var(--cbpm-muted); }
.cbpm-event-tile:hover{ border-color:var(--cbpm-orange); box-shadow:var(--cbpm-shadow); }
.cbpm-event-tile > i{ margin-left:auto; color:var(--cbpm-muted); }

/* ---------- Proceedings ---------- */
.cbpm-proceedings-grid{ display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; align-items:center; background:#fff; border-radius:var(--cbpm-radius); box-shadow:var(--cbpm-shadow); padding:40px; }
.cbpm-proceedings-cover img{ width:100%; border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.15); }
.cbpm-mini-links{ display:flex; gap:20px; flex-wrap:wrap; margin-top:14px; }
.cbpm-mini-links a{ color:var(--cbpm-navy); font-weight:700; }
.cbpm-mini-links a:hover{ color:var(--cbpm-orange); }

/* ---------- News grid ---------- */
.cbpm-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cbpm-news-card{ background:#fff; border-radius:var(--cbpm-radius); overflow:hidden; box-shadow:var(--cbpm-shadow); }
.cbpm-news-card img{ width:100%; height:170px; object-fit:cover; }
.cbpm-news-card > div{ padding:22px; }
.cbpm-news-tag{ color:var(--cbpm-orange); font-weight:700; font-size:.75rem; text-transform:uppercase; }
.cbpm-news-card h3{ font-size:1.1rem; margin:8px 0; }
.cbpm-news-card p{ color:var(--cbpm-muted); font-size:.92rem; }
.cbpm-news-card a{ color:var(--cbpm-navy); font-weight:700; }

/* ---------- Benefits ---------- */
.cbpm-benefits-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cbpm-benefit{ text-align:center; padding:30px 20px; }
.cbpm-benefit span{ width:60px; height:60px; border-radius:50%; background:var(--cbpm-bg-light); color:var(--cbpm-orange); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.5rem; }
.cbpm-benefit p{ color:var(--cbpm-muted); font-size:.92rem; }

/* ---------- Dates band ---------- */
.cbpm-dates-band{ background:var(--cbpm-navy); padding:60px 0; }
.cbpm-dates-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.cbpm-date-card{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:20px; display:flex; align-items:center; gap:14px; color:#fff; }
.cbpm-date-card i{ color:var(--cbpm-orange); font-size:1.4rem; }
.cbpm-date-card span{ color:#B9C6D8; font-size:.85rem; }

/* ---------- Partners ---------- */
.cbpm-partner-placeholders{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.cbpm-partner-placeholder{ background:#fff; border:1px dashed var(--cbpm-border); border-radius:10px; padding:30px 10px; text-align:center; color:var(--cbpm-muted); font-weight:600; }
.cbpm-center-action{ text-align:center; margin-top:30px; }
/* =========================================================
   CBPM SLIDE 5 — PROFESSOR AYODEJI AIYETAN MEMORIAL
========================================================= */

.cbpm-slide-five {
    background-image: url('../img/banner/cbpm-ayodeji-aiyetan-memorial-banner.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}


/* Memorial overlay */

.cbpm-slide-five .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(13, 35, 64, 0.96) 0%,
            rgba(13, 35, 64, 0.88) 35%,
            rgba(13, 35, 64, 0.58) 65%,
            rgba(13, 35, 64, 0.30) 100%
        );
}


/* Keep content above overlay */

.cbpm-slide-five .container {
    position: relative;
    z-index: 2;
}


/* Memorial eyebrow */

.cbpm-slide-five .hero-subtitle {
    color: #F28C28;
}


/* Memorial heading */

.cbpm-slide-five h1 {
    color: #FFFFFF;
}


/* Rotating memorial words */

.cbpm-slide-five .txt-rotate {
    color: #F28C28;
    display: inline-block;
}


/* Memorial description */

.cbpm-slide-five .hero-content p {
    color: #FFFFFF;
}


/* Primary memorial button */

.cbpm-slide-five .hero-btn-primary {
    background-color: #F28C28;
    color: #0D2340;
    border-color: #F28C28;
}


/* Primary button hover */

.cbpm-slide-five .hero-btn-primary:hover {
    background-color: #FFFFFF;
    color: #0D2340;
    border-color: #FFFFFF;
}


/* Outline memorial button */

.cbpm-slide-five .hero-btn-outline {
    background-color: transparent;
    color: #FFFFFF;
    border-color: #FFFFFF;
}


/* Outline button hover */

.cbpm-slide-five .hero-btn-outline:hover {
    background-color: #F28C28;
    color: #0D2340;
    border-color: #F28C28;
}

/* =====================================================================
   CBPM — Page-Content Styles (append to the bottom of style.css)

   Scope: only the classes used by page CONTENT (hero sections, cards,
   grids, section layout) on the homepage, conference pages, proceedings,
   participate, news, and contact pages. Nothing here touches your header,
   navbar, footer, or brand markup — those keep using your existing
   style.css/executive-team.css rules untouched.

   Deliberately excluded on purpose (to avoid fighting your existing look):
     - No global body{}, h1-h5{}, or a{} rules -- those would affect the
       whole site, not just these pages.
     - No .cbpm-header*, .cbpm-nav*, .cbpm-menu*, .cbpm-brand*, .cbpm-btn*,
       .cbpm-dropdown*, .cbpm-footer* -- your header.php/footer.php already
       define these with your own design; duplicating the names here would
       be exactly the kind of override you're trying to avoid.

   All colors/spacing use their own --cbpmx-* variables (not --cbpm-*),
   so they can't collide with any variables your style.css already
   defines under similar names.
===================================================================== */

:root{
  --cbpmx-navy: #0D2340;
  --cbpmx-navy-light: #16345E;
  --cbpmx-orange: #F28C28;
  --cbpmx-orange-dark: #D9741A;
  --cbpmx-muted: #5B6B7C;
  --cbpmx-bg-light: #F5F7FA;
  --cbpmx-border: #E4E9EF;
  --cbpmx-radius: 14px;
  --cbpmx-shadow: 0 10px 30px rgba(13,35,64,0.10);
  --cbpmx-font-heading: 'Poppins', sans-serif;
}

.cbpm-container{ width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ---------- Hero / Carousel (homepage slider) ---------- */
.cbpm-hero-slider{ position:relative; }
.hero-slide{ position:relative; min-height:600px; display:flex; align-items:center; background:linear-gradient(120deg,var(--cbpmx-navy),var(--cbpmx-navy-light)); background-size:cover; background-position:center; }
.hero-overlay{ position:absolute; inset:0; background: linear-gradient(90deg, rgba(13,35,64,.92) 30%, rgba(13,35,64,.55)); }
.hero-content{ position:relative; z-index:2; max-width:680px; padding:80px 0; color:#fff; }
.hero-subtitle{ display:inline-block; background:rgba(242,140,40,.15); color:var(--cbpmx-orange); border:1px solid rgba(242,140,40,.4); padding:6px 14px; border-radius:30px; font-size:.8rem; font-weight:700; letter-spacing:.4px; margin-bottom:18px; }
.hero-content h1{ color:#fff; font-size:2.6rem; line-height:1.2; margin-bottom:18px; font-family: var(--cbpmx-font-heading); }
.hero-content h1 .txt-rotate{ color: var(--cbpmx-orange); display:block; }
.hero-content p{ color:#D6DEE9; font-size:1.05rem; margin-bottom:28px; }
.hero-buttons{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-btn-primary{ background:var(--cbpmx-orange); color:#fff; padding:13px 28px; border-radius:30px; font-weight:700; display:inline-block; }
.hero-btn-primary:hover{ background:var(--cbpmx-orange-dark); color:#fff; }
.hero-btn-outline{ border:2px solid #fff; color:#fff; padding:11px 26px; border-radius:30px; font-weight:700; display:inline-block; }
.hero-btn-outline:hover{ background:#fff; color:var(--cbpmx-navy); }
.carousel-indicators [data-bs-target]{ background-color: var(--cbpmx-orange); }

/* ---------- Stats strip ---------- */
.cbpm-stats-strip{ background: var(--cbpmx-navy); padding: 34px 0; }
.cbpm-stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; text-align:center; }
.cbpm-stat-card strong{ display:block; font-family:var(--cbpmx-font-heading); font-size:2.2rem; color:#fff; }
.cbpm-stat-card span{ color:#FFE6C7; font-weight:600; font-size:.9rem; }

/* ---------- Section scaffolding (used across every page) ---------- */
.cbpm-section{ padding: 70px 0; }
.cbpm-section-light{ background: var(--cbpmx-bg-light); }
.cbpm-kicker{ display:inline-block; color:var(--cbpmx-orange); font-weight:700; text-transform:uppercase; letter-spacing:1px; font-size:.8rem; margin-bottom:8px; }
.cbpm-kicker-light{ color:#FFC98A; }
.cbpm-section-heading{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:34px; flex-wrap:wrap; gap:16px; }
.cbpm-section-heading h2{ margin:0; font-size:1.9rem; font-family: var(--cbpmx-font-heading); color: var(--cbpmx-navy); font-weight:700; }
.cbpm-section-heading.centered{ flex-direction:column; align-items:center; text-align:center; max-width:640px; margin:0 auto 40px; }
.cbpm-text-link{ font-weight:700; color:var(--cbpmx-navy); }
.cbpm-text-link:hover{ color:var(--cbpmx-orange); }
.cbpm-empty-state{ text-align:center; padding:60px 20px; color:var(--cbpmx-muted); background:#fff; border-radius:var(--cbpmx-radius); border:1px dashed var(--cbpmx-border); }
.cbpm-center-action{ text-align:center; margin-top:30px; }

/* ---------- Upcoming conference card ---------- */
.cbpm-upcoming-card{ display:grid; grid-template-columns: 1fr 1fr; gap:0; background:#fff; border-radius:var(--cbpmx-radius); overflow:hidden; box-shadow: var(--cbpmx-shadow); }
.cbpm-upcoming-image{ position:relative; min-height:340px; background:var(--cbpmx-navy); }
.cbpm-upcoming-image img{ width:100%; height:100%; object-fit:cover; }
.cbpm-image-badge{ position:absolute; top:18px; left:18px; background:var(--cbpmx-orange); color:#fff; padding:6px 14px; border-radius:20px; font-size:.78rem; font-weight:700; }
.cbpm-upcoming-content{ padding:38px; }
.cbpm-card-label{ color:var(--cbpmx-orange); font-weight:700; text-transform:uppercase; font-size:.75rem; letter-spacing:.5px; }
.cbpm-event-theme{ color:var(--cbpmx-muted); font-style:italic; margin-bottom:10px; }
.cbpm-event-meta{ display:flex; gap:20px; margin:16px 0; color:var(--cbpmx-navy); font-weight:600; font-size:.92rem; flex-wrap:wrap; }
.cbpm-event-meta i{ color:var(--cbpmx-orange); margin-right:6px; }
.cbpm-countdown{ display:flex; gap:12px; margin:20px 0; }
.cbpm-countdown div{ background:var(--cbpmx-bg-light); border-radius:10px; padding:10px 14px; text-align:center; min-width:66px; }
.cbpm-countdown strong{ display:block; font-size:1.3rem; color:var(--cbpmx-navy); font-family:var(--cbpmx-font-heading); }
.cbpm-countdown span{ font-size:.7rem; color:var(--cbpmx-muted); text-transform:uppercase; }
.cbpm-card-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }

/* ---------- Buttons used in page content (not your header/footer buttons) ---------- */
.cbpm-home-btn{ display:inline-block; padding:12px 26px; border-radius:30px; font-weight:700; font-size:.92rem; }
.cbpm-home-btn-primary{ background:var(--cbpmx-navy); color:#fff; }
.cbpm-home-btn-primary:hover{ background:var(--cbpmx-navy-light); color:#fff; }
.cbpm-home-btn-outline{ border:2px solid var(--cbpmx-navy); color:var(--cbpmx-navy); }
.cbpm-home-btn-outline:hover{ background:var(--cbpmx-navy); color:#fff; }
.cbpm-home-btn-orange{ background:var(--cbpmx-orange); color:#fff; }
.cbpm-home-btn-orange:hover{ background:var(--cbpmx-orange-dark); color:#fff; }
.cbpm-home-btn-white{ background:#fff; color:var(--cbpmx-navy); }
.cbpm-home-btn-white:hover{ background:var(--cbpmx-bg-light); }
.cbpm-home-btn-link{ color:var(--cbpmx-navy); font-weight:700; padding:12px 6px; }
.cbpm-home-btn-link:hover{ color:var(--cbpmx-orange); }

/* ---------- Participation cards (Submit Abstract / Register section) ---------- */
.cbpm-participation-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.cbpm-feature-card{ background:#fff; border-radius:var(--cbpmx-radius); overflow:hidden; box-shadow:var(--cbpmx-shadow); }
.cbpm-feature-image img{ width:100%; height:220px; object-fit:cover; }
.cbpm-feature-body{ padding:30px; }
.cbpm-deadline{ background:#FFF2E2; color:var(--cbpmx-orange-dark); font-weight:700; padding:8px 14px; border-radius:8px; display:inline-block; font-size:.85rem; margin:10px 0; }
.cbpm-check-list{ list-style:none; padding:0; margin:14px 0; }
.cbpm-check-list li{ margin-bottom:8px; color:var(--cbpmx-muted); }
.cbpm-check-list i{ color:var(--cbpmx-orange); margin-right:8px; }

/* ---------- Featured conference band ---------- */
.cbpm-featured-band{ background:var(--cbpmx-navy); color:#fff; padding:70px 0; }
.cbpm-featured-band-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
.cbpm-featured-band h2{ color:#fff; font-family: var(--cbpmx-font-heading); font-weight:700; }
.cbpm-featured-band p{ color:#C9D4E2; margin-bottom:24px; }
.cbpm-featured-visual img{ width:100%; border-radius:var(--cbpmx-radius); box-shadow:0 20px 50px rgba(0,0,0,.3); }

/* ---------- Event tiles (Upcoming Events section) ---------- */
.cbpm-event-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cbpm-event-tile{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--cbpmx-border); border-radius:12px; padding:20px; color:var(--cbpmx-navy); }
.cbpm-event-tile span{ width:46px; height:46px; background:var(--cbpmx-bg-light); color:var(--cbpmx-orange); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.cbpm-event-tile strong{ display:block; }
.cbpm-event-tile small{ color:var(--cbpmx-muted); }
.cbpm-event-tile:hover{ border-color:var(--cbpmx-orange); box-shadow:var(--cbpmx-shadow); }
.cbpm-event-tile > i{ margin-left:auto; color:var(--cbpmx-muted); }

/* ---------- Proceedings section (homepage + proceedings pages) ---------- */
.cbpm-proceedings-grid{ display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; align-items:center; background:#fff; border-radius:var(--cbpmx-radius); box-shadow:var(--cbpmx-shadow); padding:40px; }
.cbpm-proceedings-cover img{ width:100%; border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.15); }
.cbpm-mini-links{ display:flex; gap:20px; flex-wrap:wrap; margin-top:14px; }
.cbpm-mini-links a{ color:var(--cbpmx-navy); font-weight:700; }
.cbpm-mini-links a:hover{ color:var(--cbpmx-orange); }

/* ---------- News / announcement cards ---------- */
.cbpm-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cbpm-news-card{ background:#fff; border-radius:var(--cbpmx-radius); overflow:hidden; box-shadow:var(--cbpmx-shadow); }
.cbpm-news-card img{ width:100%; height:170px; object-fit:cover; }
.cbpm-news-card > div{ padding:22px; }
.cbpm-news-tag{ color:var(--cbpmx-orange); font-weight:700; font-size:.75rem; text-transform:uppercase; }
.cbpm-news-card h3{ font-size:1.1rem; margin:8px 0; font-family: var(--cbpmx-font-heading); color: var(--cbpmx-navy); font-weight:700; }
.cbpm-news-card p{ color:var(--cbpmx-muted); font-size:.92rem; }
.cbpm-news-card a{ color:var(--cbpmx-navy); font-weight:700; }

/* ---------- "Why Attend" benefits grid ---------- */
.cbpm-benefits-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cbpm-benefit{ text-align:center; padding:30px 20px; }
.cbpm-benefit span{ width:60px; height:60px; border-radius:50%; background:var(--cbpmx-bg-light); color:var(--cbpmx-orange); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.5rem; }
.cbpm-benefit p{ color:var(--cbpmx-muted); font-size:.92rem; }

/* ---------- Important Dates band ---------- */
.cbpm-dates-band{ background:var(--cbpmx-navy); padding:60px 0; }
.cbpm-dates-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.cbpm-date-card{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:20px; display:flex; align-items:center; gap:14px; color:#fff; }
.cbpm-date-card i{ color:var(--cbpmx-orange); font-size:1.4rem; }
.cbpm-date-card span{ color:#B9C6D8; font-size:.85rem; }

/* ---------- Partner placeholder tiles (homepage) ---------- */
.cbpm-partner-placeholders{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.cbpm-partner-placeholder{ background:#fff; border:1px dashed var(--cbpmx-border); border-radius:10px; padding:30px 10px; text-align:center; color:var(--cbpmx-muted); font-weight:600; }

/* ---------- Final call-to-action band ---------- */
.cbpm-home-cta{ background:var(--cbpmx-navy); padding:60px 0; }
.cbpm-home-cta-inner{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.cbpm-home-cta h2{ color:#fff; margin-bottom:6px; font-family: var(--cbpmx-font-heading); font-weight:700; }
.cbpm-home-cta p{ color:#FFEAD1; }
.cbpm-home-cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Generic white card (used by public forms: register, submit
   abstract, contact, interest forms, and payment/review result pages) ---------- */
.cbpm-admin-card{ background:#fff; border-radius:12px; padding:22px; box-shadow:var(--cbpmx-shadow); }

/* ---------- Responsive ---------- */
@media (max-width: 991px){
  .hero-content{ padding:60px 0; }
  .cbpm-upcoming-card, .cbpm-participation-grid, .cbpm-featured-band-grid, .cbpm-proceedings-grid{ grid-template-columns:1fr; }
  .cbpm-event-grid, .cbpm-news-grid, .cbpm-benefits-grid{ grid-template-columns:repeat(2,1fr); }
  .cbpm-partner-placeholders{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 576px){
  .hero-content h1{ font-size:1.9rem; }
  .cbpm-event-grid, .cbpm-news-grid, .cbpm-benefits-grid, .cbpm-partner-placeholders{ grid-template-columns:1fr; }
  .cbpm-countdown{ flex-wrap:wrap; }
}