/* Refresh CTAs: rr-btn plus exactly one of rr-btn--primary / rr-btn--secondary.
   Page styles own spacing and placement; this file owns button appearance. */
:root {
    --rr-btn-navy: #171245;
    --rr-btn-purple: #6A59FD;
    --rr-btn-white: #F9F9F9;
}
/* Adapt the two button types to coloured surfaces. */
.rr-hero {
    --rr-btn-primary-bg: var(--rr-hero-ink, #171245);
    --rr-btn-primary-text: var(--rr-hero-on-ink, #f9f9f9);
    --rr-btn-primary-hover-bg: var(--rr-hero-button-hover-bg, var(--rr-btn-purple));
    --rr-btn-primary-hover-text: var(--rr-btn-white);
    --rr-btn-secondary-ink: var(--rr-hero-ink, #171245);
    --rr-btn-secondary-hover-text: var(--rr-hero-on-ink, #f9f9f9);
}
:where(.rr-careers__actions) {
    --rr-btn-primary-hover-bg: var(--rr-btn-white);
    --rr-btn-primary-hover-text: var(--rr-btn-navy);
}
:where(.rr-footer) {
    --rr-btn-primary-hover-bg: #F9F9F9;
    --rr-btn-primary-hover-text: var(--rr-btn-navy);
}
:where(.rr-careers__actions, .rr-footer) {
    --rr-btn-secondary-ink: #F9F9F9;
    --rr-btn-secondary-hover-text: var(--rr-btn-navy);
}
html .rr-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    max-width: 100%;
    border: 1px solid transparent;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
/* One set of dimensions and typography for standalone and card buttons. */
html .rr-btn,
html :is(.rr-news-card, .rr-small-news-card, .rr-withImageLandscape-card, .rr-withImagePortrait-card, .rr-profile-card, .rr-office-card) .rr-card__link {
    box-sizing: border-box;
    height: auto;
    min-height: 44px;
    padding: 12px 16px;
    border-radius: 10px;
    font: 500 16px/1.05 'Archivo', 'Segoe UI', Arial, sans-serif;
    letter-spacing: normal;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    text-transform: none;
}
html .rr-btn--primary {
    background: var(--rr-btn-primary-bg, var(--rr-btn-navy));
    border-color: var(--rr-btn-primary-bg, var(--rr-btn-navy));
    color: var(--rr-btn-primary-text, var(--rr-btn-white)) !important;
}
html:not([data-rr-buttons-restored]) .rr-btn--primary:is(:hover, :active, :focus-visible) {
    background: var(--rr-btn-primary-hover-bg, var(--rr-btn-purple));
    border-color: var(--rr-btn-primary-hover-bg, var(--rr-btn-purple));
    color: var(--rr-btn-primary-hover-text, var(--rr-btn-white)) !important;
}
html .rr-btn--secondary {
    background: transparent;
    border-color: var(--rr-btn-secondary-ink, rgba(23, 18, 69, .5));
    color: var(--rr-btn-secondary-ink, var(--rr-btn-navy)) !important;
}
html:not([data-rr-buttons-restored]) .rr-btn--secondary:is(:hover, :active, :focus-visible) {
    background: var(--rr-btn-secondary-ink, var(--rr-btn-navy));
    border-color: var(--rr-btn-secondary-ink, var(--rr-btn-navy));
    color: var(--rr-btn-secondary-hover-text, var(--rr-btn-white)) !important;
}
html .rr-btn:focus-visible {
    outline: 2px solid #28FFFF;
    outline-offset: 3px;
}
html .rr-btn:is(:disabled, [aria-disabled="true"]) {
    opacity: .5;
    cursor: default;
    pointer-events: none;
}
html .rr-btn[hidden] { display: none; }
/* A cached page can retain :hover until the pointer moves. Reset immediately on Back. */
html[data-rr-buttons-restored] .rr-btn { transition: none; }
@media (prefers-reduced-motion: reduce) {
    html .rr-btn { transition: none; }
}
