.fsra-recruitment {
    /* Shared site colors. */
    --fsra-ink: var(--fsra-text, #071a33);
    --fsra-muted: #526174;
    --fsra-line: #dce3eb;
    --fsra-soft: var(--fsra-surface-soft, #edf2f7);
    --fsra-accent: #af0000;
    background: #fff;
    color: var(--fsra-ink);
    overflow: clip;
}

.fsra-recruitment *,
.fsra-recruitment *::before,
.fsra-recruitment *::after { box-sizing: border-box; }

/* Shared page width. */
.fsra-recruitment__shell {
    width: var(--fsra-container-wide, min(82vw, 1440px));
    max-width: none;
    margin-inline: auto;
}

/* Let the dedicated Join and Contact layouts escape the generic page width. */
body:not(.wp-admin) .fsra-page-main:has(:is(.fsra-recruitment--join, .fsra-recruitment--contact)) {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.wp-admin) .fsra-page-main:has(:is(.fsra-recruitment--join, .fsra-recruitment--contact)) > .wp-block-post-title,
body:not(.wp-admin) .fsra-page-main:has(:is(.fsra-recruitment--join, .fsra-recruitment--contact)) > .wp-block-post-featured-image {
    display: none;
}

body:not(.wp-admin) .fsra-page-main:has(:is(.fsra-recruitment--join, .fsra-recruitment--contact)) > .wp-block-post-content,
body:not(.wp-admin) .fsra-page-main:has(:is(.fsra-recruitment--join, .fsra-recruitment--contact)) > article,
body:not(.wp-admin) .fsra-page-main:has(:is(.fsra-recruitment--join, .fsra-recruitment--contact)) > article > .wp-block-post-content {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.wp-admin) .fsra-page-main:has(.fsra-recruitment--join) .fsra-recruitment--join {
    width: 100%;
    max-width: none;
    margin: 0;
}

/* Remove inherited block spacing. */
.fsra-recruitment--join > :is(.fsra-landing-hero, .fsra-recruitment__section) {
    margin-block: 0 !important;
}

.fsra-recruitment--join > .fsra-landing-hero {
    padding-block: clamp(2.25rem, 3.5vw, 3.25rem) clamp(2.75rem, 4.5vw, 4rem);
}

.fsra-recruitment--join .fsra-recruitment__section {
    padding-block: clamp(2.75rem, 4.5vw, 4.5rem);
}

body:not(.wp-admin) .wp-block-post-content:has(.fsra-recruitment--contact),
body:not(.wp-admin) .wp-block-post-content:has(> .fsra-recruitment--contact) > .fsra-recruitment--contact,
body:not(.wp-admin) .fsra-page-main:has(.fsra-recruitment--contact) .fsra-recruitment--contact {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fsra-recruitment__reading { max-width: 780px; }
/* The hero is defined in components.css. */
.fsra-recruitment__section { padding: clamp(3.5rem, 6vw, 6.5rem) 0; background: #fff; color: var(--fsra-ink); }
body:not(.wp-admin) #wp--skip-link--target .fsra-recruitment .fsra-recruitment__section--soft {
    background: var(--fsra-soft) !important;
    color: var(--fsra-ink) !important;
}
/* Dark blue section. */
body:not(.wp-admin) #wp--skip-link--target .fsra-recruitment .fsra-recruitment__section--accent {
    background:
        radial-gradient(120% 90% at 12% 0%, rgba(255, 255, 255, .07), transparent 58%),
        linear-gradient(160deg, var(--fsra-blue-bright, #0d356a) 0%, var(--fsra-blue, #07264e) 55%, #051c3b 100%) !important;
    color: #fff !important;
}

/* Join application section. */
body:not(.wp-admin) #wp--skip-link--target .fsra-recruitment--join .fsra-recruitment__section--application {
    background: var(--fsra-ink, #071a33) !important;
}
.fsra-recruitment__section h2 { margin: 0 0 1.5rem; color: var(--fsra-ink); font-size: clamp(1.85rem, 3vw, 3rem); line-height: 1.1; letter-spacing: -.025em; }
.fsra-recruitment__section p { color: var(--fsra-muted); line-height: 1.7; }
.fsra-recruitment__section--accent h2,
.fsra-recruitment__section--accent li { color: #fff; }
.fsra-recruitment__section--accent p { color: #d7e0e9; }
.fsra-recruitment__section--accent .fsra-recruitment__form label,
.fsra-recruitment__section--accent .fsra-recruitment__form a,
.fsra-recruitment__section--accent .fsra-recruitment__form .wpcf7-response-output { color: #fff; }
.fsra-recruitment__section--accent .fsra-recruitment__form .wpcf7-not-valid-tip { color: #ffd5d8; }

/* Keep Join headings readable against inherited global heading colors. */
.fsra-recruitment--join .fsra-recruitment__section:not(.fsra-recruitment__section--accent) :is(h2, h3),
.fsra-recruitment--join .fsra-recruitment__card :is(h2, h3) {
	color: var(--fsra-ink) !important;
}

.fsra-recruitment--join .fsra-recruitment__section--accent :is(h2, h3) {
	color: #fff !important;
}

/* Keep the direct-contact card light. */
.fsra-recruitment .fsra-direct-contact :is(h2, h3),
.fsra-recruitment--join .fsra-recruitment__section--accent .fsra-direct-contact :is(h2, h3) {
	color: var(--fsra-ink) !important;
}

/* Section heading accent. */
.fsra-recruitment__headline {
    position: relative;
    padding-top: clamp(1.75rem, 3vw, 2.5rem);
}

.fsra-recruitment__headline::before {
    position: absolute;
    inset: 0 auto auto 0;
    display: block;
    width: clamp(4.5rem, 8vw, 7rem);
    height: 0.3rem;
    background: linear-gradient(90deg, #af0000, #0aa7d9);
    content: "";
    pointer-events: none;
}

.fsra-recruitment__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2vw, 2rem); margin-top: 2.25rem; }
.fsra-recruitment__numbered { margin-bottom: 0; padding: 0; list-style: none; }
.fsra-recruitment__card { min-width: 0; height: 100%; padding: clamp(1.5rem, 2vw, 2rem); background: #fff; border: 1px solid var(--fsra-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(7, 26, 51, .05); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }

/* Numbered route cards. Keep this after the base card border rule. */
.fsra-recruitment__card--numbered {
    position: relative;
    padding-top: clamp(3.25rem, 4vw, 3.75rem);
    border-top: 3px solid var(--fsra-accent);
}

/* Keep the top accent on hover. */
.fsra-recruitment__card--numbered:hover,
.fsra-recruitment__card--numbered:focus-within {
    border-top-color: var(--fsra-accent);
}

.fsra-recruitment__index {
    position: absolute;
    top: clamp(1.1rem, 1.8vw, 1.5rem);
    left: clamp(1.35rem, 2vw, 2rem);
    color: var(--fsra-accent);
    font-size: 1.5rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
    line-height: 1;
}
.fsra-recruitment__card:hover, .fsra-recruitment__card:focus-within { transform: translateY(-3px); border-color: #a9b7c7; box-shadow: 0 16px 36px rgba(7, 26, 51, .1); }
.fsra-recruitment__card h3 { margin: 0 0 .75rem; color: var(--fsra-ink); font-size: 1.22rem; line-height: 1.25; }
.fsra-recruitment__card p { margin: 0; color: var(--fsra-muted); }
.fsra-recruitment__card a { display: inline-block; margin-top: 1.25rem; color: var(--fsra-ink); font-weight: 750; text-underline-offset: .22em; }
.fsra-recruitment__skills { margin-top: 1.15rem !important; padding-top: 1rem; border-top: 1px solid var(--fsra-line); color: #68788b !important; font-size: .86rem; font-weight: 700; }
.fsra-recruitment__tag-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; }

.fsra-recruitment__tag-grid li {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
    padding: 1rem 1.15rem;
    border: 1px solid var(--fsra-line);
    border-left: 3px solid var(--fsra-accent);
    border-radius: 0 var(--fsra-radius-card, .75rem) var(--fsra-radius-card, .75rem) 0;
    background: var(--fsra-soft);
    color: var(--fsra-ink);
    font-weight: 700;
}

/* Custom list marker. */
.fsra-recruitment__tag-grid li::before {
    flex: none;
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--fsra-accent);
    content: "";
}
.fsra-recruitment__split, .fsra-recruitment__form-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: start; }

/* Shared form and contact-box layout. */
.fsra-recruitment__form-layout { grid-template-columns: minmax(0, 1.2fr) minmax(19rem, .8fr); gap: clamp(2rem, 5vw, 5rem); }

/* Numbered process panel. */
.fsra-recruitment__panel {
    padding: clamp(1.5rem, 2.6vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--fsra-radius-lg, 1.25rem);
    background: rgba(255, 255, 255, .06);
}

.fsra-recruitment__process { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }

.fsra-recruitment__step {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-width: 0;
    padding: .85rem 0;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.fsra-recruitment__step:first-child { border-top: 0; padding-top: 0; }

.fsra-recruitment__step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: .7rem;
    background: var(--fsra-accent);
    color: #fff;
    font-size: .95rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.fsra-recruitment__step-text { color: #fff; font-weight: 650; line-height: 1.45; }
.fsra-recruitment__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 3rem;
    margin-top: 1.25rem;
    padding: .85rem 1.35rem;
    background: var(--fsra-ink, #071a33);
    color: #fff;
    border: 2px solid var(--fsra-ink, #071a33);
    border-radius: var(--fsra-radius-control, .625rem);
    box-shadow: 0 6px 16px rgba(7, 26, 51, .12);
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: transform 240ms var(--fsra-ease-out, ease), background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease, color 240ms ease;
}

.fsra-recruitment__button--outline {
    background: #fff;
    color: var(--fsra-ink, #071a33);
}

.fsra-recruitment__button:hover,
.fsra-recruitment__button:focus-visible {
    transform: translateY(-2px);
    background: var(--fsra-accent, #e63946);
    border-color: var(--fsra-accent, #e63946);
    box-shadow: 0 10px 22px rgba(230, 57, 70, .2);
    color: #fff;
}
.fsra-recruitment a:focus-visible, .fsra-recruitment input:focus-visible, .fsra-recruitment textarea:focus-visible, .fsra-recruitment select:focus-visible, .fsra-recruitment button:focus-visible { outline: 3px solid #159bd7; outline-offset: 3px; }
.fsra-recruitment__form { min-width: 0; max-width: 780px; }
.fsra-recruitment__form label { display: block; margin-bottom: .35rem; color: var(--fsra-ink); font-weight: 700; }
.fsra-recruitment__form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .fsra-recruitment__form textarea, .fsra-recruitment__form select { width: 100%; max-width: 100%; min-height: 3rem; padding: .75rem .85rem; background: #fff; color: var(--fsra-ink); border: 1px solid #aebac8; border-radius: 3px; }
.fsra-recruitment__form textarea { min-height: 9rem; }
.fsra-recruitment__form .wpcf7-not-valid-tip { display: block; color: #a71924; font-weight: 700; }
.fsra-recruitment__form .wpcf7-response-output { margin-inline: 0 !important; color: var(--fsra-ink); }
.fsra-recruitment__form-status { padding: 1rem; background: #fff8df; border-left: 4px solid #ca8a04; color: #684b00 !important; }
.fsra-team-join-cta { padding: 2.5rem 1rem 4rem; text-align: center; }

/* Contact page spacing and touch targets. */
.fsra-recruitment--contact > .fsra-landing-hero {
    /* Reduce the space above the accent. */
    padding-top: clamp(3.5rem, 5vw, 4.75rem);
}

.fsra-recruitment--contact .fsra-recruitment__reading {
    max-width: 64rem;
}

.fsra-recruitment--contact .fsra-recruitment__section {
    padding-block: clamp(3rem, 5.5vw, 5.5rem);
}

.fsra-recruitment--contact .fsra-recruitment__grid--routes {
    align-items: stretch;
}

.fsra-recruitment--contact .fsra-recruitment__card {
    display: flex;
    flex-direction: column;
    padding: clamp(1.35rem, 2.4vw, 2rem);
    border-radius: var(--fsra-radius-card, 1rem);
    box-shadow: 0 10px 28px rgba(7, 26, 51, .055);
    transition: transform 320ms var(--fsra-ease-out, ease), border-color 320ms ease, box-shadow 320ms ease;
}

/* Restore space for the card number. */
.fsra-recruitment--contact .fsra-recruitment__card--numbered {
    padding-top: clamp(3.25rem, 4vw, 3.75rem);
}

.fsra-recruitment--contact .fsra-recruitment__card a {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 1.25rem;
    line-height: 1.35;
}

.fsra-recruitment h1, .fsra-recruitment h2, .fsra-recruitment h3, .fsra-recruitment p, .fsra-recruitment li, .fsra-recruitment a { min-width: 0; white-space: normal; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }

/* The shared container handles breakpoint widths. */
@media (max-width: 1024px) {
    .fsra-recruitment__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .fsra-recruitment__tag-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .fsra-recruitment__form-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
    .fsra-recruitment__grid, .fsra-recruitment__tag-grid, .fsra-recruitment__split, .fsra-recruitment__form-layout { grid-template-columns: minmax(0,1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .fsra-recruitment__card, .fsra-recruitment__button { transition: none; }
    .fsra-recruitment__card:hover, .fsra-recruitment__card:focus-within { transform: none; }
    .fsra-recruitment__button:hover, .fsra-recruitment__button:focus-visible { transform: none; }
}

/* Match the specificity of the global section color rules. */
body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-recruitment__section--accent {
    background:
        radial-gradient(120% 90% at 12% 0%, rgba(255, 255, 255, .07), transparent 58%),
        linear-gradient(160deg, var(--fsra-blue-bright, #0d356a) 0%, var(--fsra-blue, #07264e) 55%, #051c3b 100%) !important;
    color: #fff !important;
}

body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-recruitment__section--accent :is(h1, h2, h3, h4, li):not(.fsra-direct-contact, .fsra-direct-contact *) {
    color: #fff !important;
}

body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-recruitment__section--accent p:not(.fsra-direct-contact, .fsra-direct-contact *) {
    color: #d7e0e9 !important;
}

/* Preserve the status notice colors. */
body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-recruitment__section--accent p.fsra-recruitment__form-status {
    color: #684b00 !important;
}

body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-recruitment__section--accent .fsra-direct-contact .fsra-direct-contact__text {
    color: var(--fsra-muted) !important;
}

/* Restore the soft section background. */
body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-recruitment__section--soft {
    background: var(--fsra-soft) !important;
}

/* Restore the hero colors. */
body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-landing-hero {
    background: var(--fsra-page-bg, #e7ecf2) !important;
}

body:not(.wp-admin) :is(main, #wp--skip-link--target) .fsra-recruitment .fsra-landing-hero__lead {
    color: var(--fsra-hero-muted, #425166) !important;
}
