/*
|--------------------------------------------------------------------------
| CGEI Partnerships Page
|--------------------------------------------------------------------------
*/

.partnerships-page {
    width: 100%;
    margin: 0;
    padding: 26px 0 30px;

    background: #ffffff;
    color: #111111;
}

.partnerships-page,
.partnerships-page * {
    box-sizing: border-box;
}

.partnerships-content {
    width: calc(100% - 40px);
    max-width: calc(var(--content-width) - 40px);

    margin: 0 auto;
    padding: 0;
}

/*
|--------------------------------------------------------------------------
| Remove inherited decorative heading marks
|--------------------------------------------------------------------------
*/

.partnerships-page h1::before,
.partnerships-page h1::after,
.partnerships-page h2::before,
.partnerships-page h2::after,
.partnerships-page h3::before,
.partnerships-page h3::after {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    content: none !important;
}

/*
|--------------------------------------------------------------------------
| Introduction
|--------------------------------------------------------------------------
*/

.partnerships-introduction {
    width: 100%;
    margin: 0;
    padding: 0 10px 28px;
}

.partnerships-introduction p {
    margin: 0;
    padding: 0;

    color: #000000;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;

    text-align: justify;
    text-align-last: left;
    text-justify: inter-word;
}

/*
|--------------------------------------------------------------------------
| Shared section headings
|--------------------------------------------------------------------------
*/

.partnerships-section-heading {
    margin: 0 0 16px;
    padding: 0;

    color: #001d50;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

/*
|--------------------------------------------------------------------------
| What Partners Can Access
|--------------------------------------------------------------------------
*/

.partner-access-section {
    width: 100%;
    margin: 0;
    padding: 0;
}

.partner-access-grid {
    display: grid;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );

    width: 100%;
    margin: 0;
    padding: 0;

    border-top: 1px solid #c6ceda;
    border-left: 1px solid #c6ceda;
}

.partner-access-card {
    min-width: 0;
    min-height: 188px;

    margin: 0;
    padding: 26px 28px;

    border-right: 1px solid #c6ceda;
    border-bottom: 1px solid #c6ceda;
}

.partner-access-card h2 {
    margin: 0 0 13px;
    padding: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.28;
    text-align: left;
}

.partner-access-card p {
    margin: 0;
    padding: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.62;
    text-align: left;
}

.partner-access-card-blue {
    border-color: #d4af37;

    background:
        linear-gradient(
            115deg,
            #00163e 0%,
            #00275f 58%,
            #001235 100%
        );

    color: #ffffff;
}

.partner-access-card-blue h2,
.partner-access-card-blue p {
    color: #ffffff;
}

.partner-access-card-white {
    background: #ffffff;
    color: #111111;
}

.partner-access-card-white h2 {
    color: #00163e;
}

/*
|--------------------------------------------------------------------------
| Other Institutional Engagements
|--------------------------------------------------------------------------
*/

.institutional-engagements-section {
    width: 100%;
    margin: 37px 0 0;
    padding: 0;
}

.institutional-engagements-introduction {
    width: 100%;
    margin: 0;
    padding: 21px 24px;

    border: 1px solid #c6ceda;
    background: #ffffff;
}

.institutional-engagements-introduction p {
    margin: 0;
    padding: 0;

    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;

    text-align: justify;
    text-align-last: left;
    text-justify: inter-word;
}

.institutional-engagements-grid {
    display: grid;
    grid-template-columns: repeat(
        4,
        minmax(0, 1fr)
    );

    width: 100%;
    margin: 22px 0 0;
    padding: 0;

    border-top: 1px solid #d4af37;
    border-left: 1px solid #d4af37;
}

.institutional-engagement-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;

    min-width: 0;
    min-height: 150px;

    margin: 0;
    padding: 23px 18px;

    border-right: 1px solid #d4af37;
    border-bottom: 1px solid #d4af37;

    background:
        linear-gradient(
            115deg,
            #00163e 0%,
            #00275f 58%,
            #001235 100%
        );

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;

    transition:
        background-color 160ms ease,
        box-shadow 160ms ease;
}

.institutional-engagement-card:hover,
.institutional-engagement-card:focus-visible {
    background: #00275f;
    box-shadow: inset 0 -4px 0 #d4af37;
}

.institutional-engagement-card:focus-visible {
    outline: 2px solid #d4af37;
    outline-offset: 3px;
}

