/*!
 * Working method 1.0.0: the public purpose and delivery guide uses website tokens.
 * Native disclosures and two responsive tracks keep the guide useful without scripts.
 */
.working-method { max-width: 1200px; margin-inline: auto; }
.working-method h1,
.working-method h2,
.working-method h3,
.working-method p,
.working-method ol,
.working-method dl,
.working-method dd,
.working-method figure { margin: 0; }
.working-method h1,
.working-method h2,
.working-method h3 { text-wrap: balance; }
.working-method p { text-wrap: pretty; }
.working-method h1 { font-size: var(--website-font-size-title); line-height: 1.06; letter-spacing: var(--website-letter-spacing-title); font-weight: 600; }
.working-method h2 { font-size: var(--website-font-size-statement); line-height: var(--website-line-height-statement); letter-spacing: var(--website-letter-spacing-statement); font-weight: 600; }
.working-method h3 { font-size: var(--website-font-size-brand); line-height: 1.3; font-weight: 600; }
.working-method .website-label { margin-bottom: 24px; }
.working-method__hero { padding-block: 32px 64px; }
.working-method__lead { max-width: 660px; margin-top: 28px !important; font-size: var(--website-font-size-lead); color: var(--website-color-ink-2); }
.working-method__jump { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 32px; font-size: var(--website-font-size-small); }
.working-method__jump a { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; text-decoration: none; }
.working-method__jump a span { color: var(--website-color-light-line); }
.working-method__section { padding-block: 64px; border-top: 1px solid var(--website-color-line); }
.working-method__heading { max-width: 710px; margin-bottom: 36px; }
.working-method__heading > p:last-child:not(.website-label) { margin-top: 20px; color: var(--website-color-ink-2); }
.working-method__compass { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.working-method__belief { padding: 32px; border-radius: var(--website-radius-card); background: var(--website-color-sheet); box-shadow: var(--website-shadow-card); }
.working-method__eyebrow { display: flex; flex-direction: column; gap: 4px; margin-bottom: 32px !important; color: var(--website-color-light-line); font-size: var(--website-font-size-small); font-weight: 600; }
.working-method__eyebrow span { color: var(--website-color-ink-2); font-weight: 400; }
.working-method__belief h3 { margin-bottom: 16px; }
.working-method__belief > p:last-child { color: var(--website-color-ink-2); font-size: var(--website-font-size-addition); }
.working-method__context { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; margin-top: 48px; }
.working-method__context p { color: var(--website-color-ink-2); }
.working-method__context p + p { margin-top: 16px; }
.working-method__vision { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 36px; border-radius: var(--website-radius-card); background: var(--website-color-sheet); box-shadow: var(--website-shadow-float); }
.working-method__vision ol { display: grid; gap: 24px; list-style: none; padding: 0; }
.working-method__vision li { display: flex; align-items: baseline; gap: 20px; }
.working-method__vision li > span { color: var(--website-color-light-line); font-size: var(--website-font-size-small); }
.working-method__vision li p { margin-top: 8px; color: var(--website-color-ink-2); font-size: var(--website-font-size-addition); }
.working-method__vision-result { align-self: stretch; padding: 28px; background: var(--website-color-light-band); border-radius: var(--website-radius); }
.working-method__vision-result .working-method__role { padding: 0; background: transparent; color: var(--website-color-light-line); }
.working-method__vision-result p { margin-top: 20px; }
.working-method__loop { padding: 36px; border: 1px solid var(--website-color-line); border-radius: var(--website-radius-card); background: var(--website-color-sheet); box-shadow: var(--website-shadow-float); }
.working-method__loop-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; list-style: none; padding: 0; }
.working-method__loop-steps li { position: relative; }
.working-method__loop-steps li + li::before { content: "→"; position: absolute; top: 42px; left: -34px; color: var(--website-color-light-line); }
.working-method__role { display: inline-block; padding: 4px 12px; margin-bottom: 16px; background: var(--website-color-surface); border-radius: var(--website-radius-pill); color: var(--website-color-ink-2); font-size: var(--website-font-size-small); }
.working-method__loop-steps li:nth-child(2) .working-method__role { color: var(--website-color-light-line); background: var(--website-color-light-band); }
.working-method__loop-steps p { margin-top: 12px; color: var(--website-color-ink-2); font-size: var(--website-font-size-addition); }
.working-method__loop figcaption { margin-top: 28px; border-top: 1px solid var(--website-color-line); padding-top: 20px; font-size: var(--website-font-size-small); color: var(--website-color-light-line); }
.working-method__loop figcaption span { margin-right: 12px; }
.working-method__principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; margin-top: 40px; }
.working-method__principles p { margin-top: 12px; color: var(--website-color-ink-2); }
.working-method__example { margin-top: 32px !important; padding-left: 24px; border-left: 3px solid var(--website-color-light-line); color: var(--website-color-ink-2); }
.working-method__example strong { color: var(--website-color-ink); }
.working-method__route { padding: 28px; border: 1px solid var(--website-color-line); border-radius: var(--website-radius-card); background: var(--website-color-sheet); box-shadow: var(--website-shadow-float); }
.working-method__track { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 24px; padding: 24px; border-radius: var(--website-radius); background: var(--website-color-room); }
.working-method__track--delivery { background: var(--website-color-light-band); }
.working-method__track-label strong { display: block; color: var(--website-color-light-line); font-size: var(--website-font-size-brand); }
.working-method__track-label > span { display: block; max-width: 18ch; margin-top: 8px; font-size: var(--website-font-size-small); color: var(--website-color-ink-2); }
.working-method__route ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; list-style: none; gap: 32px; }
.working-method__route li { position: relative; }
.working-method__route li:not(:last-child)::after { content: "→"; position: absolute; top: 8px; right: -20px; color: var(--website-color-light-line); }
.working-method__route li a { display: block; text-decoration: none; font-size: var(--website-font-size-small); font-weight: 600; }
.working-method__route a:hover { color: var(--website-color-light-line); }
.working-method__route li a > span { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 12px; border: 1px solid var(--website-color-line); border-radius: var(--website-radius); background: var(--website-color-sheet); color: var(--website-color-light-line); }
.working-method__route small { display: block; margin-top: 4px; color: var(--website-color-ink-2); font-size: inherit; font-weight: 400; }
.working-method__handoff { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 20px 8px; text-decoration: none; font-size: var(--website-font-size-small); }
.working-method__handoff > span:first-child { color: var(--website-color-light-line); }
.working-method__return { margin-top: 24px !important; padding-top: 20px; border-top: 1px solid var(--website-color-line); color: var(--website-color-ink-2); font-size: var(--website-font-size-small); }
.working-method__return span { color: var(--website-color-light-line); margin-right: 8px; }
.working-method__guide { display: flex; justify-content: space-between; gap: 32px; margin-block: 32px 24px; font-size: var(--website-font-size-small); }
.working-method__guide p { max-width: 750px; color: var(--website-color-ink-2); }
.working-method__guide strong { color: var(--website-color-ink); }
.working-method__guide > span { flex-shrink: 0; text-align: right; color: var(--website-color-ink-2); }
.working-method__phase { border-top: 1px solid var(--website-color-line); scroll-margin-top: calc(var(--website-frame-header-height) + 24px); }
.working-method__phase:last-child { border-bottom: 1px solid var(--website-color-line); }
.working-method__phase summary { display: flex; align-items: center; gap: 24px; padding: 24px 16px; cursor: pointer; list-style: none; border-radius: var(--website-radius); }
.working-method summary::-webkit-details-marker { display: none; }
.working-method__number { color: var(--website-color-light-line); font-size: var(--website-font-size-brand); }
.working-method__phase summary strong { display: block; font-size: var(--website-font-size-brand); font-weight: 600; }
.working-method__phase summary strong + span { display: block; margin-top: 4px; font-size: var(--website-font-size-small); color: var(--website-color-ink-2); }
.working-method__toggle { margin-left: auto; color: var(--website-color-light-line); font-size: var(--website-font-size-brand); }
.working-method__phase[open] .working-method__toggle { transform: rotate(45deg); }
.working-method__phase[open] summary { background: var(--website-color-sheet); }
.working-method__phase:target { border-top-color: var(--website-color-light-line); }
.working-method__phase-body { padding: 24px 32px 32px 64px; }
.working-method__phase-body > p { max-width: 850px; color: var(--website-color-ink-2); }
.working-method__phase-body > p + p { margin-top: 16px; }
.working-method__phase-body dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 36px; margin-top: 28px; }
.working-method dt { margin-bottom: 8px; font-weight: 600; font-size: var(--website-font-size-small); }
.working-method dd { color: var(--website-color-ink-2); font-size: var(--website-font-size-addition); }
.working-method__agreements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 48px; }
.working-method__agreements section { padding-top: 24px; border-top: 1px solid var(--website-color-line); }
.working-method__agreements section > span { color: var(--website-color-light-line); font-size: var(--website-font-size-small); }
.working-method__agreements h3 { margin-block: 12px; }
.working-method__agreements p { color: var(--website-color-ink-2); }
.working-method__glossary { margin-top: 40px; padding: 24px; border-radius: var(--website-radius-card); background: var(--website-color-sheet); }
.working-method__glossary summary { display: flex; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; font-weight: 600; }
.working-method__glossary summary span { color: var(--website-color-light-line); }
.working-method__glossary[open] summary span { transform: rotate(45deg); }
.working-method__glossary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 36px; margin-top: 28px; }
.working-method__closing { padding: 48px; border-radius: var(--website-radius-card); background: var(--website-color-sheet); box-shadow: var(--website-shadow-card); }
.working-method__closing > p:not(.website-label) { margin-block: 24px; color: var(--website-color-ink-2); }

