/* Deep-offer shared component grammar v0.2. Site-wide tokens owned only by site.css.
   One body system for six deep pages; no per-offer token shadowing. */
.jpk-deep{width:100%;background:var(--jpk-canvas);color:var(--jpk-ink);font-family:var(--jpk-body);font-size:var(--jpk-body-size);line-height:var(--jpk-body-leading)}
.jpk-deep,.jpk-deep *{box-sizing:border-box}
.jpk-deep-shell{width:min(100%,var(--jpk-shell-standard));margin-inline:auto;padding:clamp(24px,4vw,48px) clamp(18px,4vw,48px) clamp(48px,7vw,82px)}
:where(.jpk-deep) p{max-width:var(--jpk-prose-measure);margin:0}
.jpk-deep h1,.jpk-deep h2,.jpk-deep h3,.jpk-deep h4,.jpk-deep p,.jpk-deep li,.jpk-deep dd{overflow-wrap:break-word}
.jpk-deep h1,.jpk-deep h2,.jpk-deep h3,.jpk-deep h4{margin:0;font-family:var(--jpk-heading);font-weight:700}
.jpk-deep h1{font-size:clamp(2.2rem,5.2vw,3.5rem);line-height:1.08;letter-spacing:-.025em;color:var(--jpk-green);max-width:22ch}
.jpk-deep h2{font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.2;letter-spacing:-.012em}
.jpk-deep h3{font-size:clamp(1.08rem,1.8vw,1.38rem);line-height:1.3}
.jpk-deep h4{font-size:1.08rem;line-height:1.3}
.jpk-deep .jpk-deep-eyebrow,.jpk-deep .jpk-deep-label{font-size:var(--jpk-label-size);font-weight:var(--jpk-label-weight);letter-spacing:var(--jpk-label-tracking);line-height:var(--jpk-label-leading);color:var(--jpk-green-2);text-transform:uppercase}
.jpk-deep a:not(.jpk-deep-button-primary){color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.jpk-deep :is(a,button,[tabindex]):focus-visible{outline:var(--jpk-focus-width) solid var(--jpk-focus);outline-offset:var(--jpk-focus-offset)}
/* One global scroll-padding-top in site.css. Local offsets must not accumulate. */
.jpk-deep [id]{scroll-margin-top:0}
/* HERO: shared two-column decision question and single primary action */
.jpk-deep-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:clamp(32px,6vw,72px);align-items:end;padding-top:clamp(20px,3vw,36px)}
.jpk-deep-hero-copy{display:grid;gap:20px;align-content:start}
.jpk-deep-hero-lede{max-width:66ch;font-size:clamp(1.05rem,1.3vw,1.2rem)}
.jpk-deep-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.jpk-deep .jpk-deep-button-primary{display:inline-flex;min-height:var(--jpk-target-min);align-items:center;justify-content:center;gap:10px;padding:var(--jpk-action-pad-block) var(--jpk-action-pad-inline);border:1px solid var(--jpk-green);border-radius:var(--jpk-radius-pill);background:var(--jpk-green);color:#fff;text-decoration:none;font-weight:600;line-height:1.2;transition:background var(--jpk-motion-fast) ease,border-color var(--jpk-motion-fast) ease}
.jpk-deep .jpk-deep-button-primary:hover{background:var(--jpk-green-2);border-color:var(--jpk-green-2);color:#fff;text-decoration:none}
.jpk-deep-hero-decision{align-self:end;padding:clamp(22px,3vw,30px);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-lg);background:var(--jpk-inset)}
.jpk-deep-hero-decision p:last-child{margin-top:10px;color:var(--jpk-green);font-family:var(--jpk-heading);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;line-height:1.35}
/* BLOCKS: evidence / its limits are distinct from negative outcomes */
.jpk-deep-section{margin-top:var(--jpk-section-gap-standard)}
.jpk-deep-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:end;border-bottom:1px solid var(--jpk-line);padding-bottom:14px;margin-bottom:24px}
.jpk-deep-section-head>div{display:grid;gap:8px}
.jpk-deep-section-head p{color:var(--jpk-muted)}
.jpk-deep-evidence-panel{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,.8fr);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-lg);overflow:hidden;background:var(--jpk-card)}
.jpk-deep-evidence-main{padding:clamp(24px,4vw,40px)}
.jpk-deep-evidence-intro{margin-bottom:28px!important;color:var(--jpk-muted)}
.jpk-deep-evidence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px 28px;margin:0}
.jpk-deep-evidence-item,.jpk-deep-gap-item{padding-top:16px;border-top:1px solid var(--jpk-line-soft)}
.jpk-deep-evidence-item dt,.jpk-deep-gap-item dt{color:var(--jpk-green);font-weight:600}
.jpk-deep-evidence-item dd,.jpk-deep-gap-item dd{color:var(--jpk-muted);margin:5px 0 0}
.jpk-deep-evidence-gap{align-self:start;margin:24px 24px 24px 0;padding:clamp(24px,4vw,36px);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-sm);background:var(--jpk-inset)}
.jpk-deep-evidence-gap h3{margin-top:10px}
.jpk-deep-evidence-gap p:last-child{margin-top:12px;color:var(--jpk-muted)}
.jpk-deep-gap-list{display:grid;gap:18px;margin-top:22px}
.jpk-deep-gap-item{border-color:var(--jpk-line)}
.jpk-deep-negative{padding:clamp(24px,4vw,36px);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-lg);background:var(--jpk-inset)}
.jpk-deep-negative h2{margin-top:8px}
.jpk-deep-negative p:last-child{margin-top:14px}
/* ENGAGEMENTS: identical starting-scope / two-column included-work and outputs / boundary anatomy */
.jpk-deep-engagement-stack{display:grid;gap:18px}
.jpk-deep-engagement{border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-lg);background:var(--jpk-card);overflow:hidden}
.jpk-deep-engagement-head{display:grid;gap:12px;padding:clamp(24px,4vw,40px);border-bottom:1px solid var(--jpk-line-soft)}
.jpk-deep-engagement-fit,.jpk-deep-relationship{color:var(--jpk-muted)}
.jpk-deep-relationship{font-size:.95rem}
.jpk-deep-scope{margin:0 clamp(24px,4vw,40px);padding:18px 0;border-bottom:1px solid var(--jpk-line-soft)}
.jpk-deep-scope p:last-child{margin-top:6px;color:var(--jpk-muted)}
.jpk-deep-engagement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.jpk-deep-engagement-column{padding:clamp(24px,4vw,40px)}
.jpk-deep-engagement-column + .jpk-deep-engagement-column{border-left:1px solid var(--jpk-line-soft)}
.jpk-deep-engagement-column ul,.jpk-deep-exclusions ul{margin:16px 0 0;padding-left:1.2em}
.jpk-deep-engagement-column li,.jpk-deep-exclusions li{margin-top:9px}
.jpk-deep-engagement-column li:first-child,.jpk-deep-exclusions li:first-child{margin-top:0}
.jpk-deep-engagement-column p + p{margin-top:10px}
.jpk-deep-exclusions{margin:0 clamp(24px,4vw,40px) clamp(24px,4vw,40px);padding:22px 24px;border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-sm);background:var(--jpk-inset)}
.jpk-deep-exclusions p + p{margin-top:6px}
.jpk-deep-boundary{color:var(--jpk-muted)}
.jpk-deep-evidence-module{margin:-12px clamp(24px,4vw,40px) clamp(24px,4vw,40px);color:var(--jpk-muted)}
/* Optional related content and neutral custom-work / validation modules */
.jpk-deep-use-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.jpk-deep-use-card,.jpk-deep-related-card{display:grid;gap:12px;padding:clamp(22px,3vw,30px);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-md);background:var(--jpk-card);align-content:start}
.jpk-deep-use-card p,.jpk-deep-related-card p{color:var(--jpk-muted)}
.jpk-deep-use-card h3,.jpk-deep-related-card h3{color:var(--jpk-green)}
.jpk-deep-use-card:hover,.jpk-deep-related-card:hover,.jpk-deep-related-link:hover{border-color:var(--jpk-green)}
.jpk-deep-use-card .jpk-deep-card-link{color:var(--jpk-green);font-weight:600;align-self:end}
.jpk-deep-card-arrow{display:none}
.jpk-deep-text-link{display:inline-flex;align-items:center;min-height:var(--jpk-target-min);margin-top:14px;font-weight:600;color:var(--jpk-green);width:fit-content}
.jpk-deep-resource,.jpk-deep-support,.jpk-deep-support-wide,.jpk-deep-inset{padding:clamp(22px,3vw,30px);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-md);background:var(--jpk-inset)}
.jpk-deep-resource{background:var(--jpk-card)}
.jpk-deep-resource h3,.jpk-deep-support h3,.jpk-deep-support-wide h3{margin-top:10px}
.jpk-deep-resource p,.jpk-deep-support p,.jpk-deep-support-wide p{margin-top:10px;color:var(--jpk-muted)}
.jpk-deep-integrated{margin-bottom:30px}
.jpk-deep-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px}
.jpk-deep-related-nav{border-top:1px solid var(--jpk-line)}
.jpk-deep-related-link{display:grid;grid-template-columns:1fr auto;gap:3px 20px;align-items:center;padding:15px 0;min-height:78px;border-bottom:1px solid var(--jpk-line-soft);color:var(--jpk-green)}
.jpk-deep-related-link-copy{display:grid;gap:3px}
.jpk-deep-related-link-title,.jpk-deep-related-link strong{font-family:var(--jpk-heading);font-weight:700;font-size:1.08rem}
.jpk-deep-related-link-note{color:var(--jpk-muted);font-size:.95rem;font-weight:400;line-height:1.4}
.jpk-deep a.jpk-deep-related-link{color:var(--jpk-green);text-decoration:none}
.jpk-deep .jpk-deep-related-link-title{color:var(--jpk-green);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.jpk-deep .jpk-deep-related-card{color:var(--jpk-ink)}
.jpk-deep-independence{display:grid;gap:12px;padding:clamp(26px,5vw,42px);border:1px solid var(--jpk-line);border-radius:var(--jpk-radius-lg);background:var(--jpk-inset)}
.jpk-deep-independence-copy{display:grid;gap:10px}
.jpk-deep-independence-side{display:grid;gap:10px;padding-left:clamp(20px,4vw,36px);border-left:1px solid var(--jpk-line)}
.jpk-deep-independence-side p{color:var(--jpk-muted)}
.jpk-deep-inset h2{margin-top:8px}
.jpk-deep-inset p:last-child{margin-top:12px;color:var(--jpk-muted)}
/* GREEN CLOSE: action must be high contrast even under surrounding link rules */
.jpk-deep-cta{display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:28px;align-items:center;padding:clamp(28px,5vw,48px);background:var(--jpk-green);border-radius:var(--jpk-radius-xl);color:white}
.jpk-deep-cta h2{color:#fff}
.jpk-deep-cta .jpk-deep-label,.jpk-deep-cta .jpk-deep-eyebrow{color:var(--jpk-label-on-green)}
.jpk-deep-cta p{color:var(--jpk-on-green)}
.jpk-deep-cta-actions{display:grid;gap:8px;justify-items:start}
.jpk-deep .jpk-deep-cta .jpk-deep-button-primary{border-color:white;background:white;color:var(--jpk-green)}
.jpk-deep .jpk-deep-cta .jpk-deep-button-primary:hover{border-color:white;background:var(--jpk-inset);color:var(--jpk-green)}
.jpk-deep-cta .jpk-deep-cta-note{font-size:.9rem;line-height:1.4}
.jpk-deep .jpk-deep-cta a:focus-visible{outline-color:white}
@media(max-width:900px){
 .jpk-deep-hero,.jpk-deep-evidence-panel,.jpk-deep-engagement-grid,.jpk-deep-use-grid,.jpk-deep-related-grid,.jpk-deep-cta,.jpk-deep-independence{grid-template-columns:1fr}
 .jpk-deep-hero-decision{max-width:36rem}
 .jpk-deep-evidence-gap{margin:0 24px 24px}
 .jpk-deep-engagement-column + .jpk-deep-engagement-column{border-left:0;border-top:1px solid var(--jpk-line-soft)}
 .jpk-deep-independence-side{padding:18px 0 0;border-left:0;border-top:1px solid var(--jpk-line)}
}
@media(max-width:640px){
 .jpk-deep-shell{padding-inline:18px}
 .jpk-deep-evidence-list,.jpk-deep-section-head{grid-template-columns:1fr}
 .jpk-deep-engagement-head,.jpk-deep-engagement-column{padding-inline:22px}
 .jpk-deep-scope,.jpk-deep-exclusions{margin-inline:22px}
 .jpk-deep-hero-actions,.jpk-deep-cta-actions{width:100%}
 .jpk-deep-hero-actions .jpk-deep-button-primary,.jpk-deep-cta-actions .jpk-deep-button-primary{width:100%}
}
@media(prefers-reduced-motion:reduce){.jpk-deep *{transition:none!important}}


.jpk-c3-evidence{padding-block:clamp(1.5rem,3vw,3rem)}.jpk-c3-evidence-inner{border-top:1px solid var(--jpk-line, #d5ded6);padding-top:1.3rem;max-width:72ch}.jpk-c3-evidence h2{margin:0 0 .7rem}.jpk-c3-evidence a{text-underline-offset:.18em}


.jpk-deep .jpk-deep-related-nav a,.jpk-deep .jpk-deep-related-link{min-height:48px;}

/* W1: lone checklist/worked-example links gain click slop without increasing line height. */
.jpk-deep p:has(>a:only-child)>a[href^="/articles/"]{position:relative;}
.jpk-deep p:has(>a:only-child)>a[href^="/articles/"]::after{content:"";position:absolute;inset:-14px -3px;}

.jpk-deep a.jpk-deep-related-card{text-decoration:none}
.jpk-deep a.jpk-deep-related-card:is(:hover,:focus-visible) h3{text-decoration:underline;text-underline-offset:3px}


/* WBD-064: exclusion/operating-boundary cards are full-width information,
   not narrow long-form prose. Use all available space on desktop but wrap
   naturally on tablets/phones; avoid nowrap or overflow. */
.jpk-deep .jpk-deep-exclusions > p:not(.jpk-deep-label){
  max-width:100%;
}
@media(min-width:1200px){
  .jpk-deep .jpk-deep-exclusions{padding-inline:16px}
  .jpk-deep .jpk-deep-exclusions > p:not(.jpk-deep-label){
    font-size:14.5px;
    line-height:1.55;
  }
}
