/* PS_DISCOVERY_LAB_V5_20261023 */

.psdl-v5, .psdl-v5 * {
    box-sizing: border-box;
}

.psdl-v5 {
    position: relative;
    isolation: isolate;
    width: 100%;
    padding: 85px 0 90px;
    background: #fff !important;
    color: #13172d;
}

.psdl-v5-container {
    position: relative;
    max-width: 1420px;
    margin: 0 auto;
    padding: 0 28px;
}

.psdl-v5-header {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin-bottom: 42px;
}

.psdl-v5-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #737990;
}

.psdl-v5-eyebrow span {
    width: 42px;
    height: 3px;
    background: #c85a8c;
}

.psdl-v5-header h2 {
    margin: 0 0 18px !important;
    font-size: clamp(38px, 4.2vw, 60px) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -1.7px !important;
    color: #12162d !important;
}

.psdl-v5-header h2 span {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: #d6387e !important;
}

.psdl-v5-header p {
    max-width: 850px;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #6c748b !important;
}

.psdl-v5-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 17px !important;
    align-items: stretch;
    position: relative;
    z-index: 2;
}

.psdl-v5-card {
    --accent: #d6387e;
    --bg: #fff4f9;
    --line: #e9abc9;

    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    min-height: 318px;
    padding: 24px 22px 21px !important;
    border: 2px solid var(--line) !important;
    border-radius: 23px !important;
    background: var(--bg) !important;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(20, 30, 55, .065) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.psdl-v5-card:hover {
    transform: translateY(-5px);
    border-color: var(--accent) !important;
    box-shadow: 0 18px 34px rgba(20, 30, 55, .12) !important;
}

.psdl-v5-pink {
    --accent: #d6387e;
    --bg: #fff4f9;
    --line: #e8a9c8;
}

.psdl-v5-blue {
    --accent: #2868dd;
    --bg: #f0f6ff;
    --line: #b1cef4;
}

.psdl-v5-green {
    --accent: #0b8c57;
    --bg: #effaf4;
    --line: #a4d6be;
}

.psdl-v5-orange {
    --accent: #d88911;
    --bg: #fff9ef;
    --line: #edc997;
}

.psdl-v5-purple {
    --accent: #864bd2;
    --bg: #f8f2ff;
    --line: #cdb4eb;
}

.psdl-v5-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    border-radius: 22px;
    margin: 0 auto 20px;
    background: rgba(255,255,255,.65);
    color: var(--accent);
    box-shadow: 0 5px 15px rgba(40, 30, 60, .045);
}

.psdl-v5-icon svg {
    width: 70px;
    height: 70px;
    display: block;
}

.psdl-v5-card h3 {
    margin: 0 0 10px !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: -.5px;
    color: #12162d !important;
}

.psdl-v5-card > p {
    margin: 0 0 19px !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
    color: #69718b !important;
}

.psdl-v5-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    color: var(--accent);
    font-size: 14px;
}

.psdl-v5-card-footer strong {
    color: inherit !important;
    font-weight: 800;
}

.psdl-v5-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: white;
    background: var(--accent);
}

.psdl-v5-arrow svg {
    width: 20px;
    height: 20px;
}

.psdl-v5-bottom {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}

.psdl-v5-main-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 19px;
    min-height: 66px;
    padding: 9px 12px 9px 30px;
    border-radius: 100px;
    background: #078c52 !important;
    color: white !important;
    font-size: 19px;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 12px 25px rgba(7, 140, 82, .14);
}

.psdl-v5-main-cta:hover {
    background: #087143 !important;
    color: white !important;
}

.psdl-v5-main-cta span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    color: #13172d;
    background: white;
    font-size: 29px;
}

.psdl-v5-girl {
    position: absolute;
    right: 10px;
    top: -45px;
    z-index: 3;
    width: min(330px, 24vw);
    height: auto;
    object-fit: contain;
    pointer-events: none;
}

.psdl-v5-card:focus-visible,
.psdl-v5-main-cta:focus-visible {
    outline: 3px solid #c85a8c;
    outline-offset: 4px;
}

@media (max-width: 1199px) {
    .psdl-v5-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .psdl-v5-girl {
        display: none;
    }
}