.institutional-engagement-arrow {
    display: block;

    color: #d4af37;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 700;
    line-height: 1;
}

/*
|--------------------------------------------------------------------------
| Partnership enquiry split section
|--------------------------------------------------------------------------
*/

.partnership-enquiry-section {
    display: grid;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );
    align-items: stretch;

    width: 100%;
    margin: 22px 0 0;
    padding: 0;

    border: 1px solid #c6ceda;
    background: #ffffff;
}

.partnership-enquiry-visual-panel,
.partnership-enquiry-form-panel {
    min-width: 0;
}

/*
|--------------------------------------------------------------------------
| Partnership Pack side
|--------------------------------------------------------------------------
*/

.partnership-enquiry-visual-panel {
    display: grid;
    grid-template-rows:
        auto
        minmax(0, 1fr);

    min-height: 0;
    overflow: hidden;

    border-right: 1px solid #c6ceda;

    background: #f7f8fa;
}

.partnership-enquiry-callout {
    position: relative;
    z-index: 2;

    width: 100%;
    margin: 0;
    padding: 0;

    background: #f7f8fa;
}

.partnership-enquiry-callout h2 {
    margin: 0;
    padding: 13px 20px 11px;

    color: #00163e;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.partnership-enquiry-callout p {
    margin: 0 10px;
    padding: 9px 16px 10px;

    background:
        linear-gradient(
            115deg,
            #00163e 0%,
            #00275f 58%,
            #001235 100%
        );

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

/*
|--------------------------------------------------------------------------
| Partnership Pack image
|--------------------------------------------------------------------------
|
| Keep the large image treatment already approved.
| Preserve a genuine minimum 18px breathing space above and below.
|--------------------------------------------------------------------------
*/

.partnership-pack-visual {
    display: flex;
    align-items: stretch;
    justify-content: center;

    width: 100%;
    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 18px 0;

    overflow: hidden;

    background: #f7f8fa;
}

.partnership-pack-visual img {
    display: block;
    flex: none;

    position: static;

    width: 112%;
    height: 100%;

    max-width: none;
    max-height: none;

    margin: 0;

    object-fit: cover;
    object-position: center;

    transform: none;
}

/*
|--------------------------------------------------------------------------
| Partnership enquiry form panel
|--------------------------------------------------------------------------
*/

.partnership-enquiry-form-panel {
    display: flex;
    flex-direction: column;

    min-height: 0;

    background: #ffffff;
}

.partnership-enquiry-heading {
    flex: 0 0 auto;

    margin: 0;
    padding: 13px 18px;

    border-bottom: 1px solid #c6ceda;

    color: #00163e;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

/*
|--------------------------------------------------------------------------
| Form status messages
|--------------------------------------------------------------------------
*/

.partnership-form-message {
    flex: 0 0 auto;

    margin: 14px 14px 0;
    padding: 12px 14px;

    border: 1px solid #c6ceda;
    border-radius: 5px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    line-height: 1.5;
}

.partnership-form-message-success {
    border-color: #7fa88a;
    background: #f2f8f3;
    color: #173d22;
}

.partnership-form-message-error {
    border-color: #bb8585;
    background: #fff5f5;
    color: #6a1818;
}

/*
|--------------------------------------------------------------------------
| Form
|--------------------------------------------------------------------------
|
| The form now fills the complete height available beneath the heading.
| Any surplus height is absorbed by the statement field rather than
| appearing as blank space below Submit.
|--------------------------------------------------------------------------
*/

.partnership-enquiry-form {
    position: relative;

    display: flex;
    flex: 1 1 auto;
    flex-direction: column;

    width: 100%;
    min-height: 0;

    margin: 0;
    padding: 0;
}

.partnership-honeypot {
    position: absolute !important;
    left: -10000px !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;
}

.partnership-form-grid {
    display: grid;
    flex: 0 0 auto;

    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );

    width: 100%;
    margin: 0;
    padding: 0;
}

.partnership-form-field {
    display: grid;
    align-content: start;
    gap: 5px;

    min-width: 0;
    margin: 0;
    padding: 10px 11px 11px;

    border: 0;
    border-right: 1px solid #c6ceda;
    border-bottom: 1px solid #c6ceda;

    background: #ffffff;
}

.partnership-form-grid
> .partnership-form-field:nth-child(2n) {
    border-right: 0;
}

/*
|--------------------------------------------------------------------------
| Brief Statement of Interest
|--------------------------------------------------------------------------
|
| This is the flexible element of the form. If the equal-height layout
| produces a small amount of surplus vertical room, the textarea expands
| to use it. No surplus is placed above or below the Submit button.
|--------------------------------------------------------------------------
*/

.partnership-enquiry-form
> .partnership-form-field-full:has(textarea) {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;

    min-height: 120px;
}

.partnership-enquiry-form
> .partnership-form-field-full:has(textarea)
textarea {
    flex: 1 1 auto;

    height: auto;
    min-height: 88px;
}

/*
|--------------------------------------------------------------------------
| Form labels
|--------------------------------------------------------------------------
*/

.partnership-form-field label,
.partnership-form-field legend {
    margin: 0;
    padding: 0;

    color: #000000;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.partnership-form-field input[type="text"],
.partnership-form-field input[type="email"],
.partnership-form-field input[type="tel"],
.partnership-form-field input[type="file"],
.partnership-form-field select,
.partnership-form-field textarea {
    display: block;

    width: 100%;
    min-width: 0;

    border: 1px solid #cbd2dc;
    border-radius: 3px;

    background: #ffffff;
    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
}

.partnership-form-field input[type="text"],
.partnership-form-field input[type="email"],
.partnership-form-field input[type="tel"],
.partnership-form-field select {
    min-height: 38px;
    padding: 8px 9px;
}

.partnership-form-field input[type="file"] {
    min-height: 38px;
    padding: 6px;
}

.partnership-form-field textarea {
    min-height: 88px;
    padding: 9px;

    resize: vertical;
}

.partnership-form-field input::placeholder,
.partnership-form-field textarea::placeholder {
    color: #777777;
    opacity: 1;
}

.partnership-form-field input:focus,
.partnership-form-field select:focus,
.partnership-form-field textarea:focus,
.partnership-multi-select:focus-within {
    border-color: #001d50;

    outline: 2px solid rgba(0, 29, 80, 0.16);
    outline-offset: 1px;
}

/*
|--------------------------------------------------------------------------
| Telephone
|--------------------------------------------------------------------------
*/

.partnership-telephone-grid {
    display: grid;
    grid-template-columns:
        minmax(150px, 0.9fr)
        minmax(0, 1.1fr);
    gap: 7px;
}

/*
|--------------------------------------------------------------------------
| Geographic Presence multi-select
|--------------------------------------------------------------------------
*/

.partnership-multi-field {
    min-width: 0;
}

.partnership-multi-field legend {
    float: left;

    width: 100%;
    margin: 0 0 5px;

    color: #000000;
}

.partnership-multi-field legend + * {
    clear: both;
}

.partnership-multi-select {
    position: relative;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 0;

    border: 1px solid #cbd2dc;
    border-radius: 3px;

    background: #ffffff;
}

.partnership-multi-select summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 38px;
    padding: 8px 30px 8px 9px;

    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    line-height: 1.35;

    cursor: pointer;
    list-style: none;
}

.partnership-multi-select
summary::-webkit-details-marker {
    display: none;
}

.partnership-multi-select summary::after {
    position: absolute;
    top: 50%;
    right: 10px;

    width: 7px;
    height: 7px;

    border-right: 1px solid #00163e;
    border-bottom: 1px solid #00163e;

    content: "";

    transform:
        translateY(-65%)
        rotate(45deg);
}

.partnership-multi-select[open]
summary::after {
    transform:
        translateY(-25%)
        rotate(225deg);
}

.partnership-multi-summary {
    display: block;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.partnership-multi-options {
    position: absolute;
    top: calc(100% + 3px);
    right: -1px;
    left: -1px;
    z-index: 50;

    display: grid;
    gap: 0;

    overflow: hidden;

    border: 1px solid #9ca9ba;
    border-radius: 3px;

    background: #ffffff;

    box-shadow:
        0 8px 20px
        rgba(0, 18, 53, 0.14);
}

.partnership-multi-options label {
    display: grid;
    grid-template-columns:
        18px
        minmax(0, 1fr);
    align-items: start;
    gap: 8px;

    padding: 9px 10px;

    border-bottom: 1px solid #e2e5ea;

    color: #111111;

    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.35;

    cursor: pointer;
}

.partnership-multi-options label:last-child {
    border-bottom: 0;
}

.partnership-multi-options label:hover {
    background: #f4f6f9;
}

.partnership-multi-options
input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 1px 0 0;

    accent-color: #001d50;
}

/*
|--------------------------------------------------------------------------
| Full-width rows
|--------------------------------------------------------------------------
*/

.partnership-form-field-full {
    border-right: 0;
}

.partnership-enquiry-form
> .partnership-form-field-full:not(:has(textarea)) {
    flex: 0 0 auto;
}

.partnership-file-note {
    margin: 1px 0 0;
    padding: 0;

    color: #555555;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.5px;
    line-height: 1.35;
}

/*
|--------------------------------------------------------------------------
| Consent rows
|--------------------------------------------------------------------------
*/

.partnership-consent-group {
    display: grid;
    flex: 0 0 auto;
    gap: 7px;

    width: 100%;
    margin: 0;
    padding: 10px 11px 11px;

    border-bottom: 1px solid #c6ceda;
    background: #ffffff;
}

.partnership-consent-row {
    display: grid;
    grid-template-columns:
        16px
        minmax(0, 1fr);
    align-items: start;
    gap: 7px;

    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.4;
}

.partnership-consent-row
input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 2px 0 0;

    accent-color: #001d50;
}

