/* Workbook v2 page-builds: the main-site corrections, scoped so pages without cxs-build-v2 are untouched. */
/* Loaded after content-pages.css (see inc/elementor-widgets.php); every selector below is prefixed with
   .elementor .cxs-content-page.cxs-build-v2 to out-specify the rules it overrides. */

/* --- Typography & spacing ------------------------------------------------ */

/* Reduce the ~88/92px gap below the H1. The H1 itself follows the shared standard in content-pages.css
   (.cxs-build-title h1: clamp(30px,4vw,48px)/800/1.06, max-width 800px). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-title { padding-block: clamp(40px, 5vw, 64px) 0; }

/* Reduce the gap below the H1 to ~32-40px (default 36px). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-title + .cxs-editorial-section { padding-top: 36px; }

/* Reduce the introductory H2 from 42px to 28-32px (desktop 30px). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section h2 { font-size: clamp(24px, 2.3vw, 30px); }
/* Variant: privacy-policy subtitles at 26-28px. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-h2-27 h2 { font-size: clamp(22px, 2vw, 27px); }
/* Variant: CA break law section headings at 28-32px (upper end). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-h2-32 h2 { font-size: clamp(24px, 2.4vw, 32px); }

/* Section padding utilities: override the default clamp(52px,5vw,72px) block padding. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-0 { padding-top: 0; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-24 { padding-top: 24px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-32 { padding-top: 32px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-36 { padding-top: 36px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-40 { padding-top: 40px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-0 { padding-bottom: 0; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-24 { padding-bottom: 24px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-32 { padding-bottom: 32px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-40 { padding-bottom: 40px; }

/* Centered headings (CA break law / privacy-policy style columns use left-aligned copy instead). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-center { text-align: center; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-center :is(h1, h2) { margin-inline: auto; }

/* --- Containers ----------------------------------------------------------- */

/* ~900px reading/content container (candidate process, clinical liaison, gov contracts,
   therapy mentorship, pay transparency, recruiter/why-anders/profile pages, travel guide). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-inner.cxs-build-narrow { max-width: calc(900px + 2 * clamp(20px, 4vw, 40px)); }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow .cxs-editorial-copy,
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow .elementor-widget-text-editor.cxs-editorial-copy { max-width: none; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow .cxs-build-video { width: 100%; }

/* California break law reading column, ~760px. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-inner.cxs-build-narrow-760 { max-width: calc(760px + 2 * clamp(20px, 4vw, 40px)); }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow-760 .cxs-editorial-copy,
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow-760 .elementor-widget-text-editor.cxs-editorial-copy { max-width: none; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow-760 .cxs-build-video { width: 100%; }

/* Privacy-policy reading column, ~800px. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-inner.cxs-build-narrow-800 { max-width: calc(800px + 2 * clamp(20px, 4vw, 40px)); }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow-800 .cxs-editorial-copy,
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow-800 .elementor-widget-text-editor.cxs-editorial-copy { max-width: none; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-narrow-800 .cxs-build-video { width: 100%; }

/* Candidate process intro/video row, ~40/60 split, 32-40px gap, stack on mobile. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-split { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 36px; align-items: start; }

/* Traveler-essentials guide cards, complete artwork visible, side by side on desktop. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-cards .cxs-build-card { display: flex; flex-direction: column; gap: 12px; padding: 22px; border: 1px solid var(--cxs-page-line, #e4eaf1); border-radius: 20px; background: #fff; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-cards .cxs-build-card img { width: 100%; height: auto; object-fit: contain; border-radius: 12px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-cards .cxs-build-card h3 { font-size: 20px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-cards .cxs-build-card .cxs-page-button { margin-top: auto; }

/* Traveler-essentials company links, four compact groups. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-link-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-link-groups .cxs-editorial-copy ul { list-style: none; padding-inline-start: 0; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-link-groups .cxs-editorial-copy a { color: var(--cxs-page-navy); text-decoration: underline; font-size: 15px; line-height: 1.5; }

/* Healthcare credentialing guide, balanced two-column layout with cover on the right. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 420px);
  grid-template-areas: "title cover" "copy cover" "download cover";
  column-gap: 36px;
  row-gap: 28px;
  align-items: start;
}
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero .cxs-build-guide-title { grid-area: title; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero .cxs-build-guide-copy { grid-area: copy; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero .cxs-build-guide-cover { grid-area: cover; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero .cxs-build-guide-download { grid-area: download; }
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero .cxs-build-guide-cover img { width: 100%; max-width: 420px; height: auto; object-fit: contain; margin-inline: auto; }
/* 2026-09-28: the guide H1 follows the shared no-hero H1 standard (same values as .cxs-build-title h1). */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-title h1 { max-width: 800px; font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.06; }

/* Keep the current 533px-wide CA break law chart images at their native size, never enlarged. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-chart img { width: auto; max-width: 100%; height: auto; margin-inline: auto; display: block; }

/* --- Video ----------------------------------------------------------------- */

/* Keep every resource-page video at its natural 16:9 ratio, responsive to its container. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-video video,
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-video .elementor-video,
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-video iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 16px;
}

/* --- Hero ---------------------------------------------------------------------------------- */

/* 2026-09-28: the homepage-scale hero (clamp(360px,44vh,470px) banner, 48px H1) is now the shared
   .cxs-page-hero standard in content-pages.css, so the former cxs-build-v2 hero overrides were removed. */

/* --- Profile pages (rows 59-76, #12/#13) ----------------------------------- */

/* Role eyebrow above the profile name. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-profile-role { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--cxs-page-green, #4d7c0f); font-weight: 700; }
/* Fun-facts list, no bullets. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-profile-facts ul { list-style: none; padding-inline-start: 0; display: flex; flex-direction: column; gap: 6px; font-size: 16px; }
/* Contact links, navy underlined, wrap long addresses. */
.elementor .cxs-content-page.cxs-build-v2 .cxs-build-profile-contact a { color: var(--cxs-page-navy); text-decoration: underline; overflow-wrap: break-word; }
/* 2026-09-30: compact employee banner modelled on the live bio banner (flat slate #33475b, ~220-240px on
   desktop). The title section keeps its editable H1 and 900px inner container, so the heading stays aligned with
   the profile content below; this intentionally overrides the taller photographic hero standard. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-profile .cxs-build-title { display: flex; flex-direction: column; justify-content: center; min-height: 232px; padding-block: 40px; background: #33475b; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-profile .cxs-build-title h1.elementor-heading-title { color: #fff; font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.06; }
/* 2026-09-30: whole photographs in square frames. Portrait shots were losing faces to the shared 3:2 cover
   crop; contain shows the complete (uncropped "large") image, centred on white wherever it does not fill the frame. */