@media (max-width: 600px) {
    .psdl-v5 {
        padding: 55px 0 65px;
    }
    .psdl-v5-container {
        padding: 0 13px;
    }
    .psdl-v5-header {
        margin-bottom: 27px;
    }
    .psdl-v5-header h2 {
        font-size: 32px !important;
        letter-spacing: -.6px !important;
    }
    .psdl-v5-header p {
        font-size: 15px !important;
    }
    .psdl-v5-grid {
        gap: 10px !important;
    }
    .psdl-v5-card {
        min-height: 280px;
        padding: 15px 12px !important;
        border-radius: 16px !important;
    }
    .psdl-v5-icon {
        width: 65px;
        height: 65px;
        border-radius: 15px;
        margin-bottom: 13px;
    }
    .psdl-v5-icon svg {
        width: 51px;
        height: 51px;
    }
    .psdl-v5-card h3 {
        font-size: 16px !important;
    }
    .psdl-v5-card > p {
        font-size: 12px !important;
    }
    .psdl-v5-card-footer {
        font-size: 11px;
    }
    .psdl-v5-arrow {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
    .psdl-v5-arrow svg {
        width: 16px;
        height: 16px;
    }
    .psdl-v5-main-cta {
        min-height: 54px;
        font-size: 14px;
        gap: 9px;
        padding: 8px 8px 8px 17px;
    }
    .psdl-v5-main-cta span {
        width: 35px;
        height: 35px;
        font-size: 23px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .psdl-v5-card {
        transition: none;
    }
}


/* PSDL_HEADING_SPACING_V6 */

/* More breathing room above the section */
.psdl-v5 {
    padding-top: 115px !important;
}

/* Match standard homepage section heading proportions */
.psdl-v5 .psdl-v5-header h2 {
    font-size: 42px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.8px !important;
    color: #12162d !important;
}

/* Maintain the pink brand accent */
.psdl-v5 .psdl-v5-header h2 span {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: #C85A8C !important;
}

@media (max-width: 767px) {
    .psdl-v5 {
        padding-top: 78px !important;
    }

    .psdl-v5 .psdl-v5-header h2 {
        font-size: 30px !important;
        font-weight: 700 !important;
        letter-spacing: -0.4px !important;
    }
}


/* PSDL_HEADING_REFINED_V7 */

/* Balanced heading matching the other homepage sections */
.psdl-v5 .psdl-v5-header h2 {
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.6px !important;
    color: #12162d !important;
}

.psdl-v5 .psdl-v5-header h2 span {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: #C85A8C !important;
}

@media (max-width: 767px) {
    .psdl-v5 .psdl-v5-header h2 {
        font-size: 28px !important;
        font-weight: 700 !important;
        letter-spacing: -0.3px !important;
    }
}


/* PSDL_PREMIUM_HEADING_V8 */

/* Slightly larger and bolder heading */
.psdl-v5 .psdl-v5-header h2 {
    font-size: 42px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.8px !important;
    color: #12162D !important;
}

/* More intense Prosikshya pink */
.psdl-v5 .psdl-v5-header h2 span {
    font-size: inherit !important;
    font-weight: 800 !important;
    color: #E02078 !important;
}

/* Darker, clearer description */
.psdl-v5 .psdl-v5-header p {
    color: #202124 !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

@media (max-width: 767px) {
    .psdl-v5 .psdl-v5-header h2 {
        font-size: 31px !important;
        font-weight: 800 !important;
        letter-spacing: -0.5px !important;
    }
}


/* PSDL_BOLD_BLACK_SVG_V9 */

/* All eight feature SVG icons */
.psdl-v5 .psdl-v5-icon {
    color: #111111 !important;
}

/* Stronger, darker SVG strokes */
.psdl-v5 .psdl-v5-icon svg {
    color: #111111 !important;
    stroke: #111111 !important;
    stroke-width: 4px !important;
    width: 72px;
    height: 72px;
}

/* Mobile icon sizing */
@media (max-width: 600px) {
    .psdl-v5 .psdl-v5-icon svg {
        width: 52px;
        height: 52px;
        stroke-width: 3.7px !important;
    }
}


/* PSDL_GREY_ACTION_BLACK_ARROW_V10 */

/* Consistent grey action text on all eight cards */
.psdl-v5 .psdl-v5-card-footer,
.psdl-v5 .psdl-v5-card-footer strong {
    color: #606775 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

/* Remove the coloured circular background completely */
.psdl-v5 .psdl-v5-arrow {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;

    color: #111111 !important;

    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;

    padding: 0 !important;
}

/* Simple bold black arrow */
.psdl-v5 .psdl-v5-arrow svg {
    width: 23px !important;
    height: 23px !important;
    color: #111111 !important;
    stroke: #111111 !important;
}

/* Keep arrows black when the cards are hovered */
.psdl-v5 .psdl-v5-card:hover .psdl-v5-arrow {
    color: #111111 !important;
}

/* Compact mobile layout */
@media (max-width: 600px) {
    .psdl-v5 .psdl-v5-card-footer,
    .psdl-v5 .psdl-v5-card-footer strong {
        font-size: 12px !important;
    }

    .psdl-v5 .psdl-v5-arrow {
        width: 20px !important;
        height: 20px !important;
        flex-basis: 20px !important;
    }

    .psdl-v5 .psdl-v5-arrow svg {
        width: 20px !important;
        height: 20px !important;
    }
}


/* PSDL_GIRL_RIGHT_OVERLAY_V14 */

/* Position girl above the right-hand cards */
.psdl-v5 .psdl-v5-girl {
    position: absolute !important;
    right: -12px !important;
    top: 95px !important;
    width: 340px !important;
    max-width: 26% !important;
    height: auto !important;
    object-fit: contain !important;
    z-index: 3 !important;
    pointer-events: none !important;
    filter: none !important;
}

/* Keep heading clear */
.psdl-v5 .psdl-v5-header {
    max-width: calc(100% - 320px);
}

/* Cards stay in their original grid */
.psdl-v5 .psdl-v5-grid {
    position: relative !important;
    z-index: 2 !important;
}

/* Hide image on smaller screens */
@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-girl {
        display: none !important;
    }

    .psdl-v5 .psdl-v5-header {
        max-width: 900px;
    }
}


/* PSDL_GIRL_REPOSITION_V15 */

/* Move student to right edge, above the cards */
.psdl-v5 .psdl-v5-girl {
    position: absolute !important;
    right: -55px !important;
    top: -85px !important;
    width: 275px !important;
    max-width: 22% !important;
    height: auto !important;
    z-index: 3 !important;
    object-fit: contain !important;
    pointer-events: none !important;
}

/* Keep description from overlapping the image */
.psdl-v5 .psdl-v5-header {
    max-width: calc(100% - 260px) !important;
}

/* Preserve card stacking */
.psdl-v5 .psdl-v5-grid {
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-girl {
        display: none !important;
    }

    .psdl-v5 .psdl-v5-header {
        max-width: 900px !important;
    }
}


/* PSDL_GIRL_REFERENCE_ALIGNMENT_V16 */

@media (min-width: 1200px) {

    /* Reserve right-side space for the student */
    .psdl-v5 .psdl-v5-container {
        max-width: 1530px !important;
        padding-right: 285px !important;
    }

    /* Student stands beside the final card column */
    .psdl-v5 .psdl-v5-girl {
        display: block !important;
        position: absolute !important;

        top: 100px !important;
        right: 0 !important;

        width: 305px !important;
        max-width: none !important;
        height: auto !important;

        object-fit: contain !important;
        object-position: bottom right !important;

        z-index: 3 !important;
        pointer-events: none !important;
        filter: none !important;
    }

    /* Keep text from extending under the image */
    .psdl-v5 .psdl-v5-header {
        max-width: 880px !important;
    }

    /* Preserve four card columns */
    .psdl-v5 .psdl-v5-grid {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
        position: relative !important;
        z-index: 2 !important;
    }

}

@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-girl {
        display: none !important;
    }

    .psdl-v5 .psdl-v5-container {
        padding-right: 28px !important;
    }
}

@media (max-width: 600px) {
    .psdl-v5 .psdl-v5-container {
        padding-right: 13px !important;
    }
}


/* PSDL_GIRL_TALLER_V17 */

@media (min-width: 1200px) {

    /* Retain the area allocated for the student */
    .psdl-v5 .psdl-v5-container {
        max-width: 1530px !important;
        padding-right: 285px !important;
    }

    /* Larger student, extending towards the second card row */
    .psdl-v5 .psdl-v5-girl {
        display: block !important;
        position: absolute !important;

        top: 45px !important;
        right: -75px !important;

        width: 500px !important;
        max-width: none !important;
        height: auto !important;

        object-fit: contain !important;
        object-position: bottom right !important;

        z-index: 3 !important;
        pointer-events: none !important;
        filter: none !important;
    }

    .psdl-v5 .psdl-v5-grid {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .psdl-v5 .psdl-v5-header {
        max-width: 880px !important;
    }
}

/* Hide the decorative image when card layout switches */
@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-girl {
        display: none !important;
    }
}


/* PSDL_GIRL_BOTTOM_ALIGNMENT_V18 */

@media (min-width: 1200px) {

    /*
     * Anchor the girl relative to the full card grid.
     * Grid has two rows of cards.
     */

    .psdl-v5 .psdl-v5-container {
        max-width: 1530px !important;
        padding-right: 285px !important;
    }

    .psdl-v5 .psdl-v5-girl {
        display: block !important;
        position: absolute !important;

        /* Place head near the top of the cards */
        top: 185px !important;

        /* Keep the girl beside the final column */
        right: -75px !important;

        /* Taller image, without uncontrolled stretching */
        width: auto !important;
        height: 740px !important;
        max-width: none !important;
        max-height: none !important;

        object-fit: contain !important;
        object-position: bottom right !important;

        z-index: 3 !important;
        pointer-events: none !important;
        filter: none !important;
    }

    .psdl-v5 .psdl-v5-grid {
        position: relative !important;
        z-index: 2 !important;
        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-girl {
        display: none !important;
    }
}


/* PSDL_GIRL_FLIP_LEFT_V19 */

.psdl-v5 .psdl-v5-girl {
    transform: scaleX(-1) !important;
    transform-origin: center center !important;
}


/* PSDL_GIRL_BEHIND_CARDS_V20 */

@media (min-width: 1200px) {

    /* Positioning reference is exactly the card grid */
    .psdl-v5 .psdl-v20-stage {
        position: relative !important;
        isolation: isolate;
    }

    /* Card grid remains above the girl */
    .psdl-v5 .psdl-v5-grid {
        position: relative !important;
        z-index: 2 !important;
    }

    /*
     * Student image:
     * bottom: 0 aligns image to the second-row bottom.
     * Right placement uses the previously reserved space.
     */
    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        display: block !important;
        position: absolute !important;

        top: auto !important;
        bottom: 0 !important;
        right: -75px !important;

        height: 740px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;

        transform: scaleX(-1) !important;
        transform-origin: center center !important;

        object-fit: contain !important;
        object-position: bottom right !important;

        z-index: 1 !important;
        pointer-events: none !important;
    }
}

/* Hide decorative image on tablets and mobile */
@media (max-width: 1199px) {
    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        display: none !important;
    }
}


/* PSDL_GIRL_FAR_RIGHT_BLEND_V21 */

@media (min-width: 1200px) {

    /* Push the girl farther right */
    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        right: -140px !important;
        bottom: 0 !important;

        /* Keep the same general scale */
        height: 740px !important;
        width: auto !important;

        /* Softly fade the image into white at the bottom */
        -webkit-mask-image: linear-gradient(
            to bottom,
            rgba(0,0,0,1) 0%,
            rgba(0,0,0,1) 80%,
            rgba(0,0,0,0.85) 88%,
            rgba(0,0,0,0.35) 95%,
            rgba(0,0,0,0) 100%
        ) !important;

        mask-image: linear-gradient(
            to bottom,
            rgba(0,0,0,1) 0%,
            rgba(0,0,0,1) 80%,
            rgba(0,0,0,0.85) 88%,
            rgba(0,0,0,0.35) 95%,
            rgba(0,0,0,0) 100%
        ) !important;

        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-size: 100% 100% !important;
        mask-size: 100% 100% !important;
    }
}


