/* JDQPS V2.39 — native accessibility assist. Opt-in only; core site styling remains unchanged. */
:root{--jdqps-utility-safe-bottom:max(18px,env(safe-area-inset-bottom));}
.jdqps-a11y-launcher{position:fixed;left:18px;bottom:var(--jdqps-utility-safe-bottom);z-index:9300;width:52px;height:52px;border-radius:50%;border:1px solid rgba(20,20,22,.18);background:rgba(244,239,230,.97);color:var(--ink,#141416);display:grid;place-items:center;box-shadow:0 12px 30px rgba(20,20,22,.14);cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.jdqps-a11y-launcher:hover,.jdqps-a11y-launcher:focus-visible{border-color:var(--teal,#176F73);box-shadow:0 16px 34px rgba(20,20,22,.18)}
.jdqps-a11y-launcher svg{width:25px;height:25px;display:block}
.jdqps-a11y-panel{position:fixed;left:18px;bottom:calc(var(--jdqps-utility-safe-bottom) + 64px);z-index:9301;width:min(378px,calc(100vw - 36px));max-height:min(720px,calc(100vh - 108px));overflow:auto;background:#F4EFE6;color:var(--ink,#141416);border:1px solid rgba(20,20,22,.18);box-shadow:0 24px 60px rgba(20,20,22,.2);padding:0;opacity:0;visibility:hidden;transform:translateY(10px) scale(.985);transform-origin:left bottom;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.jdqps-a11y-panel.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.jdqps-a11y-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 22px 16px;border-bottom:1px solid rgba(20,20,22,.13)}
.jdqps-a11y-head .kicker{margin:0 0 5px;font-size:11px;color:var(--teal,#176F73)}
body[data-version="v2"] .jdqps-a11y-head h2{font-family:var(--human,"JDQPS Human",Arial,sans-serif);font-size:22px;line-height:1.1;margin:0;color:var(--ink,#141416)}
.jdqps-a11y-close{flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(20,20,22,.18);background:transparent;color:inherit;font:inherit;cursor:pointer;display:grid;place-items:center;font-size:22px;line-height:1}
.jdqps-a11y-body{padding:18px 22px 22px}
.jdqps-a11y-intro{font-size:13px;line-height:1.55;margin:0 0 18px;color:rgba(20,20,22,.72)}
.jdqps-a11y-group{padding:15px 0;border-top:1px solid rgba(20,20,22,.11)}
.jdqps-a11y-group:first-of-type{border-top:0;padding-top:0}
.jdqps-a11y-label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;color:rgba(20,20,22,.72)}
.jdqps-a11y-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.jdqps-a11y-segment button,.jdqps-a11y-toggle,.jdqps-a11y-reset{min-height:44px;border:1px solid rgba(20,20,22,.18);background:rgba(244,239,230,.18);color:var(--ink,#141416);font-family:var(--human,"JDQPS Human",Arial,sans-serif);font-size:12px;font-weight:700;cursor:pointer;padding:8px 10px;text-align:center}
.jdqps-a11y-segment button[aria-pressed="true"],.jdqps-a11y-toggle[aria-pressed="true"]{background:var(--teal,#176F73);border-color:var(--teal,#176F73);color:var(--ivory,#F4EFE6)}
.jdqps-a11y-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;margin-top:6px}
.jdqps-a11y-toggle span:last-child{font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.jdqps-a11y-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.jdqps-a11y-reset{background:var(--ink,#141416);color:var(--ivory,#F4EFE6);border-color:var(--ink,#141416)}
.jdqps-a11y-statement{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(20,20,22,.18);font-size:12px;font-weight:700;text-decoration:none;color:var(--teal,#176F73);padding:8px 10px;text-align:center}
.jdqps-a11y-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Opt-in preferences */
html[data-jdqps-a11y-font="readable"] body :where(#app,.site-header,.site-footer,.main-nav,.v2-context-nav){font-family:Arial,Helvetica,sans-serif!important}
html[data-jdqps-a11y-font="readable"] body :where(#app,.site-header,.site-footer) :is(h1,h2,h3,h4,.serif-light,.footer-tag,.article-layout blockquote){font-family:Arial,Helvetica,sans-serif!important}
html[data-jdqps-a11y-spacing="wide"] body :where(#app,.site-header,.site-footer) :is(p,li,a,button,label,input,textarea,select,span){line-height:1.72!important;letter-spacing:.025em!important;word-spacing:.08em!important}
html[data-jdqps-a11y-links="highlight"] body :where(#app,.site-header,.site-footer) a:not(.btn):not(.brand){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
html[data-jdqps-a11y-focus="strong"] body :where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--amber,#D89A32)!important;outline-offset:3px!important;box-shadow:none!important}
html[data-jdqps-a11y-contrast="high"] body{background:#F4EFE6;color:#141416}
html[data-jdqps-a11y-text="large"] body :where(#app,.site-header,.site-footer) :is(p,li,label,input,textarea,select,.nav-top,.nav-menu a,.text-link,.inline-link,.btn,.kicker){font-size:1.14em!important}
html[data-jdqps-a11y-text="xlarge"] body :where(#app,.site-header,.site-footer) :is(p,li,label,input,textarea,select,.nav-top,.nav-menu a,.text-link,.inline-link,.btn,.kicker){font-size:1.26em!important}
html[data-jdqps-a11y-motion="reduced"]{scroll-behavior:auto!important}
html[data-jdqps-a11y-motion="reduced"] *,html[data-jdqps-a11y-motion="reduced"] *::before,html[data-jdqps-a11y-motion="reduced"] *::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition,html[data-jdqps-a11y-motion="reduced"] .v225-handoff{display:none!important}
html[data-jdqps-a11y-motion="reduced"] [data-motion],html[data-jdqps-a11y-motion="reduced"] [data-system-scene]{opacity:1!important;transform:none!important;filter:none!important}

@media(max-width:600px){
 .jdqps-a11y-launcher{left:12px;width:48px;height:48px}
 .jdqps-a11y-panel{left:12px;bottom:calc(var(--jdqps-utility-safe-bottom) + 58px);width:calc(100vw - 24px);max-height:calc(100vh - 92px)}
 .jdqps-a11y-head{padding:18px 18px 14px}.jdqps-a11y-body{padding:16px 18px 18px}.jdqps-a11y-footer{grid-template-columns:1fr}
}

/* Pass 2: readable Text-family controls, preserving meaningful state colors.
   Neutral colors must not override the selected Teal or Reset Ink states. */
.jdqps-a11y-intro,
.jdqps-a11y-label{color:rgba(20,20,22,.72)!important}
.jdqps-a11y-segment button,
.jdqps-a11y-toggle,
.jdqps-a11y-reset{
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}
.jdqps-a11y-segment button:not([aria-pressed="true"]),
.jdqps-a11y-toggle:not([aria-pressed="true"]){background:var(--ivory,#F4EFE6)}
body[data-version="v2"] .jdqps-a11y-intro{font-size:14px;line-height:1.6}
.jdqps-a11y-panel{font-family:var(--human)}
.jdqps-a11y-label{font-size:12px;letter-spacing:.055em}
.jdqps-a11y-statement{font-size:14px;font-weight:600}
.jdqps-a11y-toggle span:last-child{font-size:12px;opacity:1}
/* The explicit readable-font choice also reaches components using tokens. */
html[data-jdqps-a11y-font="readable"]{
  --human:Arial,Helvetica,sans-serif;
  --human-text:Arial,Helvetica,sans-serif;
  --serif:Arial,Helvetica,sans-serif;
}


/* Pass 4: explicit JDQPS reduction wins against legacy important animations.
   Important declarations in a layer outrank unlayered important declarations.
   These endpoints retain positional transforms; default choreography is untouched. */
@layer jdqps-motion-control {
 html[data-jdqps-a11y-motion="reduced"],
 html[data-jdqps-a11y-motion="reduced"] *,
 html[data-jdqps-a11y-motion="reduced"]::before,
 html[data-jdqps-a11y-motion="reduced"]::after,
 html[data-jdqps-a11y-motion="reduced"] *::before,
 html[data-jdqps-a11y-motion="reduced"] *::after {
  animation:none!important;
  transition:none!important;
 }
 html[data-jdqps-a11y-motion="reduced"] :is(.v2-q-stage i,.v213-stage .node) {opacity:1!important;transform:scale(1)!important}
 html[data-jdqps-a11y-motion="reduced"] :is(.v213-stage .path,.v2-model-system .model-flow) {stroke-dashoffset:0!important}
 html[data-jdqps-a11y-motion="reduced"] .v2-model-system .model-node {opacity:1!important}
 html[data-jdqps-a11y-motion="reduced"] :is(.v2-model-system img,.outcome-center img,.v2-contact-system img) {opacity:1!important;transform:scale(1)!important}
 html[data-jdqps-a11y-motion="reduced"] .v2-method-steps::after,
 html[data-jdqps-a11y-motion="reduced"] .v2-vantage-q i,
 html[data-jdqps-a11y-motion="reduced"] .practice-line::before,
 html[data-jdqps-a11y-motion="reduced"] .v214-growth-line::before,
 html[data-jdqps-a11y-motion="reduced"] .v214-impact-branch span,
 html[data-jdqps-a11y-motion="reduced"] .v2-evidence-steps[data-evidence-sequence]::after,
 html[data-jdqps-a11y-motion="reduced"] .outcome-domains::before,
 html[data-jdqps-a11y-motion="reduced"] .outcome-resolution i,
 html[data-jdqps-a11y-motion="reduced"] .v2-contact-system i {transform:scale(1)!important}
 html[data-jdqps-a11y-motion="reduced"] .practice-line span,
 html[data-jdqps-a11y-motion="reduced"] .v214-growth-line i,
 html[data-jdqps-a11y-motion="reduced"] .v2-evidence-steps[data-evidence-sequence]>div::before,
 html[data-jdqps-a11y-motion="reduced"] .v2-evidence-steps[data-evidence-sequence]>div::after {opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}
 html[data-jdqps-a11y-motion="reduced"] .outcome-domains span::before {transform:translateX(-50%) scale(1)!important}
 html[data-jdqps-a11y-motion="reduced"] .outcome-resolution b {opacity:1!important}
 html[data-jdqps-a11y-motion="reduced"] .v2-friction-rail .friction-line i,
 html[data-jdqps-a11y-motion="reduced"] .v2-about-system img,
 html[data-jdqps-a11y-motion="reduced"] .v2-journey .journey-origin img,
 html[data-jdqps-a11y-motion="reduced"] .v2-journey>div:not(.journey-origin)::before {opacity:1!important;transform:scale(1)!important}
 html[data-jdqps-a11y-motion="reduced"] .v2-friction-rail .friction-line::before,
 html[data-jdqps-a11y-motion="reduced"] .v2-friction-rail .friction-line::after,
 html[data-jdqps-a11y-motion="reduced"] .v2-about-system i {transform:scale(1)!important}
}


/* 6.1.24 Pass 10 — reading preferences own room to read.
   The normal header and the existing <=900px navigation layout remain unchanged.
   A full-width navigation row grows and wraps instead of overflowing the
   four-column default shell. Existing menu/Explore code measures this edge. */
@media(min-width:901px){
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .header-inner{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  grid-template-rows:auto auto;
  column-gap:24px!important;
  row-gap:12px;
  padding-block:12px;
 }
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .header-inner>.brand{
  grid-column:1;grid-row:1;
 }
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .header-contact{
  grid-column:2;grid-row:1;
 }
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .header-social{
  grid-column:3;grid-row:1;
 }
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .main-nav{
  grid-column:1/-1;grid-row:2;
  width:100%;min-width:0;
  justify-self:stretch!important;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:12px 24px!important;
  margin:0!important;
  transform:none!important;
 }
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .main-nav>.nav-group,
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .main-nav>.start-btn{
  flex:0 0 auto;max-width:100%;min-width:0;
 }
 html:is([data-jdqps-a11y-text="large"],[data-jdqps-a11y-text="xlarge"],[data-jdqps-a11y-font="readable"],[data-jdqps-a11y-spacing="wide"]) body[data-version="v2"] .main-nav .nav-top{
  display:block;white-space:normal;overflow-wrap:normal;word-break:normal;
 }
}

/* Increase contrast through exact brand text and boundaries, never by
   filtering whole surfaces/artwork into white. Scope text to known light
   reading surfaces; meaningful accents, focus/error states, selected
   checkboxes and footer journey activation retain their existing owners. */
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] .site-header{
 border-bottom-color:var(--ink,#141416)!important;
}
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] .nav-menu{
 border-inline-color:var(--ink,#141416)!important;
 border-bottom-color:var(--ink,#141416)!important;
}
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] #app .v2-context-nav{
 border-top-color:var(--ink,#141416)!important;
 border-bottom-color:var(--ink,#141416)!important;
}
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] #app :is(.form-grid,.p7-talent-application) :is(input:not([type]),input[type="text"],input[type="email"],input[type="tel"],input[type="url"],select,textarea):not(:focus):not(:disabled):not([aria-invalid="true"]){
 border-color:var(--ink,#141416)!important;
}
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] #app :is(.hero .lede,.simple-hero.bg-stone .lede,.faq-answer p,.p7-talent-application .p7-talent-help),
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] :is(.jdqps-a11y-intro,.jdqps-a11y-label){
 color:var(--ink,#141416)!important;
}
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] .site-footer p,
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] .site-footer .footer-bottom{
 color:var(--ivory,#F4EFE6)!important;
}
html[data-jdqps-a11y-contrast="high"] body[data-version="v2"] .site-footer .footer-bottom{
 border-top-color:var(--ivory,#F4EFE6)!important;
}
