:root {
    --blue: #1A3FD1;
    --blue-dark: #0E2899;
    --blue-tint: #EEF1FD;
    --red: #E63950;
    --red-dark: #C92840;
    --yellow: #FFDA1A;
    --ink: #16181D;
    --slate: #3d4148;
    --bg: #FFFFFF;
    --bg-soft: #F5F6F8;
    --line: #E6E8EC;
    --footer-bg: #0E1013;
    --footer-text: #9BA0A8;
    --radius-card: 12px;
    --radius-pill: 999px;
    --shadow: 0 16px 36px -16px rgba(16, 24, 40, 0.18);
    --font: 'Inter', -apple-system, Segoe UI, Roboto, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font);
    color: var(--ink);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4 {
    margin: 0;
    color: var(--ink);
    font-weight: 700;
}

p {
    margin: 0;
    line-height: 1.7;
    color: var(--slate);
    font-size: 15px;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

img {
    max-width: 100%;
    display: block;
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
}

.container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

section {
    position: relative;
}

::selection {
    background: var(--yellow);
    color: var(--ink);
}

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--blue) !important;
    margin-bottom: 12px;
}

.eyebrow::before {
    content: "";
    width: 18px;
    height: 2px;
    background: var(--red);
    border-radius: 2px;
}

.section-pad {
    padding: 60px 0;
}

.show-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--red);
    font-weight: 700;
    font-size: 14.5px;
}

.show-all svg {
    width: 9px;
    height: 9px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: var(--radius-pill);
    font-weight: 700;
    font-size: 14.5px;
    transition: background .18s, box-shadow .18s, transform .18s, color .18s, border-color .18s;
}

.btn-red {
    background: var(--red);
    color: #fff;
}

.btn-red:hover {
    background: var(--red-dark);
}

.btn-blue {
    background: var(--blue);
    color: #fff;
}

.btn-blue:hover {
    background: var(--blue-dark);
    color: #fff;
}

.btn-outline {
    border: 1.5px solid #fff;
    color: #fff;
}

.btn-outline:hover {
    background: rgba(255, 255, 255, 0.15);
}

.btn-outline-dark {
    border: 1.5px solid var(--line);
    color: var(--ink);
}

.btn-outline-dark:hover {
    border-color: var(--blue);
    color: var(--blue);
}

.btn-sm {
    padding: 10px 18px;
    font-size: 13.5px;
}

/* =====================================================
HEADER
===================================================== */
header {
    background: #fff;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    max-width: 1180px;
    margin: 0 auto;
    gap: 20px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 800;
    font-size: 18.5px;
    color: var(--ink);
    flex-shrink: 0;
    white-space: nowrap;
}

.logo .mark {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 800;
}

nav.primary>ul {
    display: flex;
    gap: 2px;
}

nav.primary>ul>li {
    position: relative;
}

nav.primary>ul>li>a {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 30px 13px;
    color: var(--ink);
    font-size: 14.5px;
    font-weight: 600;
    border-radius: 8px;
    transition: color .18s;
}

nav.primary>ul>li>a:hover {
    color: var(--blue);
}

nav.primary>ul>li>a svg {
    width: 9px;
    height: 9px;
    opacity: .6;
}

.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    /* margin-top: 10px; */
    background: #fff;
    min-width: 230px;
    border-radius: 12px;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: all .18s ease;
    min-width: 250px;
}

nav.primary>ul>li:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown a {
    display: block;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
}

.dropdown a:hover {
    background: var(--blue-tint);
    color: var(--blue);
}

.header-right {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    transition: background .18s;
}

.icon-btn:hover {
    background: var(--bg-soft);
}

.icon-btn svg {
    width: 17px;
    height: 17px;
}

.menu-toggle {
    display: none;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
}

/* =====================================================
YELLOW NOTICE BAR
===================================================== */
.notice-bar {
    background: var(--yellow);
    text-align: center;
    padding: 11px 24px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
    position: relative;
}

.notice-bar a {
    color: var(--blue-dark);
    font-weight: 800;
    text-decoration: underline;
}

.notice-close {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    line-height: 1;
    color: var(--ink);
    opacity: .6;
}

.notice-close:hover {
    opacity: 1;
}

/* =====================================================
HERO split layout, real image right, floating card
===================================================== */
.hero-modern {
    position: relative;
    padding: 60px 0;
    background:
        radial-gradient(circle at top right, var(--blue-tint), transparent 50%),
        linear-gradient(180deg, var(--bg), var(--bg-soft));
    overflow: hidden;
}

.hero-wrapper {
    display: grid;
    grid-template-columns: .9fr .9fr;
    gap: 70px;
    align-items: center;
}

.hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--red);
    border: 1px solid var(--line);
    border-radius: 50px;
    padding: 10px 20px;
    color: var(--bg);
    font-weight: 600;
    box-shadow: var(--shadow);
}

.hero-tag i {
    color: var(--bg);
}

.hero-content h1 {
    font-size: 50px;
    margin: 28px 0 22px;
    color: var(--ink);
    font-weight: 800;
}

.hero-content h1 span {
    color: var(--blue);
    position: relative;
}

.hero-content h1 span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 100%;
    height: 12px;
    background: rgba(230, 57, 80, .15);
    z-index: -1;
}

.hero-content p {
    font-size: 16px;
    color: var(--slate);
    line-height: 1.9;
    max-width: 620px;
}

.hero-btns {
    display: flex;
    gap: 18px;
    margin: 38px 0;
    flex-wrap: wrap;
}

.theme-btn {
    background: var(--red);
    color: #fff;
    padding: 16px 34px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    transition: .35s;
    text-align: center;
}

.theme-btn:hover {
    background: var(--red-dark);
    color: #fff;
}

.theme-btn-outline {
    background: #fff;
    border: 2px solid var(--blue);
    color: var(--blue);
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 700;
    transition: .35s;
}

.theme-btn-outline:hover {
    background: var(--blue);
    color: #fff;
}

.hero-features {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    padding: 18px 22px;
    border-radius: 14px;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.feature-item span {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 22px;
}

.feature-item strong {
    display: block;
    font-size: 24px;
    color: var(--ink);
}

.feature-item small {
    color: var(--slate);
    font-size: 14px;
}

.hero-image-side {
    position: relative;
}

.image-card {
    position: relative;
    background: #fff;
    /* padding:18px; */
    border-radius: 30px;
    box-shadow: 0 35px 70px rgba(0, 0, 0, .12);
    height: 450px;
}

.image-card::before {
    content: "";
    position: absolute;
    inset: -12px;
    border: 2px dashed rgba(26, 63, 209, .12);
    border-radius: 36px;
}

.image-card img {
    width: 100%;
    border-radius: 22px;
    display: block;
    height: 100%;
    object-fit: cover;
}

.floating-box {
    position: absolute;
    background: #fff;
    border-radius: 16px;
    padding: 18px 20px;
    box-shadow: var(--shadow);
}

.trust-box {
    left: -40px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.trust-box i {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue);
    color: #fff;
    font-size: 22px;
}

.trust-box strong {
    display: block;
    color: var(--ink);
}

.trust-box span {
    color: var(--slate);
    font-size: 14px;
}

.success-box {
    right: -20px;
    top: 5px;
    text-align: center;
    background: var(--red);
    color: #fff;
}

.success-box h3 {
    margin: 0;
    font-size: 34px;
    color: #fff;
}

.success-box p {
    margin: 6px 0 0;
    font-size: 14px;
    color: #fff;
}

@media(max-width:991px) {

    .hero-wrapper {
        grid-template-columns: 1fr;
    }

    .hero-content {
        order: 2;
    }

    .hero-image-side {
        order: 1;
        margin-bottom: 40px;
    }

    .hero-content h1 {
        font-size: 42px;
    }

    .trust-box {
        left: 10px;
        bottom: 20px;
    }

    .success-box {
        right: 10px;
        top: 10px;
    }

}

/* =====================================================
TRUST / STAT STRIP (no imagery numbers + icons)
===================================================== */
.stats-section {
    padding: 60px 0;
    background: linear-gradient(135deg, var(--blue), var(--blue-dark));
    position: relative;
    overflow: hidden;
}

.stats-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    top: -180px;
    left: -120px;
}

.stats-section::after {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    right: -100px;
    bottom: -120px;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
    z-index: 2;
}

.stat-card {
    text-align: center;
    border-right: 1px solid #dddddd69;
}

.stat-card:last-child {
    border-right: none;
}

.stat-card h2 {
    font-size: 35px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    transition: .3s;
}


.stat-card p {
    color: rgba(255, 255, 255, .9);
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    transition: .3s;
}


@media(max-width:991px) {

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media(max-width:576px) {

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-card h2 {
        font-size: 42px;
    }

}

/* ===================================================== 
PROGRAMS icon feature-card grid (no images) 
===================================================== */
.program-section {
    padding: 60px 0;
    background: var(--bg-soft);
}

.section-title {
    max-width: 700px;
    margin: 0 auto 60px;
    text-align: center;
}

.section-title h2 {
    font-size: 34px;
    color: var(--ink);
    margin-bottom: 18px;
    font-weight: 800;
}

.section-title p {
    color: var(--slate);
    font-size: 16px;
    line-height: 1.8;
}

.program-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.program-box {
    background: #fff;
    border-radius: 18px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    transition: .35s;
    border: 1px solid var(--line);
}

/* .program-box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%; 
    background: var(--red);
    transition: .35s;
} */

.program-box:hover {

    box-shadow: var(--shadow);
}

.program-box:hover::before {
    background: var(--blue);
    width: 10px;
}

.program-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 12px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: .35s;
}

.program-box:hover .program-icon {
    background: var(--blue);
    color: #fff;
}

.program-content {
    margin-top: 20px;
}

.program-box-title {
    display: flex;
    align-items: center;
    gap: 20px;
}

.program-box-title h3 {
    margin-bottom: 12px;
    font-size: 18px;
    color: var(--ink);
}

.program-content p {
    color: var(--slate);
    margin: 0;
    font-size: 15px;
}

.program-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--red);
    padding: 7px 0;
    font-size: 14px;
    font-weight: 600;
    transition: all .35s ease;
    white-space: nowrap;
    margin-top: 10px;
}

.program-btn i {
    font-size: 14px;
    transition: transform .35s ease;
}

.program-btn :hover {
    color: var(--blue);
}

.program-btn:hover i {
    transform: translateX(5px);
}

@media(max-width:991px) {

    .program-list {
        grid-template-columns: 1fr;
    }

}

@media(max-width:767px) {

    .program-box {
        flex-direction: column;
        text-align: center;
    }

    .program-btn {
        margin-top: 20px;
    }

    .section-title h2 {
        font-size: 34px;
    }

}

/* =====================================================
UNIVERSITIES logo wall + spotlight image block
===================================================== */
.tab-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem 0.8rem;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid var(--line);
    padding-bottom: 1.2rem;
}

.tab-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1.2rem 0.45rem 0.7rem;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    background: transparent;
    font-family: var(--font);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--slate);
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: none;
}

.tab-btn .dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-weight: 700;
    font-size: 0.7rem;
    color: #fff;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.tab-btn span:last-child {
    white-space: nowrap;
}

.tab-btn:hover {
    background: var(--bg-soft);
    color: var(--ink);
    border-color: var(--line);
}

.tab-btn.active {
    background: var(--blue-tint);
    border-color: var(--blue);
    color: var(--blue-dark);
    box-shadow: 0 4px 10px rgba(26, 63, 209, 0.08);
}

.tab-btn.active .dot {
    transform: scale(1.02);
    box-shadow: 0 4px 8px rgba(26, 63, 209, 0.2);
}

/* --- tab panels --- */
.panel-container {
    position: relative;
    min-height: 340px;
}

.tab-panel {
    display: none;
    animation: fadeSlide 0.3s ease-out;
}

.tab-panel.active {
    display: block;
}

@keyframes fadeSlide {
    0% {
        opacity: 0;
        transform: translateY(6px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.spotlight-card {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 2rem;
    background: var(--bg-soft);
    border-radius: var(--radius-card);
    padding: 0;
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
}

.photo {
    position: relative;
    background: #d9e0f0;
    min-height: 220px;
    overflow: hidden;
}

.photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.spotlight-card:hover .photo img {
    transform: scale(1.02);
}

.photo .tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 0.25rem 0.9rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.photo .stats-overlay {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.photo .stat-badge {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    color: #fff;
    padding: 0.3rem 0.9rem;
    border-radius: var(--radius-pill);
    font-size: 0.7rem;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.photo .stat-badge strong {
    font-weight: 700;
    font-size: 0.85rem;
}

.spotlight-copy {
    padding: 1.8rem 2rem 2rem 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.spotlight-copy .eyebrow {
    background: transparent;
    color: var(--blue);
    padding: 0 0 0.2rem 0;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    border-radius: 0;
    margin-bottom: 0.3rem;
}

.spotlight-copy h3 {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.spotlight-copy p {
    color: var(--slate);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.2rem;
    max-width: 90%;
}

.spotlight-copy .accreditation {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.spotlight-copy .accreditation span {
    background: #d6deff;
    color: var(--blue-dark);
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.8rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.spotlight-copy ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1.4rem 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.spotlight-copy ul li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: var(--ink);
}

.spotlight-copy ul li svg {
    width: 18px;
    height: 18px;
    color: var(--blue);
    flex-shrink: 0;
}

.btn-red {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--red);
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.6rem 1.6rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    transition: background 0.2s, transform 0.1s;
    border: none;
    width: fit-content;
    box-shadow: 0 4px 10px rgba(230, 57, 80, 0.2);
}

.btn-red:hover {
    background: var(--red-dark);
    transform: scale(1.02);
    box-shadow: 0 8px 20px rgba(230, 57, 80, 0.25);
}

/* --- pagination dots --- */
.split-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
}

.page-dots {
    display: flex;
    gap: 0.5rem;
}

.pg-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--line);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.pg-dot.active {
    background: var(--blue);
    transform: scale(1.25);
    box-shadow: 0 0 0 2px var(--blue-tint);
}

.pg-dot:hover {
    background: var(--blue);
    opacity: 0.7;
}

.page-arrow {
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--slate);
    cursor: pointer;
    transition: all 0.2s;
}

.page-arrow:hover:not(:disabled) {
    background: var(--blue-tint);
    border-color: var(--blue);
    color: var(--blue);
}

.page-arrow:disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* responsive */
@media (max-width: 800px) {
    .spotlight-card {
        grid-template-columns: 1fr;
    }

    .photo {
        min-height: 200px;
    }

    .spotlight-copy {
        padding: 1.5rem 1.5rem 2rem;
    }

    .spotlight-copy p {
        max-width: 100%;
    }

    .tab-bar {
        gap: 0.4rem;
    }

    .tab-btn {
        padding: 0.3rem 1rem 0.3rem 0.5rem;
        font-size: 0.8rem;
    }

    .tab-btn .dot {
        width: 28px;
        height: 28px;
        font-size: 0.6rem;
    }

    .section-header h2 {
        font-size: 1.6rem;
    }

    .photo .stats-overlay {
        gap: 0.5rem;
    }

    .photo .stat-badge {
        font-size: 0.6rem;
        padding: 0.2rem 0.6rem;
    }
}

@media (max-width: 480px) {
    .tab-bar {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.8rem;
        gap: 0.4rem;
        -webkit-overflow-scrolling: touch;
    }

    .tab-btn {
        flex-shrink: 0;
    }

    .spotlight-copy h3 {
        font-size: 1.2rem;
    }

    .spotlight-copy .accreditation span {
        font-size: 0.6rem;
    }
}

/* =====================================================
WHY SCHOLARIS alternating icon list (no cards, no bg)
===================================================== */
.why-section {
    padding: 60px 0;
    background: var(--bg-soft);
}

.why-check-list {
    padding: 0;
    list-style: none;
    margin-bottom: 35px;
}

.why-check-list li {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    font-size: 15px;
    color: var(--slate);
}

.why-check-list i {
    color: var(--red);
    font-size: 18px;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.feature-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 25px;
    transition: .35s;
    position: relative;
}

.feature-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 5px;
    background: var(--red);
    transform: scaleX(0);
    transition: .35s;
}

.feature-card:hover::before,
.feature-card.active::before {
    transform: scaleX(1);
}

.feature-card:hover {
    /* transform:translateY(-10px); */
    box-shadow: var(--shadow);
}

.feature-icon {
    width: 50px;
    height: 50px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
    margin-bottom: 20px;
}

.feature-card:hover .feature-icon {
    background: var(--blue);
    color: #fff;
}

.feature-title {
    display: flex;
    gap: 15px;
    align-items: center;
}

.feature-card h4 {
    font-size: 18px;
    margin-bottom: 15px;
    color: var(--ink);
}

.feature-card p {
    color: var(--slate);
    font-size: 15px;
}

@media(max-width:991px) {

    .feature-grid {
        grid-template-columns: 1fr;
    }

    .section-title {
        font-size: 34px;
    }

}

/* =====================================================
RESOURCES compact icon card grid (no images)
===================================================== */
.resource-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #fff, var(--bg-soft));
    position: relative;
    overflow: hidden;
}

.resource-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 35px 28px;
    height: 100%;
    overflow: hidden;
    transition: .35s;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}

.resource-card::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, var(--red), var(--blue));
    transform: scaleX(0);
    transform-origin: left;
    transition: .4s;
}

