/* Profile section headings: Archivo 700, 32px on XL/L, 24px on medium and 16px on small screens at 105%.
H5 = Archivo 500, 20/18/16px at 105%. */
body:has(.rr-profile) main.home {
    padding-top: 0 !important;
}

body:has(.rr-profile) header.rr-header {
    --rr-header-text: #171245;
    --rr-header-border: rgba(23,18,69,.3);
}

.rr-profile {
    background: #f9f9f9;
    color: #171245;
    font: 400 16px/1.15 'Noto Sans',sans-serif;
    letter-spacing: 0;
}

    .rr-profile *,
    .rr-profile *::before,
    .rr-profile *::after {
        box-sizing: border-box;
    }

.rr-profile__layout {
    max-width: 1440px;
    margin: auto;
    padding: 100px 72px 80px;
    display: grid;
    grid-template-columns: 307px minmax(0,756px);
    gap: 24px;
    align-items: start;
}

.rr-profile__identity {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

.rr-profile__portrait {
    display: block;
    width: 172px;
    height: 172px;
    border-radius: 50%;
    object-fit: cover;
}

.rr-profile__details {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

    .rr-profile__details > .rr-profile__h5,
    .rr-profile__details > .rr-profile__contact {
        opacity: .8;
    }

.rr-profile .rr-profile__h5 {
    margin: 0;
    font: 500 20px/1.05 'Archivo',sans-serif !important;
    color: inherit;
}

.rr-profile__contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rr-profile p {
    margin: 0 0 16px;
    font: inherit;
    color: inherit;
}

.rr-profile__contact p {
    margin: 0;
}

.rr-profile a {
    color: inherit;
    overflow-wrap: anywhere;
}

    .rr-profile a:hover {
        color: #6a59fd;
    }

    .rr-profile a:focus-visible {
        outline: 2px solid #6a59fd;
        outline-offset: 4px;
    }

.rr-profile__actions {
    display: flex;
    gap: 10px;
}

    .rr-profile__actions a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        background: #e8e8e8;
        border-radius: 50%;
    }

    .rr-profile__actions img {
        display: block;
    }

    .rr-profile__actions a:hover,
    .rr-profile__actions a:focus-visible {
        background: #171245;
    }

        .rr-profile__actions a:hover img,
        .rr-profile__actions a:focus-visible img {
            filter: brightness(0) invert(1);
        }

.rr-profile .rr-profile__actions a:focus-visible {
    outline: 1px solid #28ffff;
    outline-offset: -1px;
}

.rr-profile__body {
    display: flex;
    flex-direction: column;
    gap: 48px;
    min-width: 0;
    overflow-wrap: break-word;
}

.rr-profile .rr-profile__h3,
.rr-profile .rr-profile__section-title {
    margin: 0;
    color: inherit;
    font: 700 32px/1.05 'Archivo',sans-serif !important;
}

.rr-profile .rr-profile__section-title {
    margin-bottom: 16px;
}

.rr-profile__section > :last-child,
.rr-profile__section > div > :last-child {
    margin-bottom: 0;
}

.rr-profile ul,
.rr-profile ol {
    margin: 0;
    padding-left: 18px;
}

.rr-profile li {
    margin: 0 0 16px;
    font: inherit;
}

    .rr-profile li:last-child {
        margin-bottom: 0;
    }

.rr-profile__section img {
    max-width: 100%;
    height: auto;
}

.rr-profile__section table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 1439.98px) {
    .rr-profile__layout {
        padding-left: 40px;
        padding-right: 40px;
        grid-template-columns: 217px minmax(0,700px);
    }
}

@media (max-width: 999.98px) {
    .rr-profile__layout {
        padding-left: 20px;
        padding-right: 20px;
        grid-template-columns: minmax(0,1fr);
        gap: 48px;
    }

    .rr-profile__body {
        gap: 32px;
    }

    .rr-profile .rr-profile__h5 {
        font-size: 18px !important;
    }
}

@media (max-width: 749.98px) {
    .rr-profile__layout {
        padding: 100px 16px 48px;
        gap: 32px;
    }

    .rr-profile__identity {
        padding-bottom: 32px;
        border-bottom: 1px solid rgba(23,18,69,.3);
    }

    .rr-profile__body {
        gap: 24px;
    }

    .rr-profile .rr-profile__h5 {
        font-size: 16px !important;
    }
}

/* Typography sheet takes precedence over individual frame overrides. */
.rr-profile .rr-profile__h3,
.rr-profile .rr-profile__h5 {
    letter-spacing: 0;
}

@media (min-width: 750px) and (max-width: 999.98px) {
    .rr-profile .rr-profile__h3,
    .rr-profile .rr-profile__section-title {
        font-size: 24px !important;
    }

    .rr-profile .rr-profile__h5 {
        letter-spacing: -.03em;
    }
}

@media (max-width: 749.98px) {
    .rr-profile .rr-profile__h3,
    .rr-profile .rr-profile__section-title {
        font-size: 16px !important;
    }

    .rr-profile .rr-profile__h5 {
        font-size: 16px !important;
        letter-spacing: -.03em;
    }
}
