/* Native inner-page system. All selectors are isolated from the approved homepage. */
.jbs-inner { color: var(--jbs-ink); background: #fff; font-family: var(--jbs-font); }
.jbs-inner *, .jbs-inner *::before, .jbs-inner *::after { box-sizing: border-box; }
.jbs-inner :is(h1,h2,h3,h4) { font-family: var(--jbs-font); font-weight: 600; letter-spacing: -.035em; color: var(--jbs-ink); line-height: 1.2; }
.jbs-inner p { color: var(--jbs-muted); font-size: 16px; line-height: 1.8; }
.jbs-inner a { text-decoration: none; }
.jbs-inner a:focus-visible { outline: 3px solid var(--jbs-focus); outline-offset: 4px; border-radius: 2px; }
.jbs-inner-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #0a1826; }
.jbs-inner-hero-image { position: absolute; z-index: 0; inset: 0 0 0 35%; }
.jbs-inner-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.jbs-inner-hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#0a1826,#0a1826c2 35%,#0a182650),linear-gradient(0deg,#0a182670,transparent); }
.jbs-inner-hero-content { position: relative; z-index: 1; padding-block: 28px 70px; }
.jbs-breadcrumbs { margin-bottom: 44px; }
.jbs-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; padding: 0; margin: 0; color: #d1deea; font-size: 11px; }
.jbs-breadcrumbs li:not(:first-child)::before { content: '/'; color: #859cb0; margin-right: 16px; }
.jbs-breadcrumbs a { color: #fff; padding-block: 8px; display: inline-block; }
.jbs-breadcrumbs li[aria-current] { align-self: center; }
.jbs-inner .jbs-inner-eyebrow { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: #a84300; margin: 0 0 18px; }
.jbs-inner-hero .jbs-inner-eyebrow { color: #ffad69; }
.jbs-inner-hero h1 { font-size: clamp(38px,4.7vw,68px); line-height: 1.05; color: #fff; max-width: 950px; letter-spacing: -.05em; margin: 0 0 26px; text-wrap: balance; }
.jbs-inner .jbs-inner-intro { color: #c9d8e5; font-size: 17px; line-height: 1.8; max-width: 720px; margin: 0; }
.jbs-inner-hero a:focus-visible { outline-color: #ffad69; }
.jbs-inner-body { padding-block: 68px 80px; }
.jbs-inner h2 { font-size: clamp(27px,3vw,40px); margin: 0 0 22px; }
.jbs-inner h3 { font-size: 23px; margin: 30px 0 16px; }
.jbs-inner-section-heading { margin-bottom: 32px; }
.jbs-inner-section-heading h2 { max-width: 640px; }
.jbs-directory-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.jbs-directory-grid article { padding: 28px; background: var(--jbs-paper); border: 1px solid var(--jbs-line); border-radius: 5px; transition: border-color .2s ease; }
.jbs-directory-grid article:hover { border-color: #b4c4d1; }
.jbs-directory-mark { display: block; font-size: 27px; color: #a84300; margin-bottom: 30px; }
.jbs-directory-grid h3 { font-size: 23px; margin-top: 0; }
.jbs-directory-grid a { color: var(--jbs-blue); }
.jbs-directory-grid a:hover { text-decoration: underline; }
.jbs-directory-grid p { font-size: 13px; margin: 0; }
.jbs-inner-directory { margin-bottom: 64px; }
.jbs-source-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 64px; }
.jbs-content-index { align-self: start; position: sticky; top: 24px; padding-top: 8px; }
.jbs-content-index ol { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--jbs-line); }
.jbs-content-index li { border-bottom: 1px solid var(--jbs-line); }
.jbs-content-index a { display: block; padding: 13px 0; color: var(--jbs-muted); font-size: 12px; line-height: 1.5; }
.jbs-content-index a:hover { color: #a84300; }
.jbs-source-section { display: flow-root; margin-bottom: 50px; padding-bottom: 40px; border-bottom: 1px solid var(--jbs-line); scroll-margin-top: 28px; }
.jbs-original-copy p { margin-bottom: 20px; }
.jbs-original-copy :is(h2,h3) { clear: none; }
.jbs-original-copy ul,.jbs-original-copy ol { padding-left: 24px; color: var(--jbs-muted); font-size: 15px; line-height: 1.8; }
.jbs-original-copy a:not(.jbs-inner-text-link) { color: #0867b2; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.jbs-original-copy .jbs-profile-detail { font-size: 15px; }
.jbs-original-image { float: left; clear: both; width: 180px; margin: 8px 28px 26px 0; }
.jbs-original-image img { display: block; width: 100%; height: auto; max-height: 200px; object-fit: contain; border-radius: 5px; }
.jbs-original-copy table { width: 100%; border-collapse: collapse; font-size: 14px; }
.jbs-original-copy td,.jbs-original-copy th { padding: 12px; border: 1px solid var(--jbs-line); }
.jbs-original-copy strong { color: var(--jbs-blue); }
.jbs-anchor { display: block; scroll-margin-top: 28px; }
.jbs-inner .jbs-inner-text-link { display: inline-flex; align-items: center; gap: 28px; min-height: 48px; padding-block: 10px; border-bottom: 1px solid #aebbc7; font-weight: 650; color: var(--jbs-blue); font-size: 14px; }
.jbs-inner-text-link > span { font-size: 24px; color: #a84300; }
.jbs-inner .jbs-inner-button { display: inline-flex; align-items: center; gap: 30px; padding: 16px 24px; border-radius: 4px; background: var(--jbs-orange); color: var(--jbs-ink); font-weight: 700; font-size: 14px; margin-top: 28px; min-height: 54px; }
.jbs-inner .jbs-inner-button:hover { background: #ffad69; }
.jbs-stay-tuned { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; align-items: center; background: var(--jbs-paper); border: 1px solid var(--jbs-line); border-radius: 6px; padding: 60px; }
.jbs-stay-tuned h2 { font-size: clamp(30px,3.6vw,48px); line-height: 1.1; letter-spacing: -.04em; }
.jbs-stay-tuned h2 span { color: var(--jbs-orange); }
.jbs-stay-tuned p { max-width: 600px; font-size: 15px; }
.jbs-stay-art { position: relative; min-height: 200px; display: grid; place-items: center; overflow: hidden; }
.jbs-stay-art span { position: absolute; width: 160px; height: 160px; border: 1px solid #c5d1dc; border-radius: 50%; transform: rotate(-20deg) scaleX(1.4); }
.jbs-stay-art span:nth-child(2) { transform: rotate(45deg) scaleX(1.4); }
.jbs-stay-art b { display: grid; place-items: center; background: var(--jbs-blue); color: var(--jbs-orange); width: 88px; height: 88px; border-radius: 20px; font-size: 50px; font-weight: 400; z-index: 1; }
.jbs-project-spotlight { border-bottom: 1px solid var(--jbs-line); padding: 8px 0 50px; margin-bottom: 50px; }
.jbs-project-spotlight h2 { max-width: 800px; font-size: clamp(32px,4vw,54px); }
.jbs-project-spotlight p { max-width: 720px; }
.jbs-inner-secondary-link { display: block; margin-top: 24px; color: #0867b2; text-decoration: underline !important; }
.jbs-inner-btfp .jbs-inner-hero { background: #181512; }
.jbs-inner-btfp .jbs-inner-hero::before { content: ''; position: absolute; right: -80px; top: -180px; width: 660px; height: 660px; border: 1px solid #f5822055; border-radius: 50%; box-shadow: 0 0 0 60px #f582200d,0 0 0 120px #f5822007; z-index: -1; }
.jbs-inner-btfp .jbs-stay-art b { background: #181512; }
.jbs-inner-laq .jbs-inner-hero { background: #f6f8fa; border-bottom: 1px solid var(--jbs-line); }
.jbs-inner-laq .jbs-inner-hero h1 { color: var(--jbs-blue); }
.jbs-inner-laq .jbs-inner-intro { color: var(--jbs-muted); max-width: 650px; }
.jbs-inner-laq .jbs-inner-eyebrow { color: #a84300; }
.jbs-inner-laq .jbs-breadcrumbs :is(a,li) { color: var(--jbs-blue); }
.jbs-inner-laq .jbs-inner-hero-content { padding-right: 340px; }
.jbs-laq-brand { position: absolute; right: 0; top: 100px; background: #fff; border: 1px solid var(--jbs-line); border-radius: 8px; padding: 30px; width: 270px; height: 200px; display: grid; place-items: center; }
.jbs-laq-brand img { max-height: 140px; width: 100%; object-fit: contain; }
.jbs-inner-league .jbs-inner-hero { background: #172e45; }
.jbs-inner-league .jbs-inner-hero::after { content: 'LaQ League'; position: absolute; right: -20px; bottom: -20px; font-size: clamp(70px,12vw,180px); font-weight: 700; color: #ffffff05; pointer-events: none; z-index: -1; }
.jbs-research-summary { padding-block: 55px 0; max-width: 780px; }
.jbs-original-copy .wpcf7 { float: none; clear: both; border: 1px solid var(--jbs-line); background: var(--jbs-paper); padding: 28px; border-radius: 6px; margin-top: 24px; }
.jbs-original-copy .wpcf7 label { color: var(--jbs-blue); font-size: 14px; font-weight: 600; }
.jbs-original-copy .wpcf7 :is(input:not([type=submit]),textarea) { display: block; width: 100%; max-width: 100%; margin-top: 8px; background: #fff; border: 1px solid #aebbc7; border-radius: 3px; padding: 12px; font-family: var(--jbs-font); color: var(--jbs-ink); }
.jbs-original-copy .wpcf7 input[type=submit] { background: var(--jbs-orange); color: var(--jbs-ink); border: 0; border-radius: 3px; padding: 16px 28px; font-size: 14px; font-weight: 700; }
@media(max-width:1023px) {
 .jbs-source-layout { grid-template-columns: 180px minmax(0,1fr); gap: 36px; }
 .jbs-directory-grid { grid-template-columns: repeat(2,1fr); }
 .jbs-stay-tuned { padding: 36px; gap: 36px; }
 .jbs-inner-laq .jbs-inner-hero-content { padding-right: 250px; }
 .jbs-laq-brand { width: 210px; height: 170px; padding: 25px; }
}
@media(max-width:767px) {
 .jbs-inner-hero-content { padding-block: 20px 44px; }
 .jbs-breadcrumbs { margin-bottom: 28px; }
 .jbs-breadcrumbs ol { font-size: 10px; gap: 4px 10px; }
 .jbs-breadcrumbs li:not(:first-child)::before { margin-right: 10px; }
 .jbs-inner-hero h1 { font-size: 39px; overflow-wrap: anywhere; }
 .jbs-inner .jbs-inner-intro { font-size: 15px; }
 .jbs-inner-hero-image { left: 0; opacity: .45; }
 .jbs-inner-hero-image::after { background: linear-gradient(90deg,#0a1826,#0a182680); }
 .jbs-inner-body { padding-block: 42px 52px; }
 .jbs-directory-grid { grid-template-columns: 1fr; }
 .jbs-directory-grid article { padding: 24px; }
 .jbs-directory-mark { margin-bottom: 18px; }
 .jbs-inner-directory { margin-bottom: 42px; }
 .jbs-source-layout { grid-template-columns: 1fr; gap: 36px; }
 .jbs-content-index { position: static; background: var(--jbs-paper); padding: 24px; border-radius: 5px; }
 .jbs-content-index ol { display: grid; grid-template-columns: 1fr; }
 .jbs-source-section { margin-bottom: 32px; padding-bottom: 30px; }
 .jbs-original-image { width: 130px; margin-right: 20px; }
 .jbs-inner p { font-size: 15px; }
 .jbs-stay-tuned { grid-template-columns: 1fr; gap: 28px; padding: 28px 24px; }
 .jbs-stay-art { min-height: 150px; }
 .jbs-stay-art span { width: 120px; height: 120px; }
 .jbs-stay-art b { width: 70px; height: 70px; font-size: 40px; border-radius: 15px; }
 .jbs-stay-tuned h2 { font-size: 32px; }
 .jbs-inner-laq .jbs-inner-hero-content { padding-right: 0; }
 .jbs-laq-brand { position: static; margin-top: 28px; width: 190px; height: 140px; }
 .jbs-original-copy .wpcf7 { padding: 20px; }
}
@media(prefers-reduced-motion:reduce) { .jbs-inner * { transition: none !important; } }

.jbs-single-related { margin: 0 0 36px; }
.jbs-original-copy p { max-width: 76ch; }
.jbs-source-section:focus,.jbs-anchor:focus { outline: none; }

/* Reorganized service landings and migrated, editor-owned destination content. */
.jbs-landing-overview { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; border-top: 1px solid var(--jbs-line); padding-top: 52px; }
.jbs-landing-overview h2 { max-width: 520px; }
.jbs-migration-section { margin-bottom: 48px; padding-bottom: 36px; border-bottom: 1px solid var(--jbs-line); }
.jbs-original-fallback,.jbs-migrated-appendix { max-width: 900px; margin-inline: auto; }
.jbs-migrated-appendix { padding-top: 40px; }
@media(max-width:767px) { .jbs-landing-overview { grid-template-columns: 1fr; gap: 22px; padding-top: 36px; } }

/* Phase 4: original source associations, consistent portraits and technical figures. */
#page-10 .jbs-profile-grid { display: grid; gap: 28px; }
#page-10 .jbs-profile-card { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 28px; align-items: start; padding: 24px; border: 1px solid var(--jbs-line); border-radius: 5px; background: var(--jbs-paper); }
#page-10 .jbs-profile-frame { width: 200px; aspect-ratio: 1; border-radius: 4px; overflow: hidden; background: #e8edf1; border: 1px solid #d4dde5; }
#page-10 .jbs-profile-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; border-radius: 0; }
#page-10 .jbs-profile-copy { min-width: 0; }
#page-10 .jbs-profile-copy h3 { margin: 0 0 14px; font-size: 24px; }
#page-10 .jbs-profile-copy p { margin: 0 0 14px; font-size: 15px; }
#page-10 .jbs-profile-copy p:last-child { margin-bottom: 0; }
#page-10 .jbs-profile-copy .jbs-profile-role { color: var(--jbs-blue); font-weight: 600; line-height: 1.6; }
#page-10 .jbs-profile-placeholder { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #536779; text-align: center; padding: 16px; font-size: 12px; }
#page-10 .jbs-profile-placeholder span:first-child { font-size: 48px; }
#page-1412 .jbs-iot-cards { display: grid; gap: 24px; }
#page-1412 .jbs-iot-card { min-width: 0; padding: 28px; background: var(--jbs-paper); border: 1px solid var(--jbs-line); border-radius: 5px; }
#page-1412 .jbs-iot-card.has-image { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 28px; align-items: center; }
#page-1412 .jbs-iot-card figure { margin: 0; width: 100%; aspect-ratio: 4 / 3; background: #fff; display: grid; place-items: center; }
#page-1412 .jbs-iot-card img { width: 100%; height: 100%; max-height: 240px; object-fit: contain; border-radius: 3px; }
#page-1412 .jbs-iot-card h3 { margin: 0 0 16px; font-size: 24px; }
#page-1412 .jbs-iot-card ul { padding-left: 20px; margin: 0; }
#page-1412 .jbs-iot-card li + li { margin-top: 8px; }
#page-1412 .jbs-migrated-appendix { max-width: none; margin-left: 294px; padding-top: 0; }
.jbs-migration-section > :first-child { margin-top: 0; }
.jbs-migration-section > :last-child { margin-bottom: 0; }
.jbs-migration-section :is(p,li) { overflow-wrap: break-word; }
@media (max-width:1100px) {
 #page-10 .jbs-profile-card, #page-1412 .jbs-iot-card.has-image { grid-template-columns: 1fr; }
 #page-1412 .jbs-iot-card figure { max-width: 360px; }
}
@media (min-width:768px) and (max-width:1023px) { #page-1412 .jbs-migrated-appendix { margin-left: 216px; } }
@media (max-width:767px) {
 #page-10 .jbs-profile-card, #page-1412 .jbs-iot-card { padding: 22px; gap: 22px; }
 #page-10 .jbs-profile-frame { width: min(200px,100%); }
 #page-1412 .jbs-migrated-appendix { margin-left: 0; }
}
/* The retained enquiry introduction is a reading block, not another profile. */
:is(#content-8db832c,#content-b6a725a) .jbs-original-image { float: none; margin: 0 0 24px; }

/* About Us only: circular portrait frames and matching Mission/Vision typography. */
#page-10 .jbs-profile-card { border-radius: 0; }
#page-10 .jbs-profile-frame { width: 200px; height: 200px; aspect-ratio: 1 / 1; border-radius: 50% !important; overflow: hidden; border: 0; clip-path: none !important; mask: none !important; }
#page-10 .jbs-profile-frame img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; border-radius: 50% !important; clip-path: none !important; mask: none !important; }
#page-10 #content-025eea8 h2 { font-size: clamp(27px,3vw,40px); font-weight: 600; line-height: 1.2; margin: 0 0 22px; }
#page-10 #content-025eea8 h2:not(:first-child) { margin-top: 32px; }
#page-10 #content-025eea8 p { font-size: 16px; font-weight: 400; line-height: 1.8; margin: 0 0 22px; max-width: 76ch; }
/* Hide the existing outline baked into this source portrait, inside the shared mask. */
#page-10 .jbs-profile-card[data-source-image="1524"] .jbs-profile-frame img { transform: scale(1.08); }
