/* A connected partner-development story with concrete working examples. */
.partner-story { padding-block: var(--home-section) 0; border-top: 1px solid var(--line-2); }
.partner-story-intro { max-width: 820px; margin-bottom: 48px; }
.partner-story-intro > p:first-child { margin: 0 0 20px; font-size: 14px; line-height: 1.5; color: var(--blue); }
.partner-story-intro h2 { margin: 0; font-weight: 500; letter-spacing: -.02em; }
.partner-story-intro > p:last-child { max-width: 64ch; margin: 24px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.75; text-wrap: pretty; }
.partner-story-layout { position: relative; }
.partner-story-chapters { min-width: 0; }
.partner-chapter + .partner-chapter { border-top: 1px solid var(--line-2); }
.partner-chapter h3 { font: 500 clamp(25px,2.4vw,33px)/1.2 var(--font-display); letter-spacing: -.02em; margin: 0 0 24px; text-wrap: balance; }
.partner-chapter-copy > p { color: var(--ink-soft); font-size: 15px; line-height: 1.8; margin: 0 0 20px; max-width: 54ch; }
.partner-provider-details { margin-top: 24px; }
.partner-provider-details details { border-bottom: 1px solid var(--line-2); }
.partner-provider-details summary { display: flex; align-items: center; gap: 12px; min-height: 58px; cursor: pointer; list-style: none; font-size: 12px; line-height: 1.6; color: var(--ink); }
.partner-provider-details summary::-webkit-details-marker { display: none; }
.partner-provider-details summary > img { width: 27px; height: 23px; flex-shrink: 0; object-fit: contain; }
.partner-provider-details summary > span:last-child { margin-left: auto; font-size: 20px; color: var(--blue); }
.partner-provider-details details[open] summary > span:last-child { transform: rotate(45deg); }
.partner-provider-details details > div { padding: 8px 0 20px; }
.partner-provider-details details p { font-size: 13px; line-height: 1.8; margin: 0 0 12px; color: var(--ink-soft); }
.partner-provider-details details a { color: var(--blue); font-size: 12px; line-height: 1.8; display: inline-block; margin: 0 20px 4px 0; text-decoration: underline; text-underline-offset: 3px; }
.partner-story a:focus-visible,.partner-provider-details summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.partner-example-note { padding: 20px 24px; background: #eef0fe; border-radius: 6px; margin-top: 24px; }
.partner-example-note > span { color: var(--blue); font-size: 12px; }
.partner-example-note p { font-size: 14px; line-height: 1.75; margin: 8px 0 0; color: var(--ink); }
.partner-chapter-link { display: inline-flex; color: var(--blue); font-size: 13px; line-height: 1.7; margin-top: 12px; min-height: 36px; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
.partner-crm-links { display: flex; flex-wrap: wrap; column-gap: 24px; }
.partner-story-outcome { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,6vw,88px); border-top: 1px solid var(--line-2); padding-top: 40px; }
.partner-story-outcome h3 { font: 500 clamp(25px,2.5vw,34px)/1.25 var(--font-display); letter-spacing: -.02em; margin: 0; text-wrap: balance; }
.partner-story-outcome p { color: var(--ink-soft); font-size: 15px; line-height: 1.8; margin: 0 0 20px; }
.partner-story-outcome .partner-story-boundary { font-size: 12px; line-height: 1.8; }
.partner-story-outcome .btn { gap: 24px; margin-top: 8px; }
@media (max-width:1100px) {
}
@media (max-width:900px) {
  .partner-story-intro { margin-bottom: 32px; }
  .partner-story-intro br,.partner-chapter h3 br { display: none; }
  .partner-chapter h3 { max-width: 28ch; }
  .partner-story-outcome { gap: 32px; }
  .partner-story-outcome h3 br { display: none; }
}
@media (max-width:600px) {
  .partner-story-intro > p:last-child { font-size: 16px; }
  .partner-chapter h3 { font-size: 26px; }
  .partner-example-note { padding: 18px; }
  .partner-story-outcome { grid-template-columns: 1fr; gap: 24px; }
}

.partner-chapter h3:focus-visible { outline: 2px solid var(--blue); outline-offset: 6px; }
/* The persistent stepper shows the actual documents and handoffs being discussed. */
.partner-story-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,6vw,88px); align-items: start; }
.partner-chapter { min-height: 520px; padding: 28px 0 88px; scroll-margin-top: 100px; }
.partner-chapter-copy { position: relative; padding-left: 36px; }
.partner-chapter-number { position: absolute; top: 4px; left: 0; color: var(--blue); font-size: 13px; line-height: 1.5; }
.partner-story-visual { position: sticky; top: 92px; margin: 0; padding: 26px; background: var(--home-navy); color: #fff; border-radius: 8px; min-width: 0; }
.partner-visual-heading { display: flex; align-items: center; justify-content: space-between; color: #c0ccec; font-size: 12px; line-height: 1.6; margin-bottom: 22px; }
.partner-visual-counter { color: var(--cyan); font-variant-numeric: tabular-nums; }
.partner-working-documents { display: grid; background: #f0f2fa; border-radius: 6px; color: var(--ink); }
.partner-working-sheet { grid-area: 1 / 1; padding: 26px; visibility: hidden; opacity: 0; transition: opacity 240ms ease,visibility 240ms; }
[data-stage="readiness"] [data-story-sheet="readiness"],
[data-stage="accounts"] [data-story-sheet="accounts"],
[data-stage="opportunity"] [data-story-sheet="opportunity"],
[data-stage="pipeline"] [data-story-sheet="pipeline"] { visibility: visible; opacity: 1; }
.working-document-type { margin: 0 0 14px; color: var(--ink-soft); font-size: 11px; line-height: 1.6; }
.partner-working-sheet h4 { margin: 0 0 28px; font: 500 clamp(22px,2.1vw,28px)/1.25 var(--font-display); letter-spacing: -.02em; text-wrap: balance; }
.working-provider { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.working-provider img { object-fit: contain; flex-shrink: 0; }
.working-provider strong { font-size: 13px; font-weight: 500; }
.working-provider > span { width: 100%; font-size: 11px; line-height: 1.6; color: var(--ink-soft); }
.working-checklist { list-style: none; padding: 0; margin: 12px 0 0; }
.working-checklist li { display: flex; align-items: center; gap: 10px; font-size: 12px; line-height: 1.7; margin-top: 8px; }
.working-checklist li > span { display: block; width: 11px; height: 11px; border: 1px solid #7984b9; border-radius: 2px; flex-shrink: 0; }
.working-document-note { font-size: 11px; line-height: 1.7; margin: 24px 0 0; color: var(--ink-soft); }
.working-account + .working-account { border-top: 1px solid var(--line-2); padding-top: 20px; margin-top: 20px; }
.working-account > div { display: flex; align-items: center; gap: 10px; }
.working-account img { object-fit: contain; flex-shrink: 0; }
.working-account strong { font-size: 13px; font-weight: 500; line-height: 1.6; }
.working-account dl { margin: 12px 0 0; }
.working-account dl > div { display: grid; grid-template-columns: 64px 1fr; gap: 12px; margin-top: 8px; }
.working-account dt,.working-brief dt { color: var(--blue); font-size: 11px; line-height: 1.7; }
.working-account dd,.working-brief dd { margin: 0; font-size: 12px; line-height: 1.7; }
.working-brief { margin: 0; }
.working-brief > div { padding: 16px 0; border-top: 1px solid var(--line-2); }
.working-brief dd { margin-top: 5px; }
.working-crm-route { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 8px 0 28px; }
.working-crm-route > img { max-width: 38%; object-fit: contain; }
.working-crm-route > span { font-size: 24px; color: var(--blue); }
.working-crm-route > div { display: grid; gap: 12px; }
.working-crm-route > div > span { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.working-crm-route img { object-fit: contain; }
.partner-visual-progress { display: grid; grid-template-columns: repeat(4,1fr); list-style: none; padding: 0; margin: 24px 0 0; gap: 0; }
.partner-visual-progress a { position: relative; display: block; color: #c0ccec; text-decoration: none; padding: 18px 0 4px; font-size: 11px; line-height: 1.6; }
.partner-visual-progress a::before { content: ''; height: 1px; position: absolute; top: 3px; left: 0; right: 0; background: #516080; }
.partner-visual-progress li:last-child a::before { display: none; }
.partner-visual-progress a > span { position: absolute; left: 0; top: 0; width: 7px; height: 7px; border-radius: 50%; border: 1px solid #8e9fbf; background: var(--home-navy); }
.partner-visual-progress .is-current a,.partner-visual-progress .is-past a { color: var(--cyan); }
.partner-visual-progress .is-current a > span,.partner-visual-progress .is-past a > span { background: var(--cyan); border-color: var(--cyan); }
.partner-visual-progress .is-past a::before { background: var(--cyan); }
.partner-story-visual a:focus-visible { outline-color: var(--cyan); }
.partner-story-visual figcaption { color: #c0ccec; text-align: left; margin-top: 18px; padding: 0; font-size: 10px; line-height: 1.7; }
@media (min-width:901px) and (max-height:800px) {
  .partner-story-visual { top: 80px; padding: 20px; }
  .partner-working-sheet { padding: 20px; }
  .partner-working-sheet h4 { margin-bottom: 18px; }
  .working-provider { margin-top: 14px; }
  .working-brief > div { padding-block: 12px; }
  .working-document-note { margin-top: 16px; }
}
@media (max-width:900px) {
  .partner-story-layout { grid-template-columns: 1fr; gap: 0; }
  .partner-story-visual { grid-row: 1; top: 62px; z-index: 2; padding: 16px 20px 14px; box-shadow: 0 12px 0 var(--bg); }
  .partner-story-chapters { grid-row: 2; }
  .partner-chapter { min-height: 460px; padding: 40px 0 56px; scroll-margin-top: 390px; }
  .partner-chapter-copy { padding-left: 30px; }
  .partner-visual-heading { margin-bottom: 12px; font-size: 11px; }
  .partner-working-documents { background: transparent; color: #fff; }
  .partner-working-sheet { padding: 0; }
  .working-document-type,.working-document-note,.partner-story-visual figcaption { display: none; }
  .partner-working-sheet h4 { font-size: 20px; margin-bottom: 14px; }
  .working-provider { margin-top: 12px; gap: 8px; }
  .working-provider img { width: 26px; height: 22px; }
  .working-provider:first-of-type img { filter: brightness(0) invert(1); }
  .working-provider > span { width: auto; color: #e1e6f5; font-size: 10px; }
  .working-checklist { display: none; }
  .working-account > div { gap: 8px; }
  .working-account img { display: none; }
  .working-account strong { font-size: 12px; }
  .working-account + .working-account { margin-top: 12px; padding-top: 12px; border-color: #516080; }
  .working-account dl { margin-top: 4px; }
  .working-account dl > div { grid-template-columns: 50px 1fr; margin-top: 4px; }
  .working-account dl > div:last-child { display: none; }
  .working-account dt,.working-brief dt { color: var(--cyan); font-size: 10px; }
  .working-account dd,.working-brief dd { color: #e1e6f5; font-size: 11px; }
  .working-brief { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .working-brief > div { border: 0; padding: 0; }
  .working-brief > div:nth-child(n+3) { display: none; }
  .working-crm-route { margin-bottom: 14px; justify-content: flex-start; gap: 24px; }
  .working-crm-route > img { width: 96px; filter: brightness(0) invert(1); }
  .working-crm-route > span { color: var(--cyan); }
  .working-crm-route > div { display: flex; flex-wrap: wrap; gap: 10px; }
  .working-crm-route > div > span { font-size: 10px; }
  .working-crm-route > div img { width: 23px; height: 20px; }
  .partner-visual-progress { margin-top: 18px; }
}
@media (max-width:480px) {
  .working-provider > span { font-size: 9px; }
  .working-provider strong { font-size: 12px; }
  .working-crm-route { gap: 14px; }
  .working-crm-route > div { flex-direction: column; }
  .partner-visual-progress a { font-size: 10px; }
}
@media (prefers-reduced-motion:reduce) { .partner-working-sheet { transition: none; } }
@media print { .partner-story-layout { display: block; } .partner-story-visual { display: none; } .partner-chapter { min-height: 0; } }
@media (max-width:900px) {
  .working-account + .working-account { display: none; }
  .partner-working-sheet h4 { font-size: 18px; margin-bottom: 12px; }
  .working-provider { margin-top: 10px; }
  .working-crm-route { margin-bottom: 12px; }
}