.resource-card:hover {
    /* transform:translateY(-12px); */
    box-shadow: 0 20px 45px rgba(0, 0, 0, .12);
}

.resource-card:hover::before {
    transform: scaleX(1);
}

.resource-number {
    position: absolute;
    top: 22px;
    right: 22px;
    font-size: 50px;
    font-weight: 800;
    color: #edf1ff;
    line-height: 1;
}

.resource-icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 27px;
    margin-bottom: 28px;
    transition: .35s;
}

.resource-card:hover .resource-icon {
    background: var(--blue);
    color: #fff;
}

.resource-card h4 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    line-height: 1.35;
    margin-bottom: 8px;
}

.resource-card p {
    color: var(--slate);
    font-weight: 15px;
    margin-bottom: 30px;
}

.resource-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-weight: 700;
    color: var(--red);
    transition: .3s;
}

.resource-link i {
    transition: .3s;
}

.resource-link:hover {
    color: var(--blue);
}

.resource-link:hover i {
    transform: translateX(6px);
}

@media(max-width:991px) {

    .resource-card {
        padding: 30px 24px;
    }

}

@media(max-width:767px) {

    .resource-card h4 {
        font-size: 22px;
    }

    .resource-number {
        font-size: 42px;
    }

}

/* =====================================================
CTA STRIP merges straight into the footer below
===================================================== */
/* .cta-section{
    padding:60px 0;
    background:var(--bg-soft);
} */

.cta-box {
    position: relative;
    overflow: hidden;
    padding: 40px 80px;
    /* border-radius:28px; */
    background: linear-gradient(135deg, var(--blue), var(--blue-dark));
    box-shadow: var(--shadow);
}

.shape {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.shape-one {
    width: 260px;
    height: 260px;
    top: -120px;
    right: -80px;
}

.shape-two {
    width: 180px;
    height: 180px;
    bottom: -80px;
    left: -60px;
}

.cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    border-radius: 50px;
    font-weight: 600;
    margin-bottom: 20px;
}

.cta-box h2 {
    color: #fff;
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
}

.cta-box p {
    color: rgba(255, 255, 255, .85);
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 35px;
}

.cta-features {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.cta-features span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-weight: 500;
}

.cta-features i {
    color: var(--yellow);
}

.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.cta-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 17px 30px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    transition: .35s;
}

.primary-btn {
    background: var(--red);
    color: #fff;
}

.primary-btn:hover {
    background: #fff;
    color: var(--blue);
    transform: translateY(-4px);
}

.secondary-btn {
    background: rgba(255, 255, 255, .12);
    border: 2px solid rgba(255, 255, 255, .25);
    color: #fff;
}

.secondary-btn:hover {
    background: #fff;
    color: var(--blue);
    transform: translateY(-4px);
}

@media(max-width:991px) {

    .cta-box {
        padding: 50px 35px;
        text-align: center;
    }

    .cta-box h2 {
        font-size: 34px;
    }

    .cta-features {
        justify-content: center;
        margin-bottom: 35px;
    }

    .cta-buttons {
        margin-top: 10px;
    }

}

/* =====================================================
ABOUT simple centered statement (typography-led)
===================================================== */
.about-section {
    padding: 60px 0;
    background: var(--bg);
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--red);
    color: #fff;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

.about-section h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    line-height: 1.2;
    margin-bottom: 25px;
}

.about-section h2 span {
    color: var(--red);
}

.about-section p {
    color: var(--slate);
    line-height: 1.9;
    margin-bottom: 18px;
}

.about-section p a {
    color: var(--blue);
    font-weight: 600;
    text-decoration: none;
}

.about-section p a:hover {
    color: var(--red);
}

.about-btns {
    margin-top: 35px;
}

.about-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 40px;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}

.about-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, var(--blue), var(--red));
}

.about-top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}

.about-icon {
    width: 85px;
    height: 85px;
    border-radius: 20px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
}

.about-top h3 {
    font-size: 22px;
    margin-bottom: 6px;
    color: var(--ink);
    font-weight: 800;
}

.about-top span {
    color: var(--slate);
    font-size: 15px;
}

.about-features {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.feature-row {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}

.feature-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.feature-row i {
    width: 54px;
    height: 54px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.feature-row h5 {
    margin-bottom: 6px;
    color: var(--ink);
    font-size: 18px;
    font-weight: 700;
}

.feature-row p {
    margin: 0;
    font-size: 15px;
}

.about-stats {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    text-align: center;
    background: var(--bg-soft);
    border-radius: 18px;
    overflow: hidden;
}

.about-stats div {
    padding: 25px 15px;
}

.about-stats div:not(:last-child) {
    border-right: 1px solid var(--line);
}

.about-stats h4 {
    font-size: 34px;
    color: var(--red);
    margin-bottom: 8px;
    font-weight: 800;
}

.about-stats span {
    color: var(--slate);
    font-size: 14px;
}

@media(max-width:991px) {

    .about-section h2 {
        font-size: 36px;
    }

    .about-card {
        margin-top: 20px;
    }
}

@media(max-width:576px) {

    .about-stats {
        grid-template-columns: 1fr;
    }

    .about-stats div {
        border-right: none !important;
        border-bottom: 1px solid var(--line);
    }

    .about-stats div:last-child {
        border-bottom: none;
    }
}

.footer-area {
    background: var(--footer-bg);
    color: #fff;
    position: relative;
    overflow: hidden;
    padding-top: 60px;
}


.footer-area::before {
    content: "PHD";
    position: absolute;
    right: 40px;
    top: 20px;
    font-size: 180px;
    font-weight: 900;
    color: rgba(255, 255, 255, .03);
    pointer-events: none;
}

.footer-top {
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    text-decoration: none;
    margin-bottom: 25px;
}

.footer-logo span {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: var(--red);
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-top p {
    color: #b7bcc7;
    line-height: 1.9;
}

.footer-top h5 {
    color: #fff;
    margin-bottom: 22px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .01em;
}


.footer-top ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-top li {
    margin-bottom: 14px;
    font-size: 14.5px;
    display: flex;
    gap: 5px;
}

.footer-top li i {
    margin-top: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.footer-top a {
    color: #b7bcc7;
    text-decoration: none;
    transition: .3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.footer-top a:hover {
    color: #fff;
}

.footer-top a i.fa-chevron-right {
    font-size: 9px;
    color: var(--red);
    opacity: 0;
    transform: translateX(-4px);
    transition: .25s;
}

.footer-col+.footer-col {
    margin-top: 34px;
}

.footer-social {
    display: flex;
    gap: 15px;
    margin-top: 30px;
}

.footer-social a {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    transition: .35s;
}

.footer-social a:hover {
    background: var(--red);
    transform: translateY(-5px);
}

.footer-contact {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 30px 0;
}

.contact-card {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: .3s;
}

.contact-card:hover {
    background: rgba(255, 255, 255, .08);
}

.contact-card i {
    width: 37px;
    height: 37px;
    border-radius: 50%;
    background: var(--red);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
}

.contact-card span {
    color: #fff;
}

/* Schedule Meeting — styled as a standout pill link, powered by Calendly */
.footer-cta-link {
    color: #fff !important;
    background: var(--red);
    padding: 9px 16px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13.5px !important;
    display: inline-flex;
    width: fit-content;
    cursor: pointer;
}

.footer-cta-link:hover {
    background: #b8402f;
    color: #fff !important;
}

.footer-cta-link i.fa-chevron-right {
    display: none;
}

.footer-bottom {
    padding: 30px 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-bottom p {
    margin: 0;
    color: #9ba0a8;
    font-size: 13.5px;
}

.footer-bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 25px;
}

.footer-bottom a {
    color: #9ba0a8;
    text-decoration: none;
    font-size: 13.5px;
}

.footer-bottom a:hover {
    color: #fff;
}

.logo-div {
    height: 65px;
    width: 100%;
    object-fit: cover;
}

.logo-div img {
    height: 100%;
    width: 100%;
}

@media(max-width:991px) {
    .footer-contact {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer-bottom-links {
        justify-content: center;
    }
}

/* ---------- Breadcrumb header ---------- */
.page-hero {
    position: relative;
    overflow: hidden;
    padding: 70px 0 50px;
    color: #fff;
}

.page-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -3;
}

.page-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(14, 40, 153, .78),
            rgba(26, 63, 209, .65),
            rgba(230, 57, 80, .45));
    z-index: -2;
}

.hero-shape {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.hero-shape-1 {
    width: 280px;
    height: 280px;
    top: -100px;
    right: -80px;
}

.hero-shape-2 {
    width: 180px;
    height: 180px;
    left: -60px;
    bottom: -60px;
}

.page-content {
    max-width: 760px;
}

.page-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-radius: 50px;
    background: rgba(255, 255, 255, .15);
    backdrop-filter: blur(10px);
    color: #fff;
    font-weight: 600;
    margin-bottom: 25px;
}

.page-badge i {
    color: var(--yellow);
}

.page-content h1 {
    font-size: 45px;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.1;
    color: var(--bg);
}

.page-content p {
    max-width: 600px;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .92);
    margin-bottom: 35px;
}

.breadcrumb-box {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 14px 24px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50px;
}

.breadcrumb-box a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.breadcrumb-box a:hover {
    color: var(--yellow);
}

.breadcrumb-box span {
    color: #fff;
}

.breadcrumb-box .active {
    color: var(--yellow);
    font-weight: 700;
}

@media(max-width:991px) {

    .page-hero {
        padding: 130px 0 90px;
    }

    .page-content h1 {
        font-size: 46px;
    }

}

@media(max-width:576px) {

    .page-content h1 {
        font-size: 36px;
    }

    .page-content p {
        font-size: 16px;
    }

    .breadcrumb-box {
        flex-wrap: wrap;
        gap: 10px;
    }

}

/* ---------- Shared section title (reuses brand look) ---------- */
.ap-section-title {
    max-width: 680px;
    margin: 0 auto 50px;
    text-align: center;
}

.ap-section-title .eyebrow {
    justify-content: center;
}

.ap-section-title h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 16px;
}

.ap-section-title h2 span{
    color: var(--red);
}

.ap-section-title p {
    font-size: 16.5px;
}

/* ---------- Section 1 Who We Are ---------- */
.ap-who {
    padding: 80px 0;
    background: var(--bg);
}

.ap-who-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 64px;
    align-items: center;
}

.ap-who-visual {
    position: relative;
}

.ap-who-frame {
    border-radius: 24px;
    overflow: hidden;
    height: 440px;
    box-shadow: 0 30px 60px rgba(16, 24, 40, .16);
}

.ap-who-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ap-who-badge {
    position: absolute;
    left: -30px;
    bottom: 30px;
    background: #fff;
    border-radius: 16px;
    padding: 18px 22px;
    box-shadow: var(--shadow);
    display: flex;
    align-items: center;
    gap: 14px;
}

.ap-who-badge i {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ap-who-badge i svg {
    width: 22px;
    height: 22px;
}

.ap-who-badge strong {
    display: block;
    color: var(--ink);
    font-size: 20px;
}

.ap-who-badge span {
    color: var(--slate);
    font-size: 13px;
}

.ap-who-copy h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin: 16px 0 20px;
}

.ap-who-copy h2 span{
    color: var(--red);
}

.ap-who-copy>p {
    margin-bottom: 26px;
}

.ap-who-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
    margin-bottom: 30px;
}

.ap-who-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 14.5px;
    color: var(--ink);
}

.ap-who-list li i {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ap-who-list li i svg {
    width: 12px;
    height: 12px;
}

@media(max-width:991px) {
    .ap-who-grid {
        grid-template-columns: 1fr;
    }

    .ap-who-frame {
        height: 320px;
    }

    .ap-who-badge {
        left: 14px;
    }

    .ap-who-list {
        grid-template-columns: 1fr;
    }
}

/* ---------- Section 2 By the Numbers (full width) ---------- */
.ap-stats-section {
    position: relative;
    overflow: hidden;
    padding: 55px 0;
    background: linear-gradient(135deg, var(--blue), var(--blue-dark));
}

.ap-stats-section::before {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    top: -170px;
    left: -110px;
}

.ap-stats-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    bottom: -140px;
    right: -90px;
}

.ap-stats-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.ap-stat-item {
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, .18);
}

.ap-stat-item:last-child {
    border-right: none;
}

.ap-stat-icon {
    width: 46px;
    height: 46px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ap-stat-icon svg {
    width: 20px;
    height: 20px;
}

.ap-stat-item h3 {
    font-size: 34px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 8px;
}

.ap-stat-item p {
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media(max-width:991px) {
    .ap-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 36px;
    }
}

@media(max-width:576px) {
    .ap-stats-grid {
        grid-template-columns: 1fr;
    }

    .ap-stat-item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .18);
        padding-bottom: 24px;
    }

    .ap-stat-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
}

/* ---------- Section 3 Mission & Vision ---------- */
.ap-mission {
    padding: 80px 0;
    background: var(--bg-soft);
}

.ap-mission-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.ap-mission-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 40px 36px;
    position: relative;
    overflow: hidden;
    transition: .3s;
}

.ap-mission-card:hover {
    box-shadow: var(--shadow);
}

.ap-mission-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.ap-mission-card.is-mission::before {
    background: var(--red);
}

.ap-mission-card.is-vision::before {
    background: var(--blue);
}

.ap-mission-icon {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.ap-mission-card.is-mission .ap-mission-icon {
    background: rgba(230, 57, 80, .1);
    color: var(--red);
}

.ap-mission-card.is-vision .ap-mission-icon {
    background: var(--blue-tint);
    color: var(--blue);
}

.ap-mission-icon svg {
    width: 26px;
    height: 26px;
}

.ap-mission-card h3 {
    font-size: 22px;
    color: var(--ink);
    margin-bottom: 14px;
}

.ap-mission-card p {
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

@media(max-width:900px) {
    .ap-mission-grid {
        grid-template-columns: 1fr;
    }
}

/* ---------- Section 3 Why Choose Us ---------- */
.ap-why {
    padding: 80px 0;
    background: var(--bg);
}

.ap-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

.ap-why-card {
    text-align: center;
    padding: 36px 24px;
    border-radius: 20px;
    border: 1px solid var(--line);
    transition: .3s;
    position: relative;
}

.ap-why-card:hover {
    border-color: transparent;
    box-shadow: var(--shadow);
    transform: translateY(-6px);
}

.ap-why-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
}

.ap-why-card:hover .ap-why-icon {
    background: var(--blue);
    color: #fff;
}

.ap-why-icon svg {
    width: 27px;
    height: 27px;
}

.ap-why-card h4 {
    font-size: 17px;
    color: var(--ink);
    margin-bottom: 12px;
}

.ap-why-card p {
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

@media(max-width:991px) {
    .ap-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:576px) {
    .ap-why-grid {
        grid-template-columns: 1fr;
    }
}

/* ---------- Section 5 CTA (full width) ---------- */
.ap-cta-section {
    position: relative;
    overflow: hidden;
    padding: 70px 0;
    background: linear-gradient(135deg, var(--blue), var(--blue-dark));
}

.ap-cta {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.9fr .9fr;
    gap: 40px;
    align-items: center;
}

.ap-cta-shape {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.ap-cta-shape-one {
    width: 260px;
    height: 260px;
    top: -130px;
    right: -70px;
}

.ap-cta-shape-two {
    width: 180px;
    height: 180px;
    bottom: -90px;
    left: -50px;
}

.ap-cta-copy {
    position: relative;
    z-index: 2;
}

.ap-cta-copy span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    padding: 8px 18px;
    border-radius: var(--radius-pill);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 18px;
}

.ap-cta-copy h2 {
    color: #fff;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 14px;
}

.ap-cta-copy p {
    color: rgba(255, 255, 255, .85);
    font-size: 15.5px;
    line-height: 1.8;
    margin: 0;
}

.ap-cta-btns {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-left: auto;
}

@media(max-width:900px) {
    .ap-cta {
        grid-template-columns: 1fr;
        padding: 45px 30px;
        text-align: center;
        border-radius: 20px;
    }
}

/* =====================================================
   CONTENT SECTION
   (Terms & Conditions / Privacy Policy / Refund Policy)
===================================================== */

.content-section {
    background-color: #ffffff;
    color: #333333;
}

.content-section .container {
    max-width: 1140px;
}

.content-section p.text-muted {
    font-size: 14px;
    color: #888 !important;
    font-style: italic;
    margin-bottom: 30px;
}

.content-section h2 {
    font-size: 22px;
    font-weight: 700;
    color: #12213b;
    margin-top: 36px;
    margin-bottom: 14px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
    position: relative;
}

.content-section h2:first-of-type {
    margin-top: 0;
}

.content-section h2::before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 2px;
    background-color: #2b6cff;
    /* accent color match your brand */
}

.content-section p {
    font-size: 15.5px;
    line-height: 1.85;
    color: #4a5568;
    margin-bottom: 18px;
}

.content-section ul,
.content-section ol {
    margin-bottom: 18px;
    padding-left: 22px;
}

.content-section ul li,
.content-section ol li {
    font-size: 15.5px;
    line-height: 1.8;
    color: #4a5568;
    margin-bottom: 8px;
}

.content-section a {
    color: #2b6cff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.content-section a:hover {
    color: #1a4fd6;
}

/* Optional: sticky mini nav / anchor links if you add a sidebar later */
.content-section .legal-toc {
    background: #f7f9fc;
    border: 1px solid #eaeef5;
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 34px;
}

.content-section .legal-toc h6 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #8a94a6;
    margin-bottom: 12px;
    font-weight: 700;
}

