/* WPForms Field Styling */
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #cccccc !important;
}

/* Placeholder Text */
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder {
    color: #666666 !important;
}

/* Labels */
.wpforms-form label {
    color: #ffffff !important;
    font-weight: 600;
}

/* Helper / description text */
.wpforms-form .wpforms-field-description {
    color: #cccccc !important;
}

/* Submit Button */
.wpforms-form button[type=submit] {
    background-color: #f4d21f !important;
    color: #000000 !important;
    border: none !important;
    font-weight: bold;
    padding: 12px 24px;
}

/* WPForms name sub-label and stubborn labels */
.wpforms-form .wpforms-field-label,
.wpforms-form .wpforms-field-sublabel,
.wpforms-form .wpforms-field-name label,
.wpforms-form .wpforms-field-name .wpforms-field-label {
    color: #ffffff !important;
}

/* First / Last text under name fields */
.wpforms-form .wpforms-field-name .wpforms-field-sublabel {
    color: #ffffff !important;
}

/* CTM scenario signup: readable labels and helper text. */
#wpforms-form-1330 .wpforms-field-label,
#wpforms-form-1330 .wpforms-field-sublabel,
#wpforms-form-1330 .wpforms-field-description {
    color: #252420 !important;
}

/* CTM checkout: readable Name, First, and Last labels. */
#wpforms-form-1312 .wpforms-field-name .wpforms-field-label,
#wpforms-form-1312 .wpforms-field-name .wpforms-field-sublabel {
    color: #2C2C2C !important;
}

/* JACE homepage-linked pages — start */
body:is(.page-id-228, .page-id-722, .page-id-755, .page-id-1311, .page-id-1332, .page-id-1347, .page-id-1354, .page-id-1476) {
  --jb-paper: #fbfaf6;
  --jb-white: #fffefa;
  --jb-ink: #262523;
  --jb-muted: #544e46;
  --jb-gold: #77501e;
  --jb-brass: #aa824a;
  --jb-brass-light: #e2bd7e;
  --jb-line: #c7bba9;
  --jb-panel: #f2ebdd;
  --jb-maroon: #681a2b;
  --jb-serif: Georgia, 'Times New Roman', serif;
  --jb-sans: 'Poppins', 'Segoe UI', sans-serif;
  --ast-global-color-0: var(--jb-gold);
  --ast-global-color-1: var(--jb-maroon);
  --ast-global-color-2: var(--jb-ink);
  --ast-global-color-3: var(--jb-muted);
  --ast-global-color-4: var(--jb-panel);
  --ast-global-color-5: var(--jb-paper);
  --ast-global-color-6: var(--jb-line);
  --ast-global-color-7: var(--jb-white);
  --ast-global-color-8: var(--jb-ink);
  background-color: var(--jb-paper);
  color: var(--jb-ink);
}
:is(body.page-id-228:has(#jace-contact-frame), body.page-id-1476:has(#jace-checkup-frame), body.page-id-1311:has(#jace-ctm), body.page-id-1347:has(#jace-process), body.page-id-1354:has(#jace-culture)),
:is(body.page-id-228:has(#jace-contact-frame), body.page-id-1476:has(#jace-checkup-frame), body.page-id-1311:has(#jace-ctm), body.page-id-1347:has(#jace-process), body.page-id-1354:has(#jace-culture)) :is(#page, #content, .ast-article-single),
body:is(.page-id-722, .page-id-755, .page-id-1332) :is(#page, #content, .ast-article-single) {
  background-color: var(--jb-paper);
}

/* Development pages share the homepage palette and editorial typography. */
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) {
  --ink: var(--jb-ink);
  --paper: var(--jb-paper);
  --gold: var(--jb-gold);
  --brass: var(--jb-brass-light);
  --soft: var(--jb-muted);
  --rule: var(--jb-line);
  --wine: var(--jb-maroon);
  --white: var(--jb-white);
  font-family: var(--jb-sans);
}
body.page-id-1311 #jace-ctm {
  --ink: var(--jb-ink);
  --paper: var(--jb-paper);
  --gold: var(--jb-gold);
  --gold-bright: var(--jb-brass-light);
  --soft: var(--jb-muted);
  --rule: var(--jb-line);
  font-family: var(--jb-sans);
}
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) {
  --jg-paper: var(--jb-paper);
  --jg-white: var(--jb-white);
  --jg-ink: var(--jb-ink);
  --jg-dark: var(--jb-ink);
  --jg-muted: var(--jb-muted);
  --jg-gold: var(--jb-gold);
  --jg-brass: var(--jb-brass-light);
  --jg-line: var(--jb-line);
}
:is(:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture), body.page-id-1311 #jace-ctm, :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame), body.page-id-1332 #jace-ctm36) :is(h1, h2, h3),
body:is(.page-id-722, .page-id-755, .page-id-1332) .entry-title {
  font-family: var(--jb-serif);
  font-weight: 700;
  letter-spacing: -.035em;
  text-wrap: balance;
}
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-principle, .jc-principle, .jc-candor) {
  border-left-color: var(--jb-maroon);
}
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-example, .jc-example, .jc-development, .jc-candor),
body.page-id-1311 #jace-ctm .ctm-librarysection {
  background-color: var(--jb-panel);
}
:is(:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture), body.page-id-1311 #jace-ctm) :is(.jp-card, .jc-card, .ctm-card) {
  background-color: var(--jb-white);
  border-color: var(--jb-line);
  border-radius: 6px;
}
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-transfer, .jc-transfer) {
  background-color: var(--jb-ink);
  border-top: 3px solid var(--jb-maroon);
}
body.page-id-1311 #jace-ctm .ctm-read > summary:hover,
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-outline, .jc-outline):hover {
  background-color: var(--jb-panel);
}