.elementor .cxs-content-page.cxs-build-profile .cxs-content-carousel.elementor-widget.elementor-widget-image-carousel :is(.swiper-slide img, .swiper-slide-image) { aspect-ratio: 1 / 1; object-fit: contain; object-position: center; background: #fff; }
@media (max-width: 767px) {
  /* The banner height follows the wrapped heading on phones instead of the desktop minimum. */
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-profile .cxs-build-title { min-height: 0; padding-block: 40px; }
}

/* --- 600px repeat: section padding utilities must still win under the mobile override --------- */
@media (max-width: 600px) {
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-title + .cxs-editorial-section { padding-top: 36px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-0 { padding-top: 0; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-24 { padding-top: 24px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-32 { padding-top: 32px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-36 { padding-top: 36px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pt-40 { padding-top: 40px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-0 { padding-bottom: 0; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-24 { padding-bottom: 24px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-32 { padding-bottom: 32px; }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-editorial-section.cxs-build-pb-40 { padding-bottom: 40px; }
}

/* --- 900px / 767px / 600px responsive stacking, matching content-pages.css breakpoints -------- */
@media (max-width: 1024px) {
  /* Traveler-essentials company link groups, 2 columns. */
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-link-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  /* Candidate process row stacks, text first (DOM order handles the "text first"). */
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-split { grid-template-columns: 1fr; }
  /* Traveler-essentials guide cards stack to 1 column. */
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-cards { grid-template-columns: 1fr; }
  /* Healthcare credentialing guide collapses to a single column, areas reset, no empty gaps. */
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "copy" "cover" "download";
  }
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-guide-hero .cxs-build-guide-cover img { max-width: 420px; }
}
@media (max-width: 767px) {
  /* New-grad two-column paragraphs stack (also repeated below with the page-scoped selector). */
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-ng-intro { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  /* Traveler-essentials link groups collapse to 1 column. */
  .elementor .cxs-content-page.cxs-build-v2 .cxs-build-link-groups { grid-template-columns: 1fr; }
}

/* --- New-grad page-scoped rules (#1) --------------------------------------------------------- */

/* 2x2 icon-card grid for the reused Section 12 benefits block. */
.elementor .cxs-content-page.cxs-build-new-graduate-travel-agency .cxs-section--benefits .g-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Mentorship intro's two paragraphs side by side. */
.elementor .cxs-content-page.cxs-build-new-graduate-travel-agency .cxs-build-ng-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 600px) {
  /* 2x2 icon cards become a single column on small phones. */
  .elementor .cxs-content-page.cxs-build-new-graduate-travel-agency .cxs-section--benefits .g-3 { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  /* Mentorship intro paragraphs stack under 760px. */
  .elementor .cxs-content-page.cxs-build-new-graduate-travel-agency .cxs-build-ng-intro { grid-template-columns: 1fr; }
}

/* --- privacy-policy page-scoped (#11) --------------------------------------------------------- */

/* Policy subtitles at 26-28px. cxs-build-h2-27 sits on the page root together with
   cxs-build-v2 on this page, so the shared descendant-selector variant (.cxs-build-v2 .cxs-build-h2-27 h2)
   never matches; scope directly to this page instead. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-privacy-policy .cxs-editorial-section:not(.cxs-page-intro) h2 { font-size: clamp(22px, 2vw, 27px); }

/* #7: page-scoped fix — prevent the spanning cover image from inflating
   the left column's own row tracks (default grid track sizing distributes a
   spanning item's extra block-axis space across the auto tracks it spans,
   which stretched title/copy/download apart well past the 24-32px target).
   Capping the left-column rows at their own max-content keeps title/copy/
   download tight while the cover item still overflows its own track to
   visually align with the full left-column height. */
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-hero {
  grid-template-rows: max-content max-content minmax(max-content, 1fr);
}

/* Size variants also match when the variant class sits on the page root beside cxs-build-v2. */
/* The intro marker (.cxs-page-intro, page-standards.css) is excluded so the introductory H2 keeps the shared standard. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-h2-27 .cxs-editorial-section:not(.cxs-page-intro) h2 { font-size: clamp(22px, 2vw, 27px); }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-h2-32 .cxs-editorial-section:not(.cxs-page-intro) h2 { font-size: clamp(24px, 2.4vw, 32px); }

/* --- New-grad page-scoped: center the reused Section 12 benefits heading ("centered H2") --- */
.elementor .cxs-content-page.cxs-build-new-graduate-travel-agency .cxs-section--benefits .head { text-align: center; margin-inline: auto; }
.elementor .cxs-content-page.cxs-build-new-graduate-travel-agency .cxs-section--benefits .head .eyebrow { justify-content: center; }

/* --- Contact Us page-scoped ("Contact Us corrected v2", 2026-09-24) ------------------ */
/* Hero matches the homepage banner — same overlay gradient and 22/88px inner padding. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-hero .hero-overlay { background: linear-gradient(90deg, rgba(8,30,52,.92) 0%, rgba(8,30,52,.66) 40%, rgba(8,30,52,.3) 70%, rgba(8,30,52,.12) 100%), linear-gradient(0deg, rgba(8,30,52,.72), transparent 46%); }
@media (min-width: 768px) {
  /* Phones use the shared 28px/20px hero standard (content-pages.css). */
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-hero .hero-inner.wrap { padding: 22px clamp(20px, 4vw, 40px) 88px; }
}
/* One contact-information column beside the existing CF7 form, ~.92/1.08 split on paper. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-area { padding-block: clamp(40px, 5vw, 64px); background: var(--cxs-page-soft, #f1f5f9); }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-contact-layout { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(32px, 4.5vw, 64px); }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-info { padding-top: 6px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-intro { max-width: 34ch; padding-bottom: 28px; color: var(--cxs-page-ink); font-size: clamp(21px, 2vw, 25px); font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail { padding-block: 23px; border-top: 1px solid #d3deea; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail:last-child { padding-bottom: 0; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail h2 { margin: 0 0 9px; color: var(--cxs-page-ink); font-size: 18px; font-weight: 750; line-height: 1.35; letter-spacing: -.01em; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy { max-width: none; font-size: 15.5px; line-height: 1.65; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy p { margin-block: 0; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy p + p { margin-top: 10px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy p + p.cxs-build-hours { margin-top: 0; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy a { text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy a:hover { color: var(--cxs-page-navy); text-decoration-thickness: 2px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy a.cxs-build-main-phone { display: inline-block; margin: 0 0 9px; color: var(--cxs-page-navy); font-size: 24px; font-weight: 750; line-height: 1.35; text-decoration: none; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy p.cxs-build-hours { color: var(--cxs-page-navy); font-size: 15px; font-weight: 600; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail .cxs-editorial-copy p.cxs-build-emergency { margin-top: 12px; font-size: 14px; }
/* 13px form note, 180px message box, and a wider, centered lime send button. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-page-form__intro { margin-bottom: 23px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-page-form__intro .cxs-editorial-copy { font-size: 13px; line-height: 1.5; }
/* User: more breathing room between each label and its field (CF7 wraps the control inside the label). */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form label > .wpcf7-form-control-wrap { display: block; margin-top: 10px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form textarea { height: 180px; min-height: 140px; }
/* Consent row — 13px regular muted copy, top-aligned beside a true 18px checkbox. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .wpcf7-acceptance .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 10px; min-height: 0; color: var(--cxs-page-muted, #5b6b7f); font-size: 13px; font-weight: 400; line-height: 1.5; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .wpcf7-acceptance input[type=checkbox] { flex: none; width: 18px; height: 18px; margin: 2px 0 0; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .wpcf7-acceptance .wpcf7-list-item-label a { color: var(--cxs-page-navy); text-decoration: underline; text-underline-offset: 2px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-form-field:has(.wpcf7-submit) > p { position: relative; display: flex; align-items: center; justify-content: center; margin: 0; }
/* The CF7 spinner sits outside the flow so the button stays truly centered; it shows at the row's right edge while submitting. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-form-field:has(.wpcf7-submit) .wpcf7-spinner { position: absolute; top: 50%; right: 0; margin: 0; transform: translateY(-50%); }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form input[type=submit] { display: inline-flex; width: fit-content; max-width: 100%; padding: 17px 62px; font-size: 16px; font-weight: 600; line-height: normal; box-shadow: 0 6px 18px rgba(163,230,53,.55); transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s cubic-bezier(.2,.7,.2,1), background-color .2s ease; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form input[type=submit]:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(163,230,53,.55); }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form input[type=submit]:active { transform: translateY(1px); }
/* Profession + Specialty (inc/contact-form.php): standalone labels keep the same 10px label -> control gap as the wrapping
   labels above; the enhanced selects take the Job Alerts skin (48px, 16px, 10px radius, chevron). */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-form-field > label[for] { margin-bottom: 10px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-contact-select { position: relative; display: block; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .cxs-form-field:has(.advs-trigger.is-open) { position: relative; z-index: 6; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger { width: 100%; min-height: 48px; margin: 0; padding: 11px 44px 11px 14px; border: 1px solid var(--line-2, #d3deea); border-radius: 10px; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123a5e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; color: var(--cxs-page-ink); font: inherit; font-size: 16px; font-weight: 400; line-height: 1.4; text-align: left; box-shadow: none; cursor: pointer; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger.is-placeholder .advs-value { color: #5b6b7f; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger:not(:disabled):hover { border-color: var(--navy-line, #1e4970); }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger.is-open,
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger:focus-visible { border-color: var(--cxs-page-navy); outline: 2px solid var(--cxs-page-lime); outline-offset: 2px; box-shadow: none; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger[aria-invalid="true"] { border-color: #b42318; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger:disabled,
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-trigger[aria-disabled="true"] { border-color: var(--cxs-page-line, #e4eaf1); background-color: #f1f5f9; color: var(--cxs-page-muted, #5b6b7f); cursor: not-allowed; opacity: .72; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-panel { width: 100%; min-width: 100%; max-width: none; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-opt { min-height: 44px; font-size: 15px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-search { padding: 0 12px; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-search input { width: auto; min-height: 44px; padding: 10px 0; border: 0; border-radius: 0; font-size: 16px; outline: none; transition: none; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-search input:focus,
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-search input:focus-visible { border: 0; outline: none; box-shadow: none; }
.elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form .advs-search:focus-within { box-shadow: inset 0 -2px 0 var(--cxs-page-lime, #a3e635); }
@media (max-width: 900px) {
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-contact-layout { grid-template-columns: 1fr; gap: 30px; }
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-info { padding-top: 0; }
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-intro { max-width: 48ch; }
}
/* The phone hero follows the shared standard (content-pages.css); its focal point is the widget's phone focal point. */
@media (max-width: 600px) {
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-build-contact-detail { padding-block: 21px; }
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form textarea { height: 160px; }
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form input[type=submit] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor .cxs-content-page.cxs-build-v2.cxs-build-contact-us .cxs-page-form input[type=submit]:is(:hover, :active) { transform: none; }
}

/* --- Job Alerts page-scoped (the brief, 2026-09-28) --- */
/* Root classes: cxs-content-page cxs-main-build cxs-build-v2 cxs-build-h2-32 cxs-build-job-alerts. Hero H1 / description
   (800/1.06/800px, 760px, 20px/14px gap) come from the shared .cxs-page-hero standard in content-pages.css, the 40px/28px
   section padding-top from .cxs-page-hero-follow and the copy-column H2/paragraphs from .cxs-page-intro (page-standards.css).
   Only the deltas live here. */
/* The form rules below also match the form widget itself (the .cxs-section--form wrapper holding the Job Alerts grid or
   its confirmation), so the form keeps this skin when the page is rebuilt without the root classes above (e.g. the
   Atomic e-flexbox rebuild on the preview). :is() keeps the original specificity. The widget scope needs the page
   tokens the root normally defines. */
.elementor .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation) { --cxs-page-ink: #0a2540; --cxs-page-navy: #123a5e; --cxs-page-lime: #a3e635; --cxs-page-muted: #5b6b7f; --cxs-page-soft: #f1f5f9; --cxs-page-line: #e4eaf1; }
/* Hero focal point: face ~75% / phone ~65% across the 1920x640 photo — 70% keeps both inside the 1024–1440px crop. */
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero { --cxs-hero-x: 70%; }
/* Section: the CTA strip (.ag-cta) paints its 44px/32px padding inside its own navy background, so the visible gap before
   it is this padding-bottom alone: 64px desktop / 40px mobile. padding-top is .cxs-page-hero-follow's. */
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-area { padding-bottom: 64px; }
/* Copy column: benefit list with the job page's check badges (.req-list / .benefit-list .icon-check in anders-job-page.css:
   20px mint circle, 1px green-grey ring, 11px navy check), ink lead-ins, 12px between items. The badge is a pseudo-element
   because the list lives in Elementor data; absolute, not flex, so the <strong> lead-in and its text wrap as one line box.
   top: 3px centres the 20px badge on the first 25.6px line. */
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-benefits { margin: 0; padding-inline-start: 0; list-style: none; }
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-benefits li { position: relative; margin-block: 0 12px; padding-inline-start: 32px; font-size: 16px; font-weight: 400; line-height: 1.6; }
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-benefits li::before { content: ""; position: absolute; top: 3px; left: 0; box-sizing: border-box; width: 20px; height: 20px; border: 1px solid #cfe6d2; border-radius: 50%; background: #f7fdf3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 6.2 4.8 9 10 3.4' stroke='%23044f81' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-benefits li:last-child { margin-bottom: 0; }
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-benefits strong { color: var(--cxs-page-ink); font-weight: 700; }
/* The copy column is a gap-less container (Elementor --gap 0), so the H2 -> paragraph -> bullets rhythm is set here: 16px.
   Side by side (>900px) its H2 starts on the form heading's line: 33px = the card's 32px padding + 1px border. */
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-copy { row-gap: 16px; padding-top: 33px; }
/* Form card heading + intro. (0,5,0) beats the .cxs-editorial-section :is(h2, …) 1.12 line-height; font-size matches the
   cxs-build-h2-32 rule so it holds with or without that root class. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-section-heading { margin: 0 0 8px; color: var(--cxs-page-ink); font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-page-form__intro { margin-bottom: 24px; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-page-form__intro .cxs-editorial-copy { max-width: none; color: var(--cxs-page-muted, #5b6b7f); font-size: 16px; font-weight: 400; line-height: 1.6; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-page-form__intro p { margin-block: 0 8px; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-page-form__intro p:last-child { margin-bottom: 0; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-form-required-note { color: var(--cxs-page-muted, #5b6b7f); font-size: 14px; line-height: 1.5; }
/* Grid: text fields pair up, selects / consent / actions span (.is-wide); labels sit above their control. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
/* Label -> control gap 10px, matching the Contact Us / Staffing Solutions forms (their wrapping labels use
   `label > .wpcf7-form-control-wrap { margin-top: 10px }`; here the labels stand alone above their control). */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-grid > .cxs-form-field > label { margin-bottom: 10px; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-grid .cxs-form-field.is-wide { grid-column: 1 / -1; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-form-required { margin-inline-start: 2px; color: #b42318; font-weight: 700; }
/* The server-rendered select wraps are <span>s beside their label: block them and anchor the absolutely positioned
   advSelect panel; an open panel lifts its field above the rows below (same pattern as sections.css .sfield). */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-field { position: relative; display: block; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-form-field:has(.advs-trigger.is-open) { position: relative; z-index: 6; }
/* Enhanced select trigger: same skin as the native inputs (48px, 16px, 10px radius) plus a chevron. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger { width: 100%; min-height: 48px; margin: 0; padding: 11px 44px 11px 14px; border: 1px solid var(--line-2, #d3deea); border-radius: 10px; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123a5e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; color: var(--cxs-page-ink); font: inherit; font-size: 16px; font-weight: 400; line-height: 1.4; text-align: left; box-shadow: none; cursor: pointer; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger.is-placeholder .advs-value { color: #5b6b7f; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger:not(:disabled):hover { border-color: var(--navy-line, #1e4970); }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger.is-open,
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger:focus-visible { border-color: var(--cxs-page-navy); outline: 2px solid var(--cxs-page-lime); outline-offset: 2px; box-shadow: none; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger[aria-invalid="true"] { border-color: #b42318; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger:disabled,
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger[aria-disabled="true"] { border-color: var(--cxs-page-line, #e4eaf1); background-color: #f1f5f9; color: var(--cxs-page-muted, #5b6b7f); cursor: not-allowed; opacity: .72; }
/* Dropdown panel: full field width, never clipped (the card sets no overflow); search input keeps the component's flat look. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-panel { width: 100%; min-width: 100%; max-width: none; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-opt { min-height: 44px; font-size: 15px; }
/* Search row: the focusable input itself is the 44px target (the wrapper's padding moves onto it); focus shows as a lime
   underline on the row instead of the component's outline:none. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-search { padding: 0 12px; }
/* No outline in any state: the shared page-form rule gives inputs a transparent outline with a colour transition, so
   blurring the search box (pressing an option) faded a near-black 2px box around it. Focus shows as the row underline. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-search input { width: auto; min-height: 44px; padding: 10px 0; border: 0; border-radius: 0; font-size: 16px; outline: none; transition: none; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-search input:focus,
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-search input:focus-visible { border: 0; outline: none; box-shadow: none; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-search:focus-within { box-shadow: inset 0 -2px 0 var(--cxs-page-lime, #a3e635); }
/* Consent: checkbox beside wrapped 14px text (same treatment as Contact Us). */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .wpcf7-acceptance .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 10px; min-height: 0; margin: 0; color: var(--cxs-page-muted, #5b6b7f); font-size: 14px; font-weight: 400; line-height: 1.5; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .wpcf7-acceptance input[type=checkbox] { flex: none; width: 18px; height: 18px; margin: 2px 0 0; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .wpcf7-acceptance .wpcf7-list-item-label a { color: var(--cxs-page-navy); text-decoration: underline; text-underline-offset: 2px; }
/* Submit: left-aligned lime pill; aria-busy is set by job-alerts-form.js while the request is in flight. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form input[type=submit] { padding: 16px 40px; font-size: 16px; font-weight: 700; line-height: normal; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form input[type=submit][aria-busy="true"] { cursor: progress; }
/* Confirmation (replaces the intro + form after wpcf7mailsent): dark navy ink, 32/20px, 16px apart, 32px padding. Sits
   inside the card's own padding, so a soft panel makes the nesting read as intentional. (0,6,1) on the heading beats the
   cxs-build-h2-32 .cxs-editorial-section:not(.cxs-page-intro) h2 rule earlier in this file. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation { padding: 32px; border-radius: 16px; background: var(--cxs-page-soft, #f1f5f9); scroll-margin-top: 110px; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-area, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form h2.cxs-job-alerts-confirmation__heading { margin: 0 0 16px; color: var(--cxs-page-ink); font-size: 32px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation__message { margin: 0; color: var(--cxs-page-ink); font-size: 20px; font-weight: 400; line-height: 1.6; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation__heading:focus { outline: none; }
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation__heading:focus-visible { outline: 3px solid var(--cxs-page-lime); outline-offset: 4px; border-radius: 4px; }
@media (max-width: 900px) {
  /* .cxs-form-layout stacks at 900px (content-pages.css), so the form-first order applies from the same breakpoint. */
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-layout > .elementor-widget-cxs-section-form { order: 1; }
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-layout > .cxs-build-alerts-copy { order: 2; padding-top: 0; }
}
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-area { padding-bottom: 40px; }
  .elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-grid { grid-template-columns: 1fr; gap: 18px 20px; } /* same row/column gap as the Contact Us / Staffing Solutions forms at every width */
  .elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-grid .cxs-form-field.is-wide { grid-column: auto; }
  .elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation { padding: 24px; }
  .elementor :is(.cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-area, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form h2.cxs-job-alerts-confirmation__heading { font-size: 24px; }
  .elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation__message { font-size: 18px; }
}
@media (max-width: 600px) {
  /* Full width on phones; 16px sides so "Send My Preferences" fits the 238px button at 320px. */
  .elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form input[type=submit] { width: 100%; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .cxs-job-alerts-confirmation { scroll-behavior: auto; }
}

/* --- anders-connect page-scoped (2026-09-28) --- */
/* Split opening (H1 + intro + badges | phone graphic): no banner min-height; section padding trimmed so the
   features graphic below is not preceded by excessive space (32px + the intro section's 40px = 72px). */
.elementor .cxs-content-page.cxs-build-anders-connect .cxs-build-title.cxs-build-connect-open { padding-block: clamp(40px, 5vw, 64px) 32px; }
/* H1 -> intro paragraph 36px (24px container gap + 12px). */
.elementor .cxs-content-page.cxs-build-anders-connect .cxs-page-split__text > .elementor-widget-heading { margin-block-end: 12px; }
/* Phone-and-hand graphic sized to its column: complete, proportions kept, at most ~520px tall. */
.elementor .cxs-content-page.cxs-build-anders-connect .cxs-page-split__media .cxs-build-image img { width: auto; max-width: 100%; max-height: 520px; object-fit: contain; }
/* Blue features graphic centered at its native ~829px, then the ~760px centered H2 + paragraph container. */
.elementor .cxs-content-page.cxs-build-anders-connect .cxs-build-source-2 .cxs-build-image img { max-width: min(100%, 829px); }
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-anders-connect .cxs-build-title.cxs-build-connect-open { padding-block: 28px 24px; }
  .elementor .cxs-content-page.cxs-build-anders-connect .cxs-page-split__text > .elementor-widget-heading { margin-block-end: 4px; }
}


/* --- anders-connect page-scoped (2026-09-28), part 2 --- */
/* Opening intro paragraph: 16px/400/1.6 (the shared editorial copy is 1.7). */
.elementor .cxs-content-page.cxs-build-anders-connect .cxs-page-split__text .cxs-editorial-copy { font-size: 16px; font-weight: 400; line-height: 1.6; }


/* --- healthcare-staffing-agency-about page-scoped (2026-09-28) --- */
/* About (26266, atomic): the intro section carries .cxs-page-intro (page-standards.css gives it the 40px/28px
   padding-top and the intro H2 / paragraph typography). Its story grid is centered vertically by the shared
   .cxs-story-grid rule, which pushed the H2 ~41px below the section's top; top-align the text column so
   hero -> H2 reads 40px (28px mobile). The grid's atomic local class also fixes width:1200px with no mobile
   variant, which clipped the intro text at 390px: keep it inside its container. */
.elementor-26266 .cxs-content-page .cxs-page-intro .cxs-story-grid { width: 100%; max-width: 1200px; align-items: start; }


/* --- travel-healthcare-video-gallery page-scoped (2026-09-28) --- */
/* 26511 mixes atomic e-flexbox roots with the classic hero widget and a classic heading + text-editor intro,
   and none of it sits inside a .cxs-content-page container, so the shared .cxs-page-intro rules in
   page-standards.css cannot match here. The intro block (6745689) carries the marker in its atomic classes;
   these rules apply the same standard by element id: the hero sits full-bleed under the header (the atomic
   root's 10px frame removed, as on the container pages), hero -> intro reads 40px desktop / 28px mobile,
   the intro H2 is clamp(24px,2.4vw,32px)/700/1.2 and its copy 16px/400/1.6, left-aligned at <= 760px. */
.elementor-26511 .elementor-element-f345410.e-flexbox-base { padding: 0; }
.elementor-26511 .elementor-element-8d451a8.e-flexbox-base { padding-top: 0; }
.elementor-26511 .elementor-element-6745689.cxs-page-intro { padding-top: 40px; }
.elementor-26511 .elementor-element-6745689.cxs-page-intro h2.elementor-heading-title { margin: 0; font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; line-height: 1.2; text-align: left; }
.elementor-26511 .elementor-element-6745689.cxs-page-intro .elementor-widget-text-editor.cxs-editorial-copy { display: block; width: 100%; min-width: 0; max-width: 760px; }
.elementor-26511 .elementor-element-6745689.cxs-page-intro .cxs-editorial-copy p { font-size: 16px; font-weight: 400; line-height: 1.6; text-align: left; }
@media (max-width: 767px) {
  .elementor-26511 .elementor-element-6745689.cxs-page-intro { padding-top: 28px; }
}
/* The jump-link buttons (e-grid f28e5dc) sit in four equal 1fr columns, which wrapped "Navigating Travel
   Healthcare: Podcast" onto two lines at desktop. From 1200px up (where all four fit on one line with room
   to spare) the grid renders as one flex row: each button keeps its natural width and space-between spreads
   them. Between 768px and 1199px, where one row no longer fits and a wrapped space-between row reads ragged,
   it is a 2x2 grid of equal-width buttons. The editor still shows the 4-column grid; the one-per-row mobile
   stack from Elementor's base-mobile.css is untouched. */
@media (min-width: 768px) and (max-width: 1199px) {
  .elementor-26511 .elementor-element-f28e5dc.e-grid-base { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 12px 16px; }
  .elementor-26511 .elementor-element-f28e5dc .elementor-button { width: 100%; }
}
@media (min-width: 1200px) {
  .elementor-26511 .elementor-element-f28e5dc.e-grid-base { display: flex; justify-content: space-between; column-gap: 16px; }
  .elementor-26511 .elementor-element-f28e5dc.e-grid-base > .elementor-widget { width: auto; min-width: auto; flex: 0 1 auto; }
}


/* --- facilities page-scoped (2026-09-28) --- */
/* Page 26517: the intro grid (e-grid d9a4ad3, marked cxs-page-intro) is a root-level atomic sibling of the
   .cxs-content-page container, so the shared .cxs-page-intro rules in page-standards.css cannot reach it.
   The intro standard is mirrored here by element id; the inline widget typography that used to override it
   (38/32/28px H2, 1.7em copy) was removed from the widget settings. Only the intro heading and its first
   paragraph are touched; the sibling e-paragraphs, icon lists and the form card keep their approved values. */
.elementor-26517 .elementor-element-d9a4ad3.cxs-page-intro { padding-block-start: 40px; }
.elementor-26517 .cxs-page-intro .elementor-element-41b3a78 h2.elementor-heading-title {
  margin: 0 0 8px; /* + the column's 10px gap = 18px H2 -> paragraph */
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}
.elementor-26517 .cxs-page-intro .elementor-element-4dccbf5.cxs-editorial-copy,
.elementor-26517 .cxs-page-intro .elementor-element-4dccbf5.cxs-editorial-copy p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
}
.elementor-26517 .cxs-page-intro .elementor-element-4dccbf5.cxs-editorial-copy { max-width: 760px; }
@media (max-width: 767px) {
  .elementor-26517 .elementor-element-d9a4ad3.cxs-page-intro { padding-block-start: 28px; }
}


/* --- community-efforts page-scoped (2026-09-28) --- */
/* Intro block (atomic e-5275969 grid with the cxs-page-intro marker): the inner flexbox already has a 10px
   gap, so 10px of H2 margin makes the H2 -> paragraph distance 20px. */
.elementor .cxs-content-page.cxs-build-community-efforts .cxs-page-intro { --cxs-page-intro-h2-gap: 10px; }
/* The volunteer photo is a background image on an empty flexbox: no repeat sliver on desktop, and a 4:3 box
   once the grid stacks on mobile (a 0-height block would only leave its box-shadow behind). */
.elementor .cxs-content-page.cxs-build-community-efforts .cxs-page-intro .e-a1e1fa0-7d02f82 { background-size: cover; background-position: center top; background-repeat: no-repeat; }
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-community-efforts .cxs-page-intro .e-a1e1fa0-7d02f82 { aspect-ratio: 4 / 3; }
  /* 2026-10-05: the phone hero read as very dark. The photo already carries a baked-in navy tint, so the
     shared phone overlay doubled it; a light left-side wash keeps the white title at 4.6:1+ on its brightest pixel. */
  .elementor .cxs-content-page.cxs-build-community-efforts .cxs-page-hero .hero-overlay { background: linear-gradient(90deg, rgba(8,30,52,.4) 0%, rgba(8,30,52,.15) 60%, rgba(8,30,52,0) 100%); }
}
/* One text column with the hero and "Let's connect" (.wrap: 1220px, clamp(20px,4vw,40px) gutters). The event stories
   section is a boxed container with 0 padding and no .cxs-editorial-inner, so below 1140px its headings, copy and photos
   ran flush to the screen edge; the gutter goes on the section and the 1140px boxed inner keeps desktop unchanged. */
.elementor .cxs-content-page.cxs-build-community-efforts .cxs-editorial-section { padding-inline: clamp(20px, 4vw, 40px); }
/* The atomic intro grid (1300px max, 25px padding + the text flexbox's default 10px) put the intro text 35-45px off
   that column at every width. It takes the same 1220px box and gutters, inline only so the hero follow rule and the
   grid's own top padding still apply, and the stories grid's 32px column gap, so the photo lines up with the right
   column below. */
.elementor .cxs-content-page.cxs-build-community-efforts .cxs-page-intro { max-width: 1220px; padding-inline: clamp(20px, 4vw, 40px); column-gap: 32px; }
.elementor .cxs-content-page.cxs-build-community-efforts .cxs-page-intro .e-f15cac6-baef5d6 { padding-inline: 0; }


/* --- resources-candidate-process page-scoped (2026-10-05) --- */
/* Page 26538 is an atomic editor build with no .cxs-content-page root, so it is scoped by page id and its atomic
   style classes. On phones Elementor's default 10px flexbox padding stacked up: the intro copy sat at 30px, the step
   cards at 46px (plus the HTML widget's own 16px) and the specialties at 30px, against 20px for the video and the
   section H2. Every block now sits on one 20px gutter, and the two headings that fell back to the theme's 40px h1/h2
   size step down to the phone H1 (30px) and to the 28px of the "Explore popular travel specialties" H2 below. */
@media (max-width: 767px) {
  .elementor-26538 .e-482048c-5c44ead { padding-inline: 0; }
  .elementor-26538 h1.e-7520ba5-880ddf5 { font-size: 30px; line-height: 1.1; }
  .elementor-26538 h2.e-620ab1a-2371bec { align-self: stretch; font-size: 28px; line-height: 1.2; }
  .elementor-26538 .elementor-element-e21e342 { align-self: stretch; padding-inline: 0; }
  .elementor-26538 .elementor-element-e21e342 > .elementor-widget-html { flex: 1 1 100%; }
  .elementor-26538 .elementor-element-e21e342 .hiw-steps { padding-inline: 0; }
  /* The specialties widget's .ag-wrap gutter is clamp(20px, 4vw, 40px); held at 20px so 500-767px matches the rest. */
  .elementor-26538 .elementor-element-5703071 { padding-inline: 0; }
  .elementor-26538 .elementor-element-5703071 .cxs-section .ag-wrap { padding-inline: 20px; }
}


/* --- privacy-policy page-scoped (2026-09-28) --------------------------------------------- */
/* Section 5: only the first policy H2 ("Our Commitment to Privacy") is introductory. The marker
   .cxs-page-intro sits on its column (708eb7b), not on the shared section, so the other six policy H2s keep
   the 27px rule above; that rule is (0,6,1), so this one is (0,7,1) to win without !important. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-privacy-policy .cxs-editorial-section .cxs-page-intro h2.elementor-heading-title {
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.2;
}
/* ~40px between the H1 and the opening H2 (the shared v2 rule and its 600px repeat give 36px at (0,5,0)). */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-privacy-policy .cxs-build-title + .cxs-editorial-section { padding-top: 40px; }
/* The intro column already has a 14px flex gap; 6px extra H2 margin lands the H2 -> paragraph distance at 20px. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-privacy-policy .cxs-editorial-section .cxs-page-intro { --cxs-page-intro-h2-gap: 6px; }
/* Policy paragraphs follow the shared 16px/400/1.6 standard on every column, so the intro copy (1.6 via the
   marker) and the remaining policy copy (previously 1.7) read as one measure. */
.elementor .cxs-content-page.cxs-build-v2.cxs-build-privacy-policy .cxs-editorial-section .cxs-editorial-copy { font-size: 16px; font-weight: 400; line-height: 1.6; }


/* --- navigating-travel-healthcare-an-anders-group-podcast page-scoped (2026-09-28) --- */
/* Banner: the live artwork (1275x425, 3:1, lettering baked into the left half) sits below the header at the
   content width on a navy fill, complete and uncropped; the H1 below it stays the page's only title. */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-editorial-section.cxs-podcast-banner-section { padding-block: 0; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-banner { width: 100%; aspect-ratio: 3 / 1; overflow: hidden; border-radius: 12px; background: #0a2540; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-banner .elementor-widget-image { width: 100%; height: 100%; margin: 0; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-banner .elementor-widget-container { height: 100%; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-banner img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
/* H1: modest spacing around the title (32px below the banner, the intro section's own 40px below the H1). */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-build-title { padding-block: 32px 0; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-build-title .cxs-editorial-inner { max-width: calc(760px + 2 * clamp(20px, 4vw, 40px)); }
/* Intro section: 40px below it before the episode list (episodes section keeps 16px + the card's own 20px). */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-editorial-section.cxs-page-intro { padding-bottom: 40px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-editorial-section.cxs-build-source-3 { padding-top: 16px; }
/* Intro copy colour/rhythm inside the centered 760px container. */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-page-intro .cxs-editorial-copy { color: #0a2540; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-page-intro .cxs-editorial-copy p { margin-block: 0 16px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-page-intro .cxs-editorial-copy p:last-child { margin-bottom: 0; }
/* Listening prompt + badges: centered, badges side by side at a matching 52px height. */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-listen { padding-top: 8px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-listen .cxs-podcast-listen-prompt,
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-listen .cxs-podcast-listen-prompt p { text-align: center; font-weight: 600; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-page-badges.cxs-podcast-badges img { height: 52px; }
/* Compact episode cards: two-column grid (shared .cxs-build-grid-2), artwork beside title / meta / player. */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-grid { row-gap: 8px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card { display: grid; grid-template-columns: 128px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 20px; row-gap: 8px; align-items: start; min-width: 0; padding-block: 20px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card > .elementor-widget { margin: 0; width: 100%; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-build-image { grid-row: 1 / span 3; grid-column: 1; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-build-image img { width: 128px; max-width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0; border-radius: 10px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-title { grid-column: 2; align-self: start; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-title h3 { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; text-wrap: pretty; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-meta { grid-column: 2; align-self: start; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-player { grid-column: 2; align-self: start; padding-top: 2px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-meta { margin: 0; color: #5b6b7f; font-size: 14px; font-weight: 400; line-height: 1.5; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card audio { display: block; width: 100%; max-width: none; height: 40px; }
/* SuperHero Edition: H2 (intro standard via the cxs-page-intro marker on the heading) + regular paragraph. */
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-series-intro { padding-top: 16px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-series-intro .cxs-podcast-series-heading { margin-bottom: 16px; }
.elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-series-intro .cxs-editorial-copy { max-width: 760px; color: #0a2540; font-size: 16px; font-weight: 400; line-height: 1.6; }
@media (max-width: 767px) {
  /* Banner on phones: cover anchored left keeps the baked-in lettering readable (contained 3:1 is ~117px tall). */
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-editorial-section.cxs-podcast-banner-section { padding-block: 16px 0; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-banner { aspect-ratio: 16 / 9; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-banner img { object-fit: cover; object-position: left center; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-build-title { padding-block: 24px 0; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-page-badges.cxs-podcast-badges img { height: 44px; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card { grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 16px; row-gap: 6px; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-build-image { grid-row: 1 / span 2; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-build-image img { width: 96px; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-title { align-self: end; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-player { grid-column: 1 / -1; grid-row: 3; padding-top: 6px; }
}

/* --- candidate-faqs page-scoped (2026-09-28) --- */
/* Atomic page 26260. The "How Travel Healthcare Works" video section under the hero (marker
   .cxs-page-intro) and the FAQ groups share one ~900px centered reading column; the old sidebar
   grid is gone from the tree. FAQ rhythm: heading -> Expand All 10px (page-local block gap),
   Expand All -> first question 8px, ~40px between category blocks. Approved cxs-section-cta
   strips keep their own styling. */
.elementor-26260 .cxs-content-page .cxs-page-intro.cxs-editorial-section { padding-bottom: 40px; }
.elementor-26260 .cxs-content-page .cxs-page-intro .cxs-editorial-inner { max-width: calc(900px + 2 * clamp(20px, 4vw, 40px)); }
.elementor-26260 .cxs-content-page .cxs-page-intro .cxs-atomic-video { max-width: 900px; margin-inline: auto; }
.elementor-26260 .cxs-content-page .cxs-faq-groups { width: 100%; max-width: 900px; margin-inline: auto; gap: 40px; }
.elementor-26260 .cxs-content-page .cxs-faq-group h2.elementor-heading-title { margin-bottom: 0; }
.elementor-26260 .cxs-content-page .cxs-faq-group .av-faq-container { margin: 0; }
.elementor-26260 .cxs-content-page .cxs-faq-group .av-faq-container--content-page .av-expand-all { margin-bottom: 8px; }
.elementor-26260 .cxs-content-page .cxs-faq-group .av-faq-container--content-page .av-details:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  .elementor-26260 .cxs-content-page .cxs-page-intro.cxs-editorial-section { padding-bottom: 32px; }
  .elementor-26260 .cxs-content-page .cxs-faq-groups { gap: 32px; }
}


/* --- navigating-travel-healthcare-an-anders-group-podcast page-scoped addendum (2026-09-28) --- */
/* Tablet (768-1024px): the two-column grid stays, but the card drops to 96px artwork beside title/meta with the
   player full-width underneath, so the native audio controls never get narrower than the card (189px at 768 otherwise). */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card { grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 16px; row-gap: 6px; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-build-image { grid-row: 1 / span 2; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-build-image img { width: 96px; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-title { align-self: end; }
  .elementor .cxs-content-page.cxs-build-navigating-travel-healthcare-an-anders-group-podcast .cxs-podcast-card .cxs-podcast-card-player { grid-column: 1 / -1; grid-row: 3; padding-top: 6px; }
}

/* --- guide-to-travel-healthcare-credentialing page-scoped (2026-09-28) --- */
/* 6A header: 20px (desktop) / 14px (mobile) between the H1 and the one-line subtitle; the form card sits 32px / 24px lower. */
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-hero { row-gap: 20px; }
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-hero .cxs-build-guide-download { margin-top: 12px; }
/* 6A supporting text: clamp(16px,1.4vw,18px)/400/1.6, max 760px (the shared 72ch cap is widened to the standard). */
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-copy .elementor-widget-text-editor.cxs-editorial-copy { max-width: 760px; }
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-copy .cxs-editorial-copy p { max-width: 760px; font-size: clamp(16px, 1.4vw, 18px); font-weight: 400; line-height: 1.6; }
/* 6D: 64px / 40px from the form-confirmation card to widget 19 (the section's bottom padding is the only space between them). */
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-editorial-section { padding-bottom: 64px; }
/* 6D: 40px / 24px from the bottom of widget 19 to widget 17's heading; #17's own clamp(40px,5vw,64px) top padding is the only space, so it is set directly. */
.elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-section--specialties .ag-reuse.ag-s17 { padding-top: 40px; }
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-hero { row-gap: 14px; }
  .elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-hero .cxs-build-guide-cover,
  .elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-build-guide-hero .cxs-build-guide-download { margin-top: 10px; }
  .elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-editorial-section { padding-bottom: 40px; }
  .elementor .cxs-content-page.cxs-build-guide-to-travel-healthcare-credentialing .cxs-section--specialties .ag-reuse.ag-s17 { padding-top: 24px; }
}


/* --- maximize-your-travel-pay page-scoped (2026-09-28) --- */
/* Section 6A/6D. Root: cxs-content-page cxs-main-build cxs-build-maximize-your-travel-pay (no cxs-build-v2).
   The opening is one .cxs-build-title section whose .cxs-build-guide-open container is a named-area grid:
   H1 + supporting text + the whitepaper form/confirmation widget in the text column, the 1080x1080 guide
   artwork beside them (max 420px, never cropped). Below 1024px it stacks title, copy, artwork, form so the
   2-column CF7 field grid keeps a usable width. Widgets 19 (cta) and 17 (specialties) follow at root level. */
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-section { padding-bottom: 64px; }
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  grid-template-areas: "title cover" "copy cover" "download cover";
  column-gap: 40px;
  row-gap: 0;
  align-items: start;
}
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .elementor-widget { margin: 0; min-width: 0; }
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-title { grid-area: title; }
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-copy { grid-area: copy; margin-top: 20px; }
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-cover { grid-area: cover; }
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-download { grid-area: download; margin-top: 32px; }
/* Supporting text (the hero supporting-text standard, no-hero opening): clamp(16,1.4vw,18)/400/1.6, max 760px. */
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open .cxs-editorial-copy.cxs-build-guide-copy,
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open .elementor-widget-text-editor.cxs-editorial-copy.cxs-build-guide-copy { max-width: 760px; font-size: clamp(16px, 1.4vw, 18px); font-weight: 400; line-height: 1.6; }
/* Guide artwork: full image, own proportions, sized to its column. */
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-cover img { display: block; width: 100%; max-width: 420px; height: auto; margin-inline: auto; object-fit: contain; }
/* The widget's .cxs-section wrapper carries the paper background; this page is white behind the card. */
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-section--whitepaper { background: transparent; }
/* Widget 17 (#17 text columns) sits 40px below the cta strip: its own clamp(40px,5vw,64px) top padding is the gap. */
.elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-section--specialties .ag-reuse.ag-s17 { padding-top: 40px; }
@media (max-width: 1024px) {
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "copy" "cover" "download"; }
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-cover { margin-top: 32px; }
}
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-section { padding-bottom: 40px; }
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-copy { margin-top: 14px; }
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-cover { margin-top: 24px; }
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-build-guide-open > .cxs-build-guide-download { margin-top: 24px; }
  .elementor .cxs-content-page.cxs-build-maximize-your-travel-pay .cxs-section--specialties .ag-reuse.ag-s17 { padding-top: 24px; }
}


/* --- travel-guide page-scoped (2026-09-28) --- */
/* Root classes: cxs-content-page cxs-main-build cxs-build-v2 cxs-build-travel-guide. The H1 already meets the shared no-hero
   standard (48px/800/1.06, 800px); only the supporting text, opening gap, form-column layout and widget spacing live here. */
/* Header: 20px (14px mobile) between the H1 and its supporting text, replacing the shared 36px .cxs-build-title + section rule. */
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-title + .cxs-editorial-section { padding-top: 20px; }
/* Supporting text: hero supporting-text type, 760px max; (0,6,0) matches the cxs-build-narrow max-width:none rule and loads later. */
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-source-0 .elementor-widget-text-editor.cxs-editorial-copy { max-width: 760px; font-size: clamp(16px, 1.4vw, 18px); font-weight: 400; line-height: 1.6; }
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-source-0 .cxs-editorial-copy p { font-size: inherit; font-weight: inherit; line-height: inherit; }
/* Two-column area: artwork column stretches so the artwork can stay beside the copy and form card while they scroll. */
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-grid > .cxs-build-column:first-child { align-self: stretch; }
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-grid .cxs-build-image { position: sticky; top: calc(var(--ag-header-h, 64px) + 24px); }
/* Form card: sits under the bullets in the right column; the card's own section padding is reset by its card style. */
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-grid .elementor-widget-cxs-section-whitepaper { margin-top: 8px; }
/* Section: 64px (40px mobile) between the form/confirmation area and the top edge of widget 19 (the CTA strip paints its own
   padding inside its navy background, so this padding-bottom is the whole visible gap). */
.elementor .cxs-content-page.cxs-build-travel-guide .cxs-editorial-section.cxs-build-source-1 { padding-bottom: 64px; }
/* Widget 17 follows widget 19 directly: its own top padding (clamp(40px,5vw,64px)) becomes the visible 40px / 24px gap. */
.elementor .cxs-content-page.cxs-build-travel-guide .elementor-widget-cxs-section-specialties .ag-reuse.ag-s17 { padding-top: 40px; }
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-title + .cxs-editorial-section { padding-top: 14px; }
  .elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-grid .cxs-build-image { position: static; }
  .elementor .cxs-content-page.cxs-build-travel-guide .cxs-editorial-section.cxs-build-source-1 { padding-bottom: 40px; }
  .elementor .cxs-content-page.cxs-build-travel-guide .elementor-widget-cxs-section-specialties .ag-reuse.ag-s17 { padding-top: 24px; }
}


/* --- travel-guide page-scoped (2026-09-28): tablet form grid --- */
/* Between 768px and 1024px the two-column grid keeps the form card in a 337-456px column, so the paired fields would drop to
   126-185px with wrapping labels: stack the card's fields there (mobile already stacks via the shared <=767px rule). */
@media (max-width: 1024px) {
  .elementor .cxs-content-page.cxs-build-travel-guide .cxs-build-grid .cxs-whitepaper .cxs-page-form .cxs-form-grid { grid-template-columns: minmax(0, 1fr); }
}


/* --- Job Alerts page-scoped (the brief, 2026-09-28), part 2: review fixes --- */
/* Specialty stays disabled until a profession is chosen, and the disabled skin above outranks the error border at equal
   specificity; an invalid + disabled trigger still needs to read as invalid. */
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger[aria-invalid="true"]:disabled,
.elementor :is(.cxs-content-page.cxs-build-job-alerts, .cxs-section--form:has(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) .cxs-page-form .advs-trigger[aria-invalid="true"][aria-disabled="true"] { border-color: #b42318; }
/* Hero text vs. the clinician: cover-fitting the 1920x640 photo into a 360-470px banner leaves it only ~1.4x the viewport
   wide between 768 and 1279px, so the shared 800px/760px text widths run across the phone, hand and face (measured
   overlap + <4.5:1 contrast at 768/900/1024/1280). Cap both lines at half the viewport there (the H1 wraps to 2-3 lines
   and the banner grows past its min-height) and keep the description >= 16px clear of the hand up to 1599px (at 1440
   its full 760px width ends exactly on the hand); from 1600px the wider crop moves the clinician clear of it. */
@media (min-width: 768px) and (max-width: 1279px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .cxs-section-heading { max-width: min(800px, 50vw); }
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .hero-description { max-width: min(760px, 50vw); }
}
@media (min-width: 1280px) and (max-width: 1599px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .hero-description { max-width: min(760px, calc(12vw + 540px)); }
}

/* --- anders-team page-scoped (2026-09-28) --- */
/* Hero text vs. the team photo: at 1440x936 the shared 800px H1 fits "Meet The Anders Group Team" on one line ending at
   x=917 (over the dark-haired woman's face, 27.9% of the pixels behind "Team" < 3:1) and the 760px description's line ends
   run over the man with glasses (32.1% < 4.5:1). Capping the H1 at 640px wraps it naturally to two lines (right edge 765)
   and the description at 600px keeps every line end <= 750px, clear of both faces; 32px vertical padding keeps the banner
   at its 412px min-height with the extra H1 line. Desktop only: phones use the shared phone hero standard (content-pages.css). */
@media (min-width: 768px) {
  .elementor .cxs-content-page.cxs-build-anders-team .cxs-page-hero .cxs-section-heading { max-width: 640px; }
  .elementor .cxs-content-page.cxs-build-anders-team .cxs-page-hero .hero-description { max-width: 600px; }
  .elementor .cxs-content-page.cxs-build-anders-team .cxs-page-hero .hero-inner.wrap { padding-block: 32px; }
}
/* Team tabs vs. narrow screens. The atomic tabs (e-tabs 6589510), their content area (cf0fbb4) and the Recruitment panel
   (6bc454e) carry a fixed width: 1200px, and Elementor's base CSS gives each of the six tabs 160px in a nowrap strip.
   Below ~1190px the centred 1200px block runs off both edges (at 768 the first card starts at x=-216; at 390 only
   Recruitment and Credentialing are reachable and every card is cut off on the right). The panel's 5px margin is what
   overflows first, at 1229px, so from 1230px up the desktop layout is untouched. Below that the block fills the
   width and the tabs wrap: one row down to 1024, a 3-across grid on tablets, 2-across on phones (2-across holds
   "Credentialing" at any system font). Theme-side on purpose: the 2026-09-28 fix lived in the page's atomic styles
   and was lost in a cortex->local DB sync. */
@media (max-width: 1229px) {
  .elementor .cxs-content-page.cxs-build-anders-team .e-tabs-base,
  .elementor .cxs-content-page.cxs-build-anders-team .e-tabs-content-area-base { width: 100%; max-width: 100%; }
  .elementor .cxs-content-page.cxs-build-anders-team .e-tab-content-base { width: auto; }
  .elementor .cxs-content-page.cxs-build-anders-team .e-tabs-menu-base { flex-wrap: wrap; row-gap: 8px; }
}
@media (max-width: 1023px) {
  .elementor .cxs-content-page.cxs-build-anders-team .e-tabs-menu-base { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .elementor .cxs-content-page.cxs-build-anders-team .e-tab-base { width: auto; }
}
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-anders-team .e-tabs-menu-base { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* --- facilities page-scoped (2026-09-28) --- */
/* r1 hero H1 cap (verifier P1). Page 26517's hero photo has the woman's face at roughly 53-62% of the
   viewport width (16:9 srcset, cover-fitted by width, so the face x-position scales with the viewport).
   The shared 800px cap let "Healthcare Staffing Solutions" run across her face; an em cap keeps the
   two-line "Healthcare Staffing / Solutions for Facilities" wrap at 1440-1024 and, because it shrinks
   with the 4vw H1, keeps line 1 left of the face at tablet widths too (a fixed 640px did not: at
   960-768px the whole first three words fit on one line and reached x=650). Phones (<=767px) use the
   shared phone hero standard (content-pages.css), whose H1 fills the width. */
@media (min-width: 768px) {
  .elementor-26517 .cxs-section .cxs-page-hero h1.cxs-section-heading { max-width: 13.4em; }
}

/* --- Job Alerts page-scoped (the brief, 2026-09-28), part 3: standalone standards --- */
/* The page was built on the shared hero / hero-follow / intro standards (content-pages.css + page-standards.css) that
   ship separately. The same values are restated here, page-scoped, so the page renders to the spec on its own:
   hero banner clamp(360px,44vh,470px), H1 clamp(30px,4vw,48px)/800/1.06 max 800px, description 760px + 20px (14px on
   mobile), 40px/28px hero -> section, intro H2 clamp(24px,2.4vw,32px)/700/1.2 and 16px/400/1.6 copy. The text-width
   caps at 768-1599px stay in part 2 (same specificity, earlier in the file), so the max-widths here only apply outside
   those ranges. Redundant, not conflicting, once the shared standards exist. */
/* Hero restatements are desktop-only: phones use the shared phone hero standard (content-pages.css, 2026-10-05). */
@media (min-width: 768px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .hero-banner { min-height: clamp(360px, 44vh, 470px); }
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .cxs-section-heading { font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.06; letter-spacing: -.025em; }
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .hero-description { margin-top: 20px; font-size: clamp(16px, 1.4vw, 18px); font-weight: 400; line-height: 1.6; }
}
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-area { padding-top: 40px; }
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-copy h2.elementor-heading-title { margin: 0; font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; line-height: 1.2; }
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-copy .cxs-editorial-copy,
.elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-copy .cxs-editorial-copy p { max-width: none; font-size: 16px; font-weight: 400; line-height: 1.6; }
@media (min-width: 1280px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .cxs-section-heading { max-width: min(800px, 100%); }
}
@media (min-width: 1600px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-page-hero .hero-description { max-width: min(760px, 100%); }
}
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-job-alerts .cxs-build-alerts-area { padding-top: 28px; }
}

/* --- Job Alerts atomic rebuild (2026-09-29): tablet + phone layout (2026-10-05) --- */
/* The rebuild replaced the classes the blocks above target. Its copy | form row (an e-grid forced to display:flex)
   and both 60%-max-width columns have no tablet or phone variant, so they stayed side by side down to 320px (178px
   copy beside a 152px form card). These rules find the row by what it holds (the column carrying the Job Alerts form
   or its confirmation), never by Elementor element ids, so a DB sync or a duplicated page keeps them. (0,5,0)+ so they
   beat the atomic local classes and post-26579.css. Above 900px nothing changes. The brief: form first on phones. */
@media (max-width: 900px) {
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) { flex-direction: column; flex-wrap: nowrap; gap: 20px; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * { width: 100%; max-width: 100%; min-width: 0; padding: 10px; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > :has(> .elementor-widget-cxs-section-form) { order: -1; }
  /* The form widget carries a legacy 120.4% width with flex-shrink 0. */
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * > .elementor-widget-cxs-section-form { --container-widget-width: 100%; --flex-shrink: 1; width: 100%; max-width: 100%; flex-shrink: 1; }
}
@media (max-width: 767px) {
  /* 20px gutters like the hero (the three nested default 10px paddings collapse to one 20px), no extra top padding
     under the shared 28px hero -> form gap, and 40px before the CTA band. */
  .elementor :is(.e-flexbox-base, .e-div-block-base):has(> :is(.e-grid-base, .e-flexbox-base) > :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) { padding-inline: 20px; padding-bottom: 40px; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) { padding: 0; gap: 40px; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * { padding: 0; gap: 16px; }
  /* Copy column: the intro H2 / copy standard (24px/700/1.2, 16px/400/1.6) and the original 16px benefit list with
     20px check badges, over the page data's 32px/1.5em heading, 18px copy and 18px/1.75 list with 25px badges. */
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * .elementor-widget-heading .elementor-heading-title { font-size: 24px; font-weight: 700; line-height: 1.2; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * > .elementor-widget-text-editor.cxs-editorial-copy { font-size: 16px; font-weight: 400; line-height: 1.6; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * > .elementor-widget-text-editor.cxs-editorial-copy:has(ul) { padding-bottom: 8px; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * > .cxs-editorial-copy ul li { margin-bottom: 12px; padding-left: 32px; font-size: 16px; line-height: 1.6; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * > .cxs-editorial-copy ul li:last-child { margin-bottom: 0; }
  .elementor :is(.e-grid-base, .e-flexbox-base):has(> :is(.e-flexbox-base, .e-div-block-base) > .elementor-widget-cxs-section-form :is(.cxs-job-alerts-grid, .cxs-job-alerts-confirmation)) > * > .cxs-editorial-copy ul li::before { top: 3px; width: 20px; height: 20px; background-size: 11px; }
}

/* --- Thank-you confirmation pages, rows 53-57 (2026-10-01) --- */
/* Shared layout: image hero (the .cxs-page-hero standard) -> confirmation copy (.cxs-page-intro: 40px/28px below the
   hero, 16px/400/1.6 copy, 760px measure) -> 19 contact strip -> 17 popular specialties. These two rules set the gaps
   the shared classes don't: 56px/40px from the copy to the strip (the section keeps clamp(52px,5vw,72px) otherwise), and
   the same 40px/24px strip -> specialties gap as the whitepaper pages. */
.elementor .cxs-content-page.cxs-build-thank-you .cxs-editorial-section.cxs-thank-you-copy { padding-bottom: 56px; }
.elementor .cxs-content-page.cxs-build-thank-you .cxs-section--specialties .ag-reuse.ag-s17 { padding-top: 40px; }
@media (max-width: 767px) {
  .elementor .cxs-content-page.cxs-build-thank-you .cxs-editorial-section.cxs-thank-you-copy { padding-bottom: 40px; }
  .elementor .cxs-content-page.cxs-build-thank-you .cxs-section--specialties .ag-reuse.ag-s17 { padding-top: 24px; }
}

/* --- Offer Preview thank-you, row 49 (2026-10-01) --- */
/* The "Thank you! We are excited..." message stays an h4 but reads as an 18px/400/1.6 lead, 28px (24px on phones) below
   the H1 at every width; the 24px gap to the next paragraph is the container gap. */
.elementor .cxs-content-page.cxs-build-offer-preview-thank-you .cxs-editorial-section h4.elementor-heading-title { font-size: 18px; font-weight: 400; line-height: 1.6; }
.elementor .cxs-main-build.cxs-build-offer-preview-thank-you .cxs-build-simple-title + .cxs-editorial-section { padding-top: 28px; }
@media (max-width: 767px) {
  .elementor .cxs-main-build.cxs-build-offer-preview-thank-you .cxs-build-simple-title + .cxs-editorial-section { padding-top: 24px; }
}

/* --- Industry Insights campaign, row 36 (2026-10-01) --- */
/* The $500 referral graphic keeps its 300px live size, left-aligned with the page, and the article cards' Read More
   links get the page's navy pill (the widget's own colour is an undefined Elementor global, so it would render white on
   white). The closing panel centres its copy block as well as its text. */
.elementor .cxs-content-page.cxs-build-industry-insights .cxs-industry-insights-promo { text-align: left; }
.elementor .cxs-content-page.cxs-build-industry-insights .cxs-industry-insights-promo img { display: block; width: 300px; max-width: 100%; height: auto; }
.elementor .cxs-content-page.cxs-build-industry-insights .cxs-dark-panel .cxs-editorial-copy { margin-inline: auto; }
.elementor .cxs-content-page.cxs-build-industry-insights .dynamic-blogs-button { border-radius: 100px; background-color: var(--cxs-page-navy); color: #fff; font-weight: 700; }
.elementor .cxs-content-page.cxs-build-industry-insights .dynamic-blogs-button:hover { background-color: var(--cxs-page-ink); color: #fff; }