.partnership-consent-row a {
    color: #001d50;
    font-weight: 700;

    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/*
|--------------------------------------------------------------------------
| Submit button
|--------------------------------------------------------------------------
|
| Submit follows the consent statements immediately. It is never pushed
| away from them with margin-top:auto.
|--------------------------------------------------------------------------
*/

.partnership-submit-button {
    display: block;
    flex: 0 0 auto;

    width: 100%;
    min-height: 44px;

    margin: 0;
    padding: 10px 18px;

    border: 0;
    border-radius: 0;

    background:
        linear-gradient(
            115deg,
            #00163e 0%,
            #00275f 58%,
            #001235 100%
        );

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;

    cursor: pointer;
}

.partnership-submit-button:hover,
.partnership-submit-button:focus-visible {
    background: #00275f;
}

.partnership-submit-button:focus-visible {
    outline: 2px solid #d4af37;
    outline-offset: 3px;
}

/*
|--------------------------------------------------------------------------
| Standard desktop screens
|--------------------------------------------------------------------------
*/

@media (max-width: 1200px) {

    .partnerships-section-heading {
        font-size: 22px;
    }

    .partner-access-card {
        min-height: 174px;
        padding: 23px 24px;
    }

    .partner-access-card h2 {
        font-size: 20px;
    }

    .institutional-engagement-card {
        min-height: 142px;
        font-size: 19px;
    }

    .partnership-enquiry-section {
        grid-template-columns:
            minmax(330px, 0.88fr)
            minmax(0, 1.12fr);
    }

    .partnership-telephone-grid {
        grid-template-columns: 1fr;
    }

    .partnership-pack-visual {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .partnership-pack-visual img {
        width: 116%;
        height: 100%;
    }
}

/*
|--------------------------------------------------------------------------
| Tablets
|--------------------------------------------------------------------------
*/

@media (max-width: 900px) {

    .partnerships-page {
        padding-top: 22px;
    }

    .partnerships-introduction {
        padding-right: 4px;
        padding-left: 4px;
    }

    .partnerships-introduction p {
        font-size: 16px;
    }

    .partner-access-grid {
        grid-template-columns: 1fr;
    }

    .partner-access-grid
    .partner-access-card:nth-child(3) {
        order: 4;
    }

    .partner-access-card {
        min-height: auto;
    }

    .institutional-engagements-grid {
        grid-template-columns: repeat(
            2,
            minmax(0, 1fr)
        );
    }

    .institutional-engagement-card {
        min-height: 126px;
    }

    .partnership-enquiry-section {
        grid-template-columns: 1fr;
    }

    .partnership-enquiry-visual-panel {
        grid-template-rows:
            auto
            minmax(360px, 46vw);

        border-right: 0;
        border-bottom: 1px solid #c6ceda;
    }

    .partnership-pack-visual {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .partnership-pack-visual img {
        width: 108%;
        height: 100%;
    }

    .partnership-enquiry-form {
        flex: initial;
    }

    .partnership-enquiry-form
    > .partnership-form-field-full:has(textarea) {
        flex: initial;
    }

    .partnership-enquiry-form
    > .partnership-form-field-full:has(textarea)
    textarea {
        flex: initial;
        min-height: 110px;
    }

    .partnership-telephone-grid {
        grid-template-columns:
            minmax(150px, 0.9fr)
            minmax(0, 1.1fr);
    }
}

/*
|--------------------------------------------------------------------------
| Mobile devices
|--------------------------------------------------------------------------
*/

@media (max-width: 620px) {

    .partnerships-page {
        padding: 18px 0 24px;
    }

    .partnerships-content {
        width: calc(100% - 28px);
    }

    .partnerships-introduction {
        padding: 0 0 22px;
    }

    .partnerships-introduction p {
        font-size: 15px;
        line-height: 1.62;
        text-align: left;
    }

    .partnerships-section-heading {
        margin-bottom: 13px;
        font-size: 20px;
    }

    .partner-access-card {
        padding: 20px;
    }

    .partner-access-card h2 {
        font-size: 18px;
    }

    .partner-access-card p,
    .institutional-engagements-introduction p {
        font-size: 14px;
    }

    .institutional-engagements-section {
        margin-top: 30px;
    }

    .institutional-engagements-introduction {
        padding: 18px;
    }

    .institutional-engagements-introduction p {
        font-weight: 400;
        text-align: left;
    }

    .institutional-engagements-grid {
        grid-template-columns: 1fr;
    }

    .institutional-engagement-card {
        min-height: 104px;
        gap: 8px;

        font-size: 18px;
    }

    .institutional-engagement-arrow {
        font-size: 26px;
    }

    .partnership-enquiry-callout h2 {
        padding-right: 14px;
        padding-left: 14px;

        font-size: 17px;
    }

    .partnership-enquiry-callout p {
        margin-right: 8px;
        margin-left: 8px;

        font-size: 16px;
    }

    .partnership-enquiry-visual-panel {
        grid-template-rows:
            auto
            330px;
    }

    .partnership-pack-visual {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .partnership-pack-visual img {
        width: 112%;
        height: 100%;
    }

    .partnership-enquiry-heading {
        font-size: 18px;
    }

    .partnership-form-grid {
        grid-template-columns: 1fr;
    }

    .partnership-form-grid
    > .partnership-form-field {
        border-right: 0;
    }

    .partnership-form-field {
        padding: 10px 11px;
    }

    .partnership-telephone-grid {
        grid-template-columns: 1fr;
    }

    .partnership-multi-options {
        position: static;

        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 0;

        box-shadow: none;
    }

    .partnership-submit-button {
        min-height: 46px;
        margin: 0;
    }
}

/*
|--------------------------------------------------------------------------
| Partner Portal rearranged layout
|--------------------------------------------------------------------------
*/

.partnerships-page,
.partnerships-page * {
    font-family: Georgia, "Times New Roman", serif;
}

.partnerships-page {
    font-size: 13pt;
}

.partnerships-page p,
.partnerships-page a,
.partnerships-page label,
.partnerships-page input,
.partnerships-page select,
.partnerships-page textarea,
.partnerships-page button,
.partnerships-page summary,
.partnerships-page legend {
    font-size: 13pt !important;
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

.partnerships-content {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
    grid-template-areas:
        "access enquiry"
        "engagements enquiry"
        "login login";
    gap: 28px 30px;
    align-items: stretch;
}

.partner-access-section {
    grid-area: access;
    min-width: 0;
    margin: 0;
}

.partner-access-section .partnerships-section-heading {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 24px;
    text-align: center;
}

.partner-access-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
    border: 0;
}

.partner-access-card {
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 30px 28px;
    border: 1px solid #d4af37;
}

.partner-access-card h2 {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 20px;
    padding: 0 0 7px;
    border-bottom: 5px solid #d4af37;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    line-height: 1.2;
}

.partner-access-card p {
    margin: 0;
    color: #ffffff;
    line-height: 1.55;
    text-align: left;
}

.institutional-engagements-section {
    grid-area: engagements;
    min-width: 0;
    margin: 0;
}

.institutional-engagements-introduction {
    margin: 0 0 22px;
}

.institutional-engagements-introduction p {
    margin: 0;
    line-height: 1.55;
    text-align: justify;
    text-justify: inter-word;
}

.institutional-engagements-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
    margin-top: 0;
    border: 0;
}

.institutional-engagement-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    min-height: 150px;
    margin: 0;
    padding: 24px 22px;
    border: 1px solid #d4af37;
}

.institutional-engagement-card > span:first-child {
    display: block;
    width: fit-content;
    max-width: calc(100% - 35px);
    padding: 0 0 7px;
    border-bottom: 5px solid #d4af37;
    color: #ffffff;
    font-size: 13pt;
    font-weight: 700;
    line-height: 1.2;
}

.institutional-engagement-arrow {
    flex: 0 0 auto;
    color: #d4af37;
    font-size: 24pt !important;
    line-height: 1;
}

.partnership-enquiry-section {
    grid-area: enquiry;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    height: 100%;
    margin: 0;
}

.partnership-enquiry-visual-panel,
.partnership-enquiry-form-panel {
    width: 100%;
    min-width: 0;
}

.partnership-enquiry-visual-panel {
    grid-template-rows: auto;
    min-height: 0;
    padding: 28px 26px 18px;
}

.partnership-enquiry-callout {
    margin: 0;
}

.partnership-enquiry-callout h2 {
    margin: 0 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    line-height: 1.25;
}

.partnership-enquiry-callout p {
    margin: 0;
    font-weight: 400;
}

.partnership-enquiry-form-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 12px 26px 28px;
}

.partnership-enquiry-heading {
    margin-top: 0;
}

.partnership-enquiry-form {
    flex: 1 1 auto;
}

.partner-login-section {
    grid-area: login;
    width: 100%;
    margin: 0;
    padding: 28px 34px 32px;
    border: 2px solid #c9d1dc;
    background: #ffffff;
}

.partner-login-section h2 {
    margin: 0 0 24px;
    color: #00163e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    line-height: 1.2;
    text-align: center;
}

.partner-login-form {
    width: min(720px, 100%);
    margin: 0 auto;
}

.partner-login-field {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    margin: 0 0 12px;
}

.partner-login-field label {
    padding-right: 16px;
    color: #111111;
    text-align: right;
}

.partner-login-field input {
    width: 100%;
    min-height: 48px;
    padding: 8px 12px;
    border: 2px solid #7890aa;
    color: #111111;
    background: #ffffff;
}

.partner-login-form button {
    display: block;
    margin: 24px auto 0;
    padding: 8px 30px;
    border: 0;
    color: #00163e;
    background: transparent;
    font-weight: 700;
    cursor: not-allowed;
    opacity: 1;
}

.partner-password-recovery {
    width: calc(100% - 150px);
    margin: 2px 0 0 150px;
    color: #111111;
    line-height: 1.4;
    text-align: left;
}

.partner-password-recovery a {
    color: #00163e;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.partner-password-recovery a:hover,
.partner-password-recovery a:focus-visible {
    color: #b58f19;
}

@media (max-width: 1080px) {
    .partnerships-content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "access"
            "engagements"
            "enquiry"
            "login";
    }

    .partnership-enquiry-section {
        height: auto;
    }
}

@media (max-width: 720px) {
    .partner-access-grid,
    .institutional-engagements-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .partner-access-card,
    .institutional-engagement-card {
        min-height: 0;
    }

    .partner-login-field {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .partner-login-field label {
        padding-right: 0;
        text-align: left;
    }

    .partner-password-recovery {
        width: 100%;
        margin-left: 0;
    }
}

/*
|--------------------------------------------------------------------------
| Corrected equal-height two-column structure
|--------------------------------------------------------------------------
*/

.partnerships-content {
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    grid-template-areas:
        "left enquiry"
        "login login";
    align-items: stretch;
}

.partner-portal-left-column {
    grid-area: left;
    display: flex;
    flex-direction: column;
    gap: 28px;
    min-width: 0;
    height: 100%;
}

.partner-access-section,
.institutional-engagements-section {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    min-height: 0;
}

.partner-access-grid,
.institutional-engagements-grid {
    flex: 1 1 auto;
}

.partner-access-card,
.institutional-engagement-card {
    height: 100%;
}

.partnership-enquiry-section {
    overflow: visible;
}

.partnership-enquiry-form-panel,
.partnership-enquiry-form,
.partnership-form-grid,
.partnership-form-field {
    overflow: visible;
}

.partnership-form-field {
    height: auto;
    min-height: max-content;
}

.partnership-form-field label,
.partnership-form-field legend {
    height: auto;
    min-height: max-content;
    overflow: visible;
    font-size: 13pt;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
}

.partnership-enquiry-form-panel {
    padding-top: 0;
}

@media (max-width: 1180px) {
    .partnerships-content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "left"
            "enquiry"
            "login";
    }

    .partner-portal-left-column,
    .partnership-enquiry-section {
        height: auto;
    }

    .partner-access-section,
    .institutional-engagements-section {
        flex: initial;
    }
}

/* Centre access-card headings and constrain each gold underline. */
.partner-access-card h2 {
    display: table;
    width: auto;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.partner-access-card p {
    text-align: justify;
    text-align-last: left;
    text-justify: inter-word;
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

/*
|--------------------------------------------------------------------------
| Compact form and natural left-segment heights
|--------------------------------------------------------------------------
*/

.partnerships-content {
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
}

.partner-portal-left-column {
    height: auto;
}

.partner-access-section,
.institutional-engagements-section {
    flex: 0 0 auto;
}

.partner-access-grid,
.institutional-engagements-grid {
    flex: initial;
}

.partner-access-card,
.institutional-engagement-card {
    height: auto;
}

.institutional-engagement-card {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 118px;
    padding: 18px 16px;
    text-align: center;
}

.institutional-engagement-card > span:first-child {
    max-width: 100%;
    text-align: center;
}

.institutional-engagement-arrow {
    display: block;
    margin: 0;
}

.partnership-enquiry-visual-panel {
    padding: 18px 18px 12px;
}

.partnership-enquiry-callout h2 {
    margin-bottom: 10px;
}

.partnership-enquiry-form-panel {
    height: auto;
    padding: 0 18px 18px;
}

.partnership-form-field {
    gap: 3px;
    padding: 6px 8px 7px;
}

.partnership-form-field label,
.partnership-form-field legend {
    line-height: 1.2;
}

.partnership-form-field input[type="text"],
.partnership-form-field input[type="email"],
.partnership-form-field input[type="tel"],
.partnership-form-field select,
.partnership-multi-select summary {
    min-height: 34px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.partnership-form-field input[type="file"] {
    min-height: 34px;
    padding: 4px 6px;
}

.partnership-enquiry-form
> .partnership-form-field-full:has(textarea) {
    min-height: 88px;
}

.partnership-enquiry-form
> .partnership-form-field-full:has(textarea)
textarea {
    min-height: 68px;
    padding: 7px 8px;
}

.partnership-consent-group {
    gap: 4px;
    padding: 7px 8px 8px;
}

.partnership-submit-button {
    min-height: 40px;
    padding: 7px 16px;
}

@media (max-width: 1180px) {
    .partnerships-content {
        grid-template-columns: minmax(0, 1fr);
    }
}
/*
|--------------------------------------------------------------------------
| Uniform word spacing in the two access cards
|--------------------------------------------------------------------------
*/

.partner-access-card p {
    text-align: left;
    text-align-last: left;
    text-justify: auto;

    word-spacing: normal;
    letter-spacing: normal;

    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}
/*
|--------------------------------------------------------------------------
| Partnership form control text
|--------------------------------------------------------------------------
*/

.partnership-enquiry-form input,
.partnership-enquiry-form select,
.partnership-enquiry-form textarea,
.partnership-enquiry-form summary,
.partnership-enquiry-form option,
.partnership-enquiry-form input::file-selector-button,
.partnership-enquiry-form input::placeholder,
.partnership-enquiry-form textarea::placeholder {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12pt;
}
/*
|--------------------------------------------------------------------------
| Commissioned Research underline correction
|--------------------------------------------------------------------------
*/

.partner-access-research-card h2 {
    padding-bottom: 0;
    border-bottom: 0;

    text-decoration-line: underline;
    text-decoration-color: #d4af37;
    text-decoration-thickness: 5px;
    text-underline-offset: 7px;
    text-decoration-skip-ink: none;
}
/*
|--------------------------------------------------------------------------
| Commissioned Research single underline
|--------------------------------------------------------------------------
*/

.partner-access-research-card h2 {
    display: block;
    width: 100%;

    margin-right: auto;
    margin-left: auto;
    padding-bottom: 0;

    border-bottom: 0;

    text-align: center;
    text-decoration: none;
}

.partner-access-research-card h2 span {
    display: inline-block;

    width: auto;
    max-width: 100%;

    padding-bottom: 7px;

    border-bottom: 5px solid #d4af37;

    text-decoration: none;
}
/* =========================================================
   FINAL COMMISSIONED RESEARCH UNDERLINE CORRECTION
   ========================================================= */

.partner-access-research-card h2 {
    position: relative !important;
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-bottom: 12px !important;
    border: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* Removes any underline previously applied to an inner span */
.partner-access-research-card h2 span {
    display: inline !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-decoration: none !important;
}

/* Creates one deliberately shorter line beneath the whole heading */
.partner-access-research-card h2::after {
    content: "" !important;
    position: absolute !important;
    right: 20% !important;
    bottom: 0 !important;
    left: 20% !important;
    display: block !important;
    width: auto !important;
    height: 5px !important;
    border: 0 !important;
    background-color: #d4af37 !important;
}
/* Partner Login feedback */
.partner-login-message {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-left: 3px solid #001d50;
    background: #f4f6f9;
    color: #142033;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    line-height: 1.45;
}
.partner-login-message-error { border-left-color: #9a2b2b; background: #fff5f5; }
.partner-login-message-success { border-left-color: #22633b; background: #f3faf5; }

.partner-login-form button {
    min-width: 132px;
    padding: 11px 26px;
    border: 1px solid #00163e;
    background: #00163e;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.partner-login-form button:hover,
.partner-login-form button:focus-visible {
    border-color: #e67800;
    background: #e67800;
    color: #ffffff;
    outline: none;
}
.partner-login-field input:focus {
    border-color: #e67800;
    outline: 2px solid rgba(230, 120, 0, .13);
    outline-offset: 1px;
    background: #ffffff;
}


/* =========================================================
   Partner Portal public-page corrections — 2026-08-26
   ========================================================= */

/* The Commissioned Research gold rule must match the full heading width. */
.partner-access-research-card h2::after {
    right: 0 !important;
    left: 0 !important;
}

/* Place the enquiry callout at the top edge of the right-hand card. */
.partnership-enquiry-visual-panel {
    padding-top: 0 !important;
}

.partnership-enquiry-callout h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Keep the native file-name display and maximum file size on one line. */
.partnership-file-control-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.partnership-file-control-row input[type="file"] {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.partnership-file-control-row .partnership-file-note {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    color: #111111;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12pt;
    line-height: 1.2;
    white-space: nowrap;
}

/* Logout feedback is centred. */
.partner-login-message {
    text-align: center;
}

@media (max-width: 720px) {
    .partnership-file-control-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .partnership-file-control-row input[type="file"] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow: hidden;
    }
}


/* =========================================================
   Commissioned Research copy and Partner Login controls
   ========================================================= */

/* Commissioned Research body copy is justified. */
.partner-access-research-card p {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: inter-word !important;
}

/* Password visibility control sits inside the password field. */
.partner-password-input-wrap {
    position: relative;
    width: 100%;
}

.partner-password-input-wrap input {
    width: 100%;
    padding-right: 46px !important;
}

.partner-login-form .partner-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #00163e;
    cursor: pointer;
}

.partner-login-form .partner-password-toggle svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.partner-login-form .partner-password-toggle:hover,
.partner-login-form .partner-password-toggle:focus-visible {
    border: 0;
    background: transparent;
    color: #d4af37;
    outline: 2px solid #d4af37;
    outline-offset: 1px;
}

/* Keep the login action styling from applying to the password visibility control. */
.partner-login-form button[type="submit"] {
    min-width: 132px;
    padding: 11px 26px;
    border: 1px solid #00163e;
    background: #00163e;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13pt;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.partner-login-form button[type="submit"]:hover,
.partner-login-form button[type="submit"]:focus-visible {
    border-color: #e67800;
    background: #e67800;
    color: #ffffff;
    outline: none;
}


/* 2026-09-28 targeted partnership-page corrections */
@media (min-width: 1181px) {
    .partnerships-content { align-items: stretch; }
    .partner-portal-left-column,
    .partnership-enquiry-section { align-self: stretch; height: 100%; }
    .partnership-enquiry-section { grid-template-rows: auto minmax(0, 1fr); }
    .partnership-enquiry-form-panel,
    .partnership-enquiry-form { min-height: 0; height: 100%; }
}
.institutional-engagement-card > span:first-child { font-size: 13pt; }


/* 2026-09-28 final targeted corrections: preserve all other page typography/layout */
@media (min-width: 1181px) {
    .partnerships-content {
        align-items: stretch !important;
    }

    .partner-portal-left-column,
    .partnership-enquiry-section {
        align-self: stretch !important;
        height: 100% !important;
        min-height: 100% !important;
    }

    .partnership-enquiry-section {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
    }

    .partnership-enquiry-form-panel {
        height: 100% !important;
    }
}

.partner-access-card h2 {
    font-size: 13pt !important;
}

.institutional-engagement-card > span:first-child {
    font-size: 13pt !important;
}