@media (max-width: 1039px) {
  .working-method__belief { padding: 24px; }
  .working-method__compass { gap: 12px; }
  .working-method__track { grid-template-columns: 1fr; }
  .working-method__track-label { display: flex; align-items: baseline; gap: 16px; }
  .working-method__track-label > span { max-width: none; margin: 0; }
  .working-method__guide > span { display: none; }
}

@media (max-width: 759px) {
  .working-method__hero { padding-block: 8px 40px; }
  .working-method__section { padding-block: 40px; }
  .working-method__compass,
  .working-method__vision,
  .working-method__context,
  .working-method__principles,
  .working-method__agreements,
  .working-method__phase-body dl,
  .working-method__glossary dl { grid-template-columns: 1fr; }
  .working-method__eyebrow { margin-bottom: 20px !important; }
  .working-method__belief h3 br { display: none; }
  .working-method__context { gap: 20px; margin-top: 32px; }
  .working-method__vision { padding: 24px; gap: 28px; }
  .working-method__vision-result { padding: 20px; }
  .working-method__loop { padding: 24px; }
  .working-method__loop-steps { grid-template-columns: 1fr; gap: 40px; }
  .working-method__loop-steps li + li::before { content: "↓"; top: -34px; left: 0; }
  .working-method__principles { gap: 24px; }
  .working-method__route { padding: 16px; }
  .working-method__track { padding: 20px; }
  .working-method__track-label { display: block; }
  .working-method__route ol { grid-template-columns: 1fr; gap: 32px; }
  .working-method__route li a { display: grid; grid-template-columns: 40px 1fr; column-gap: 16px; align-items: center; }
  .working-method__route li a > span { grid-row: span 2; margin: 0; }
  .working-method__route small { grid-column: 2; }
  .working-method__route li:not(:last-child)::after { content: "↓"; left: 15px; top: auto; bottom: -28px; right: auto; }
  .working-method__handoff { justify-content: flex-start; padding: 20px; }
  .working-method__phase summary { gap: 16px; padding-inline: 8px; }
  .working-method__phase-body { padding: 20px 8px 28px; }
  .working-method__closing { padding: 28px; }
}

@media print {
  .working-method__phase::details-content,
  .working-method__glossary::details-content { content-visibility: visible; }
  .working-method__phase-body,
  .working-method__glossary dl { display: block; }
  .working-method__phase-body dl > div { margin-bottom: 16px; }
  .working-method__jump,
  .working-method__closing .website-button { display: none; }
}
