/* Generated by scripts/build-campaign-css.py. Edit source CSS. */
/* Capital City foundations. Source: Figma hN5KIpVs18X8D0lhsEXKJ2,
 * Home 111:23 / 315:102, Mission 315:366, New Faith 765:936.
 * Source-only module: the build scopes .ccrm-page-careers to each declared native owner.
 * Brand colors inherit the existing editable Beaver Global Styles palette. */
.ccrm-page-careers {
  --ccrm-color-blue: var(--fl-global-blue, #23518e);
  --ccrm-color-green: var(--fl-global-green, #679b3d);
  --ccrm-color-orange: var(--fl-global-orange, #e17624);
  --ccrm-color-orange-strong: color-mix(in srgb, var(--ccrm-color-orange) 75%, #000);
  --ccrm-color-red: var(--fl-global-red, #9f2356);
  --ccrm-color-pale-blue: #e6f1ff;
  --ccrm-color-pale-green: #f0f5ec;
  --ccrm-color-peach: #f3e8e0;
  --ccrm-color-surface: #fff;
  --ccrm-color-lime: #e2f2d5;
  --ccrm-color-warm-tint: #fcebdd;
  --ccrm-color-warm-ink: #8a4210;
  --ccrm-color-blue-tint: #e5eef9;
  --ccrm-color-green-ink: #3f6a1f;
  --ccrm-color-panel-tint: #f7f9fc;
  --ccrm-color-address-tint: #f4f7fb;
  --ccrm-color-subtle-border: #e3e8ef;
  --ccrm-color-text: #222;
  --ccrm-color-input-border: color-mix(in srgb, var(--ccrm-color-blue) 65%, var(--ccrm-color-surface));

  --ccrm-font-display: "Bree Serif", serif;
  --ccrm-font-body: "Source Sans 3", sans-serif;
  --ccrm-type-hero: 64px;
  --ccrm-type-section: 48px;
  --ccrm-type-subsection: 32px;
  --ccrm-type-lead: 20px;
  --ccrm-type-body: 18px;
  --ccrm-type-compact: 16px;
  --ccrm-type-caption: 14px;
  --ccrm-type-list-title: 26px;

  --ccrm-container-wide: 1226px;
  --ccrm-container-content: 1026px;
  --ccrm-space-section: 75px;
  --ccrm-space-section-gutter: 7px;
  --ccrm-space-stack: 30px;
  --ccrm-space-card: 25px;
  --ccrm-space-grid: 40px;
  --ccrm-radius-section: 10px;
  --ccrm-radius-card: 20px;
  --ccrm-radius-list-card: 16px;

  --ccrm-button-padding-block: 5px;
  --ccrm-button-padding-inline: 22px;
  --ccrm-button-height: 45px;
  --ccrm-button-height-compact: 33px;
}

/* Neutral native content assembly. Semantic components own presentation. */
.ccrm-page-careers, .ccrm-page-careers :is(.fl-row-content-wrap,.fl-row-content,.fl-col,.fl-col-content,.fl-module) { box-sizing: border-box; }
.ccrm-page-careers.fl-row { width: auto; clear: both; }
.ccrm-page-careers .fl-row-content { margin-inline: auto; }
.ccrm-page-careers .fl-col { float: none; width: 100%; min-width: 0; }
.ccrm-page-careers .fl-col-content, .ccrm-page-careers .fl-module-content { margin: 0; padding: 0; }
.ccrm-page-careers .fl-module-box { display: flex; flex-direction: column; min-width: 0; }
.ccrm-page-careers .fl-module-box::before, .ccrm-page-careers .fl-module-box::after { display: none; }
.ccrm-page-careers .fl-photo { line-height: 0; }
.ccrm-page-careers .fl-photo-img { max-width: 100%; }

/* Geometry and paired state colors shared by native Beaver Button modules.
 * Native fields retain labels/destinations; semantic variants own presentation.
 * Scope expansion supports both optimized and legacy module markup. */
.ccrm-page-careers .fl-module-button :is(a,button).fl-button {
  display: inline-flex;
  min-height: var(--ccrm-button-height);
  align-items: center;
  justify-content: center;
  border-radius: var(--ccrm-button-radius, var(--ccrm-radius-section));
  padding: var(--ccrm-button-padding-block) var(--ccrm-button-padding-inline);
  font-size: var(--ccrm-type-compact);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.ccrm-page-careers .ccrm-button {
  --ccrm-button-surface: var(--ccrm-color-orange);
  --ccrm-button-ink: #fff;
  --ccrm-button-hover-surface: var(--ccrm-color-blue);
  --ccrm-button-hover-ink: #fff;
}
.ccrm-page-careers .ccrm-button--action { --ccrm-button-height: 48px; --ccrm-button-padding-block: 13px; --ccrm-button-padding-inline: 24px; --ccrm-button-radius: 8px; }
.ccrm-page-careers .ccrm-button--orange-strong { --ccrm-button-surface: var(--ccrm-color-orange-strong); }
.ccrm-page-careers .ccrm-button--green { --ccrm-button-surface: var(--ccrm-color-green); }
.ccrm-page-careers .ccrm-button--berry { --ccrm-button-surface: var(--ccrm-color-red); }
.ccrm-page-careers .ccrm-button--blue {
  --ccrm-button-surface: var(--ccrm-color-blue);
  --ccrm-button-hover-surface: var(--ccrm-color-orange-strong);
}
/* Existing native documents use both labels for the same light-surface variant. */
.ccrm-page-careers .ccrm-button--light,
.ccrm-page-careers .ccrm-button--white {
  --ccrm-button-surface: #fff;
  --ccrm-button-ink: var(--ccrm-color-blue);
  --ccrm-button-hover-surface: var(--ccrm-color-pale-green);
  --ccrm-button-hover-ink: var(--ccrm-color-blue);
}
.ccrm-page-careers .ccrm-button--choice {
  --ccrm-button-surface: linear-gradient(90deg,var(--ccrm-color-pale-blue),var(--ccrm-color-pale-green));
  --ccrm-button-ink: var(--ccrm-color-blue);
}
.ccrm-page-careers .ccrm-button--choice.is-selected {
  --ccrm-button-surface: var(--ccrm-color-orange);
  --ccrm-button-ink: #fff;
}
.ccrm-page-careers .ccrm-button--toggle {
  --ccrm-button-surface: transparent;
  --ccrm-button-ink: var(--ccrm-color-blue);
}
.ccrm-page-careers .ccrm-button--toggle.is-selected { --ccrm-button-surface: #fff; }
.ccrm-page-careers .ccrm-button--outline {
  --ccrm-button-surface: #fff;
  --ccrm-button-ink: var(--ccrm-color-blue);
  --ccrm-button-border: 1px solid var(--ccrm-color-blue);
}
.ccrm-page-careers .ccrm-button--outline.is-selected {
  --ccrm-button-surface: var(--ccrm-color-blue);
  --ccrm-button-ink: #fff;
}
.ccrm-page-careers .ccrm-button--text {
  --ccrm-button-surface: transparent;
  --ccrm-button-ink: var(--ccrm-color-green);
  --ccrm-button-hover-surface: transparent;
  --ccrm-button-hover-ink: var(--ccrm-color-blue);
}
.fl-builder-content .ccrm-page-careers .fl-module-button.ccrm-button :is(a,button).fl-button,
.fl-builder-content .ccrm-page-careers .fl-module-button.ccrm-button :is(a,button).fl-button:visited {
  background: var(--ccrm-button-surface);
  color: var(--ccrm-button-ink);
  border: var(--ccrm-button-border, 0);
  text-decoration: none;
  transition: none;
}
.fl-builder-content .ccrm-page-careers .fl-module-button.ccrm-button :is(a,button).fl-button:is(:hover,:focus-visible,:active) {
  background: var(--ccrm-button-hover-surface);
  color: var(--ccrm-button-hover-ink);
}
.fl-builder-content .ccrm-page-careers .fl-module-button.ccrm-button :is(a,button).fl-button .fl-button-text {
  color: inherit;
}
.fl-builder-content .ccrm-page-careers .fl-module-button.ccrm-button :is(a,button).fl-button:focus-visible {
  outline: 3px solid var(--ccrm-color-blue);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff;
}


/* Underlined card action: shares the same paired interaction-state owner. */
.ccrm-page-careers .fl-module-button.ccrm-button--text :is(a,button).fl-button {
  padding: 0;
  min-height: 34px;
  border-radius: 0;
  justify-content: flex-start;
  font-size: 24px;
  text-align: left;
  text-decoration: underline;
}

/* Shared heading-decoration family.
 * The anchor is always the heading/module box, never a page-width offset.
 * Page owners provide only intentional art, width and alignment variants. */
.ccrm-page-careers :where(.ccrm-hero-heading,
  .ccrm-webvizio-leadership-hero-title,
  .ccrm-fluid-content-box:has(> .ccrm-webvizio-financials-hero-brush),
  .ccrm-stories-hero .ccrm-a31-h1,
  .ccrm-story-title) {
  position: relative;
}

/* Native photo-module variant. The art stays editable in Beaver. */
.ccrm-page-careers.ccrm-hero .ccrm-hero-underline {
  position: absolute;
  font-size: var(--ccrm-hero-heading-size);
  left: var(--ccrm-hero-underline-left, 0);
  top: var(--ccrm-hero-underline-top, 71px);
  width: var(--ccrm-hero-underline-width, 173px);
  height: var(--ccrm-hero-underline-height, 7px);
  margin: 0;
}
.ccrm-page-careers.ccrm-hero .ccrm-hero-underline :where(.fl-photo-content, img) {
  display: block;
  width: 100%;
  height: 100%;
}

/* Inline-word variant. The span itself is the decoration anchor.
 * This works in every hero alignment; centering is a layout concern, not an
 * underline-positioning concern. */
.ccrm-page-careers .ccrm-hero-word {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.ccrm-page-careers .ccrm-hero-word::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.20em;
  height: .11em;
  background: var(--ccrm-hero-word-art) center / 100% 100% no-repeat;
  pointer-events: none;
}

/* Existing native-box aliases use the same text-bound sizing API. */
.ccrm-page-careers .ccrm-webvizio-leadership-hero-title {
  width: max-content;
  max-width: 100%;
  padding-bottom: 15px;
}
.ccrm-page-careers .ccrm-webvizio-leadership-hero-brush {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
}
.ccrm-page-careers :where(.ccrm-webvizio-leadership-hero-brush,
  .ccrm-webvizio-financials-hero-brush) {
  width: min(var(--ccrm-heading-underline-width, 100%), 100%);
  height: var(--ccrm-heading-underline-height, 7px);
}
.ccrm-page-careers :where(.ccrm-webvizio-leadership-hero-brush,
  .ccrm-webvizio-financials-hero-brush) :where(.fl-photo-content, img) {
  display: block;
  width: 100%;
  height: 100%;
}

/* CSS-art variant used where no editable photo module exists. */
.ccrm-page-careers :where(.ccrm-stories-hero .ccrm-a31-h1,
  .ccrm-story-title)::after {
  content: "";
  position: absolute;
  left: var(--ccrm-heading-underline-left, auto);
  right: var(--ccrm-heading-underline-right, auto);
  top: var(--ccrm-heading-underline-top, auto);
  bottom: var(--ccrm-heading-underline-bottom, auto);
  width: min(var(--ccrm-heading-underline-width, 100%), 100%);
  height: var(--ccrm-heading-underline-height, 7px);
  background: var(--ccrm-heading-underline-art) center / 100% 100% no-repeat;
  pointer-events: none;
}

@media (max-width: 992px) {
  .ccrm-page-careers.ccrm-hero--media-stack .ccrm-hero-heading {
    width: fit-content;
    max-width: 100%;
  }
  .ccrm-page-careers.ccrm-hero--media-stack .ccrm-hero-underline,
  .ccrm-page-careers.ccrm-hero--centered .ccrm-hero-underline {
    position: static;
    width: min(var(--ccrm-hero-underline-width), 75%);
    max-width: 100%;
    height: 7px;
    /* Keep the desktop gap as a proportion of the rendered heading size.
     * A fixed 8px gap visually detached the art when mobile type scaled down. */
    margin-top: .109375em;
    margin-left: var(--ccrm-hero-underline-left, 0);
  }
  .ccrm-page-careers.ccrm-hero--media-stack .ccrm-hero-underline { align-self: flex-start; }
  .ccrm-page-careers.ccrm-hero--centered .ccrm-hero-heading { align-items: center; }
  .ccrm-page-careers.ccrm-hero--centered .ccrm-hero-underline { margin-inline: auto; }
}


/* Shared native hero system. Source families: Home 111:33 / 315:117,
 * Mission 315:380, Get Involved 1064:506, Shelter 596:335.
 * .ccrm-page-careers compiles to the participating document's semantic owner only.
 * Native rows own images/gradients; native modules own copy, links and decoration.
 * Page variants set measures/focal treatment, not a second hero implementation. */
.ccrm-page-careers.ccrm-hero {
  --ccrm-hero-stage: 314px;
  --ccrm-hero-heading-size: var(--ccrm-type-hero);
  --ccrm-hero-copy-width: var(--ccrm-interior-copy-width,486px);
  --ccrm-hero-inset-inline: 100px;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.ccrm-page-careers.ccrm-hero > .fl-row-content-wrap {
  position: relative;
  display: flex;
  width: calc(100% - 14px);
  height: auto;
  min-height: var(--ccrm-hero-stage);
  align-items: center;
  margin: 7px;
  padding: 10px var(--ccrm-hero-inset-inline);
  border-radius: var(--ccrm-radius-section);
}
.ccrm-page-careers.ccrm-hero > .fl-row-content-wrap > .fl-row-content {
  width: 100%;
  max-width: var(--ccrm-container-wide);
}
.ccrm-page-careers.ccrm-hero .ccrm-hero-content-owner {
  display: flex;
  width: min(var(--ccrm-hero-copy-width), 100%);
  max-width: 100%;
  flex-direction: column;
  gap: var(--ccrm-space-stack);
}
.ccrm-page-careers.ccrm-hero .ccrm-hero-heading { position: relative; width: 100%; gap: 0; font-size: var(--ccrm-hero-heading-size); }
.ccrm-page-careers.ccrm-hero .ccrm-hero-title.fl-heading,
.ccrm-page-careers.ccrm-hero .ccrm-hero-title .fl-heading {
  margin: 0;
  color: var(--ccrm-color-blue);
  font-family: var(--ccrm-font-display);
  font-size: var(--ccrm-hero-heading-size);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.ccrm-page-careers.ccrm-hero .ccrm-hero-lead,
.ccrm-page-careers.ccrm-hero .ccrm-hero-lead p {
  margin: 0;
  font-family: var(--ccrm-font-body);
  font-size: var(--ccrm-type-lead);
  font-weight: 400;
  line-height: 1.4;
}
.ccrm-page-careers.ccrm-hero--home {
  --ccrm-hero-stage: 677px;
  --ccrm-hero-underline-left: 2.765625em;
  --ccrm-hero-underline-top: 1.9453125em;
  --ccrm-hero-underline-width: 2.703125em;
  --ccrm-hero-underline-height: .21875em;
}
.ccrm-page-careers.ccrm-hero--interior { --ccrm-hero-stage: 314px; }
.ccrm-page-careers.ccrm-hero--interior > .fl-row-content-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: var(--ccrm-hero-overlay, none);
}
.ccrm-page-careers.ccrm-hero--interior > .fl-row-content-wrap > .fl-row-content { position: relative; z-index: 1; }
.ccrm-page-careers.ccrm-hero--centered { --ccrm-hero-stage: 360px; --ccrm-hero-copy-width: var(--ccrm-centered-copy-width, 619px); }
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-content-owner { margin-inline: auto; align-items: center; text-align: center; }
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-heading,
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-description { width: 100%; height: auto; min-width: 0; }
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-title,
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-lead { width: 100%; }
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-title.fl-heading,
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-title .fl-heading { text-align: center; }
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-eyebrow,
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-eyebrow p {
  margin: 0;
  color: var(--ccrm-color-blue);
  font-family: var(--ccrm-font-body);
  font-size: var(--ccrm-type-lead);
  font-weight: 700;
  line-height: 1.4;
}
.ccrm-page-careers.ccrm-hero--green > .fl-row-content-wrap { background: var(--ccrm-color-lime); }
.ccrm-page-careers.ccrm-hero--joined > .fl-row-content-wrap { margin-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
@media (max-width: 1200px) {
  .ccrm-page-careers.ccrm-hero { --ccrm-hero-inset-inline: 48px; }
}
@media (max-width: 992px) {
  .ccrm-page-careers.ccrm-hero:not(.ccrm-hero--home) > .fl-row-content-wrap { padding-block: calc(var(--ccrm-hero-mobile-media-height, 0px) + 48px) 48px; }
  .ccrm-page-careers.ccrm-hero:not(.ccrm-hero--home) { --ccrm-hero-heading-size: clamp(36px, 8.5vw, 54px); }
}
@media (max-width: 576px) {
  .ccrm-page-careers.ccrm-hero { --ccrm-hero-inset-inline: 20px; }
}

/* Home's source-authored tall photograph and mobile composition. */

.ccrm-page-careers.ccrm-hero--home>.fl-row-content-wrap{aspect-ratio:1426/677;background-color:var(--ccrm-color-peach);background-position:center;background-size:cover;background-repeat:no-repeat}
.ccrm-page-careers.ccrm-hero--home .ccrm-hero-content-owner>.fl-module-button{margin-block:-6px}
.ccrm-page-careers.ccrm-hero--home .ccrm-hero-lead,.ccrm-page-careers.ccrm-hero--home .ccrm-hero-lead p{max-width:486px;margin-bottom:0;color:#111}
@media(min-width:577px) and (max-width:1200px){
 .ccrm-page-careers.ccrm-hero--home>.fl-row-content-wrap::before{content:"";position:absolute;inset:0 0 auto;height:calc((100vw - 14px) * .47475);border-radius:var(--ccrm-radius-section) var(--ccrm-radius-section) 0 0;pointer-events:none;background:linear-gradient(to bottom,transparent 65%,var(--ccrm-color-peach) 100%)}
}
@media(max-width:1200px){
 .ccrm-page-careers.ccrm-hero--home>.fl-row-content-wrap{position:relative;align-items:flex-end;min-height:0;aspect-ratio:auto;padding:calc((100vw - 14px) * .47475) 48px 100px;background-size:100% auto;background-position:center top}
 .ccrm-page-careers.ccrm-hero--home>.fl-row-content-wrap>.fl-row-content{width:100%;max-width:none}
}
@media(max-width:576px){
 .ccrm-page-careers.ccrm-hero--home>.fl-row-content-wrap{width:calc(100% - 10px);height:auto;min-height:745px;align-items:flex-end;margin:5px;padding:73px 18px 73px;background-position:center top;background-size:100% auto}
 /* Blend the exported image’s baked bottom corners into the expandable surface. */
 .ccrm-page-careers.ccrm-hero--home>.fl-row-content-wrap::before{content:"";position:absolute;inset:0 0 auto;height:calc((100vw - 10px) * 745 / 383);pointer-events:none;background:linear-gradient(to bottom,transparent calc(100% - 12px),var(--ccrm-color-peach) 100%)}
 .ccrm-page-careers.ccrm-hero--home .ccrm-hero-content-owner{position:relative;width:100%;max-width:none;gap:var(--ccrm-space-stack)}
 .ccrm-page-careers.ccrm-hero--home{--ccrm-hero-heading-size:clamp(50px,calc((100vw - 46px) / 347 * 64),64px)}
}

/* Source family: Figma 826:160, 826:25, 1053:399.
 * Complete replacement for the duplicated September page CSS.
 * Native modules keep editorial content, links, photographs and ordering.
 * Layout gaps belong to their immediate flex/grid owner; no sibling margins.
 */
.ccrm-page-careers { font-family: var(--ccrm-font-body); --ccrm-intro-top-space: 41px; }
.fl-builder-content .ccrm-page-careers.fl-row:not(.ccrm-hero) > .fl-row-content-wrap { padding: 75px max(20px, calc((100% - 1026px) / 2)); }
.ccrm-page-careers .fl-col-content, .ccrm-page-careers .fl-module-content { margin: 0; padding: 0; }
.ccrm-page-careers .fl-module { min-width: 0; }
.ccrm-page-careers .ccrm-heading.fl-heading:where(:not(.ccrm-hero-eyebrow)) { margin: 0; font-weight: 400; letter-spacing: 0; color: var(--ccrm-color-blue); }
.ccrm-page-careers .ccrm-h2.fl-heading { font-family: var(--ccrm-font-display); font-size: 48px; line-height: 1.1; }
.ccrm-page-careers .ccrm-copy, .ccrm-page-careers .ccrm-copy p, .ccrm-page-careers .ccrm-copy li { font-family: var(--ccrm-font-body); font-size: 18px; line-height: var(--ccrm-copy-line-height,1.4); color: #111; }
.ccrm-page-careers .ccrm-copy p { margin: 0 0 16px; }
.ccrm-page-careers .ccrm-copy p:last-child { margin-bottom: 0; }
.ccrm-page-careers .ccrm-copy ul { margin: 0; padding-left: 30px; }
.ccrm-page-careers .ccrm-copy li { margin: 0; }
.ccrm-page-careers.ccrm-hero--centered { --ccrm-centered-copy-width: 710px; }
.ccrm-page-careers.ccrm-hero--centered:not(.ccrm-hero--green) > .fl-row-content-wrap { background: var(--ccrm-color-pale-blue); }
.ccrm-page-careers.ccrm-hero--centered .ccrm-hero-lead { max-width: 619px; }

/* Joined introduction: photo stretches to the content-driven copy height. */
.ccrm-page-careers.ccrm-section-introduction { --ccrm-copy-line-height: 26px; position: relative; z-index: 1; }
.fl-builder-content .ccrm-page-careers.ccrm-section-introduction.fl-row > .fl-row-content-wrap { padding: var(--ccrm-intro-top-space) max(20px, calc((100% - 1226px) / 2)) 0; margin-bottom: var(--ccrm-intro-overlap,-80px); }
.fl-builder-content .ccrm-page-careers.ccrm-section-introduction.ccrm-section-introduction--joined.fl-row > .fl-row-content-wrap { margin: 0 7px; padding-bottom: var(--ccrm-space-section); background: var(--ccrm-intro-surround, var(--ccrm-color-lime)); border-radius: 0 0 var(--ccrm-radius-section) var(--ccrm-radius-section); }
/* Content-driven midpoint split: rounded surfaces and a gutter behind the card.
 * Painting the upper part of the next surface here avoids fixed card heights. */
.fl-builder-content .ccrm-page-careers.ccrm-section-introduction.ccrm-section-introduction--overlap.fl-row > .fl-row-content-wrap { position: relative; isolation: isolate; margin-bottom: 0; padding-bottom: 0; background: var(--ccrm-color-surface); border-radius: 0; }
.ccrm-page-careers.ccrm-section-introduction--overlap > .fl-row-content-wrap::before,
.ccrm-page-careers.ccrm-section-introduction--overlap > .fl-row-content-wrap::after { content: ""; display: block; position: absolute; left: 0; right: 0; z-index: -1; pointer-events: none; }
.ccrm-page-careers.ccrm-section-introduction--overlap > .fl-row-content-wrap::before { top: 0; height: calc(50% + var(--ccrm-intro-top-space) / 2 - var(--ccrm-space-section-gutter) / 2); background: var(--ccrm-intro-surround, var(--ccrm-color-lime)); border-radius: 0 0 var(--ccrm-radius-section) var(--ccrm-radius-section); }
.ccrm-page-careers.ccrm-section-introduction--overlap > .fl-row-content-wrap::after { top: calc(50% + var(--ccrm-intro-top-space) / 2 + var(--ccrm-space-section-gutter) / 2); bottom: 0; background: var(--ccrm-detail-surface, var(--ccrm-color-red)); border-radius: var(--ccrm-radius-section) var(--ccrm-radius-section) 0 0; }
.ccrm-page-careers.ccrm-section-introduction--overlap + .ccrm-page-careers.ccrm-card-section { margin-top: 0; margin-inline: var(--ccrm-space-section-gutter); border-top-left-radius: 0; border-top-right-radius: 0; }
.fl-builder-content .ccrm-page-careers.ccrm-section-introduction--overlap + .ccrm-page-careers.ccrm-card-section.fl-row > .fl-row-content-wrap { padding-top: var(--ccrm-space-section); }
.ccrm-page-careers.ccrm-section-introduction .fl-col-group { display: flex; align-items: stretch; }
.ccrm-page-careers.ccrm-section-introduction .fl-col-group::before, .ccrm-page-careers.ccrm-section-introduction .fl-col-group::after { display: none; }
.ccrm-page-careers.ccrm-section-introduction .fl-col { float: none; flex: 1 1 0; min-width: 0; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-media-column { order: 0; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-media-column .fl-col-content { position: relative; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-split-photo { position: absolute; inset: 0; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-copy-column { order: 1; }
.ccrm-page-careers.ccrm-section-introduction .fl-col-content { display: flex; height: 100%; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-split-copy { width: 100%; display: flex; flex-direction: column; justify-content: center; gap: 42px; padding: var(--ccrm-intro-padding,80px 81px); border-radius: 0 20px 20px 0; background: var(--ccrm-intro-background,linear-gradient(90deg, var(--ccrm-color-pale-blue), var(--ccrm-color-peach))); }
.ccrm-page-careers.ccrm-section-introduction .ccrm-h2.fl-heading { font-size: 36px; line-height: 1.2; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-split-photo, .ccrm-page-careers.ccrm-section-introduction .fl-photo, .ccrm-page-careers.ccrm-section-introduction .fl-photo-content { display: block; width: 100%; height: 100%; }
.ccrm-page-careers.ccrm-section-introduction .fl-photo-img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 20px 0 0 20px; }

/* Information cards: top alignment, contained content and source typography. */
.ccrm-page-careers.ccrm-card-section { margin: 7px; border-radius: 10px; overflow: hidden; }
.fl-builder-content .ccrm-page-careers.ccrm-card-section.fl-row > .fl-row-content-wrap { padding-top: var(--ccrm-card-section-start,133px); padding-bottom: 75px; background: var(--ccrm-detail-surface, var(--ccrm-color-red)); }
.fl-builder-content .ccrm-page-careers.ccrm-card-section.fl-row > .fl-row-content-wrap > .fl-row-content { max-width: 1026px; }
.ccrm-page-careers.ccrm-card-section .fl-col-content { display: flex; flex-direction: column; gap: 30px; }
.ccrm-page-careers.ccrm-card-section .fl-col-content > .ccrm-h2 { color: white; text-align: center; }
.ccrm-page-careers .ccrm-card-grid { display: grid; grid-template-columns: var(--ccrm-detail-tracks, repeat(3,minmax(0,1fr))); gap: var(--ccrm-detail-row-gap, 15px) 15px; padding: 20px 0; align-items: stretch; }
.ccrm-page-careers .ccrm-card-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ccrm-page-careers .ccrm-card { display: flex; flex-direction: column; align-items: stretch; gap: 15px; min-width: 0; height: auto; padding: 35px 25px; border-radius: 20px; background: #fff; text-align: left; }
.ccrm-page-careers .ccrm-card .ccrm-h3.fl-heading { font-family: var(--ccrm-font-body); font-size: var(--ccrm-card-title-size,24px); font-weight: 700; line-height: var(--ccrm-card-title-leading,1.25); }
.ccrm-page-careers .ccrm-card .ccrm-copy, .ccrm-page-careers .ccrm-card .ccrm-copy p, .ccrm-page-careers .ccrm-card .ccrm-copy li { font-size: var(--ccrm-card-copy-size,20px); line-height: 1.4; }
.ccrm-page-careers .ccrm-card .ccrm-copy strong { color: var(--ccrm-color-blue); }

/* CTA photo and fade share one clipped section; copy is above the gradient. */
.ccrm-page-careers.ccrm-section-closing { margin: 7px; border-radius: 10px; overflow: hidden; background: linear-gradient(90deg,var(--ccrm-color-blue),var(--ccrm-color-green) var(--ccrm-cta-gradient-stop,46%)); --ccrm-button-height: 33px; }
.fl-builder-content .ccrm-page-careers.ccrm-section-closing.fl-row > .fl-row-content-wrap { display: block; position: relative; min-height: 371px; padding: 75px 100px; background: transparent; }
.ccrm-page-careers.ccrm-section-closing .fl-col-group { display: block; }
.ccrm-page-careers.ccrm-section-closing .ccrm-media-column { position: absolute; inset: 0 0 0 46%; float: none; width: 54%; }
.ccrm-page-careers.ccrm-section-closing .ccrm-media-column .fl-col-content, .ccrm-page-careers.ccrm-section-closing .ccrm-split-photo, .ccrm-page-careers.ccrm-section-closing .fl-photo, .ccrm-page-careers.ccrm-section-closing .fl-photo-content { display: block; width: 100%; height: 100%; }
.ccrm-page-careers.ccrm-section-closing .fl-photo-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ccrm-page-careers.ccrm-section-closing .ccrm-media-column::after { content: ""; display: block; width: 100%; height: 100%; position: absolute; inset: 0; background: linear-gradient(90deg,var(--ccrm-color-green),transparent 42%); pointer-events: none; }
.ccrm-page-careers.ccrm-section-closing .ccrm-copy-column { position: relative; z-index: 1; float: none; width: 100%; }
.ccrm-page-careers.ccrm-section-closing .ccrm-split-copy { display: flex; flex-flow: row wrap; align-items: flex-start; gap: 30px 15px; width: min(710px,100%); padding: 0; background: none; }
.ccrm-page-careers.ccrm-section-closing .ccrm-split-copy > .ccrm-heading, .ccrm-page-careers.ccrm-section-closing .ccrm-split-copy > .ccrm-copy { flex-basis: 100%; }
.ccrm-page-careers.ccrm-section-closing .ccrm-h2.fl-heading, .ccrm-page-careers.ccrm-section-closing .ccrm-copy, .ccrm-page-careers.ccrm-section-closing .ccrm-copy p { color: #fff; }

/* Keep the source-sized photograph and content alignment on wide displays. */
@media(min-width:1441px) {
 .fl-builder-content .ccrm-page-careers.ccrm-section-closing.fl-row > .fl-row-content-wrap { padding-inline: calc((100% - 1226px) / 2); }
 .ccrm-page-careers.ccrm-section-closing .ccrm-media-column { left: auto; width: 770px; }
}
@media(max-width:1200px) {
 .ccrm-page-careers.ccrm-section-introduction .ccrm-split-copy { padding: 48px 35px; }
 .fl-builder-content .ccrm-page-careers.ccrm-section-closing.fl-row > .fl-row-content-wrap { padding-inline: 48px; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-split-copy { width: 62%; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-h2.fl-heading { font-size: 40px; }
}
@media(max-width:992px) {
 .ccrm-page-careers.ccrm-section-closing { --ccrm-cta-gradient-stop: 100%; }
 .ccrm-page-careers.ccrm-section-introduction .fl-col-group { flex-direction: column; }
 .ccrm-page-careers.ccrm-section-introduction .fl-col { width: 100%; flex: 0 0 auto; }
 .ccrm-page-careers.ccrm-section-introduction .fl-col-content { height: auto; }
 .ccrm-page-careers.ccrm-section-introduction .ccrm-split-photo { position: static; }
 .ccrm-page-careers.ccrm-section-introduction .fl-photo-img { height: auto; border-radius: 20px 20px 0 0; }
 .ccrm-page-careers.ccrm-section-introduction .ccrm-split-copy { border-radius: 0 0 20px 20px; }
 .ccrm-page-careers.ccrm-card-section .ccrm-h2.fl-heading { font-size: 40px; }
 .ccrm-page-careers .ccrm-card-grid { grid-template-columns: var(--ccrm-detail-tablet-tracks, minmax(0,1fr)); gap: 20px; }
 .fl-builder-content .ccrm-page-careers.ccrm-section-closing.fl-row > .fl-row-content-wrap { padding: 0; }
 .ccrm-page-careers.ccrm-section-closing .fl-col-group { display: flex; flex-direction: column; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-media-column { position: relative; inset: auto; width: 100%; order: 0; }
 .ccrm-page-careers.ccrm-section-closing .fl-photo-img { height: auto; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-media-column::after { display: none; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-copy-column { order: 1; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-split-copy { width: 100%; padding: 48px 35px; }
}
@media(max-width:576px) {
 .ccrm-page-careers.ccrm-card-section, .ccrm-page-careers.ccrm-section-closing { margin: 5px; }
 .ccrm-page-careers.ccrm-section-introduction .ccrm-split-copy { padding: 35px 25px; }
 .ccrm-page-careers.ccrm-section-introduction .ccrm-h2.fl-heading { font-size: 32px; }
 .ccrm-page-careers.ccrm-card-section .ccrm-h2.fl-heading { font-size: 32px; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-split-copy { padding: 40px 20px; }
 .ccrm-page-careers.ccrm-section-closing .ccrm-h2.fl-heading { font-size: 32px; }
}

/* Editable opening cards: copy fills a shrinkable track, controls hug, details grow. */
.ccrm-page-careers { --ccrm-job-copy-measure: 598px; }
.ccrm-page-careers .ccrm-job { border-radius: var(--ccrm-radius-list-card); background: var(--ccrm-color-surface); overflow: clip; }
.ccrm-page-careers .ccrm-job__header { display: flex; flex-wrap: wrap; gap: var(--ccrm-space-card) var(--ccrm-space-stack); align-items: center; padding: 30px 34px; }
.ccrm-page-careers .ccrm-job__summary { flex: 1 1 460px; min-width: 0; }
.ccrm-page-careers .ccrm-job h3 { margin: 0; font-family: var(--ccrm-font-display); font-size: var(--ccrm-type-list-title); font-weight: 400; line-height: 1.2; color: var(--ccrm-color-blue); }
.ccrm-page-careers .ccrm-job--prominent h3 { font-size: var(--ccrm-type-subsection); line-height: normal; max-width: 490px; }
.ccrm-page-careers .ccrm-job__badges { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
.ccrm-page-careers .ccrm-badge { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: var(--ccrm-type-caption); font-weight: 600; line-height: 1.4; }
.ccrm-page-careers .ccrm-badge img { flex: 0 0 auto; }
.ccrm-page-careers .ccrm-badge--residence { color: var(--ccrm-color-warm-ink); background: var(--ccrm-color-warm-tint); }
.ccrm-page-careers .ccrm-badge--schedule { color: var(--ccrm-color-blue); background: var(--ccrm-color-blue-tint); }
.ccrm-page-careers .ccrm-badge--availability { color: var(--ccrm-color-green-ink); background: var(--ccrm-color-lime); }
.ccrm-page-careers .ccrm-job__toggle { gap: 10px; font-family: inherit; cursor: pointer; }
.ccrm-page-careers .ccrm-job__toggle[aria-expanded=true] .ccrm-job__chevron--down,
.ccrm-page-careers .ccrm-job__toggle[aria-expanded=false] .ccrm-job__chevron--up { display: none; }
.ccrm-page-careers .ccrm-job__details { border-top: 1px solid var(--ccrm-color-subtle-border); background: var(--ccrm-color-panel-tint); padding: 28px 34px 32px; }
.ccrm-page-careers .ccrm-job__details[hidden] { display: none; }
.ccrm-page-careers .ccrm-job__description { max-width: var(--ccrm-job-copy-measure); font-size: var(--ccrm-type-compact); line-height: 1.4375; color: var(--ccrm-color-text); }
.ccrm-page-careers .ccrm-job__description p { margin: 0 0 18px; }
.ccrm-page-careers .ccrm-job__description p:last-child { margin-bottom: 0; }
.ccrm-page-careers .ccrm-job__details > .fl-module-button { margin-top: 18px; }
@media (max-width: 600px) {
    .ccrm-page-careers .ccrm-job__header, .ccrm-page-careers .ccrm-job__details { padding: 25px 22px; }
    .ccrm-page-careers .ccrm-job__summary { flex-basis: 100%; }
}

/* Native application cards share a content-sized grid and accessible link states. */
.ccrm-page-careers .ccrm-application-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: stretch; }
.ccrm-page-careers .ccrm-application-card { display: flex; flex-direction: column; min-width: 0; padding: 36px; border: 2px solid var(--ccrm-color-blue); border-radius: var(--ccrm-radius-list-card); gap: 18px; }
.ccrm-page-careers .ccrm-application-card__heading { display: flex; flex-direction: row; align-items: center; gap: 14px; }
.ccrm-page-careers .ccrm-application-card__heading .ccrm-h3 { font-size: var(--ccrm-type-subsection); }
.ccrm-page-careers .ccrm-application-icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; background: var(--ccrm-color-warm-tint); }
.ccrm-page-careers .ccrm-application-icon--postal { background: var(--ccrm-color-blue-tint); }
.ccrm-page-careers .ccrm-application-icon :is(.fl-photo,.fl-photo-content) { display: block; line-height: 0; }
.ccrm-page-careers .ccrm-application-card .ccrm-copy, .ccrm-page-careers .ccrm-application-card .ccrm-copy :is(p,li) { color: var(--ccrm-color-text); line-height: 1.4; }
.ccrm-page-careers .ccrm-application-card a:not(.fl-button), .ccrm-page-careers .ccrm-application-question a { color: var(--ccrm-color-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ccrm-page-careers .ccrm-application-card a:focus-visible, .ccrm-page-careers .ccrm-application-question a:focus-visible { outline: 3px solid var(--ccrm-color-blue); outline-offset: 3px; }
.ccrm-page-careers .ccrm-application-checklist ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.ccrm-page-careers .ccrm-application-checklist li { padding-left: 28px; background: var(--ccrm-check-art) left .2em / 18px 18px no-repeat; }
.ccrm-page-careers .ccrm-application-card > .fl-module-button { margin-top: auto; padding-top: 8px; }
.ccrm-page-careers .ccrm-application-address { background: var(--ccrm-color-address-tint); padding: 19px 24px; border-radius: 12px; }
.ccrm-page-careers .ccrm-application-address.ccrm-copy p { line-height: 1.6; }
.ccrm-page-careers .ccrm-application-address strong { color: var(--ccrm-color-blue); }
.ccrm-page-careers .ccrm-application-question { text-align: center; }
@media (max-width: 800px) {
    .ccrm-page-careers .ccrm-application-grid { grid-template-columns: minmax(0,1fr); }
    .ccrm-page-careers .ccrm-application-card { padding: 28px 24px; }
}


/* Figma Careers 1463:98. Shared components own behavior and geometry.
 * This variant supplies the approved reading measures and illustration slot. */
.ccrm-page-careers { --ccrm-centered-copy-width: 710px; --ccrm-detail-surface: var(--ccrm-color-pale-blue); --ccrm-intro-background: var(--ccrm-color-surface); --ccrm-intro-padding: 80px 100px; }
.ccrm-page-careers .fl-module, .ccrm-page-careers .fl-col { min-width: 0; }
.ccrm-page-careers .fl-col-content, .ccrm-page-careers .fl-module-content { margin: 0; padding: 0; }
.ccrm-page-careers .ccrm-copy :is(p,li) { overflow-wrap: anywhere; }
.ccrm-page-careers .ccrm-hero-title { text-wrap: balance; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-split-copy { gap: var(--ccrm-space-stack); }
.ccrm-page-careers.ccrm-section-introduction .ccrm-h2.fl-heading { font-size: var(--ccrm-type-subsection); line-height: normal; }
.ccrm-page-careers.ccrm-section-introduction .ccrm-copy, .ccrm-page-careers.ccrm-section-introduction .ccrm-copy p { font-size: var(--ccrm-type-compact); line-height: 1.4; }
.ccrm-page-careers.ccrm-section-introduction .fl-col { width: 50%; }
.ccrm-page-careers.ccrm-card-section { --ccrm-card-section-start: var(--ccrm-space-section); }
.ccrm-page-careers.ccrm-card-section .fl-col-content > .ccrm-h2 { color: var(--ccrm-color-blue); }
.ccrm-page-careers.ccrm-card-section .ccrm-job-stack { display: flex; flex-direction: column; gap: 22px; width: min(100%,1000px); margin-inline: auto; }
.fl-builder-content .ccrm-page-careers.ccrm-section-application.fl-row > .fl-row-content-wrap { padding: 104px 24px; }
.ccrm-page-careers.ccrm-section-application .fl-row-content { width: 100%; max-width: 1000px; }
.ccrm-page-careers.ccrm-section-application .fl-col-content { display: flex; flex-direction: column; gap: 44px; }
.ccrm-page-careers.ccrm-section-application .fl-col-content > .ccrm-h2 { text-align: center; }
.ccrm-page-careers .ccrm-application-card .fl-rich-text { font-size: var(--ccrm-type-body); }
.ccrm-page-careers .ccrm-application-card .fl-button { max-width: 100%; white-space: normal; }
@media (max-width: 992px) {
    .ccrm-page-careers.ccrm-section-introduction .fl-col { width: 100%; }
    .fl-builder-content .ccrm-page-careers.ccrm-section-application.fl-row > .fl-row-content-wrap { padding-block: 64px; }
}