/* Keep each page's own menu while carrying the homepage masthead through. */
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-header, .jc-header),
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-header {
  background: var(--jb-paper);
  border-bottom-color: var(--jb-brass);
}
body.page-id-1311 #jace-ctm .ctm-brandline {
  border-bottom-color: var(--jb-brass);
}
:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-header-inner, .jc-header-inner),
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-header-inner {
  min-height: 78px;
}
:is(:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture), body.page-id-1311 #jace-ctm, :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame)) :is(.jp-brand strong, .jc-brand strong, .ctm-brand strong, .jg-brand-name),
body.page-id-1332 #jace-ctm36 .ctm36-brand-name {
  font: 700 clamp(17px, 2.05vw, 27px)/1.08 var(--jb-serif);
  letter-spacing: -.025em;
}
:is(:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture), body.page-id-1311 #jace-ctm, :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame), body.page-id-1332 #jace-ctm36) :is(.jp-brand img, .jc-brand img, .ctm-brand img, .jg-brand img, .ctm36-brand img),
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .custom-logo {
  mix-blend-mode: multiply;
}
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-footer {
  background: var(--jb-paper);
  color: var(--jb-ink);
  border-top: 1px solid var(--jb-brass);
}
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) :is(.jg-footer-tagline, .jg-footer-bottom) {
  color: var(--jb-muted);
}
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-footer-label {
  color: var(--jb-gold);
}
:is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-footer-bottom {
  border-top-color: var(--jb-line);
}
:is(:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture), body.page-id-1311 #jace-ctm, :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame)) :is(.jp-button, .jc-button, .ctm-button, .jg-button) {
  border-radius: 4px;
}
:is(:is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture), body.page-id-1311 #jace-ctm, :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame)) :is(.jp-button, .jc-button, .ctm-button, .jg-button):not(.jp-outline, .jc-outline, .ctm-outline):hover {
  background: var(--jb-maroon);
  border-color: var(--jb-maroon);
  color: var(--jb-white);
}