.content-section .legal-toc ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    columns: 2;
}

.content-section .legal-toc ul li {
    margin-bottom: 8px;
}

.content-section .legal-toc a {
    text-decoration: none;
    color: #333;
    font-size: 14.5px;
}

.content-section .legal-toc a:hover {
    color: #2b6cff;
}

/* Responsive content section */
@media (max-width: 767px) {
    .content-section h2 {
        font-size: 19px;
        margin-top: 28px;
    }

    .content-section p,
    .content-section ul li,
    .content-section ol li {
        font-size: 14.5px;
    }

    .content-section .legal-toc ul {
        columns: 1;
    }
}

.btn-outline-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 2px solid #fff;
    background: transparent;
    color: #fff;
    font-weight: 600;
    border-radius: 50px;
    text-decoration: none;
    transition: all .3s ease;
}

.btn-outline-white:hover {
    background: #fff;
    color: var(--blue);
    border-color: #fff;
}

.aff-section-title {
    max-width: 640px;
    margin: 0 auto 44px;
    text-align: center;
    font-family: var(--font);
}

.aff-section-title h2 {
    font-size: 34px;
    color: var(--ink);
    margin: 0 0 12px;
    line-height: 1.2;
}

.aff-section-title h2 span{
    color: var(--red);
}

.aff-section-title p {
    color: var(--slate);
    line-height: 1.6;
    margin: 0;
}

.aff-section-title-light h2,
.aff-section-title-light p {
    color: #fff;
}

.aff-section-title-light .eyebrow {
    color: var(--yellow) !important; 
} 

.aff-section-title-light p {
    color: rgba(255, 255, 255, .75);
}

/* ===== OVERVIEW ===== */
.aff-overview {
    padding: 60px 0;
    background: var(--bg);
    font-family: var(--font);
}

.aff-overview-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 56px;
    align-items: center;
}

.aff-overview-visual {
    position: relative;
}

.aff-overview-frame {
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
}

.aff-overview-frame img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}

.aff-overview-badge {
    position: absolute;
    bottom: -24px;
    right: -24px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 240px;
}

.aff-overview-badge i {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.aff-overview-badge i svg {
    width: 22px;
    height: 22px;
}

.aff-overview-badge strong {
    display: block;
    font-size: 1rem;
    color: var(--ink);
}

.aff-overview-badge span {
    font-size: .78rem;
    color: var(--slate);
}

.aff-overview-copy h2 {
    font-size: 34px;
    color: var(--ink);
    margin: 0 0 14px;
    line-height: 1.25;
    font-weight: 800;
}

.aff-overview-copy h2 span{
    color: var(--red);
}

.aff-overview-copy p {
    color: var(--slate);
    line-height: 1.65;
    margin: 0 0 14px;
}

.aff-overview-list {
    list-style: none;
    padding: 0;
    margin: 18px 0 26px;
    display: grid;
    gap: 12px;
}

.section-title h2 span {
    color: var(--red);
}

.aff-overview-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--slate);
    font-size: .95rem;
}

.aff-overview-list i {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aff-overview-list i svg {
    width: 12px;
    height: 12px;
}

.aff-overview-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}


/* ===== WHY ===== */
.aff-why {
    padding: 60px 0;
    background: var(--bg-soft);
}

.aff-section-title {
    max-width: 760px;
    margin: 0 auto 60px;
    text-align: center;
}

.aff-section-title h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin: 18px 0;
}

.aff-section-title p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--slate);
    margin: 0;
}

.aff-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.aff-why-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 35px;
    transition: .35s;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.aff-why-card:first-child {
    grid-column: span 2;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(135deg, var(--blue), var(--blue-dark));
    color: #fff;
    border: none;
}

.aff-why-card:first-child h4,
.aff-why-card:first-child p {
    color: #fff;
}

.aff-why-card::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(26, 63, 209, .05);
    right: -90px;
    top: -90px;
    transition: .35s;
}

.aff-why-card:first-child::before {
    background: rgba(255, 255, 255, .08);
}

.aff-why-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow);
    border-color: var(--blue);
}

.aff-why-card:hover::before {
    transform: scale(1.2);
}

.aff-why-icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    position: relative;
    z-index: 2;
}

.aff-why-card:first-child .aff-why-icon {
    background: rgba(255, 255, 255, .15);
    color: #fff;
}

.aff-why-icon svg {
    width: 34px;
    height: 34px;
}

.aff-why-card h4 {
    font-size: 22px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 15px;
    position: relative;
    z-index: 2;
}

.aff-why-card p {
    margin: 0;
    color: var(--slate);
    font-size: 15px;
    line-height: 1.8;
    position: relative;
    z-index: 2;
}

@media(max-width:991px) {

    .aff-why {
        padding: 70px 0;
    }

    .aff-why-grid {
        grid-template-columns: 1fr;
    }

    .aff-why-card:first-child {
        grid-column: inherit;
        min-height: auto;
    }

    .aff-section-title h2 {
        font-size: 28px;
    }

    .aff-why-card {
        padding: 28px;
    }

}

/* ===== ELIGIBILITY / DURATION / FEES ===== */
.aff-eligibility {
    padding: 60px 0;
    background: var(--bg);
    font-family: var(--font);
}

.aff-eligibility-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    align-items: stretch;
}

.aff-elig-card {
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 32px 26px;
    transition: transform .2s ease;
}

.aff-elig-card:hover {
    transform: translateY(-4px);
}

.aff-elig-card.is-fees {
    background: var(--blue-tint);
}

.aff-elig-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.is-fees .aff-elig-icon {
    background: var(--red);
}

.aff-elig-icon svg {
    width: 24px;
    height: 24px;
}

.aff-elig-card h3 {
    font-size: 1.15rem;
    color: var(--ink);
    margin: 0 0 16px;
}

.aff-elig-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

.aff-elig-card li {
    font-size: .9rem;
    color: var(--slate);
    line-height: 1.5;
    padding-left: 22px;
    position: relative;
}

.aff-elig-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--blue);
}

.is-fees li::before {
    background: var(--red);
}

/* ===== HOW IT WORKS ===== */
.aff-how {
    padding: 60px 0;
    background: linear-gradient(135deg, var(--blue-dark), var(--blue));
    font-family: var(--font);
}

.aff-how-track {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.aff-how-step {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--radius-card);
    padding: 22px 18px;
}

.aff-how-num {
    display: block;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--yellow);
    margin-bottom: 8px;
}

.aff-how-step h4 {
    color: #fff;
    font-size: .95rem;
    margin: 0 0 8px;
}

.aff-how-step p {
    color: rgba(255, 255, 255, .75);
    font-size: .82rem;
    line-height: 1.5;
    margin: 0;
}

.aff-support-note {
    margin-top: 32px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--radius-card);
    padding: 22px 26px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.aff-support-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--yellow);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.aff-support-icon svg {
    width: 20px;
    height: 20px;
}

.aff-support-note p {
    color: rgba(255, 255, 255, .9);
    font-size: .92rem;
    line-height: 1.6;
    margin: 0;
}

.aff-support-note strong {
    color: #fff;
}

/* ===== APPLICATION PROCESS ===== */
.aff-apply {
    padding: 60px 0;
    background: var(--bg-soft);
    font-family: var(--font);
}

.aff-apply-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.aff-apply-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 30px 24px;
    text-align: center;
    position: relative;
    transition: all .2s ease;
}

.aff-apply-card:hover {
    box-shadow: var(--shadow);
    transform: translateY(-4px);
    border-color: var(--red);
}

.aff-apply-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    font-weight: 800;
    margin: 0 auto 16px;
    font-size: 1.05rem;
}

.aff-apply-card h4 {
    font-size: 1.02rem;
    color: var(--ink);
    margin: 0 0 8px;
}

.aff-apply-card p {
    color: var(--slate);
    font-size: .88rem;
    line-height: 1.5;
    margin: 0;
}

/* ===== FAQ ===== */
.aff-faq {
    padding: 60px 0;
    background: var(--bg);
    font-family: var(--font);
}

.aff-faq-wrap {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 50px;
}


.aff-faq-head p {
    margin-top: 10px;
    color: var(--slate);
}

.aff-faq-head h2 {
    color: var(--ink);
    margin: 0 0 4px;
    font-size: 34px;
    font-weight: 800;
}

.aff-faq-list {
    display: grid;
    gap: 14px;
}

.aff-faq-item {
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 18px 22px;
}

.aff-faq-item summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 1rem;
    list-style: none;
    position: relative;
    padding-right: 26px;
    color: var(--ink);
}

.aff-faq-item summary::-webkit-details-marker {
    display: none;
}

.aff-faq-item summary::after {
    content: '\002B';
    position: absolute;
    right: 0;
    top: 0;
    font-size: 1.3rem;
    color: var(--blue);
}

.aff-faq-item[open] summary::after {
    content: '\2212';
}

.aff-faq-item p {
    margin-top: 12px;
    font-size: .93rem;
    color: var(--slate);
    line-height: 1.6;
}

/* ===== CTA ===== */
.aff-cta-section {
    padding: 0 0 90px;
    font-family: var(--font);
}

.aff-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--blue-dark), var(--blue));
    border-radius: var(--radius-card);
    padding: 56px 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    box-shadow: var(--shadow);
}

.aff-cta-shape {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.aff-cta-shape-one {
    width: 220px;
    height: 220px;
    top: -90px;
    right: -60px;
}

.aff-cta-shape-two {
    width: 140px;
    height: 140px;
    bottom: -70px;
    left: 10%;
    background: rgba(255, 218, 26, .12);
}

.aff-cta-copy {
    position: relative;
    z-index: 1;
    max-width: 560px;
}

.aff-cta-copy span {
    display: inline-block;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--yellow);
    background: rgba(255, 255, 255, .12);
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    margin-bottom: 14px;
}

.aff-cta-copy h2 {
    color: #fff;
    font-size: clamp(1.5rem, 2.4vw, 2.1rem);
    margin: 0 0 10px;
    line-height: 1.25;
}

.aff-cta-copy p {
    color: rgba(255, 255, 255, .8);
    margin: 0;
    line-height: 1.6;
}

