.pb-exploration { --pb-focus-rust: #a35436; --pb-material-shadow: 0 18px 40px -24px rgba(55,43,28,.32), 0 3px 7px rgba(55,43,28,.035); }
.pb-signal-mark { display: inline-block; position: relative; width: 14px; height: 14px; flex: 0 0 14px; border: 1px solid #b6603e; border-radius: 50%; vertical-align: -2px; }
.pb-signal-mark::after { content: ''; position: absolute; inset: 4px; background: #b6603e; border-radius: 50%; }
.pb-exploration #before-first-prompt .pbp-layout { max-width: 1240px; padding-block: 96px; gap: 70px; }
.pb-exploration #before-first-prompt .pbp-note { height: 100px; padding: 20px; box-shadow: var(--pb-material-shadow); transition: transform 380ms cubic-bezier(.16,1,.3,1), box-shadow 380ms ease; }
.pb-exploration #before-first-prompt .pbp-note-label { font-size: 12px; }
.pb-exploration #before-first-prompt .pbp-note p { font-size: 15px; }
.pb-exploration #before-first-prompt .pbp-note-customer { transform: rotate(-3deg); }
.pb-exploration #before-first-prompt .pbp-note-internal { transform: rotate(2deg); }
.pb-exploration #before-first-prompt .pbp-note-prototype { transform: rotate(-1.5deg); }
.pb-exploration #before-first-prompt .pbp-question-people { left: -124px; top: 176px; }
.pb-exploration #before-first-prompt .pbp-connector-people { left: -99px; width: 130px; top: 207px; }

/* The knowledge graph is the signature scene; only the ghost edge is cropped. */
.pb-exploration #knowledge { overflow: clip; }
.pb-exploration #knowledge .pbkc-content { max-width: 1440px; padding: 80px 72px 66px; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.65fr); gap: 0; align-items: center; }
.pb-exploration #knowledge .pbkc-editorial { position: relative; z-index: 4; align-self: start; padding-top: 96px; max-width: 350px; }
.pb-exploration #knowledge h2 { font-size: clamp(42px,4.2cqw,58px); line-height: 1.06; letter-spacing: -.04em; text-wrap: initial; }
.pb-exploration #knowledge .pbkc-intro { max-width: 330px; margin-top: 28px; line-height: 1.8; }
.pb-exploration #knowledge .pbkc-explore-hint { display: flex; align-items: center; gap: 10px; margin: 32px 0 0; color: #6d6e67; font-size: 12px; line-height: 1.5; }
.pb-exploration #knowledge .pbkc-graph { width: calc(100% + 155px); margin: 0 0 0 -35px; height: 680px; }
.pb-exploration #knowledge .pbkc-graph::before { inset: -40px; background-size: 22px 22px; opacity: .8; }
.pb-exploration #knowledge .pbkc-label { border-radius: 6px; padding: 12px 16px; max-width: 184px; box-shadow: 0 6px 16px -10px rgba(55,43,28,.28); transition: border-color 180ms ease, background 180ms ease, box-shadow 240ms ease, color 180ms ease; }
.pb-exploration #knowledge button.pbkc-label { min-height: 44px; cursor: pointer; font-family: inherit; font-size: 13px; background: #fcfbf8; }
.pb-exploration #knowledge button.pbkc-label[aria-pressed="true"] { color: #a35436; border-color: #b6603e; background: #fffaf5; box-shadow: 0 9px 23px -15px rgba(112,62,36,.45); }
.pb-exploration #knowledge button.pbkc-label[aria-pressed="true"]::before { border-color: #b6603e; background: #fffaf5; }
.pb-exploration #knowledge button.pbkc-label:focus-visible { outline: 2px solid #b6603e; outline-offset: 5px; }
.pb-exploration #knowledge .pbkc-label-inactive { padding: 10px 13px; box-shadow: none; }
.pb-exploration #knowledge .pbkc-link { stroke-opacity: .32; stroke-width: 1; transition: stroke-opacity 220ms ease, stroke-width 220ms ease; }
.pb-exploration #knowledge .pbkc-link.is-selected { stroke-opacity: .95; stroke-width: 1.7; }
.pb-exploration #knowledge .pbkc-link-inactive { stroke-opacity: .65; }
.pb-exploration #knowledge .pbkc-signal { width: 254px; max-width: none; padding: 20px 20px 16px; border-color: #b6603e; box-shadow: 0 25px 44px -28px rgba(95,63,37,.32), 0 3px 8px rgba(70,45,28,.035); z-index: 3; }
.pb-exploration #knowledge .pbkc-signal::before { border-color: #b6603e; }
.pb-exploration #knowledge .pbkc-kicker { display: flex; align-items: center; justify-content: center; gap: 7px; }
.pb-exploration #knowledge .pbkc-signal-title { font-size: 20px; letter-spacing: -.5px; margin-top: 10px; }
.pb-exploration #knowledge .pbkc-confidence { margin-top: 19px; }
.pb-exploration #knowledge .pbkc-score { font-size: 32px; }
.pb-exploration #knowledge .pbkc-context { display: block; min-height: 86px; margin-top: 17px; padding-top: 13px; border-top: 1px solid #e8ddd3; text-align: left; white-space: normal; }
.pb-exploration #knowledge .pbkc-context-name { display: block; color: #a35436; font-size: 12px; line-height: 1.45; }
.pb-exploration #knowledge .pbkc-context-description { display: block; color: #6d6e67; font-size: 12px; line-height: 1.6; margin-top: 5px; }
.pb-exploration #knowledge .pbkc-node.is-selected { fill: #b6603e; }

/* A recurring mark and drawn thread preserve the signal's identity. */
.pb-exploration .pbss-content, .pb-exploration .pbsp-content { position: relative; }
.pb-signal-thread { position: absolute; top: 0; left: 38px; width: 14px; height: 64px; }
.pb-signal-thread::before { content: ''; position: absolute; top: 0; bottom: 22px; left: 6px; width: 1px; background: #c68c6e; transform-origin: top; }
.pb-signal-thread > .pb-signal-mark { position: absolute; bottom: 0; left: 0; }
.pb-exploration #how-it-works .pbss-content { max-width: 1240px; padding: 104px 38px 112px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 74px; }
.pb-exploration #how-it-works h2 { grid-column: 1 / -1; max-width: 850px; font-size: clamp(40px,4.4cqw,56px); letter-spacing: -.04em; }
.pb-exploration #how-it-works .pbss-intro { max-width: 485px; margin-top: 30px; }
.pb-exploration #how-it-works .pbss-intro-follow { margin-top: 30px; }
.pb-exploration #how-it-works .pbss-board-wrap { grid-column: 1 / -1; padding-top: 0; margin-top: 54px; }
.pb-exploration #how-it-works .pbss-board { padding: 25px 24px 0; border-radius: 10px; box-shadow: 0 25px 55px -40px rgba(50,43,30,.3); background: #f7f5f0; }
.pb-exploration #how-it-works .pbss-lanes { gap: 20px; }
.pb-exploration #how-it-works .pbss-lane-body { min-height: 230px; padding: 12px; background: #eeece6; }
.pb-exploration #how-it-works .pbss-opportunity { padding: 17px 15px; box-shadow: 0 6px 12px -9px rgba(55,43,28,.25); }
.pb-exploration #how-it-works .pbss-secondary { opacity: .72; box-shadow: none; }
.pb-exploration #how-it-works .pbss-focus { transform: rotate(-1.3deg) translateY(-6px); border-color: #b6603e; background: #fffaf5; box-shadow: 0 17px 28px -20px rgba(112,62,36,.32); transition: transform 350ms cubic-bezier(.16,1,.3,1), box-shadow 250ms ease; }
.pb-exploration #how-it-works .pbss-focus::before { display: none; }
.pb-exploration #how-it-works .pbss-focus h3 { display: flex; gap: 9px; align-items: flex-start; }
.pb-exploration #how-it-works .pbss-focus .pb-signal-mark { margin-top: 3px; }
.pb-exploration #how-it-works .pbss-ai-note { width: 63%; margin: 0 0 0 auto; padding: 22px 24px 24px; transform: translateY(29px); box-shadow: var(--pb-material-shadow); }
.pb-exploration #how-it-works .pbss-ai-note::before { content: ''; position: absolute; width: 1px; height: 48px; left: 20%; top: -49px; background: #c68c6e; }
.pb-exploration #how-it-works .pbss-ai-suggestion { font-size: 22px; }

/* The specification becomes a working document with quiet paper depth. */
.pb-exploration #spec-driven-development .pbsp-content { max-width: 1240px; padding: 118px 38px 104px; }
.pb-exploration #spec-driven-development .pbsp-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 80px; }
.pb-exploration #spec-driven-development h2 { font-size: clamp(40px,4.4cqw,56px); letter-spacing: -.04em; }
.pb-exploration #spec-driven-development .pbsp-visual { padding: 0 0 12px; }
.pb-exploration #spec-driven-development .pbsp-document { border-radius: 7px; box-shadow: var(--pb-material-shadow); transform: rotate(-.8deg); transition: transform 400ms cubic-bezier(.16,1,.3,1), box-shadow 300ms ease; }
.pb-exploration #spec-driven-development .pbsp-document::before,
.pb-exploration #spec-driven-development .pbsp-document::after { content: ''; position: absolute; inset: 0; z-index: -1; border: 1px solid #dedbd2; border-radius: 7px; background: #f9f7f2; pointer-events: none; }
.pb-exploration #spec-driven-development .pbsp-document::before { transform: translate(8px,7px) rotate(1.6deg); }
.pb-exploration #spec-driven-development .pbsp-document::after { transform: translate(4px,4px) rotate(.6deg); }
.pb-exploration #spec-driven-development .pbsp-document-head { padding: 24px 27px 20px; background: #fcfbf8; border-radius: 7px 7px 0 0; }
.pb-exploration #spec-driven-development .pbsp-document-body { padding: 22px 27px 26px; background: #fcfbf8; border-radius: 0 0 7px 7px; }
.pb-exploration #spec-driven-development .pbsp-field + .pbsp-field { margin-top: 20px; }
.pb-exploration #spec-driven-development .pbsp-draft { border: 1px solid #e5d6c8; background: #f6eee6; color: #7e513a; }
.pb-exploration #spec-driven-development .pbsp-signal-source { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 12px; color: #a35436; }
.pb-exploration #spec-driven-development .pbsp-open { border-left-width: 1px; padding: 11px 13px; background: #f8f3ed; }
.pb-exploration #spec-driven-development .pbsp-outputs { margin-top: 40px; }
.pb-exploration #spec-driven-development .pbsp-output { box-shadow: 0 5px 12px -10px rgba(55,43,28,.25); }

.pb-exploration #proof .pbpi-content { max-width: 1240px; padding: 86px 38px 58px; }
.pb-exploration #proof .pbpi-proof { position: relative; }
.pb-exploration #proof .pbpi-proof::before,
.pb-exploration #proof .pbpi-proof::after { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: #88877a; transform-origin: left; pointer-events: none; }
.pb-exploration #proof .pbpi-proof::before { top: -1px; }
.pb-exploration #proof .pbpi-proof::after { bottom: -1px; }
.pb-exploration #proof .pbpi-cell { position: relative; }
.pb-exploration #proof .pbpi-cell + .pbpi-cell::after { content: ''; position: absolute; left: -1px; top: 0; bottom: 0; width: 1px; background: #68695f; transform-origin: top; }
.pb-exploration #proof .pbpi-cell:nth-child(2) { --cell-delay: 80ms; }
.pb-exploration #proof .pbpi-cell:nth-child(3) { --cell-delay: 160ms; }
.pb-exploration #proof .pbpi-cell:nth-child(4) { --cell-delay: 240ms; }
.pb-exploration #proof .pbpi-cell:nth-child(5) { --cell-delay: 320ms; }
.pb-exploration #proof .pbpi-word { font-size: 14px; padding-block: 16px; }
.pb-exploration #proof .pbpi-closing { max-width: 490px; margin-top: 34px; }
.pb-exploration .pb-footer-inner { max-width: 1240px; }

@keyframes pb-line-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes pb-thread-in { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes pb-rust-settle { from { color: #cfccc2; } to { color: #d58a65; } }
@media (prefers-reduced-motion: no-preference) {
  .pb-exploration .pb-is-seen .pb-signal-thread::before { animation: pb-thread-in 650ms cubic-bezier(.16,1,.3,1) both; }
  .pb-exploration #proof.pb-is-seen .pbpi-proof::before,
  .pb-exploration #proof.pb-is-seen .pbpi-proof::after { animation: pb-line-in 850ms cubic-bezier(.16,1,.3,1) both; }
  .pb-exploration #proof.pb-is-seen .pbpi-cell + .pbpi-cell::after { animation: pb-thread-in 650ms cubic-bezier(.16,1,.3,1) var(--cell-delay,0ms) both; }
  .pb-exploration #proof.pb-is-seen .pbpi-initial { animation: pb-rust-settle 450ms ease calc(250ms + var(--cell-delay,0ms)) both; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .pb-exploration #before-first-prompt .pbp-note:hover { transform: rotate(0) translateY(-5px); box-shadow: 0 22px 38px -24px rgba(55,43,28,.36); }
  .pb-exploration #how-it-works .pbss-focus:hover { transform: rotate(0) translateY(-10px); }
  .pb-exploration #spec-driven-development .pbsp-document:hover { transform: rotate(0) translateY(-3px); }
}
@container (max-width:1000px) {
  .pb-exploration #knowledge .pbkc-content { padding: 65px 38px 50px; grid-template-columns: 1fr; }
  .pb-exploration #knowledge .pbkc-editorial { padding-top: 0; max-width: 600px; }
  .pb-exploration #knowledge h2 { max-width: 650px; font-size: 48px; }
  .pb-exploration #knowledge .pbkc-intro { max-width: 560px; }
  .pb-exploration #knowledge .pbkc-explore-hint { margin-top: 18px; }
  .pb-exploration #knowledge .pbkc-graph { width: calc(100% + 40px); margin-left: -20px; margin-top: 35px; height: 680px; }
  .pb-exploration #spec-driven-development .pbsp-layout { gap: 42px; }
}
@container (max-width:680px) {
  .pb-exploration #before-first-prompt .pbp-layout { padding: 60px 23px; grid-template-columns: 1fr; gap: 10px; }
  .pb-exploration #before-first-prompt .pbp-note { padding: 17px; height: 96px; }
  .pb-exploration #before-first-prompt .pbp-note p { font-size: 13px; }
  .pb-exploration #knowledge .pbkc-content { padding: 60px 23px 40px; }
  .pb-exploration #knowledge h2 { font-size: clamp(32px,7.6cqw,42px); }
  .pb-exploration #knowledge .pbkc-graph { width: 100%; margin-left: 0; height: 850px; margin-top: 35px; }
  .pb-exploration #knowledge .pbkc-label { font-size: 11px; padding: 10px 11px; }
  .pb-exploration #knowledge button.pbkc-label { font-size: 12px; }
  .pb-exploration #knowledge .pbkc-signal { width: min(254px,100%); padding: 18px 17px 13px; }
  .pb-exploration #knowledge .pbkc-signal-title { font-size: 18px; }
  .pb-exploration #knowledge .pbkc-context { min-height: 86px; }
  .pb-signal-thread { left: 23px; height: 48px; }
  .pb-exploration #how-it-works .pbss-content { padding: 82px 23px 76px; display: block; }
  .pb-exploration #how-it-works h2, .pb-exploration #spec-driven-development h2 { font-size: clamp(32px,7.6cqw,42px); }
  .pb-exploration #how-it-works .pbss-intro, .pb-exploration #how-it-works .pbss-intro-follow { margin-top: 22px; }
  .pb-exploration #how-it-works .pbss-board-wrap { margin-top: 36px; }
  .pb-exploration #how-it-works .pbss-board { padding: 18px 13px 0; }
  .pb-exploration #how-it-works .pbss-lanes { grid-template-columns: 1fr; gap: 19px; }
  .pb-exploration #how-it-works .pbss-stage { font-size: 12px; padding-left: 2px; gap: 7px; }
  .pb-exploration #how-it-works .pbss-stage-dot { display: block; }
  .pb-exploration #how-it-works .pbss-lane-body { min-height: 0; height: auto; padding: 8px; }
  .pb-exploration #how-it-works .pbss-opportunity { padding: 13px 12px; }
  .pb-exploration #how-it-works .pbss-opportunity h3 { font-size: 14px; }
  .pb-exploration #how-it-works .pbss-focus { transform: rotate(-.7deg); }
  .pb-exploration #how-it-works .pbss-focus .pbss-card-detail, .pb-exploration #how-it-works .pbss-ai-label { color: #a35436; }
  .pb-exploration #how-it-works .pbss-ai-note { width: calc(100% + 12px); margin-left: -6px; padding: 18px 17px; transform: translateY(23px); }
  .pb-exploration #how-it-works .pbss-ai-note::before { display: none; }
  .pb-exploration #how-it-works .pbss-ai-suggestion { font-size: 20px; }
  .pb-exploration #spec-driven-development .pbsp-content { padding: 82px 23px 66px; }
  .pb-exploration #spec-driven-development .pbsp-layout { grid-template-columns: 1fr; gap: 42px; }
  .pb-exploration #spec-driven-development .pbsp-visual { width: calc(100% - 10px); }
  .pb-exploration #spec-driven-development .pbsp-document-head, .pb-exploration #spec-driven-development .pbsp-document-body { padding: 19px 17px; }
  .pb-exploration #spec-driven-development .pbsp-document::before { transform: translate(5px,6px) rotate(1deg); }
  .pb-exploration #spec-driven-development .pbsp-document::after { transform: translate(3px,3px) rotate(.4deg); }
  .pb-exploration #proof .pbpi-content { padding: 62px 23px 40px; }
  .pb-exploration #proof .pbpi-word { font-size: 11px; padding-block: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .pb-exploration .pbp-note, .pb-exploration .pbss-focus, .pb-exploration .pbsp-document { transition: none !important; }
}
/* Use viewport queries: the illustration itself is a narrow query container on desktop. */
@media (max-width:1000px) {
  .pb-exploration #before-first-prompt .pbp-scene { height: 490px; }
  .pb-exploration #before-first-prompt .pbp-question-people { left: 0; top: 188px; }
  .pb-exploration #before-first-prompt .pbp-connector-people { left: 18px; width: 26px; top: 214px; }
  .pb-exploration #before-first-prompt .pbp-note-internal { top: 230px; }
  .pb-exploration #before-first-prompt .pbp-note-prototype { top: 340px; }
  .pb-exploration #before-first-prompt .pbp-question-evidence { top: 451px; }
  .pb-exploration #before-first-prompt .pbp-connector-evidence { top: 431px; }
}
