/* Targeted Project: defined problem -> clear boundary -> focused ownership -> delivered outcome. */
.jc-targeted-page { color: #d1e1e8; }
.jc-targeted-page h2 { font-size: clamp(28px,2.8vw,39px); line-height: 1.13; margin-bottom: 17px; }
.jc-targeted-page h3 { font-size: 17px; line-height: 1.35; margin-bottom: 12px; }
.jc-targeted-page p { font-size: var(--jc-text-body); line-height: 1.6; margin-bottom: 12px; }
.jc-targeted-page .jc-eyebrow { font-size: var(--jc-text-label); line-height: 1.5; margin-bottom: 12px; }
.jc-targeted-page .jc-eyebrow:before { flex-shrink: 0; }
.jc-targeted-page .jc-button { min-height: 44px; text-decoration: none; }
.jc-targeted-page a:focus-visible { outline: 3px solid #00b5ff; outline-offset: 4px; }
.jc-tp-section { padding: 43px 0; }
.jc-tp-dark { background: #031824; border-bottom: 1px solid #17434f; }
.jc-tp-light { background: #eef7f9; color: #17323f; }
.jc-tp-light h2, .jc-tp-light h3 { color: #102b38; }
.jc-tp-light p { color: #294b59; }
.jc-tp-light .jc-eyebrow { color: #078e91; }
.jc-tp-divided { border-bottom: 1px solid #c0dce3; }
.jc-tp-hero { background: linear-gradient(90deg,rgba(2,16,27,.96),rgba(2,16,27,.9) 48%,rgba(2,16,27,.77)),url('/Images/heroes/targeted-delivery-workbench-v1.webp') center right / cover no-repeat; border-bottom: 1px solid #23616c; padding: 48px 0; }
.jc-tp-hero-grid { align-items: center; display: grid; gap: 38px; grid-template-columns: 1.08fr 1fr; }
.jc-tp-hero-grid > *, .jc-tp-split > *, .jc-tp-closing-grid > * { min-width: 0; }
.jc-tp-hero h1 { font-size: clamp(39px,3.6vw,47px); line-height: 1.06; margin-bottom: 23px; scroll-margin-top: 105px; }
.jc-tp-hero h1 span { color: var(--jc-cyan); }
.jc-tp-hero p:not(.jc-eyebrow), .jc-tp-closing p:not(.jc-eyebrow) { color: #dceaf0; }
.jc-tp-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 13px 22px; margin-top: 23px; }
.jc-tp-actions > span { color: #d0e3eb; font-size: var(--jc-text-detail); line-height: 1.5; }
.jc-tp-project-diagram { background: rgba(3,25,36,.93); border: 1px solid #21727d; border-radius: 3px; padding: 22px 15px; }
.jc-targeted-page .jc-tp-diagram-label { color: #76edda; font-size: var(--jc-text-detail); font-weight: 800; letter-spacing: .04em; margin-bottom: 18px; text-align: center; text-transform: uppercase; }
.jc-tp-problem-nodes, .jc-tp-outcome-nodes { display: grid; gap: 6px; grid-template-columns: repeat(6,minmax(0,1fr)); }
.jc-tp-problem-nodes span, .jc-tp-outcome-nodes span { align-items: center; display: flex; flex-direction: column; gap: 12px; text-align: center; }
.jc-tp-problem-nodes i, .jc-tp-outcome-nodes i { color: var(--jc-cyan); font-size: 25px; }
.jc-tp-problem-nodes strong, .jc-tp-outcome-nodes strong { color: #d3ecef; font-size: var(--jc-text-detail); line-height: 1.4; }
.jc-tp-outcome-nodes { grid-template-columns: repeat(5,minmax(0,1fr)); }
.jc-tp-connectors { color: #00bca8; display: block; height: 40px; width: 100%; }
.jc-tp-project-block { background: #052a35; border: 1px solid #00bca8; border-radius: 2px; color: var(--jc-cyan); display: flex; flex-direction: column; gap: 8px; margin: 0 auto; max-width: 240px; padding: 18px 14px; text-align: center; }
.jc-tp-wordmark { color: var(--jc-cyan); font-size: 24px; font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.jc-tp-wordmark span { color: #00b5ff; }
.jc-tp-project-block b { font-size: 16px; text-transform: uppercase; }
.jc-tp-down-arrow { color: #00d6b4; font-size: 24px; line-height: 33px; text-align: center; }
.jc-tp-project-diagram .jc-tp-diagram-label:nth-of-type(2) { margin: 0; }
.jc-tp-outcome-connectors { height: 28px; }
.jc-targeted-page .jc-tp-hand-note { color: #59decd; font-family: 'Segoe Print','Bradley Hand',cursive; font-size: 17px; font-style: italic; line-height: 1.5; }
.jc-tp-hero-visual > .jc-tp-hand-note { margin: 13px 4px 0; text-align: right; }
.jc-tp-scenarios { display: grid; gap: 12px; grid-template-columns: repeat(6,minmax(0,1fr)); margin-top: 25px; }
.jc-tp-scenarios article { background: #041e2b; border: 1px solid #245d6b; border-radius: 3px; padding: 23px 14px 17px; position: relative; }
.jc-tp-scenarios article > i { color: var(--jc-cyan); font-size: 29px; margin-bottom: 16px; }
.jc-tp-scenarios h3 { font-size: 16px; }
.jc-tp-scenarios p { color: #b8d1dc; font-size: var(--jc-text-body); margin-bottom: 0; }
.jc-tp-scenarios .jc-tp-featured { background: #063139; border-color: #00b69f; }
.jc-tp-badge { background: #64f6d7; border-radius: 2px; color: #003c3a; font-size: var(--jc-text-label); font-weight: 800; padding: 4px 7px; position: absolute; right: 0; top: 0; text-transform: uppercase; }
.jc-tp-split { display: grid; gap: 34px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.jc-tp-split > section + section { border-left: 1px solid #c0dce3; padding-left: 34px; }
.jc-tp-split h2 { font-size: 30px; }
.jc-tp-checks { list-style: none; margin: 0; padding: 0; }
.jc-tp-checks li { font-size: var(--jc-text-detail); line-height: 1.5; margin-bottom: 8px; padding-left: 20px; position: relative; }
.jc-tp-checks li:before { color: #009e88; content: '✓'; font-size: 14px; font-weight: 800; left: 0; position: absolute; }
.jc-tp-two-column { display: grid; gap: 2px 22px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.jc-targeted-page .jc-tp-callout { background: #d2f3ec; border-left: 3px solid #00aa92; color: #153945; font-size: var(--jc-text-detail); font-weight: 800; margin: 20px 0 0; padding: 12px 14px; }
.jc-tp-scope-flow { display: grid; gap: 24px; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; margin: 25px 0 0; padding: 0; }
.jc-tp-scope-flow li { background: #e5f4f8; border: 1px solid #b8dfe8; border-radius: 3px; padding: 19px 12px; position: relative; text-align: center; }
.jc-tp-scope-flow li:last-child { background: #def8f1; border-color: #a3e5d7; }
.jc-tp-scope-flow li > i { color: #048f91; font-size: 26px; margin-bottom: 16px; }
.jc-tp-scope-flow h3 { font-size: var(--jc-text-body); min-height: 35px; text-transform: uppercase; }
.jc-tp-scope-flow p { font-size: var(--jc-text-body); margin: 0; }
.jc-tp-scope-flow li:not(:last-child):after { color: #00a694; content: '→'; font-size: 24px; position: absolute; right: -23px; top: 50%; transform: translateY(-50%); }
.jc-tp-fit-engineering { gap: 27px; grid-template-columns: 1fr 1.08fr; }
.jc-tp-fit-engineering > section + section { padding-left: 27px; }
.jc-tp-service-fit { display: grid; gap: 8px; grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: 25px; }
.jc-tp-service-fit a { align-items: center; background: #e7f5f8; border: 1px solid #b8dfe8; border-radius: 3px; color: #294b59; display: flex; flex-direction: column; padding: 18px 8px 9px; text-align: center; text-decoration: none; }
.jc-tp-service-fit a:hover { border-color: #009c90; background: #def8f1; }
.jc-tp-service-fit i { color: #008e95; font-size: 24px; margin-bottom: 15px; }
.jc-tp-service-fit h3 { font-size: var(--jc-text-body); min-height: 56px; }
.jc-tp-service-fit p { font-size: var(--jc-text-body); line-height: 1.45; margin-bottom: 20px; }
.jc-tp-service-fit strong { background: #d0f3ed; color: #12524f; display: block; font-size: var(--jc-text-detail); line-height: 1.3; margin-top: auto; padding: 9px 3px; width: 100%; }
.jc-tp-service-fit .jc-tp-current-service { background: #cbf7ec; border: 1px solid #00c9ab; }
.jc-tp-current-service strong { background: var(--jc-cyan); color: #004936; }
.jc-tp-categories { display: grid; gap: 11px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.jc-tp-categories article { background: #e4f3f7; border: 1px solid #b8dfe8; border-radius: 3px; padding: 16px 12px 10px; }
.jc-tp-categories h3 { align-items: start; display: flex; flex-direction: column; font-size: var(--jc-text-body); gap: 10px; min-height: 69px; }
.jc-tp-categories h3 i { color: #008e95; font-size: 23px; }
.jc-tp-categories .jc-tp-checks li { font-size: var(--jc-text-detail); padding-left: 16px; }
.jc-tp-collaboration { align-items: stretch; display: grid; gap: 9px; grid-template-columns: 1fr 18px 1fr 18px .85fr; margin: 25px 0 0; }
.jc-tp-collaboration article { background: #e4f3f7; border: 1px solid #b8dfe8; border-radius: 3px; padding: 18px 12px; text-align: center; }
.jc-tp-collaboration article > i { color: #008e95; font-size: 27px; margin-bottom: 12px; }
.jc-tp-collaboration h3 { font-size: var(--jc-text-body); text-transform: uppercase; }
.jc-tp-collaboration .jc-tp-checks { text-align: left; }
.jc-tp-collaboration > span { align-self: center; color: #173e4a; font-size: 26px; font-weight: 800; text-align: center; }
.jc-tp-collaboration .jc-tp-collaboration-result { align-items: center; background: #def8f1; border-color: #a3e5d7; display: flex; flex-direction: column; justify-content: center; }
.jc-tp-comparison { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.jc-tp-comparison article { border: 1px solid; border-radius: 3px; padding: 19px 15px; }
.jc-tp-comparison h3 { align-items: start; display: flex; font-size: var(--jc-text-body); gap: 8px; text-transform: uppercase; }
.jc-tp-comparison h3 i { flex-shrink: 0; font-size: 18px; margin-top: 1px; }
.jc-tp-light .jc-scope-good h3 { color: #087b6e; }
.jc-tp-light .jc-scope-bad h3 { color: #bd3d4e; }
.jc-targeted-page .jc-scope-bad .jc-tp-checks li:before { background: transparent; color: #d85769; content: '✓'; height: auto; width: auto; }
.jc-targeted-page .jc-scope-good .jc-tp-checks li:before { background: transparent; color: #009e88; height: auto; width: auto; }
.jc-targeted-page .jc-tp-panel-note { font-size: var(--jc-text-detail); margin-top: 20px; }
.jc-tp-decisions { display: grid; gap: 24px; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; margin: 24px 0 0; padding: 0; }
.jc-tp-decisions li { position: relative; text-align: center; }
.jc-tp-decisions li > i { align-items: center; background: #d5f2ef; border-radius: 50%; color: #008e95; display: flex; font-size: 24px; height: 44px; justify-content: center; margin: 0 auto 12px; width: 44px; }
.jc-tp-decisions strong { color: #183c4b; display: block; font-size: var(--jc-text-detail); line-height: 1.4; }
.jc-tp-decisions li:not(:last-child):after { color: #00a694; content: '→'; font-size: 23px; position: absolute; right: -23px; top: 7px; }
.jc-tp-completion { margin-top: 24px; }
.jc-tp-completion li { margin-bottom: 13px; }
.jc-tp-delivery-section { background: #05202e; }
.jc-tp-process { display: grid; gap: 24px; grid-template-columns: repeat(7,minmax(0,1fr)); list-style: none; margin: 32px 0 0; padding: 0; }
.jc-tp-process li { position: relative; text-align: center; }
.jc-tp-process li > span { align-items: center; background: #073641; border: 1px solid #00baa4; border-radius: 50%; color: #79efdb; display: flex; font-size: 14px; font-weight: 800; height: 40px; justify-content: center; margin: 0 auto 16px; position: relative; width: 40px; z-index: 1; }
.jc-tp-process li:not(:last-child):after { background: #008f85; content: ''; height: 1px; left: calc(50% + 23px); position: absolute; top: 20px; width: calc(100% - 22px); }
.jc-tp-process h3 { font-size: var(--jc-text-body); }
.jc-tp-process p { color: #bfd7e0; font-size: var(--jc-text-body); }
.jc-targeted-page .jc-tp-process-statement { border-top: 1px solid #22616b; color: #75f1d8; font-size: 15px; font-weight: 800; margin: 24px 0 0; padding-top: 16px; text-align: center; }
.jc-tp-before-after { gap: 9px; grid-template-columns: 1fr 18px 1fr; }
.jc-tp-result-arrow { align-self: center; color: #009990; font-size: 23px; text-align: center; }
.jc-targeted-page .jc-tp-statement { color: #143b47; font-size: 14px; font-weight: 800; margin: 18px 0 0; text-align: center; }
.jc-tp-lower h2 { font-size: 28px; }
.jc-tp-related { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.jc-tp-related a { align-items: start; background: #e6f3f7; border: 1px solid #b9dbe4; border-radius: 3px; color: #183747; display: grid; gap: 9px; grid-template-columns: 20px 1fr 12px; padding: 17px 13px; text-decoration: none; }
.jc-tp-related a:hover { background: #d4f1e9; border-color: #009c90; }
.jc-tp-related a > i { color: #008f99; font-size: 18px; margin-top: 3px; }
.jc-tp-related a > i:last-child { font-size: 12px; }
.jc-tp-related strong { display: block; font-size: 14px; margin-bottom: 7px; }
.jc-tp-related small { display: block; font-size: var(--jc-text-detail); line-height: 1.5; }
.jc-tp-closing { background: linear-gradient(90deg,rgba(2,16,27,.97),rgba(2,16,27,.84) 48%,rgba(2,16,27,.45)),url('/Images/heroes/targeted-delivery-workbench-v1.webp') center right / cover no-repeat; border-top: 1px solid #23616c; min-height: 340px; }
.jc-tp-closing-grid { align-items: center; display: grid; gap: 38px; grid-template-columns: 1.2fr 1fr; }
.jc-tp-finish-visual { align-items: center; display: grid; gap: 22px; grid-template-columns: 1.3fr .8fr; }
.jc-tp-finish-visual > div { background: rgba(3,24,35,.94); border: 1px solid #2b7580; border-radius: 3px; padding: 23px 27px; }
.jc-tp-finish-visual span { align-items: center; color: #9af5e4; display: flex; font-size: var(--jc-text-detail); font-weight: 800; gap: 14px; margin: 17px 0; text-transform: uppercase; }
.jc-tp-finish-visual span i { color: var(--jc-cyan); font-size: 22px; }
.jc-tp-finish-visual .jc-tp-hand-note { border-bottom: 1px solid #009c90; color: #59decd; font-size: 22px; padding-bottom: 12px; transform: rotate(-6deg); }
@media (max-width:1199px) {
    .jc-tp-scenarios { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .jc-tp-fit-engineering { grid-template-columns: 1fr; }
    .jc-tp-fit-engineering > section + section { border-left: 0; border-top: 1px solid #c0dce3; padding-left: 0; padding-top: 28px; }
    .jc-tp-service-fit h3 { min-height: 38px; }
    .jc-tp-process { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .jc-tp-process li:after { display: none; }
}
@media (max-width:991px) {
    .jc-tp-hero-grid, .jc-tp-split, .jc-tp-closing-grid { gap: 28px; grid-template-columns: 1fr; }
    .jc-tp-hero-grid > div:first-child { max-width: 700px; }
    .jc-tp-hero-visual { margin: 0 auto; max-width: 660px; width: 100%; }
    .jc-tp-section { padding: 48px 0; }
    .jc-tp-scenarios { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .jc-tp-split > section + section { border-left: 0; border-top: 1px solid #c0dce3; padding-left: 0; padding-top: 28px; }
    .jc-tp-process { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .jc-tp-finish-visual { max-width: 520px; }
}
@media (max-width:575px) {
    .jc-tp-section { padding: 42px 0; }
    .jc-tp-hero { padding: 46px 0 38px; }
    .jc-tp-hero h1 { font-size: 39px; }
    .jc-targeted-page h2, .jc-tp-split h2, .jc-tp-lower h2 { font-size: 29px; }
    .jc-tp-scenarios, .jc-tp-scope-flow, .jc-tp-service-fit, .jc-tp-categories, .jc-tp-collaboration, .jc-tp-comparison, .jc-tp-decisions, .jc-tp-process, .jc-tp-related { grid-template-columns: 1fr; }
    .jc-tp-two-column { grid-template-columns: 1fr; }
    .jc-tp-actions { align-items: start; flex-direction: column; }
    .jc-tp-project-diagram { padding: 22px 12px; }
    .jc-tp-problem-nodes, .jc-tp-outcome-nodes { gap: 20px 7px; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .jc-tp-project-diagram .jc-tp-connectors { display: none; }
    .jc-tp-project-block { margin-top: 32px; position: relative; }
    .jc-tp-project-block:before { color: #00d6b4; content: '↓'; font-size: 24px; left: 0; line-height: 30px; position: absolute; top: -32px; width: 100%; }
    .jc-tp-project-diagram .jc-tp-diagram-label:nth-of-type(2) { margin-bottom: 22px; }
    .jc-tp-outcome-nodes span:last-child { grid-column: 1 / -1; }
    .jc-tp-scope-flow { gap: 30px; }
    .jc-tp-scope-flow li:not(:last-child):after { content: '↓'; left: 0; line-height: 30px; right: auto; top: 100%; transform: none; width: 100%; }
    .jc-tp-scope-flow h3 { min-height: 0; }
    .jc-tp-service-fit a { padding: 21px 18px 13px; }
    .jc-tp-service-fit h3 { font-size: 17px; min-height: 0; }
    .jc-tp-service-fit p { font-size: var(--jc-text-body); }
    .jc-tp-service-fit strong { font-size: var(--jc-text-detail); }
    .jc-tp-categories h3 { flex-direction: row; font-size: 17px; min-height: 0; }
    .jc-tp-categories article { padding: 21px 18px 15px; }
    .jc-tp-categories .jc-tp-checks li { padding-left: 20px; }
    .jc-tp-collaboration > span { line-height: 1; }
    .jc-tp-collaboration h3 { font-size: 16px; }
    .jc-tp-collaboration article { padding: 22px 18px; }
    .jc-tp-decisions { gap: 32px; }
    .jc-tp-decisions li:not(:last-child):after { content: '↓'; left: 0; line-height: 32px; right: auto; top: 100%; width: 100%; }
    .jc-tp-decisions strong { font-size: 15px; }
    .jc-tp-process { gap: 24px; }
    .jc-tp-process li { border-top: 1px solid #22616b; padding-top: 18px; }
    .jc-tp-process h3 { font-size: 17px; }
    .jc-tp-process p { font-size: var(--jc-text-body); }
    .jc-tp-result-arrow { justify-self: center; transform: rotate(90deg); }
    .jc-tp-finish-visual { gap: 14px; grid-template-columns: 1fr; }
    .jc-tp-finish-visual .jc-tp-hand-note { justify-self: end; margin-right: 10px; }
    .jc-targeted-page .jc-button { font-size: var(--jc-text-detail); padding-left: 13px; padding-right: 13px; }
}