/* PSDL_GIRL_MORE_RIGHT_V22 */

@media (min-width: 1200px) {

    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        /* Move much farther right so cards do not hide most of the image */
        right: -260px !important;

        /* Keep existing vertical placement */
        bottom: 0 !important;
        height: 740px !important;
        width: auto !important;
    }
}


/* PSDL_GIRL_RIGHT_V23 */

@media (min-width: 1200px) {

    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        right: -410px !important;
        bottom: 0 !important;
        height: 740px !important;
        width: auto !important;
    }

}


/* PSDL_GIRL_LEFT_60PX_V24 */

@media (min-width: 1200px) {
    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        right: -350px !important;
    }
}


/* PSDL_COMPACT_LETTER_CARDS_V25 */

/* Slightly smaller cards, retaining all pastel themes */
.psdl-v5 .psdl-v5-card {
    min-height: 220px !important;
    padding: 18px 17px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Large subtle grey alphabet labels */
.psdl-v5 .psdl-v25-letter {
    display: block;
    align-self: flex-start;
    font-size: 43px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2px;
    color: #a5a9b0;
    margin: 0 0 16px;
    opacity: 0.8;
}

/* SVG and title in the same horizontal row */
.psdl-v5 .psdl-v25-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin-bottom: 9px;
}

.psdl-v5 .psdl-v25-heading .psdl-v5-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 35px;
    width: 35px !important;
    height: 35px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.psdl-v5 .psdl-v25-heading .psdl-v5-icon svg {
    width: 34px !important;
    height: 34px !important;
    max-width: 100% !important;
}