.aff-cta-btns {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.aff-cta-btns .theme-btn {
    background: #fff;
    color: var(--blue-dark);
}

.aff-cta-btns .theme-btn:hover {
    background: var(--yellow);
    color: var(--ink);
}

.aff-faq-head {
    position: sticky;
    top: 100px;
    /* Adjust based on your fixed header height */
    align-self: flex-start;
    text-align: left; 
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
    .aff-overview-grid {
        grid-template-columns: 1fr;
    }

    .aff-stats-grid,
    .aff-why-grid,
    .aff-eligibility-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aff-how-track {
        grid-template-columns: repeat(3, 1fr);
    }

    .aff-apply-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aff-faq-wrap {
        grid-template-columns: 1fr;
    }

    .aff-overview-badge {
        position: static;
        margin-top: -40px;
        margin-left: 20px;
        max-width: none;
        width: fit-content;
    }
}

@media (max-width: 600px) {

    .aff-stats-grid,
    .aff-why-grid,
    .aff-eligibility-grid,
    .aff-how-track,
    .aff-apply-grid {
        grid-template-columns: 1fr;
    }

    .aff-cta {
        padding: 40px 28px;
    }
}

.dba-section-title h2 {
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 10px;
}

.dba-section-title h2 span{
    color: var(--red);
}

.dba-section-title p {
    max-width: 800px;
    margin: 0 auto;
}

.dba-overview {
    padding: 60px 0;
    background: var(--bg);
}

.dba-title {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin: 20px 0;
    line-height: 1.25;
}

.dba-title span{
    color: var(--red);
}

.dba-desc {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.8;
    margin-bottom: 10px;
}

.dba-feature {
    display: flex;
    gap: 15px;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    transition: .35s;
    height: 100%;
}

.dba-feature:hover {
    transform: translateY(-6px);
    border-color: var(--blue);
    box-shadow: var(--shadow);
}

.dba-feature i {
    width: 54px;
    height: 54px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.dba-feature h5 {
    font-size: 16px;
    margin-bottom: 6px;
    color: var(--ink);
    font-weight: 700;
}

.dba-feature p {
    margin: 0;
    font-size: 14px;
    color: var(--slate);
}

.dba-image-wrap {
    position: relative;
    height: 500px;
}

.dba-image-wrap img {
    border-radius: 24px;
    width: 100%;
    box-shadow: var(--shadow);
    height: 100%;
    object-fit: cover;
}

.dba-floating-card {
    position: absolute;
    right: -50px;
    bottom: -40px;
    width: 320px;
    background: var(--red);
    backdrop-filter: blur(14px);
    /* border: 1px solid rgba(255,255,255,.4); */
    border-radius: 20px;
    padding: 28px;
    box-shadow: var(--shadow);
}

.dba-floating-card h4 {
    font-size: 22px;
    margin-bottom: 20px;
    color: var(--bg);
    font-weight: 700;
}

.program-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.program-item:last-child {
    border-bottom: none;
}

.program-item span {
    color: var(--bg);
    font-size: 14px;
}

.program-item strong {
    color: var(--yellow);
    font-size: 15px;
}

@media(max-width:991px) {

    .dba-overview {
        padding: 70px 0;
    }

    .dba-title {
        font-size: 28px;
    }

    .dba-floating-card {
        position: relative;
        width: 100%;
        right: auto;
        bottom: auto;
        margin-top: 20px;
    }
}

.dba-why {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dba-why-highlight {
    background: linear-gradient(135deg, var(--red), var(--red-dark));
    border-radius: 24px;
    padding: 45px;
    color: #fff;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.dba-why-highlight::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    background: rgba(255, 255, 255, .08);
    border-radius: 50%;
    right: -100px;
    top: -100px;
}

.why-tag {
    display: inline-block;
    padding: 8px 18px;
    background: rgba(255, 255, 255, .15);
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
}

.dba-why-highlight h3 {
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 18px;
    color: #fff;
}

.dba-why-highlight p {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .9);
}

.why-stat-wrap {
    display: flex;
    gap: 20px;
    margin-top: 35px;
}

.why-stat {
    flex: 1;
    text-align: center;
    padding: 18px;
    background: rgba(255, 255, 255, .08);
    border-radius: 16px;
}

.why-stat h4 {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 5px;
    color: var(--bg);
}

.why-stat span {
    font-size: 13px;
}

.why-list {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.why-item {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    transition: .35s;
}

.why-item:hover {
    border-color: var(--blue);
    box-shadow: var(--shadow);
    transform: translateX(8px);
}

.why-number {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
}

.why-item h4 {
    font-size: 20px;
    margin-bottom: 8px;
    color: var(--ink);
}

.why-item p {
    margin: 0;
    color: var(--slate);
    font-size: 15px;
    line-height: 1.8;
}

@media(max-width:991px) {

    .dba-why {
        padding: 70px 0;
    }

    .why-stat-wrap {
        flex-direction: column;
    }

    .why-item {
        padding: 22px;
    }

    .dba-why-highlight {
        padding: 30px;
    }
}

.dba-phases {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dba-roadmap {
    position: relative;
    margin-top: 40px;
}

.road-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 35px 25px;
    text-align: center;
    transition: .35s;
    height: 100%;
    z-index: 2;
}

.road-card:hover {
    transform: translateY(-8px);
    border-color: var(--blue);
    box-shadow: var(--shadow);
}

.road-number {
    width: 76px;
    height: 76px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 6px solid var(--bg-soft);
}

.road-card h4 {
    font-size: 21px;
    color: var(--ink);
    margin-bottom: 15px;
    font-weight: 700;
}

.road-card p {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.8;
    margin-bottom: 22px;
}

.road-time {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 50px;
    background: var(--blue-tint);
    color: var(--blue);
    font-weight: 700;
    font-size: 14px;
}

.dba-phase-note {
    margin-top: 50px;
    background: #fff;
    border-left: 5px solid var(--red);
    border-radius: 16px;
    padding: 22px 28px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: var(--shadow);
    border: 1px solid #ddd;
}

.dba-phase-note i {
    color: var(--red);
    font-size: 22px;
    margin-top: 2px;
}

.dba-phase-note p,
.dba-phase-note {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:991px) {

    .dba-phases {
        padding: 40px 0;
    }

    .road-line {
        display: none;
    }

    .road-card {
        margin-bottom: 20px;
    }
}

.dba-eligibility {
    padding: 60px 0;
    background: var(--bg);
    font-family: var(--font);
}

.dba-eligibility-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.dba-elig-card {
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 32px 26px;
    transition: transform .2s ease;
}

.dba-elig-card:hover {
    transform: translateY(-4px);
}

.dba-elig-card.is-fees {
    background: var(--red);
    border-color: var(--red);
}

.dba-elig-icon {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    background: var(--blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.is-fees .dba-elig-icon {
    background: var(--yellow);
    color: var(--ink);
}

.dba-elig-icon svg {
    width: 22px;
    height: 22px;
}

.dba-elig-card h3 {
    font-size: 1.1rem;
    color: var(--ink);
    margin: 0 0 16px;
}

.is-fees h3 {
    color: #fff;
}

.dba-elig-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

.dba-elig-card li {
    font-size: .9rem;
    color: var(--slate);
    line-height: 1.5;
    padding-left: 20px;
    position: relative;
}

.is-fees li {
    color: rgba(255, 255, 255, .82);
}

.dba-elig-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--blue);
}

.is-fees li::before {
    background: var(--yellow);
}

.phd-heading {
    font-family: var(--font);
    color: var(--ink);
    font-weight: 800;
}

.phd-sub {
    color: var(--slate);
    font-size: 16px;
    line-height: 1.7;
}

.phd-intro .heading span {
    color: var(--red);
}

.phd-journey .heading span,
.phd-features .heading span,
.phd-supervision .heading span,
.phd-fit .heading span{
    color: var(--red);
}

/* ===================================================
       SECTION 1 THE CASE FOR RESEARCH-LED STUDY
       Split layout: copy + stat rail, image on the right
    =================================================== */
.phd-intro {
    padding: 60px 0;
    background: var(--bg);
}

.phd-intro .row-flex {
    display: flex;
    align-items: center;
    gap: 50px;
}

.phd-intro .copy {
    flex: 1 1 60%;
}

.phd-intro .heading {
    font-size: 34px;
    margin-bottom: 20px;
}

.phd-intro .stat-rail {
    display: flex;
    gap: 0;
    margin-top: 40px;
    border-top: 1px solid var(--line);
    padding-top: 28px;
}

.phd-intro .stat {
    flex: 1;
    padding-left: 24px;
    border-right: 1px solid var(--line);
}

.phd-intro .stat:last-child {
    border-right: none;
    padding-right: 0;
}

.phd-intro .stat .num {
    font-size: 32px;
    font-weight: 800;
    color: var(--red);
    font-family: var(--font);
    display: block;
}

.phd-intro .stat .label {
    font-size: 13px;
    color: var(--slate);
    margin-top: 4px;
    display: block;
}

.phd-intro .media {
    flex: 1 1 50%;
    position: relative;
}

.phd-intro .media img {
    width: 100%;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow);
    display: block;
}

.phd-intro .media-tag {
    position: absolute;
    bottom: -22px;
    left: -22px;
    background: var(--ink);
    color: #fff;
    padding: 16px 20px;
    border-radius: var(--radius-card);
    max-width: 230px;
    box-shadow: var(--shadow);
}

.phd-intro .media-tag i {
    color: var(--yellow);
    margin-right: 8px;
}

.phd-intro .media-tag span {
    font-size: 13px;
    line-height: 1.5;
    display: block;
}

@media (max-width: 991px) {
    .phd-intro .row-flex {
        flex-direction: column;
    }

    .phd-intro .media {
        order: -1;
        margin-bottom: 20px;
    }

    .phd-intro .media-tag {
        position: static;
        margin-top: -30px;
        margin-left: 20px;
    }

    .phd-intro .stat-rail {
        flex-wrap: wrap;
        row-gap: 20px;
    }

    .phd-intro .stat {
        flex: 1 1 50%;
        border-right: none;
    }
}

/* ===================================================
       SECTION 2 YOUR DOCTORAL JOURNEY
       Vertical connected timeline (genuine sequence)
    =================================================== */
.phd-journey {
    padding: 60px 0;
    background: var(--bg-soft);
}

.phd-journey .head {
    max-width: 620px;
    margin: 0 auto 64px;
    text-align: center;
}

.phd-journey .heading {
    font-size: 34px;
    margin-bottom: 14px;
}

.phd-timeline {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
}

.phd-timeline::before {
    content: '';
    position: absolute;
    left: 29px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: var(--line);
}

.phd-step {
    position: relative;
    display: flex;
    gap: 28px;
    padding-bottom: 44px;
}

.phd-step:last-child {
    padding-bottom: 0;
}

.phd-step .node {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--bg);
    border: 2px solid var(--blue);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 18px;
    font-family: var(--font);
    position: relative;
    z-index: 1;
}

.phd-step:nth-child(odd) .node {
    background: var(--blue);
    color: #fff;
}

.phd-step .body {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 22px 26px;
    flex: 1;
}

.phd-step .body h3 {
    font-family: var(--font);
    font-size: 18px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 6px;
}

.phd-step .body p {
    color: var(--slate);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 0;
}

.phd-step .tag {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
    color: var(--red-dark);
    background: rgba(230, 57, 80, 0.08);
    padding: 3px 10px;
    border-radius: var(--radius-pill);
}

/* ===================================================
       SECTION 3 BUILT AROUND YOUR LIFE
       Asymmetric feature grid (1 large + 3 small cards)
    =================================================== */
.phd-features {
    padding: 60px 0;
    background: var(--bg);
}

.phd-features .head {
    /* display: flex; */
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    flex-wrap: wrap;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

.phd-features .heading {
    font-size: 34px;
    margin-bottom: 0;
}

.phd-features .head p {
    margin-bottom: 0;
}

.phd-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 24px;
}

.phd-card {
    border-radius: var(--radius-card);
    padding: 32px;
    position: relative;
    overflow: hidden;
}

.phd-card.lg {
    grid-row: 1 / 3;
    background: var(--red);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 420px;
}

.phd-card.lg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 20%, var(--blue), var(--dark-blue));
}

.phd-card.lg .icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--yellow);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
    position: relative;
}

.phd-card.lg h3 {
    font-family: var(--font);
    color: var(--bg);
    font-size: 24px;
    font-weight: 800;
    position: relative;
    margin-bottom: 10px;
}

.phd-card.lg p {
    color: rgba(255, 255, 255, .75);
    font-size: 15px;
    line-height: 1.7;
    position: relative;
    margin-bottom: 0;
}

.phd-card.sm {
    background: var(--bg-soft);
    border: 1px solid var(--line);
}

.phd-card.sm .icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #c4d0ff;
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    margin-bottom: 16px;
}

.phd-card.sm h3 {
    font-family: var(--font);
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
}

.phd-card.sm p {
    color: var(--slate);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .phd-grid {
        grid-template-columns: 1fr;
    }

    .phd-card.lg {
        grid-row: auto;
        min-height: 320px;
    }
}

/* ===================================================
       SECTION 4 EXPERT SUPERVISION, WHEREVER YOU ARE
       Alternating text/media rows
    =================================================== */
.phd-supervision {
    padding: 60px 0;
    background: var(--bg-soft);
}

.phd-supervision .head {
    max-width: 620px;
    margin: 0 auto 64px;
    text-align: center;
}

.phd-supervision .heading {
    font-size: 34px;
    margin-bottom: 14px;
}

.phd-sup-row {
    display: flex;
    align-items: center;
    gap: 56px;
    margin-bottom: 64px;
}

.phd-sup-row:last-child {
    margin-bottom: 0;
}

.phd-sup-row.reverse {
    flex-direction: row-reverse;
}

.phd-sup-row .media {
    flex: 0 0 42%;
}

.phd-sup-row .media img {
    width: 100%;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow);
    display: block;
}

.phd-sup-row .copy {
    flex: 1;
}

.phd-sup-row .index {
    font-size: 13px;
    font-weight: 700;
    color: var(--red-dark);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}

.phd-sup-row h3 {
    font-family: var(--font);
    font-size: 24px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 12px;
}

.phd-sup-row p {
    color: var(--slate);
    font-size: 15.5px;
    line-height: 1.7;
    margin-bottom: 16px;
}

.phd-sup-row ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.phd-sup-row ul li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14.5px;
    color: var(--ink);
    margin-bottom: 8px;
}

.phd-sup-row ul li i {
    color: var(--blue);
    margin-top: 4px;
    font-size: 12px;
}

@media (max-width: 991px) {

    .phd-sup-row,
    .phd-sup-row.reverse {
        flex-direction: column;
    }

    .phd-sup-row .media {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* ===================================================
       SECTION 5 IS AN ONLINE PhD RIGHT FOR YOU?
       Two-panel fit checklist with contrast blocks
    =================================================== */
.phd-fit {
    padding: 60px 0;
    background: var(--bg);
}

.phd-fit .head {
    max-width: 620px;
    margin: 0 auto 56px;
    text-align: center;
}

.phd-fit .heading {
    font-size: 34px;
    margin-bottom: 14px;
}

.phd-fit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    max-width: 980px;
    margin: 0 auto;
}

.phd-fit-panel {
    border-radius: var(--radius-card);
    padding: 36px;
}

.phd-fit-panel.yes {
    background: var(--blue-tint);
    border: 1px solid rgba(26, 63, 209, 0.15);
}

.phd-fit-panel.check {
    background: var(--bg);
    border: 1px solid var(--line);
}

.phd-fit-panel .panel-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    margin-bottom: 20px;
}

.phd-fit-panel.yes .panel-tag {
    background: var(--blue);
    color: #fff;
}

.phd-fit-panel.check .panel-tag {
    background: var(--ink);
    color: #fff;
}

.phd-fit-panel h3 {
    font-family: var(--font);
    font-size: 20px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 20px;
}

.phd-fit-panel ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.phd-fit-panel ul li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    color: var(--slate);
    padding: 12px 0;
    border-bottom: 1px dashed var(--line);
}

.phd-fit-panel ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.phd-fit-panel.yes ul li i {
    color: var(--blue);
    margin-top: 3px;
}

.phd-fit-panel.check ul li i {
    color: var(--red);
    margin-top: 3px;
}

@media (max-width: 767px) {
    .phd-fit-grid {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
       SECTION 1 THE PRACTICAL DBA (editorial split + stat rail)
    ===================================================== */
.dba-intro {
    padding: 60px 0;
    background: var(--bg);
}

.dba-intro .container {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 64px;
    align-items: start;
}

.dba-intro h2 {
    font-family: var(--font);
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 22px;
}

.dba-intro h2 em {
    font-style: normal;
    color: var(--red);
}

.dba-intro p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--slate);
}

.dba-intro p+p {
    margin-top: 14px;
}

.dba-stat-rail {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-left: 1px solid var(--line);
    padding-left: 40px;
}

.dba-stat {
    padding: 22px 0;
    border-bottom: 1px solid var(--line);
}

.dba-stat:first-child {
    padding-top: 0;
}

.dba-stat:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.dba-stat-num {
    font-size: 30px;
    font-weight: 800;
    color: var(--red);
    line-height: 1;
    letter-spacing: -0.02em;
}

.dba-stat-label {
    margin-top: 8px;
    font-size: 14.5px;
    color: var(--slate);
    line-height: 1.5;
}

@media (max-width: 900px) {
    .dba-intro .container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .dba-stat-rail {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid var(--line);
        padding-top: 24px;
    }
}

/* =====================================================
       SECTION 2 PROGRAM PATH (real sequence: stepper timeline)
    ===================================================== */
.dba-path {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dba-path-head {
    max-width: 640px;
    margin: 0 auto 64px;
    text-align: center;
}

.dba-path-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-top: 12px;
    letter-spacing: -0.01em;
}

.dba-path-head h2 span{
    color: var(--red);
}

.dba-path-head p {
    margin-top: 14px;
    color: var(--slate);
    font-size: 16px;
    line-height: 1.7;
}

.dba-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.dba-steps::before {
    content: "";
    position: absolute;
    top: 26px;
    left: 5%;
    right: 5%;
    height: 2px;
    background: var(--line);
    z-index: 0;
}

.dba-step {
    position: relative;
    z-index: 1;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 26px 18px 22px;
    text-align: left;
}

.dba-step-num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-weight: 800;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.dba-step:nth-child(5) .dba-step-num {
    background: var(--red);
}

.dba-step h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
    line-height: 1.3;
}

.dba-step p {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.6;
}

@media (max-width: 992px) {
    .dba-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .dba-steps::before {
        display: none;
    }
}

@media (max-width: 560px) {
    .dba-steps {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
       SECTION 3 TUITION, COMPARED (signature: cost bar comparison)
    ===================================================== */
.dba-investment {
    padding: 60px 0;
    background: var(--bg);
}

.dba-investment-head {
    max-width: 760px;
    margin: 0 auto 70px;
}

.dba-investment-head h2 {
    font-size: 46px;
    color: var(--ink);
    margin: 20px 0;
}

.dba-investment-head p {
    color: var(--slate);
    line-height: 1.8;
}

.dba-investment-wrap {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 40px;
    align-items: center;
}

.investment-content {
    display: grid;
    gap: 24px;
}

.investment-box {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--line);
    transition: .35s;
}

.investment-box:hover {
    border-color: var(--blue);
    box-shadow: var(--shadow);
}

.investment-box i {
    width: 65px;
    height: 65px;
    border-radius: 16px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.investment-box h4 {
    margin-bottom: 10px;
    color: var(--ink);
    font-size: 18px;
}

.investment-box p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
}

.investment-card {
    background: linear-gradient(135deg, var(--red), var(--red-dark));
    color: #fff;
    padding: 45px;
    border-radius: 20px;
    box-shadow: var(--shadow);
}

.investment-badge {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 50px;
    background: rgba(255, 255, 255, .15);
    margin-bottom: 20px;
    font-weight: 600;
}

.investment-card h3 {
    color: #fff;
    font-size: 25px;
    margin-bottom: 18px;
}

.investment-card>p {
    color: rgba(255, 255, 255, .9);
    line-height: 1.8;
    margin-bottom: 30px;
}

.investment-list {
    margin-bottom: 35px;
}

.investment-list div {
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
    align-items: flex-start;
}

.investment-list span {
    color: var(--yellow);
    font-weight: 700;
}

.investment-list p {
    margin: 0;
    color: #fff;
}

@media(max-width:991px) {

    .dba-investment-wrap {
        grid-template-columns: 1fr;
    }

    .dba-investment-head h2 {
        font-size: 34px;
    }

    .investment-card {
        padding: 35px;
    }

}

/* =====================================================
       SECTION 4 BUILT FOR (audience card grid)
    ===================================================== */
.dba-audience {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dba-audience-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 52px;
    flex-wrap: wrap;
}

.dba-audience-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-top: 12px;
    letter-spacing: -0.01em;
    max-width: 520px;
}

.dba-audience-head h2 span{
    color: var(--red);
}

.dba-audience-head p {
    max-width: 360px;
    color: var(--slate);
    font-size: 15px;
    line-height: 1.7;
}

.dba-audience-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.dba-audience-card {
    background: var(--bg);
    border-radius: var(--radius-card);
    padding: 32px 24px;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.dba-audience-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.dba-audience-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    margin-bottom: 20px;
}

.dba-audience-card:hover .dba-audience-icon {
    background: var(--blue);
    color: #fff;
}

.dba-audience-card h3 {
    font-size: 16.5px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 10px;
}

.dba-audience-card p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.65;
}