/* Contact and the AI Checkup use the same pale surfaces and charcoal actions. */
body.page-id-1476 #jace-checkup-frame {
  padding: 0;
}
body.page-id-1476 #jace-checkup-frame .jg-header {
  margin-block-start: 0;
}
body.page-id-228 #jace-contact-frame .jc-contact-card {
  border-radius: 6px;
  box-shadow: none;
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup {
  --jc-ink: var(--jb-ink);
  --jc-muted: var(--jb-muted);
  --jc-green: var(--jb-ink);
  --jc-gold: var(--jb-gold);
  --jc-line: var(--jb-line);
  --jc-paper: var(--jb-paper);
  --jc-card: var(--jb-white);
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup .jace-checkup-card {
  border-radius: 6px;
  box-shadow: none;
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup .jace-checkup-eyebrow {
  color: var(--jb-maroon);
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup .jace-checkup-button:not(.jace-checkup-outline):hover {
  background-color: var(--jb-maroon);
  border-color: var(--jb-maroon);
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup .jace-checkup-outline:hover,
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup :is(.jace-checkup-reply, .jace-checkup-offer, .jace-checkup-notice:not([data-error="true"])) {
  background-color: var(--jb-panel);
  border-color: var(--jb-brass);
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup .jace-checkup-neural {
  background:
    radial-gradient(ellipse at 50% 56%, #681a2b69 0%, transparent 65%),
    linear-gradient(90deg, #e2bd7e15 1px, transparent 1px) center / 25px 25px,
    linear-gradient(#e2bd7e15 1px, transparent 1px) center / 25px 25px,
    var(--jb-ink);
  border-color: var(--jb-brass);
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup :is(.jace-neural-shape, .jace-neural-folds, .jace-neural-branches),
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup:not([data-activity="complete"]) .jace-neural-connections {
  stroke: var(--jb-brass-light);
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup .jace-neural-minor {
  fill: #e8d8bd;
}
body.page-id-1476 #jace-checkup-frame #jace-ai-checkup:not([data-activity="thinking"], [data-activity="error"]) .jace-neural-orb {
  background-color: var(--jb-brass-light);
}

/* Assessment shell and legacy Astra mastheads. */
body.page-id-1332 #jace-ctm36 {
  --ctm-ink: var(--jb-ink);
  --ctm-muted: var(--jb-muted);
  --ctm-gold: var(--jb-brass);
  --ctm-gold-dark: var(--jb-gold);
  --ctm-line: var(--jb-line);
  --ctm-soft: var(--jb-panel);
  background-color: var(--jb-white);
  font-family: var(--jb-sans);
  border-radius: 6px;
}
body.page-id-1332 #jace-ctm36 .ctm36-checkout {
  border-color: var(--jb-line);
  border-radius: 6px;
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .ast-primary-header-bar,
body:is(.page-id-722, .page-id-755, .page-id-1332) #colophon .site-below-footer-wrap {
  background: var(--jb-paper);
  color: var(--jb-ink);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .ast-primary-header-bar {
  border-bottom: 1px solid var(--jb-brass);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #colophon .site-below-footer-wrap {
  border-top: 1px solid var(--jb-line);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .site-title a {
  color: var(--jb-ink);
  font: 700 clamp(17px, 1.8vw, 25px)/1.1 var(--jb-serif);
  letter-spacing: -.025em;
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .main-header-menu .menu-link {
  color: var(--jb-ink);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .main-header-menu .menu-link:hover {
  color: var(--jb-maroon);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead :is(.menu-toggle, .main-header-menu, .sub-menu) {
  background-color: var(--jb-paper);
  color: var(--jb-ink);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .menu-toggle {
  border-color: var(--jb-brass);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .menu-toggle svg {
  fill: currentColor;
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead .ast-custom-button,
body.page-id-722 .entry-content .wp-block-button__link {
  background: var(--jb-ink);
  border: 1px solid var(--jb-ink);
  border-radius: 4px;
  color: var(--jb-white);
  font-family: var(--jb-sans);
  font-weight: 600;
  text-transform: none;
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #masthead a:hover .ast-custom-button,
body.page-id-722 .entry-content .wp-block-button__link:hover {
  background: var(--jb-maroon);
  border-color: var(--jb-maroon);
  color: var(--jb-white);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) .entry-title {
  color: var(--jb-ink);
}
body:is(.page-id-722, .page-id-755, .page-id-1332) #colophon :is(.ast-footer-copyright, .ast-footer-copyright a) {
  color: var(--jb-muted);
}

/* Safety course cards and booking form. */
body.page-id-722 #primary .ast-single-post-featured-section {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
body.page-id-722 #primary .ast-single-post-featured-section img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 6px;
}
body.page-id-722 #primary .entry-title {
  font-size: clamp(31px, 4.2vw, 55px);
  line-height: 1.08;
}
@media (min-width: 801px) {
  body.page-id-722 #main > .ast-single-post-featured-section {
    float: right;
    width: min(49%, 580px);
    margin: 38px 0 32px clamp(24px, 4vw, 52px);
  }
  body.page-id-722 #primary .entry-header {
    display: flex;
    align-items: center;
    min-height: clamp(248px, 29vw, 390px);
    margin: 0;
  }
  body.page-id-722 #primary .entry-content {
    clear: both;
  }
}
body.page-id-722 .entry-content > .uagb-block-r3a2cqg6 {
  width: 100% !important;
  max-width: 1180px;
  margin-inline: auto !important;
  padding: 0 0 clamp(28px, 4vw, 52px);
  background: transparent;
}
body.page-id-722 .uagb-block-r3a2cqg6 > .uagb-container-inner-blocks-wrap {
  max-width: none;
  width: 100%;
  gap: 26px;
}
body.page-id-722 :is(.uagb-block-znfbpstz, .uagb-block-znfbpstz .uagb-ifb-content) {
  text-align: left;
}
body.page-id-722 .entry-content :is(.uagb-ifb-title, .uagb-ifb-desc, p) {
  color: var(--jb-ink);
}
body.page-id-722 .entry-content .uagb-ifb-title {
  font-family: var(--jb-serif);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.13;
}
body.page-id-722 .uagb-block-znfbpstz .uagb-ifb-title {
  font-size: clamp(25px, 3vw, 40px);
}
body.page-id-722 .uagb-block-znfbpstz .uagb-ifb-desc {
  max-width: 66ch;
  margin-inline: 0;
}
body.page-id-722 .uagb-block-srajzqry {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  width: 100%;
  padding: 0;
  background: transparent;
}
body.page-id-722 .uagb-block-srajzqry > .wp-block-uagb-container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  min-width: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: clamp(16px, 2.2vw, 24px);
  border: 1px solid var(--jb-line);
  border-radius: 6px;
  background: var(--jb-white);
  box-shadow: none;
}
body.page-id-722 .uagb-block-srajzqry .wp-block-uagb-image {
  float: none;
  width: 100%;
  margin: 0;
}
body.page-id-722 .uagb-block-srajzqry .wp-block-uagb-image__figure {
  display: block;
  width: 100%;
  margin: 0;
}
body.page-id-722 .uagb-block-srajzqry .wp-block-uagb-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 4px;
}
body.page-id-722 .uagb-block-srajzqry .uagb-ifb-title {
  font-size: clamp(22px, 2.5vw, 30px);
}
body.page-id-722 .uagb-block-srajzqry .wp-block-buttons {
  margin-top: auto;
}
body.page-id-722 .entry-content > .wp-block-buttons .wp-block-button__link {
  background: transparent;
  border-color: var(--jb-maroon);
  color: var(--jb-maroon);
}
body.page-id-722 .entry-content > .wp-block-buttons .wp-block-button__link:hover {
  background: var(--jb-maroon);
  color: var(--jb-white);
}
body.page-id-755 .entry-header {
  max-width: 880px;
  margin: clamp(24px, 4vw, 48px) auto 22px;
}
body.page-id-755 #primary .entry-title {
  font-size: clamp(30px, 4.2vw, 53px);
  line-height: 1.08;
}
body.page-id-755 #wpforms-751 {
  max-width: 880px;
  margin-inline: auto;
  padding: clamp(18px, 4vw, 40px);
  border: 1px solid var(--jb-line);
  border-top: 3px solid var(--jb-brass);
  border-radius: 6px;
  background: var(--jb-white);
}
:is(body.page-id-228 #wpforms-1485, body.page-id-228 #wpforms-1486, body.page-id-755 #wpforms-751, body.page-id-1332 #wpforms-1330) :is(.wpforms-field-label, .wpforms-field-sublabel, .wpforms-field-description, .wpforms-field-label-inline, .wpforms-field-name label):not(.wpforms-error) {
  color: var(--jb-ink) !important;
}
:is(body.page-id-228 #wpforms-1485, body.page-id-228 #wpforms-1486, body.page-id-755 #wpforms-751, body.page-id-1332 #wpforms-1330) :is(input:not([type="hidden"], [type="radio"], [type="checkbox"], [type="file"]), textarea, select):not(.wpforms-error) {
  background-color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
  color: var(--jb-ink) !important;
}
:is(body.page-id-228 #wpforms-1485, body.page-id-228 #wpforms-1486, body.page-id-755 #wpforms-751, body.page-id-1332 #wpforms-1330) :is(label.wpforms-error, em.wpforms-error) {
  color: var(--jb-maroon) !important;
}
:is(body.page-id-228 #jace-contact-frame #wpforms-1485, body.page-id-228 #jace-contact-frame #wpforms-1486, body.page-id-755 #wpforms-751, body.page-id-1332 #jace-ctm36 #wpforms-1330) .wpforms-submit {
  background: var(--jb-ink) !important;
  border-color: var(--jb-ink) !important;
  border-radius: 4px !important;
  color: var(--jb-white) !important;
}
:is(body.page-id-228 #jace-contact-frame #wpforms-1485, body.page-id-228 #jace-contact-frame #wpforms-1486, body.page-id-755 #wpforms-751, body.page-id-1332 #jace-ctm36 #wpforms-1330) .wpforms-submit:hover {
  background: var(--jb-maroon) !important;
  border-color: var(--jb-maroon) !important;
}
body:is(.page-id-228, .page-id-722, .page-id-755, .page-id-1311, .page-id-1332, .page-id-1347, .page-id-1354, .page-id-1476) :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--jb-maroon);
  outline-offset: 3px;
}
@media (max-width: 720px) {
  body.page-id-722 .uagb-block-srajzqry {
    grid-template-columns: minmax(0, 1fr);
  }
  :is(body.page-id-1347 #jace-process, body.page-id-1354 #jace-culture) :is(.jp-header-inner, .jc-header-inner),
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-header-inner {
    min-height: 65px;
  }
}
@media (max-width: 450px) {
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-header-inner {
    gap: 10px;
  }
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-brand {
    flex: 0 1 auto;
    min-width: 0;
  }
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-brand img,
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-mobile-menu {
    flex-shrink: 0;
  }
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-mobile-menu summary {
    padding-inline: 10px;
  }
  :is(body.page-id-228 #jace-contact-frame, body.page-id-1476 #jace-checkup-frame) .jg-brand-name {
    font-size: clamp(13px, 4vw, 17px);
    min-width: 0;
  }
}
/* JACE homepage-linked pages — end */