/* Heading directly beside its SVG */
.psdl-v5 .psdl-v25-heading h3 {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: -0.3px;
}

/* Tighter descriptions */
.psdl-v5 .psdl-v5-card > p {
    margin: 0 0 12px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* Keep each card's action near its bottom */
.psdl-v5 .psdl-v5-card-footer {
    margin-top: auto !important;
    padding-top: 8px !important;
}

/* Slightly smaller gaps without changing column count */
.psdl-v5 .psdl-v5-grid {
    column-gap: 14px !important;
    row-gap: 14px !important;
}

/* Tablet and mobile */
@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-card {
        min-height: 205px !important;
    }
}

@media (max-width: 600px) {
    .psdl-v5 .psdl-v5-card {
        min-height: 195px !important;
        padding: 15px 12px !important;
    }

    .psdl-v5 .psdl-v25-letter {
        font-size: 35px;
        margin-bottom: 12px;
    }

    .psdl-v5 .psdl-v25-heading {
        gap: 7px;
    }

    .psdl-v5 .psdl-v25-heading .psdl-v5-icon {
        flex-basis: 26px;
        width: 26px !important;
        height: 26px !important;
    }

    .psdl-v5 .psdl-v25-heading .psdl-v5-icon svg {
        width: 26px !important;
        height: 26px !important;
    }

    .psdl-v5 .psdl-v25-heading h3 {
        font-size: 14px !important;
    }

    .psdl-v5 .psdl-v5-card > p {
        font-size: 12px !important;
    }
}