@media (max-width: 992px) {
    .dba-audience-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .dba-audience-grid {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
       SECTION 5 OUTCOMES (stat band + pull quote)
    ===================================================== */
.dba-outcomes {
    background: var(--blue);
    background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
    /* padding: 90px 0 0; */
    color: #fff;
    overflow: hidden;
}

.dba-outcomes-band {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.dba-outcomes-band>div {
    padding: 40px 20px;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.dba-outcomes-band>div:last-child {
    border-right: none;
}

.dba-outcomes-band .num {
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.dba-outcomes-band .lbl {
    margin-top: 6px;
    font-size: 13px;
    color: #D9E0FF;
    line-height: 1.5;
}

.dba-quote {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
    padding: 64px 24px 50px;
}

.dba-quote i {
    color: var(--yellow);
    font-size: 24px;
}

.dba-quote p {
    font-size: clamp(19px, 2.4vw, 25px);
    line-height: 1.55;
    font-weight: 500;
    margin: 18px 0 20px;
}

.dba-quote-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--yellow);
}

.dba-quote-role {
    font-size: 13px;
    color: #C9D3FF;
    margin-top: 2px;
}

@media (max-width: 900px) {
    .dba-outcomes-band {
        grid-template-columns: repeat(2, 1fr);
    }

    .dba-outcomes-band>div:nth-child(2) {
        border-right: none;
    }
}

@media (max-width: 560px) {
    .dba-outcomes-band {
        grid-template-columns: 1fr;
    }

    .dba-outcomes-band>div {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    }

    .dba-outcomes-band>div:last-child {
        border-bottom: none;
    }
}

/*==============================
PhD Research Publication Highlight
==============================*/

.prp-highlight {
    padding: 60px 0;
    background: linear-gradient(180deg, #fff 0%, var(--bg-soft) 100%);
    overflow: hidden;
    position: relative;
}

.prp-highlight-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.35fr .85fr;
    gap: 50px;
    align-items: center;
}

.prp-content h2 {
    font-size: 34px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 24px;
}

.prp-content h2 span {
    color: var(--red);
}

.prp-intro {
    color: var(--slate);
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 35px;
}

.prp-feature-list {
    display: grid;
    gap: 18px;
}

.prp-feature {
    display: flex;
    gap: 18px;
    background: #fff;
    padding: 22px;
    border-radius: var(--radius-card);
    border: 1px solid var(--line);
    transition: .35s;
}

.prp-feature:hover {
    box-shadow: var(--shadow);
    border-color: var(--blue);
}

.prp-feature i {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 20px;
    flex-shrink: 0;
}

.prp-feature h6 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ink);
}

.prp-feature p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
}

.prp-side {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.prp-card-main {
    background: #fff;
    border-radius: 18px;
    padding: 34px;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.prp-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.prp-card-head i {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--red);
    color: #fff;
    font-size: 24px;
}

.prp-card-head h5 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
}

.prp-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.prp-stat {
    padding: 22px;
    background: var(--bg-soft);
    border-radius: 12px;
    text-align: center;
}

.prp-stat strong {
    display: block;
    font-size: 30px;
    color: var(--blue);
    font-weight: 800;
    margin-bottom: 6px;
}

.prp-stat span {
    display: block;
    color: var(--slate);
    font-size: 14px;
    line-height: 1.6;
}

.prp-note {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: #fff;
    border-left: 5px solid var(--red);
    padding: 22px 24px;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
}

.prp-note i {
    color: var(--red);
    font-size: 22px;
    margin-top: 3px;
}

.prp-note p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:991px) {

    .prp-highlight {
        padding: 50px 0;
    }

    .prp-highlight-grid {
        grid-template-columns: 1fr;
    }

    .prp-content h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .prp-content h2 {
        font-size: 28px;
    }

    .prp-stats {
        grid-template-columns: 1fr;
    }

    .prp-feature {
        flex-direction: column;
    }

}

/*=========================
Pathway Comparison
=========================*/

.prp-pathways {
    padding: 60px 0;
    background: #fff;
}

.prp-section-title {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 60px;
}

.prp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: var(--radius-pill);
    font-weight: 700;
    margin-bottom: 18px;
}

.prp-section-title h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.prp-section-title p {
    color: var(--slate);
    line-height: 1.8;
    font-size: 15px;
}

.prp-path-grid {
    display: grid;
    grid-template-columns: 1fr 90px 1fr;
    gap: 30px;
    align-items: center;
}

.prp-route-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 35px;
    transition: .35s;
    height: 100%;
}

.prp-route-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.prp-route-card.active {
    border: 2px solid var(--blue);
    box-shadow: 0 18px 45px rgba(26, 63, 209, .12);
}

.prp-route-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 30px;
}

.prp-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.prp-icon.blue {
    background: var(--blue-tint);
    color: var(--blue);
}

.prp-icon.red {
    background: #FDECEF;
    color: var(--red);
}

.prp-route-head h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
}

.prp-route-head span {
    color: var(--slate);
}

.prp-route-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.prp-route-list li {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}

.prp-route-list li:last-child {
    border: none;
    padding-bottom: 0;
}

.prp-route-list i {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--bg-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--blue);
    flex-shrink: 0;
}

.prp-route-list h6 {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
}

.prp-route-list p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
}

.prp-vs {
    display: flex;
    justify-content: center;
    align-items: center;
}

.prp-vs span {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue), var(--red));
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow);
}

@media(max-width:991px) {

    .prp-path-grid {
        grid-template-columns: 1fr;
    }

    .prp-vs {
        margin: 10px 0;
    }

    .prp-section-title h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .prp-pathways {
        padding: 70px 0;
    }

    .prp-section-title h2 {
        font-size: 28px;
    }

    .prp-route-card {
        padding: 25px;
    }

    .prp-route-head {
        flex-direction: column;
        text-align: center;
    }

}

/*==================================
Publication Portfolio
==================================*/

.prp-portfolio {
    padding: 60px 0;
    background: var(--bg-soft);
}

.prp-portfolio-head {
    max-width: 850px;
    margin: 0 auto 60px;
    text-align: center;
}

.prp-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: #fff;
    color: var(--blue);
    border: 1px solid var(--line);
    border-radius: var(--radius-pill);
    font-weight: 700;
    margin-bottom: 20px;
}

.prp-badge i {
    color: var(--red);
}

.prp-portfolio-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.prp-portfolio-head p {
    color: var(--slate);
    font-size: 15px;
    line-height: 1.9;
}

.prp-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.prp-item {
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--line);
    padding: 30px;
    display: flex;
    gap: 22px;
    transition: .35s;
    position: relative;
    overflow: hidden;
}

.prp-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: var(--blue);
    transition: .35s;
}

.prp-item:hover {
    /* transform: translateY(-8px); */
    box-shadow: var(--shadow);
}

.prp-item:hover::before {
    background: var(--red);
}

.prp-item-icon {
    width: 70px;
    height: 70px;
    min-width: 70px;
    border-radius: 18px;
    background: var(--blue-tint);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: var(--blue);
}

.prp-item-content span {
    display: inline-block;
    font-size: 14px;
    font-weight: 800;
    color: var(--red);
    margin-bottom: 8px;
}

.prp-item-content h4 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 12px;
}

.prp-item-content p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:991px) {

    .prp-portfolio {
        padding: 70px 0;
    }

    .prp-portfolio-grid {
        grid-template-columns: 1fr;
    }

    .prp-portfolio-head h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .prp-portfolio-head h2 {
        font-size: 28px;
    }

    .prp-item {
        flex-direction: column;
        text-align: center;
    }

    .prp-item-icon {
        margin: auto;
    }

}

/* Assessment pathway horizontal steps */
.rp-pathway {
    padding: 80px 0;
    background: var(--blue-dark);
}

.rp-pathway .head {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 52px;
}

.rp-pathway h2 {
    font-size: 34px;
    color: #fff;
    margin-bottom: 12px;
}

.rp-pathway p.sub {
    color: rgba(255, 255, 255, 0.7);
}

.rp-path-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    position: relative;
}

.rp-path-grid::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 12%;
    right: 12%;
    height: 2px;
    background: rgba(255, 255, 255, 0.15);
}

.rp-path-step {
    position: relative;
    text-align: center;
    padding: 0 14px;
}

.rp-path-dot {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--blue-dark);
    border: 2px solid var(--yellow);
    color: var(--yellow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin: 0 auto 18px;
    position: relative;
    z-index: 1;
}

.rp-path-step h4 {
    color: #fff;
    font-size: 15.5px;
    margin-bottom: 8px;
}

.rp-path-step p {
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    line-height: 1.6;
}



@media (max-width: 900px) {

    .rp-band-top,
    .rp-portfolio .container {
        grid-template-columns: 1fr;
    }

    .rp-fact-strip,
    .rp-path-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .rp-fact {
        border-right: none;
        padding: 0;
    }

    table.rp-table {
        font-size: 13px;
    }

    .rp-path-grid::before {
        display: none;
    }
}

.prp-section-title span,
.prp-portfolio-head span {
    color: var(--red);
}


.rpl-showcase {
    padding: 60px 0;
    background: var(--bg);
}

.rpl-showcase-grid {
    display: grid;
    grid-template-columns: 46% 54%;
    gap: 70px;
    align-items: start;
    /* Important */
}

.rpl-showcase-image {
    position: sticky;
    top: 100px;
    align-self: start;
    /* Instead of align-items */
}

.rpl-showcase-image img {
    display: block;
    width: 100%;
    border-radius: 22px;
}

.rpl-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: var(--radius-pill);
    font-weight: 700;
    margin-bottom: 22px;
}

.rpl-tag i {
    color: var(--red);
}

.rpl-showcase-content h2 {
    font-size: 34px;
    line-height: 1.2;
    color: var(--ink);
    font-weight: 800;
    margin-bottom: 22px;
}

.rpl-showcase-content h2 span {
    color: var(--red);
}

.rpl-desc {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.9;
    margin-bottom: 35px;
}

.rpl-feature-list {
    display: grid;
    gap: 18px;
}

.rpl-feature {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: #fff;
    padding: 22px;
    border-radius: 16px;
    border: 1px solid var(--line);
    transition: .35s;
}

.rpl-feature:hover {
    transform: translateX(8px);
    box-shadow: var(--shadow);
    border-color: var(--blue);
}

.rpl-feature i {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 16px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.rpl-feature h5 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 800;
    color: var(--ink);
}

.rpl-feature p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
}

@media(max-width:991px) {

    .rpl-showcase {
        padding: 70px 0;
    }

    .rpl-showcase-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .rpl-showcase-content h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .rpl-showcase-content h2 {
        font-size: 28px;
    }

    .rpl-feature {
        flex-direction: column;
    }

}

/* Persona cards */
/*=========================
RPL Candidate Section
=========================*/

.rpl-fit {
    padding: 60px 0;
    background: var(--bg-soft);
}

.rpl-fit-head {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 60px;
}

.rpl-fit-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 50px;
    background: var(--blue-tint);
    color: var(--blue);
    font-weight: 700;
    margin-bottom: 18px;
}

.rpl-fit-tag i {
    color: var(--red);
}

.rpl-fit-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.rpl-fit-head p {
    color: var(--slate);
    line-height: 1.8;
    font-size: 15px;
}

.rpl-fit-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.rpl-fit-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 35px 30px;
    transition: .35s;
    overflow: hidden;
}

.rpl-fit-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 5px;
    background: var(--blue);
}

.rpl-fit-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow);
}

.rpl-fit-card.active {
    border-color: var(--blue);
    box-shadow: 0 18px 40px rgba(26, 63, 209, .12);
}

.rpl-fit-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 25px;
}

.rpl-fit-no {
    position: absolute;
    right: 25px;
    top: 25px;
    font-size: 42px;
    font-weight: 800;
    color: rgba(26, 63, 209, .08);
}

.rpl-fit-card h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 15px;
}

.rpl-fit-card p {
    color: var(--slate);
    line-height: 1.8;
    margin-bottom: 25px;
}

.rpl-fit-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rpl-fit-card ul li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    color: var(--ink);
    font-weight: 500;
}

.rpl-fit-card ul li::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--red);
    flex-shrink: 0;
}

@media(max-width:991px) {

    .rpl-fit {
        padding: 70px 0;
    }

    .rpl-fit-wrapper {
        grid-template-columns: 1fr;
    }

    .rpl-fit-head h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .rpl-fit-head h2 {
        font-size: 28px;
    }

    .rpl-fit-card {
        padding: 30px 25px;
    }

    .rpl-fit-no {
        font-size: 34px;
    }

}

.rpl-fit-head span {
    color: var(--red);
}

/* Horizontal stepper */
.rpl-stepper {
    padding: 60px 0;
    background: var(--bg);
}

.rpl-stepper .head {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 52px;
}

.rpl-stepper .head h2 span {
    color: var(--red);
}

.rpl-stepper h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 12px;
}

.rpl-stepper p {
    color: var(--slate);
}

.rpl-step-row {
    display: flex;
    align-items: flex-start;
}

.rpl-step-col {
    flex: 1;
    text-align: center;
    position: relative;
    padding: 0 10px;
}

.rpl-step-connector {
    flex: 0 0 auto;
    width: 40px;
    height: 2px;
    background: var(--line);
    margin-top: 26px;
}

.rpl-step-badge {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-card);
    background: #fff;
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-weight: 700;
    color: var(--blue);
    font-size: 15px;
    box-shadow: var(--shadow);
}

.rpl-step-col h4 {
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 6px;
}

.rpl-step-col p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.55;
}

/* Credit mapping table */
/*=========================
RPL Credit Mapping
=========================*/

.rpl-credit-map {
    padding: 60px 0;
    background: var(--bg-soft);
}

.rpl-credit-head {
    max-width: 820px;
    text-align: center;
    margin: 0 auto 60px;
}

.rpl-credit-head h2 span {
    color: var(--red);
}

.rpl-credit-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.rpl-credit-head p {
    color: var(--slate);
    line-height: 1.8;
}

.rpl-credit-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.rpl-credit-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px;
    transition: .35s;
}

.rpl-credit-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow);
}

.credit-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.credit-icon {
    width: 68px;
    height: 68px;
    border-radius: 18px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.credit-level {
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
}

.credit-level.high {
    background: #e8f7ed;
    color: #1c8f45;
}

.credit-level.medium {
    background: #fff7e6;
    color: #b77700;
}

.credit-level.low {
    background: #fdecef;
    color: var(--red);
}

.rpl-credit-card h4 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--ink);
}

.rpl-credit-card p {
    color: var(--slate);
    line-height: 1.8;
    /* margin-bottom:25px; */
}


@media(max-width:991px) {


    .rpl-credit-grid {
        grid-template-columns: 1fr;
    }

    .rpl-credit-head h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .rpl-credit-head h2 {
        font-size: 28px;
    }

    .credit-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

}

/* FAQ list */
.rpl-faq {
    padding: 60px 0;
    background: var(--bg);
}

.rpl-faq .head {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 44px;
}

.rpl-faq h2 {
    font-size: 30px;
    color: var(--ink);
    margin-bottom: 12px;
}

.rpl-faq p {
    color: var(--slate);
}


@media (max-width: 900px) {
    .rpl-persona-grid {
        grid-template-columns: 1fr;
    }

    .rpl-step-row {
        flex-direction: column;
        align-items: stretch;
    }

    .rpl-step-connector {
        display: none;
    }

    .rpl-step-col {
        margin-bottom: 24px;
    }

    .rpl-map-row {
        grid-template-columns: 1fr;
    }

    .rpl-map-row div:last-child {
        justify-content: flex-start;
    }

    .rpl-faq-grid {
        grid-template-columns: 1fr;
    }
}

.hd-recognition {
    padding: 60px 0;
    background: linear-gradient(180deg, #fff, var(--bg-soft));
}

.hd-recognition-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 60px;
    align-items: center;
}

.hd-content h2 {
    font-size: 34px;
    line-height: 1.2;
    color: var(--ink);
    font-weight: 800;
    margin-bottom: 20px;
}

.hd-content h2 span {
    color: var(--red);
}

.hd-intro-text {
    color: var(--slate);
    line-height: 1.9;
    font-size: 15px;
    margin-bottom: 30px;
}

.hd-content blockquote {
    margin: 0 0 35px;
    padding: 28px;
    background: #fff;
    border-left: 5px solid var(--red);
    border-radius: 14px;
    font-size: 18px;
    font-style: italic;
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .05);
}

.hd-feature-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.hd-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
}

.hd-feature i {
    color: var(--red);
    font-size: 18px;
}

.hd-feature span {
    font-weight: 600;
    color: var(--ink);
}

.hd-info-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 30px;
    box-shadow: var(--shadow);
}

.hd-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

.hd-card-header i {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--red);
    color: #fff;
    font-size: 24px;
}

.hd-card-header h4 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
}

.hd-info-item {
    display: flex;
    justify-content: space-between;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}

.hd-info-item:last-of-type {
    border-bottom: none;
}

.hd-info-item span {
    color: var(--slate);
}

.hd-info-item strong {
    color: var(--blue);
    font-weight: 700;
}

.hd-note {
    margin-top: 25px;
    padding: 20px;
    background: var(--blue-tint);
    border-radius: 12px;
    color: var(--slate);
    line-height: 1.7;
}

.hd-note i {
    color: var(--red);
    margin-right: 8px;
}

@media(max-width:991px) {

    .hd-recognition {
        padding: 70px 0;
    }

    .hd-recognition-grid {
        grid-template-columns: 1fr;
    }

    .hd-content h2 {
        font-size: 34px;
    }

    .hd-feature-list {
        grid-template-columns: 1fr;
    }

}

@media(max-width:576px) {

    .hd-content h2 {
        font-size: 28px;
    }

    .hd-content blockquote {
        font-size: 18px;
    }

    .hd-info-card {
        padding: 25px;
    }

}

/*==========================
Honorary Doctorate Criteria
==========================*/

.hd-impact {
    padding: 60px 0;
    background: var(--bg);
}

.hd-impact-head {
    max-width: 760px;
    margin: 0 auto 60px;
    text-align: center;
}

.hd-impact-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: var(--radius-pill);
    font-weight: 700;
    margin-bottom: 18px;
}

.hd-impact-badge i {
    color: var(--red);
}

.hd-impact-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.hd-impact-head h2 span {
    color: var(--red);
}

.hd-impact-head p {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.8;
}

.hd-impact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.hd-impact-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 35px 25px;
    text-align: center;
    transition: .35s;
    overflow: hidden;
}

.hd-impact-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: var(--blue);
    transition: .35s;
}

.hd-impact-card:hover {
    box-shadow: var(--shadow);
}

.hd-impact-card:hover::before {
    background: var(--red);
}

.hd-impact-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 20px;
    border-radius: 20px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}

.hd-impact-no {
    position: absolute;
    top: 18px;
    right: 20px;
    font-size: 38px;
    font-weight: 800;
    color: rgba(26, 63, 209, .08);
    line-height: 1;
}

.hd-impact-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 15px;
}

.hd-impact-card p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:1200px) {

    .hd-impact-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media(max-width:767px) {

    .hd-impact {
        padding: 70px 0;
    }

    .hd-impact-head h2 {
        font-size: 30px;
    }

    .hd-impact-grid {
        grid-template-columns: 1fr;
    }

}

/*===================================
Honorary Process
===================================*/

.hd-process-modern {
    padding: 60px 0;
    background: var(--bg-soft);
}

.hd-process-head {
    max-width: 820px;
    margin: 0 auto 70px;
}

.hd-process-head h2 span {
    color: var(--red);
}

.hd-process-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.hd-process-head p {
    color: var(--slate);
    line-height: 1.8;
}

.hd-process-wrapper {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 60px;
    align-items: start;
}

.hd-process-info {
    position: sticky;
    top: 100px;
}

.hd-process-note {
    position: sticky;
    top: 100px;
    background: #fff;
    border-radius: 20px;
    padding: 35px;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.hd-process-note i {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 28px;
    margin-bottom: 20px;
}

.hd-process-note h4 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 15px;
}

.hd-process-note p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

.hd-process-steps {
    position: relative;
}

.hd-process-steps::before {
    content: "";
    position: absolute;
    left: 35px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--line);
}

.hd-step {
    position: relative;
    display: flex;
    gap: 25px;
    margin-bottom: 20px;
}

.hd-step:last-child {
    margin-bottom: 0;
}

.hd-step-no {
    width: 70px;
    height: 70px;
    min-width: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue), var(--red));
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    box-shadow: 0 10px 25px rgba(26, 63, 209, .25);
}

.hd-step-content {
    flex: 1;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 28px;
    transition: .35s;
}

.hd-step-content:hover {
    transform: translateX(8px);
    box-shadow: var(--shadow);
    border-color: var(--blue);
}

.hd-step-content h4 {
    font-size: 20px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 6px;
}

.hd-step-content p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:991px) {

    .hd-process-modern {
        padding: 50px 0;
    }

    .hd-process-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hd-process-note {
        position: relative;
        top: auto;
    }

    .hd-process-head h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .hd-process-head h2 {
        font-size: 28px;
    }

    .hd-step {
        gap: 15px;
    }

    .hd-step-no {
        width: 55px;
        height: 55px;
        min-width: 55px;
        font-size: 18px;
    }

    .hd-process-steps::before {
        left: 27px;
    }

    .hd-step-content {
        padding: 20px;
    }

}

/*==============================
Honorary Doctorate Candidates
===============================*/

.hd-candidates {
    padding: 60px 0;
    background: var(--bg);
}

.hd-candidates-head {
    max-width: 820px;
    margin: 0 auto 60px;
}

.hd-candidate-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: var(--radius-pill);
    font-weight: 700;
    margin-bottom: 20px;
}

.hd-candidate-badge i {
    color: var(--red);
}

.hd-candidates-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
}

.hd-candidates-head h2 span {
    color: var(--red);
}

.hd-candidates-head p {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.8;
}

.hd-candidate-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.hd-candidate-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 35px 30px;
    /* text-align:center; */
    position: relative;
    overflow: hidden;
    transition: .35s;
}


.hd-candidate-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 22px;
    border-radius: 10px;
    background: var(--blue-tint);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--blue);
    transition: .35s;
    margin: 0 0 10px;
}

.hd-candidate-card .d-flex {
    gap: 10px;
    align-items: center;
}

.hd-candidate-card:hover .hd-candidate-icon {
    background: var(--red);
    color: #fff;
    /* transform:rotate(-8deg) scale(1.05); */
}

.hd-candidate-card h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 14px;
}

.hd-candidate-card p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:991px) {

    .hd-candidates {
        padding: 70px 0;
    }

    .hd-candidate-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .hd-candidates-head h2 {
        font-size: 34px;
    }

}

@media(max-width:576px) {

    .hd-candidate-grid {
        grid-template-columns: 1fr;
    }

    .hd-candidates-head h2 {
        font-size: 28px;
    }

    .hd-candidate-card {
        padding: 30px 25px;
    }

}

/*==============================
Honorary Doctorate Process
==============================*/

.hd-process-flow {
    padding: 90px 0;
    background: linear-gradient(180deg, #fff, var(--bg-soft));
}

.hd-process-header {
    max-width: 820px;
    margin: 0 auto 70px;
}

.hd-process-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: var(--blue-tint);
    color: var(--blue);
    border-radius: var(--radius-pill);
    font-weight: 700;
    margin-bottom: 20px;
}

.hd-process-tag i {
    color: var(--red);
}

.hd-process-header h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 20px;
}

.hd-process-header p {
    color: var(--slate);
    line-height: 1.8;
    font-size: 17px;
}

.hd-process-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
}

.hd-process-card {
    width: 210px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transition: .35s;
    overflow: hidden;
}

.hd-process-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: var(--blue);
    transition: .35s;
}

.hd-process-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow);
}

.hd-process-card:hover::before,
.hd-process-card.active::before {
    background: var(--red);
}

.step-number {
    position: absolute;
    right: 18px;
    top: 15px;
    font-size: 38px;
    font-weight: 800;
    color: rgba(26, 63, 209, .08);
}

.step-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 22px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 28px;
    transition: .35s;
}

.hd-process-card:hover .step-icon,
.hd-process-card.active .step-icon {
    background: var(--red);
    color: #fff;
    transform: rotate(-8deg);
}

.hd-process-card h4 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 15px;
}

.hd-process-card p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
    font-size: 15px;
}

.hd-process-arrow {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

@media(max-width:1200px) {

    .hd-process-card {
        width: 240px;
    }

    .hd-process-arrow {
        display: none;
    }

}

@media(max-width:767px) {

    .hd-process-flow {
        padding: 70px 0;
    }

    .hd-process-header h2 {
        font-size: 30px;
    }

    .hd-process-card {
        width: 100%;
    }
}

.hdoc-section {
    padding: 60px 0;
    background: var(--bg-soft);
}

.hdoc-eval-layout {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 48px;
    align-items: start;
}

/* ===================================================================
       LEFT HONORARY DOCTORATE PROCESS CONTENT
    ============= ====================================================== */
.hd-eval-track {
    position: relative;
    background: var(--bg);
    padding: 30px;
    border-radius: 20px;
}

.hd-eval-track::before {
    content: "";
    position: absolute;
    left: 51px;
    top: 12rem;
    bottom: 6px;
    max-height: 44rem;
    width: 2px;
    background: var(--line);
}

.head p {
    font-size: 15px;
    margin-bottom: 15px;
}

.hd-eval-stage {
    position: relative;
    padding-left: 68px;
    margin-bottom: 42px;
}

.hd-eval-stage:last-child {
    margin-bottom: 0;
}

.hd-eval-num {
    position: absolute;
    left: 0;
    top: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--blue);
    color: var(--blue);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.hd-eval-stage.is-final .hd-eval-num {
    background: var(--blue);
    border-color: var(--blue);
    color: #fff;
    box-shadow: 0 0 0 5px var(--blue-tint);
}

.hd-eval-stage-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: 6px;
}

.hd-eval-stage h3 {
    font-size: 17px;
    color: var(--ink);
    margin-bottom: 8px;
}

.hd-eval-stage>p.desc {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.7;
    margin: 0;
}

/* ===================================================================
       RIGHT INTERACTIVE STEP FORM, BASIC DETAILS ONLY (no fees/payment)
    =================================================================== */
.hdoc-form-col {
    position: sticky;
    top: 90px;
}

.hdoc-sec-label__text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--blue);
    background: var(--blue-tint);
    padding: 7px 14px;
    border-radius: var(--radius-pill);
    margin-bottom: 14px;
}

.hdoc-heading {
    font-size: 22px;
    color: var(--ink);
    margin-bottom: 12px;
    line-height: 1.3; 
}

.hdoc-subhead {
    font-size: 15px;
    color: var(--slate);
    line-height: 1.6;
    margin-bottom: 24px;
}

/* Progress strip now reflects live state via JS */


/* Form card */
.hdoc-form-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow);
    padding: 34px 32px;
    position: relative;
    overflow: hidden;
}

.hdoc-form-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--blue), var(--red));
}

/* Step block hidden unless active (JS-controlled) */
.hdoc-step-block {
    display: none;
}

.hdoc-step-block.is-active {
    display: block;
    animation: hdocFadeIn .25s ease;
}

@keyframes hdocFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hdoc-step-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.hdoc-step-num {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--blue-tint);
    color: var(--blue);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.hdoc-step-head h3 {
    font-size: 16.5px;
    color: var(--ink);
    margin-bottom: 2px;
}

.hdoc-step-head span {
    font-size: 12px;
    color: var(--slate);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 18px;
}

.field {
    display: flex;
    flex-direction: column;
}

.field.full {
    grid-column: 1 / -1;
}

.field label {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.field label i {
    color: var(--blue);
    font-size: 12px;
}

.req {
    color: var(--red);
}

.field input,
.field select,
.field textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 13px;
    font-size: 13.5px;
    font-family: var(--font);
    color: var(--ink);
    background: var(--bg-soft);
    transition: border-color .2s ease;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    outline: none;
    border-color: var(--blue);
    background: #fff;
}

.field textarea {
    min-height: 84px;
    resize: vertical;
}

.field .hint {
    font-size: 11.5px;
    color: var(--slate);
    margin-top: 5px;
}

.field.has-error input,
.field.has-error select,
.field.has-error textarea {
    border-color: var(--red);
}

.field .err {
    display: none;
    font-size: 11.5px;
    color: var(--red);
    margin-top: 5px;
}

.field.has-error .err {
    display: block;
}

/* File upload */
.hdoc-file-wrap {
    border: 1.5px dashed var(--line);
    border-radius: var(--radius-card);
    padding: 22px 20px;
    text-align: center;
    background: var(--bg-soft);
    transition: border-color .2s ease;
}

.hdoc-file-wrap.has-error {
    border-color: var(--red);
}

.hdoc-file-wrap i {
    font-size: 24px;
    color: var(--blue);
    margin-bottom: 10px;
    display: block;
}

.hdoc-file-wrap input[type="file"] {
    display: block;
    margin: 10px auto 0;
    font-size: 12.5px;
    color: var(--slate);
}

.hdoc-file-note {
    font-size: 11.5px;
    color: var(--slate);
    margin-top: 10px;
}

.hdoc-file-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: var(--blue);
    background: var(--blue-tint);
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    margin-top: 8px;
}

.hdoc-verify-row {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 14px 16px;
    background: var(--bg-soft);
    margin-top: 6px;
}

.hdoc-verify-row.has-error {
    border-color: var(--red);
}

.hdoc-verify-row input {
    width: 18px;
    height: 18px;
    accent-color: var(--blue);
    flex-shrink: 0;
}

.hdoc-verify-row span {
    font-size: 13px;
    color: var(--ink);
    font-weight: 500;
}

.hdoc-required-note {
    font-size: 11.5px;
    color: var(--slate);
    margin-top: 24px;
}

.hdoc-required-note span {
    color: var(--red);
}

/* Step navigation buttons */
.hdoc-btn-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
}

.hdoc-btn-next,
.hdoc-btn-back,
.hdoc-btn-submit {
    border: none;
    border-radius: var(--radius-pill);
    padding: 13px 22px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font);
    transition: opacity .2s ease, transform .15s ease;
}

.hdoc-btn-next,
.hdoc-btn-submit {
    background: var(--blue);
    color: #fff;
    margin-left: auto;
}

.hdoc-btn-back {
    background: var(--bg-soft);
    color: var(--ink);
    border: 1px solid var(--line);
}

.hdoc-btn-next:hover,
.hdoc-btn-submit:hover,
.hdoc-btn-back:hover {
    opacity: .92;
    transform: translateY(-1px);
}

@media (max-width: 992px) {
    .hdoc-eval-layout {
        grid-template-columns: 1fr;
    }

    .hdoc-form-col {
        position: static;
    }
}

@media (max-width: 560px) {
    .grid-2 {
        grid-template-columns: 1fr;
    }

    .hdoc-progress {
        flex-wrap: wrap;
        gap: 10px;
    }

    .hdoc-progress-sep {
        display: none;
    }
}

.dbs-section-head {
    max-width: 700px;
    margin: 0 auto 52px;
    text-align: center;
}

.dbs-section-head h2 {
    font-family: var(--font);
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 14px;
    line-height: 1.25;
}

.dbs-section-head h2 span {
    color: var(--red);
}

.dbs-section-head p {
    color: var(--slate);
    font-size: 15px;
    line-height: 1.7;
}

/* ---------- OVERVIEW + FORM ---------- */
.dbs-overview {
    padding: 60px 0;
    background: var(--bg);
}

.dbs-overview-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 56px;
    align-items: start;
}

.dbs-overview-copy h2 {
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 18px;
    line-height: 1.3;
}

.dbs-overview-copy h2 span {
    color: var(--red);
}

.dbs-overview-copy p {
    color: var(--slate);
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 18px;
}

.dbs-stat-chips {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 28px;
}

.dbs-stat-chip {
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 18px 20px;
}

.dbs-stat-chip span {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: var(--blue);
    margin-bottom: 4px;
}

.dbs-stat-chip small {
    font-size: 12.5px;
    color: var(--slate);
}

.dbs-form-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow);
    padding: 36px;
    position: sticky;
    top: 24px;
}

.dbs-form-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 6px;
}

.dbs-form-sub {
    color: var(--slate);
    font-size: 14px;
    margin-bottom: 22px;
}

.dbs-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.dbs-form-group {
    margin-bottom: 16px;
}

.dbs-form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
}

.dbs-form-group label span {
    color: var(--red);
}

.dbs-form-group input,
.dbs-form-group select,
.dbs-form-group textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 14px;
    font-family: var(--font);
    color: var(--ink);
    background: var(--bg-soft);
    outline: none;
    transition: border-color 0.2s ease;
}

.dbs-form-group input:focus,
.dbs-form-group select:focus,
.dbs-form-group textarea:focus {
    border-color: var(--blue);
    background: #fff;
}

.dbs-captcha {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dbs-captcha-code {
    background: var(--blue-tint);
    color: var(--blue-dark);
    font-weight: 800;
    letter-spacing: 3px;
    padding: 11px 18px;
    border-radius: 8px;
    font-size: 15px;
}

.dbs-captcha input {
    flex: 1;
}

.dbs-form-submit {
    width: 100%;
    justify-content: center;
    border: none;
    cursor: pointer;
    margin-top: 4px;
}

.dbs-form-note {
    text-align: center;
    font-size: 12.5px;
    color: var(--slate);
    margin: 14px 0 0;
}

/* ---------- HIGHLIGHTS ---------- */
.dbs-highlights {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dbs-highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.dbs-highlight-item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 30px 26px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.dbs-highlight-item:hover {
    box-shadow: var(--shadow);
    transform: translateY(-4px);
}

.dbs-highlight-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
}

.dbs-highlight-item h4 {
    font-size: 16.5px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 10px;
}

.dbs-highlight-item p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.7;
}