/* PSDL_CENTER_CTA_V26 */

/* Centre the button across the whole Discovery Lab section */
.psdl-v5 .psdl-v5-bottom {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
}

/* Preserve button appearance and centre its contents */
.psdl-v5 .psdl-v5-main-cta {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* PSDL_FULL_WIDTH_CTA_CENTER_V27 */

/*
 * The parent container reserves 285px for the girl.
 * Compensate by expanding the CTA wrapper into that space.
 */
@media (min-width: 1200px) {

    .psdl-v5 .psdl-v5-bottom {
        width: calc(100% + 285px) !important;
        max-width: none !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
    }

    .psdl-v5 .psdl-v5-main-cta {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 1199px) {
    .psdl-v5 .psdl-v5-bottom {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }
}


/* PSDL_MATCH_HOME_PAGE_PADDING_V28 */

/*
 * Use a balanced homepage section container.
 * Keep the girl in its own reserved area.
 */

.psdl-v5 .psdl-v5-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Desktop: retain space for the student on the right */
@media (min-width: 1200px) {

    .psdl-v5 .psdl-v5-container {
        max-width: 1320px !important;
        padding-left: 24px !important;
        padding-right: 285px !important;
    }

    /* Centre CTA across the full container */
    .psdl-v5 .psdl-v5-bottom {
        width: calc(100% + 261px) !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1199px) {
    .psdl-v5 .psdl-v5-container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .psdl-v5 .psdl-v5-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}


/* PSDL_GIRL_RIGHT_ALIGNMENT_V29 */

@media (min-width: 1200px) {
    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        right: -385px !important;
    }
}


/* PSDL_GIRL_MOVE_LEFT_V30 */

@media (min-width: 1200px) {
    .psdl-v5 .psdl-v20-stage .psdl-v5-girl {
        right: -335px !important;
    }
}