/* ---------- WHY CHOOSE ---------- */
.dbs-why {
    padding: 60px 0;
    background: var(--bg);
}

.dbs-why-list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dbs-why-row {
    display: flex;
    gap: 24px;
    padding: 26px 0;
    border-bottom: 1px solid var(--line);
}

.dbs-why-row:first-child {
    padding-top: 0;
}

.dbs-why-row:last-child {
    border-bottom: none;
}

.dbs-why-num {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue);
    font-weight: 800;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dbs-why-row h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
}

.dbs-why-row p {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.7;
}

/* ---------- CANDIDATES ---------- */
.dbs-candidates {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dbs-candidates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.dbs-candidate-card {
    background: #fff;
    border-radius: var(--radius-card);
    border-top: 3px solid var(--red);
    box-shadow: var(--shadow);
    padding: 28px 24px;
}

.dbs-candidate-card i {
    font-size: 22px;
    color: var(--red);
    margin-bottom: 16px;
    display: block;
}

.dbs-candidate-card h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 10px;
}

.dbs-candidate-card p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.7;
}

/* ---------- LEARNING OUTCOMES ---------- */
.dbs-outcomes {
    padding: 60px 0;
    background: var(--bg);
}

.dbs-outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* gap: 28px; */
}

.dbs-outcome-item span {
    display: block;
    font-size: 34px;
    font-weight: 800;
    color: var(--bg);
    -webkit-text-stroke: 1.5px var(--red);
    margin-bottom: 10px;
}

.dbs-outcome-item h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 10px;
}

.dbs-outcome-item p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.7;
}

/* ---------- ADMISSION REQUIREMENTS ---------- */
.dbs-admission {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dbs-admission-list {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.dbs-admission-item {
    display: flex;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 22px;
}

.dbs-admission-item i {
    color: var(--blue);
    font-size: 18px;
    margin-top: 3px;
    flex-shrink: 0;
}

.dbs-admission-item h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 6px; 
}

.dbs-admission-item p {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.65;
}

/* ---------- CAREER BENEFITS ---------- */
.dbs-benefits {
    padding: 60px 0;
    background: var(--bg);
}

.dbs-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.dbs-benefit-card {
    background: var(--bg-soft);
    border-radius: var(--radius-card);
    padding: 26px;
}

.dbs-benefit-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--blue);
    background: var(--blue-tint);
    padding: 5px 12px;
    border-radius: var(--radius-pill);
    margin-bottom: 14px;
}

.dbs-benefit-card h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
}

.dbs-benefit-card p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.7;
}

/* ---------- FAQ ---------- */
.dbs-faq {
    padding: 60px 0;
    background: var(--bg-soft);
}

.dbs-faq-list {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dbs-faq-item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 6px 24px;
}

.dbs-faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 0;
    font-size: 15.5px;
    font-weight: 700;
    color: var(--ink);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.dbs-faq-item summary::-webkit-details-marker {
    display: none;
}

.dbs-faq-item summary i {
    color: var(--blue);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.dbs-faq-item[open] summary i {
    transform: rotate(180deg);
}

.dbs-faq-item p {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.75;
    padding-bottom: 20px;
    margin: 0;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {

    .dbs-overview-grid,
    .dbs-fees-card {
        grid-template-columns: 1fr;
    }

    .dbs-form-card {
        position: static;
    }

    .dbs-highlights-grid,
    .dbs-candidates-grid,
    .dbs-outcomes-grid,
    .dbs-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dbs-snapshot-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dbs-admission-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .dbs-form-row {
        grid-template-columns: 1fr;
    }

    .dbs-highlights-grid,
    .dbs-candidates-grid,
    .dbs-outcomes-grid,
    .dbs-benefits-grid,
    .dbs-snapshot-grid {
        grid-template-columns: 1fr;
    }

    .dbs-stat-chips {
        grid-template-columns: 1fr 1fr;
    }

    .dbs-section-head h2,
    .dbs-overview-copy h2 {
        font-size: 24px;
    }

    .dbs-why-row {
        flex-direction: column;
        gap: 12px;
    }
}

.dbs-outcome-item {
    border: 1px solid #ddd;
    padding: 20px;
}

.pa-enquiry {
    padding: 60px 0;
    background: var(--bg-soft);
}

.pa-enquiry-wrap {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 60px;
    align-items: center;
}

.pa-enquiry-content h2 {
    font-size: 34px;
    line-height: 1.15;
    margin: 18px 0;
    color: var(--ink);
    font-weight: 800;
}

.pa-enquiry-content h2 span {
    color: var(--red);
}

.pa-enquiry-content>p {
    color: var(--slate);
    line-height: 1.8;
    max-width: 600px;
    margin-bottom: 15px;
}

.pa-enquiry-features {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.pa-feature {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 22px;
    transition: .35s;
}

.pa-feature:hover {
    border-color: var(--blue);
    box-shadow: var(--shadow);
    transform: translateY(-3px);
}

.pa-feature i {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 20px;
    flex-shrink: 0;
}

.pa-feature h6 {
    margin: 0 0 6px;
    color: var(--ink);
    font-size: 17px;
    font-weight: 700;
}

.pa-feature p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
    font-size: 15px;
}

.pa-form-card {
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    padding: 38px;
}

.pa-form-head {
    margin-bottom: 28px;
}

.pa-form-head span {
    display: inline-block;
    background: var(--blue-tint);
    color: var(--blue);
    padding: 7px 16px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 14px;
}

.pa-form-head h3 {
    margin-bottom: 10px;
    color: var(--ink);
    font-size: 22px;
    font-weight: 800;
}

.pa-form-head p {
    margin: 0;
    color: var(--slate);
    line-height: 1.7;
}

@media(max-width:991px) {

    .pa-enquiry-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pa-enquiry-content h2 {
        font-size: 36px;
    }

}

.pa-why {
    padding: 60px 0;
    background: #fff;
}

.pa-why-modern {
    max-width: 900px;
    margin: 60px auto 0;
    position: relative;
}

.pa-why-modern::before {
    content: "";
    position: absolute;
    left: 30px;
    top: 20px;
    bottom: 20px;
    width: 2px;
    background: var(--line);
}

.pa-why-card {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    margin-bottom: 28px;
}

.pa-why-number {
    width: 60px;
    height: 60px;
    background: var(--red);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    box-shadow: 0 15px 35px rgba(26, 63, 209, .18);
}

.pa-why-content {
    flex: 1;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 28px;
    transition: .35s;
}

.pa-why-content:hover {
    border-color: var(--blue);
    box-shadow: var(--shadow);
}

.pa-why-content h4 {
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 18px;
    font-weight: 800;
}

.pa-why-content p {
    margin: 0;
    color: var(--slate);
    line-height: 1.8;
}

@media(max-width:768px) {

    .pa-why-modern::before {
        display: none;
    }

    .pa-why-card {
        flex-direction: column;
        gap: 18px;
    }

}

.pa-programmes {
    padding: 60px 0;
    background: var(--bg-soft);
}

.pa-programmes-head {
    max-width: 700px;
    margin: 0 auto;
}

.pa-programmes-head h2 {
    margin-bottom: 15px;
    font-size: 34px;
    font-weight: 800;
}

.pa-programmes-head h2 span{
    color: var(--red);
}

.pa-person-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 55px;
}

.pa-person-card {
    /* display:flex; */
    gap: 22px;
    padding: 28px;
    background: var(--bg);
    border: 1px solid #dbe4ff;
    border-radius: var(--radius-card);
    transition: .35s;
}


.pa-person-card:hover {
    /* transform:translateY(-6px); */
    box-shadow: var(--shadow);
}

.pa-person-card .icon {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 16px;
    background: var(--blue-tint);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--blue);
    font-size: 24px;
    /* box-shadow:0 8px 20px rgba(0,0,0,.08); */
    margin-bottom: 15px;
}

.pa-person-card:nth-child(even) .icon {
    color: var(--red);
}

.pa-person-card h4 {
    font-size: 20px;
    color: var(--ink);
    margin-bottom: 10px;
}

.pa-person-card p {
    margin: 0;
    color: var(--slate);
    line-height: 1.75;
    font-size: 15px;
}

@media(max-width:991px) {

    .pa-person-grid {
        grid-template-columns: 1fr;
    }

}

@media(max-width:576px) {

    .pa-person-card {
        flex-direction: column;
        text-align: center;
    }

    .pa-person-card .icon {
        margin: auto;
    }

}

/* ===============================================
       SECTION 4.5 — Admissions process (NEW, timeline)
    =============================================== */
.pa-admissions {
    background: var(--bg);
    padding: 60px 0;
    border-top: 1px solid var(--line);
}

.pa-admissions-head {
    max-width: 700px;
    margin: 0 auto 12px;
    text-align: center;
}

.pa-admissions-head h2 {
    font-size: 34px;
    font-weight: 800;
}

.pa-admissions-head h2 span{
    color : var(--red);
}

.pa-admissions-head p {
    font-size: 14.5px;
    color: var(--slate);
    line-height: 1.7;
    margin-top: 12px;
}

.pa-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    position: relative;
    margin-top: 54px;
}

.pa-timeline::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 6%;
    right: 6%;
    height: 2px;
    background: var(--line);
    z-index: 0;
}

.pa-timeline-step {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 0 8px;
}

.pa-timeline-step .pa-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--blue);
    color: var(--blue);
    font-weight: 800;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
}

.pa-timeline-step h4 {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 8px;
}

.pa-timeline-step p {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.6;
}

/* ===============================================
       SECTION 4.6 — Tuition & investment (NEW, pricing cards)
    =============================================== */
.pa-tuition {
    background: var(--bg);
    padding: 96px 0;
}

.pa-tuition-head {
    max-width: 640px;
    margin-bottom: 48px;
}

.pa-tuition-head h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
}

.pa-tuition-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.pa-tuition-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 32px;
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pa-tuition-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.pa-tuition-card.featured {
    border-color: var(--blue);
    position: relative;
}

.pa-tuition-card.featured::before {
    content: "Best Value";
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--yellow);
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    padding: 4px 14px;
    border-radius: var(--radius-pill);
}

.pa-tuition-card h4 {
    font-size: 16px;
    font-weight: 700;
}

.pa-tuition-card .pa-price {
    font-size: 32px;
    font-weight: 800;
    color: var(--blue);
    margin: 14px 0 4px;
}

.pa-tuition-card .pa-price span {
    font-size: 13px;
    color: var(--slate);
    font-weight: 600;
}

.pa-tuition-card ul {
    list-style: none;
    padding: 0;
    margin: 20px 0 24px;
    text-align: left;
}

.pa-tuition-card ul li {
    font-size: 13.5px;
    color: var(--slate);
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.pa-tuition-card ul li:last-child {
    border-bottom: none;
}

.pa-tuition-card ul li i {
    color: var(--blue);
    margin-top: 3px;
}

.pa-tuition-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-soft);
    color: var(--ink);
    text-decoration: none;
    font-weight: 700;
    font-size: 13.5px;
    padding: 11px 22px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--line);
    transition: background .2s ease, color .2s ease;
}

.pa-tuition-card.featured a {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
}

.pa-tuition-card a:hover {
    background: var(--blue);
    color: #fff;
    border-color: var(--blue);
}

/* ===============================================
       SECTION 5 — Leadership (diagonal clip)
    =============================================== */
.pa-leadership {
    background: var(--red);
    /* padding: 100px 0; */
    position: relative;
    overflow: hidden;
}

.pa-leadership-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: center;
}

.pa-leadership-copy .eyebrow {
    color: var(--yellow) !important;
}

.pa-leadership-copy .eyebrow::before {
    background: var(--yellow) !important;
}

.pa-leadership-copy {
    padding-right: 40px;
    padding-left: 110px;
}

.pa-leadership-copy .pa-eyebrow {
    color: var(--yellow);
}

.pa-leadership-copy .pa-eyebrow::before {
    background: var(--yellow);
}

.pa-leadership-copy h2 {
    color: #fff;
    font-size: clamp(24px, 2.8vw, 34px);
    font-weight: 800;
    margin-bottom: 16px;
}

.pa-leadership-copy p {
    color: var(--bg);
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 10px;
}

.pa-leadership-media {
    position: relative;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0% 100%);
    height: 380px;
}

.pa-leadership-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}



/* ===============================================
       SECTION 6.5 — Testimonials (NEW, quote cards)
    =============================================== */
.pa-testimonials {
    background: var(--bg);
    padding: 96px 0;
}

.pa-testimonials-head {
    max-width: 640px;
    margin-bottom: 48px;
}

.pa-testimonials-head h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
}

.pa-test-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.pa-test-card {
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 28px;
    transition: box-shadow .2s ease, transform .2s ease;
}

.pa-test-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.pa-test-card i.pa-quote {
    color: var(--yellow);
    font-size: 22px;
    margin-bottom: 14px;
    display: block;
}

.pa-test-card p.pa-test-text {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.7;
    margin-bottom: 20px;
}

.pa-test-person {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pa-test-person img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.pa-test-person h5 {
    font-size: 13.5px;
    font-weight: 700;
}

.pa-test-person span {
    font-size: 12px;
    color: var(--slate);
}

/* ===============================================
       SECTION 6.6 — FAQ (NEW, accordion)
    =============================================== */
.pa-faq {
    background: var(--bg-soft);
    padding: 60px 0;
    border-top: 1px solid var(--line);
}

.pa-faq-head {
    max-width: 640px;
    margin: 0 auto 12px;
    text-align: center;
}

.pa-faq-head .pa-eyebrow {
    justify-content: center;
}

.pa-faq-head h2 {
    font-size:34px;
    font-weight: 800;
}

.pa-faq-head h2 span{
    color: var(--red);
}

.pa-faq-list {
    max-width: 820px;
    margin: 46px auto 0;
}

.pa-faq-item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 6px 22px;
    margin-bottom: 12px;
}

.pa-faq-item summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
}

.pa-faq-item summary::-webkit-details-marker {
    display: none;
}

.pa-faq-item summary::after {
    content: "+";
    font-size: 20px;
    color: var(--blue);
    font-weight: 400;
    flex-shrink: 0;
    margin-left: 16px;
}

.pa-faq-item[open] summary::after {
    content: "\2212";
}

.pa-faq-item p {
    font-size: 14px;
    color: var(--slate);
    line-height: 1.7;
    padding-bottom: 18px;
}

/* ===============================================
       Responsive
    =============================================== */
@media (max-width: 992px) {
    .pa-intro-grid {
        grid-template-columns: 1fr;
    }

    .pa-intro-media {
        min-height: 320px;
    }

    .pa-why-row {
        grid-template-columns: 60px 1fr;
    }

    .pa-why-row>p {
        grid-column: span 2;
    }

    .pa-prog-grid {
        grid-template-columns: 1fr;
    }

    .pa-timeline {
        grid-template-columns: 1fr 1fr;
        row-gap: 34px;
    }

    .pa-timeline::before {
        display: none;
    }

    .pa-tuition-grid {
        grid-template-columns: 1fr;
    }

    .pa-leadership-grid {
        grid-template-columns: 1fr;
    }

    .pa-leadership-copy {
        padding-right: 0;
        margin-bottom: 34px;
    }

    .pa-leadership-media {
        clip-path: none;
    }

    .pa-test-grid {
        grid-template-columns: 1fr;
    }

    .pa-subnav {
        position: static;
    }
}

@media (max-width: 640px) {
    .pa-form-row {
        grid-template-columns: 1fr;
    }

    .pa-intro-form-side {
        padding: 32px 20px;
    }

    .pa-timeline {
        grid-template-columns: 1fr;
    }
}

.ibas-section {
    padding: 60px 0;
}

.ibas-section.bg-soft {
    background: var(--bg-soft);
}

@media (max-width: 991px) {
    .ibas-section {
        padding: 64px 0;
    }
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--blue);
    background: var(--blue-tint);
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    margin-bottom: 18px;
}

.section-eyebrow i {
    font-size: 8px;
    color: var(--red);
}

.ibas-section-head {
    max-width: 800px;
    margin: 0 auto 56px;
    text-align: center;
}

.ibas-section-head h2 span {
    color: var(--red);
}

.ibas-section-head h2,
.ibas-recognition h2 {
    font-family: var(--font);
    font-weight: 800;
    font-size: 34px;
    line-height: 1.2;
    color: var(--ink);
    margin-bottom: 16px;
}

.ibas-section-head p {
    color: var(--slate);
    font-size: 16px;
    line-height: 1.7;
}

/* ---------- 1. Intro (image panel + enquiry form) ---------- */
.ibas-eyebrow-line {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--yellow);
    margin-bottom: 14px;
}

.ibas-eyebrow-line::before {
    content: "";
    width: 22px;
    height: 2px;
    background: var(--yellow);
    display: inline-block;
}

.ibas-intro-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    min-height: 600px;
}

.ibas-intro-media {
    position: relative;
    background: var(--ink);
}

.ibas-intro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .82;
}

.ibas-intro-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgb(14 40 153 / 95%), rgb(22 24 29 / 93%));
}

.ibas-intro-media-copy {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px;
    z-index: 1;
}

.ibas-intro-media-copy h2 {
    color: #fff;
    font-size: clamp(24px, 2.8vw, 32px);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 14px;
}

.ibas-intro-media-copy p {
    color: rgba(255, 255, 255, .82);
    font-size: 14.5px;
    line-height: 1.7;
    margin: 0;
    margin-bottom: 15px;
}

.ibas-intro-form-side {
    background: var(--bg-soft);
    display: flex;
    align-items: center;
    padding: 56px;
}

.ibas-form-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 32px;
    box-shadow: var(--shadow);
    width: 100%;
}

.ibas-form-card h3 {
    font-size: 19px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 4px;
}

.ibas-form-card .ibas-form-sub {
    font-size: 13.5px;
    color: var(--slate);
    margin-bottom: 22px;
}

/* ---------- 2. Programmes ---------- */
.ibas-programs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.ibas-program-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 40px;
    box-shadow: var(--shadow);
    position: relative;
}

.ibas-program-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 20px;
}

.ibas-program-tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--red);
    margin-bottom: 10px;
}

.ibas-program-card h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 12px;
}

.ibas-program-card>p {
    color: var(--slate);
    line-height: 1.7;
    margin-bottom: 20px;
}

.ibas-program-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}

.ibas-program-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 14.5px;
    color: var(--slate);
    margin-bottom: 10px;
}

.ibas-program-list i {
    color: var(--blue);
    margin-top: 3px;
}

.ibas-program-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: var(--blue-dark);
    text-decoration: none;
}

.ibas-program-link i {
    transition: transform .2s ease;
}

.ibas-program-link:hover i {
    transform: translateX(4px);
}

/* ---------- 3. Why IBAS ---------- */
.ibas-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.ibas-why-item {
    padding: 32px 28px;
    border-radius: var(--radius-card);
    background: #fff;
    border: 1px solid var(--line);
    transition: transform .2s ease, box-shadow .2s ease;
}

.ibas-why-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.ibas-why-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    /* margin-bottom: 18px; */
}

.ibas-why-item h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
}

.ibas-why-item p {
    font-size: 14.5px;
    color: var(--slate);
    line-height: 1.65;
    margin: 0;
}

/* ---------- 4. Journey ---------- */
.ibas-journey {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    position: relative;
}

.ibas-journey-step {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 28px 20px;
    position: relative;
}

.ibas-journey-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 16px;
}

.ibas-journey-step h4 {
    font-size: 15.5px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
}

.ibas-journey-step p {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.6;
    margin: 0;
}

/* ---------- 5. Stats band ---------- */
.ibas-stats-band {
    background: var(--blue-dark);
    padding: 64px 0;
}

.ibas-stats-band-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}

.ibas-stats-block strong {
    display: block;
    font-size: 40px;
    font-weight: 800;
    color: var(--yellow);
    margin-bottom: 8px;
}

.ibas-stats-block span {
    font-size: 14px;
    color: rgba(255, 255, 255, .82);
}


.ibas-credibility-section {
    padding: 60px 0;
    background: var(--bg-soft);
    font-family: var(--font);
    color: var(--ink);
}

.ibas-credibility-header {
    max-width: 850px;
    margin-bottom: 50px;
}

.ibas-section-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.ibas-section-label span {
    width: 28px;
    height: 3px;
    background: var(--red);
    display: inline-block;
    border-radius: var(--radius-pill);
}

.ibas-credibility-header h2 {
    font-size: 34px;
    /* letter-spacing: -1.8px; */
    font-weight: 800;
    margin: 0 0 20px;
}

.ibas-credibility-header h2 span {
    display: block;
    color: var(--red);
    font-weight: 800;
}

.ibas-credibility-header>p {
    max-width: 760px;
    color: var(--slate);
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}


/* =========================================
   MAIN GRID
========================================= */

.ibas-credibility-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 24px;
    align-items: stretch;
}


/* =========================================
   MAIN BLUE CARD
========================================= */

.ibas-credibility-main {
    position: relative;
    overflow: hidden;
    display: flex;
    gap: 16px;
    padding: 42px;
    min-height: 410px;
    border-radius: var(--radius-card);
    background: var(--blue);
    color: #fff;
    box-shadow: var(--shadow);
}

.ibas-credibility-main::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    right: -80px;
    bottom: -80px;
}

.ibas-credibility-main::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    right: 30px;
    bottom: 30px;
}

.ibas-main-number {
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .1em;
    color: var(--yellow);
}

.ibas-main-content {
    position: relative;
    z-index: 2;
}

.ibas-card-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .75);
    margin-bottom: 22px;
}

.ibas-card-eyebrow i {
    color: var(--yellow);
}

.ibas-main-content h3 {
    font-size: 25px;
    line-height: 1.15;
    /* letter-spacing: -.8px; */
    margin: 0 0 15px;
    font-weight: 800;
    color: var(--bg);
}

.ibas-main-content p {
    color: rgba(255, 255, 255, .82);
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 30px;
    max-width: 470px;
}



/* =========================================
   FEATURE CARDS
========================================= */

.ibas-credibility-features {
    display: grid;
    gap: 14px;
}

.ibas-feature-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 25px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    transition: .3s ease;
}

.ibas-feature-card:hover {
    transform: translateY(-3px);
    border-color: rgba(26, 63, 209, .25);
    box-shadow: var(--shadow);
}

.ibas-feature-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 18px;
}

.ibas-feature-icon.red-icon {
    background: #FFF0F2;
    color: var(--red);
}

.ibas-feature-icon.yellow-icon {
    background: #FFF9D6;
    color: #8A7200;
}

.ibas-feature-card span {
    display: block;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.ibas-feature-card:nth-child(2) span {
    color: var(--red);
}

.ibas-feature-card:nth-child(3) span {
    color: #8A7200;
}

.ibas-feature-card h4 {
    font-size: 19px;
    line-height: 1.3;
    margin: 0 0 7px;
    font-weight: 800;
}

.ibas-feature-card p {
    color: var(--slate);
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
}


/* =========================================
   BOTTOM HIGHLIGHT
========================================= */

.ibas-credibility-highlight {
    margin-top: 24px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: var(--ink);
    border-radius: var(--radius-card);
    color: #fff;
}

.ibas-highlight-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--yellow);
    color: var(--ink);
    border-radius: 10px;
    font-size: 18px;
}

.ibas-highlight-content {
    flex: 1;
}

.ibas-highlight-content span {
    display: block;
    color: var(--yellow);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 4px;
}

.ibas-highlight-content h3 {
    margin: 0;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 700;
    color: var(--bg);
}

.ibas-highlight-mark {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--yellow);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .ibas-credibility-section {
        padding: 75px 0;
    }

    .ibas-credibility-grid {
        grid-template-columns: 1fr;
    }

    .ibas-credibility-main {
        min-height: auto;
    }
}

@media (max-width: 575px) {

    .ibas-credibility-section {
        padding: 60px 0;
    }

    .ibas-credibility-header h2 {
        font-size: 34px;
    }

    .ibas-credibility-main {
        padding: 30px 25px;
        gap: 18px;
    }

    .ibas-main-content h3 {
        font-size: 29px;
    }

    .ibas-feature-card {
        padding: 20px;
        gap: 15px;
    }

    .ibas-credibility-highlight {
        align-items: flex-start;
        padding: 22px;
    }

    .ibas-highlight-mark {
        display: none;
    }
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {

    .ibas-intro-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .ibas-intro-media {
        min-height: 320px;
    }

    .ibas-voices-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ibas-programs-grid,
    .ibas-why-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ibas-journey {
        grid-template-columns: 1fr 1fr;
    }

    .ibas-stats-band-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 576px) {

    .ibas-programs-grid,
    .ibas-why-grid,
    .ibas-journey,
    .ibas-stats-band-grid {
        grid-template-columns: 1fr;
    }

    .ibas-section-head h2,
    .ibas-intro-media-copy h2,
    .ibas-recognition h2 {
        font-size: 28px;
    }

    .ibas-intro-form-side {
        padding: 32px 20px;
    }
}

.careers-page .section-title-brand {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 14px;
    color: var(--ink);
}

.careers-page .section-desc-brand {
    color: var(--slate);
    font-size: 16px;
    line-height: 1.7;
    max-width: 680px;
}

.careers-page .section-desc-brand.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.careers-section {
    padding: 60px 0;
}

.careers-section.soft {
    background: var(--bg-soft);
}

/* ---------- Why Join Us (split panel) ---------- */
.why-join-grid {
    display: grid;
    grid-template-columns: 440px 1fr;
    gap: 64px;
    align-items: center;
}

.why-join-card {
    position: relative;
    background: linear-gradient(160deg, var(--blue-dark) 0%, #0B1F3D 100%);
    border-radius: 20px;
    padding: 40px 36px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.why-join-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: .5;
    pointer-events: none;
}

.why-join-card::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 218, 26, 0.16), transparent 70%);
    pointer-events: none;
}

.why-join-head {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.why-join-icon {
    width: 46px;
    height: 46px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--blue);
    color: #fff;
    font-size: 19px;
}

.why-join-head h3 {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.why-join-card p.why-lead {
    position: relative;
    z-index: 2;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 26px;
}

.why-join-list {
    position: relative;
    z-index: 2;
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
}

.why-join-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 14.5px;
    font-weight: 500;
}

.why-join-list li:last-child {
    border-bottom: none;
}

.why-join-list li .check {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(26, 63, 209, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: var(--yellow);
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.why-join-card .btn-apply-dark {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: transparent;
    color: #fff;
    font-weight: 600;
    font-size: 14.5px;
    padding: 12px 24px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255, 255, 255, 0.35);
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}

.why-join-card .btn-apply-dark:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}

.why-join-copy .highlight {
    color: var(--red);
}

.why-join-copy .section-title-brand {
    font-size: 34px;
    margin-bottom: 20px;
    font-weight: 800;
}

.why-join-copy p {
    color: var(--slate);
    font-size: 15.5px;
    line-height: 1.75;
    margin-bottom: 18px;
}

.why-join-copy p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .why-join-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

/* ---------- Job cards ---------- */
.job-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.job-card {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.job-card:hover {
    box-shadow: var(--shadow);
    transform: translateY(-3px);
    border-color: transparent;
}

.job-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.job-card-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--blue-tint);
    color: var(--blue);
    font-size: 17px;
    flex: none;
}

.job-card-dept {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--red-dark);
    background: #FDECEE;
    padding: 5px 11px;
    border-radius: var(--radius-pill);
    white-space: nowrap;
}

.job-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 8px;
}

.job-card .job-code {
    font-family: 'SFMono-Regular', Consolas, monospace;
    font-size: 11.5px;
    color: var(--blue);
    font-weight: 700;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
    display: block;
}

.job-card p.job-desc {
    color: var(--slate);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 18px;
    flex-grow: 1;
}

.job-card .job-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.job-card .job-tags span {
    font-size: 12px;
    color: var(--slate);
    background: var(--bg-soft);
    border: 1px solid var(--line);
    padding: 4px 10px;
    border-radius: var(--radius-pill);
}

.job-card .job-apply-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background: var(--blue-tint);
    color: var(--blue-dark);
    font-weight: 600;
    font-size: 14px;
    padding: 11px 18px;
    border-radius: var(--radius-pill);
    border: none;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.job-card .job-apply-btn:hover {
    background: var(--red);
    color: #fff;
}

.job-card .job-apply-btn i {
    transition: transform .18s ease;
}

.job-card .job-apply-btn:hover i {
    transform: translateX(3px);
}

.careers-note {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    margin-top: 30px;
    color: var(--slate);
    font-size: 14px;
}

.careers-note i {
    color: var(--red);
}

/* ---------- Application form (embedded) ---------- */
#apply-form-section {
    scroll-margin-top: 100px;
}

.apply-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 32px;
    align-items: start;
}

.apply-sidebar {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 28px 26px;
    position: sticky;
    top: 24px;
}

.apply-sidebar h3 {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.apply-sidebar .side-step {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}

.apply-sidebar .side-step:last-of-type {
    border-bottom: none;
}

.apply-sidebar .side-step .dot {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--blue-tint);
    color: var(--blue-dark);
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.apply-sidebar .side-step p {
    margin: 0;
    font-size: 13.8px;
    color: var(--slate);
    line-height: 1.55;
}

.apply-sidebar .side-note {
    margin-top: 20px;
    padding: 16px;
    background: var(--bg-soft);
    border: 1px dashed var(--line);
    border-radius: 10px;
    font-size: 13px;
    color: var(--slate);
    display: flex;
    gap: 10px;
}

.apply-sidebar .side-note i {
    color: var(--red);
    margin-top: 2px;
}

.apply-form-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow);
    padding: 40px;
}

.form-section-label {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--blue-dark);
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.form-section-label:not(:first-child) {
    margin-top: 10px;
}

.form-field {
    margin-bottom: 20px;
}

.form-field label {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 7px;
}

.form-field label .req {
    color: var(--red);
}

.form-control-brand,
select.form-control-brand,
textarea.form-control-brand {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 12px 14px;
    font-size: 14.5px;
    font-family: var(--font);
    color: var(--ink);
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.form-control-brand:focus,
select.form-control-brand:focus,
textarea.form-control-brand:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px var(--blue-tint);
}

textarea.form-control-brand {
    resize: vertical;
    min-height: 120px;
}

.upload-drop {
    border: 1.5px dashed var(--line);
    border-radius: 10px;
    padding: 26px 20px;
    text-align: center;
    background: var(--bg-soft);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease;
    display: block;
}

.upload-drop:hover {
    border-color: var(--blue);
    background: var(--blue-tint);
}

.upload-drop i {
    font-size: 22px;
    color: var(--blue);
    margin-bottom: 10px;
    display: block;
}

.upload-drop .up-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
}

.upload-drop .up-hint {
    font-size: 12.5px;
    color: var(--footer-text);
    margin-top: 4px;
}

.upload-drop .up-filename {
    font-size: 12.5px;
    color: var(--blue-dark);
    font-weight: 600;
    margin-top: 6px;
    display: none;
}

.upload-drop input[type="file"] {
    display: none;
}

.consent-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 10px;
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.55;
}

.consent-row input[type="checkbox"] {
    margin-top: 3px;
    accent-color: var(--blue);
}

.consent-row a {
    color: var(--blue-dark);
    font-weight: 600;
    text-decoration: none;
}

.apply-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.btn-submit-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--red);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 30px;
    border-radius: var(--radius-pill);
    border: none;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.btn-submit-brand:hover {
    background: var(--red-dark);
    transform: translateY(-1px);
}

.apply-submit-row .privacy-note {
    font-size: 12.5px;
    color: var(--footer-text);
}

@media (max-width: 991px) {
    .job-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .apply-grid {
        grid-template-columns: 1fr;
    }

    .apply-sidebar {
        position: static;
    }

    .apply-form-card {
        padding: 26px;
    }
}

@media (max-width: 767px) {
    .job-cards-grid {
        grid-template-columns: 1fr;
    }

    .careers-section {
        padding: 50px 0;
    }
}

/* =====================================================
   WHATSAPP FLOATING BUTTON
===================================================== */

.whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 58px;
    height: 58px;
    background: #25D366;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    text-decoration: none;
    z-index: 9999;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    transition: all 0.3s ease;
}

.whatsapp-float:hover {
    color: #ffffff;
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
}


/* Tooltip */

.whatsapp-tooltip {
    position: absolute;
    right: 70px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--ink);
    color: #ffffff;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    padding: 8px 13px;
    border-radius: 6px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
}

.whatsapp-tooltip::after {
    content: "";
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    border-width: 5px 0 5px 6px;
    border-style: solid;
    border-color: transparent transparent transparent var(--ink);
}

.whatsapp-float:hover .whatsapp-tooltip {
    opacity: 1;
    visibility: visible;
}


/* Mobile */

@media (max-width: 576px) {

    .whatsapp-float {
        width: 52px;
        height: 52px;
        right: 16px;
        bottom: 18px;
        font-size: 27px;
    }

    .whatsapp-tooltip {
        display: none;
    }

}