/* Field and team stories in the separate public review. */
.people-delivery-page .delivery-demo .delivery-explanation { align-content: start; }
.field-visit-section { background: #f2efe8; }
.field-visit-board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7%; align-items: center; }
.field-job { background: #102334; color: #fff; padding: 28px 30px; border-radius: 20px; box-shadow: 0 20px 34px -26px #10233466; }
.field-job-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 21px; border-bottom: 1px solid #3a5060; }
.field-job-heading strong { font-weight: 500; font-size: 15px; }
.field-job-heading span { color: #c3d0d8; font-size: 11px; }
.field-job-asset { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 18px; align-items: center; padding-block: 24px; }
.field-job-asset h3 { font-size: 30px; font-weight: 450; letter-spacing: -.035em; line-height: 1.14; }
.field-job-asset p { color: #c3d0d8; font-size: 12px; line-height: 1.65; margin-top: 13px !important; }
.field-job-asset img { width: 100%; height: auto; filter: drop-shadow(0 12px 24px #ffffff1a); }
.field-job-finding { margin: 0; padding: 20px 0 0; border-top: 1px solid #3a5060; }
.field-job-finding dt { color: #d8c391; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.field-job-finding dd { margin: 10px 0 0; font-size: 14px; line-height: 1.7; color: #e4ebef; }
.field-job-handoff { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: baseline; border-top: 1px solid #3a5060; margin-top: 20px; padding-top: 18px; }
.field-job-handoff span { color: #d8c391; font-size: 10px; }
.field-job-handoff strong { color: #e4ebef; font-size: 12px; font-weight: 450; }
.field-visit-path { list-style: none; padding: 0; margin: 0; }
.field-visit-path li { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 22px; padding: 22px 0; }
.field-visit-path li:not(:last-child)::after { content: ""; position: absolute; left: 18px; top: 60px; bottom: -18px; border-left: 1px solid #c8c8bc; }
.field-stage-number { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #b6b8ac; border-radius: 50%; color: #766038; font-size: 10px; transition: background .4s, color .4s; }
.field-visit-path h3 { font-size: 24px; font-weight: 450; letter-spacing: -.025em; line-height: 1.25; }
.field-visit-path p { color: #52616c; font-size: 14px; line-height: 1.7; margin-top: 9px !important; max-width: 38ch; }
.field-demo:has([aria-controls="field-0"][aria-pressed="true"]) [data-field-stage="0"] .field-stage-number,
.field-demo:has([aria-controls="field-1"][aria-pressed="true"]) [data-field-stage="1"] .field-stage-number,
.field-demo:has([aria-controls="field-2"][aria-pressed="true"]) [data-field-stage="2"] .field-stage-number { background: #102334; color: #fff; border-color: #102334; }
.field-draft-flow { display: grid; grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1.12fr); gap: 26px; align-items: center; margin-top: 48px !important; }
.field-observation { padding: 20px 0; }
.field-observation > span { color: #d8c391; font-size: 11px; }
.field-observation blockquote { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.45; font-weight: 400; letter-spacing: -.025em; margin: 22px 0 0; }
.field-draft-arrow { color: #d8c391; font-size: 32px; font-weight: 300; text-align: center; }
.field-draft-record { background: #fff; color: #102334; padding: 30px; border-radius: 14px; }
.field-draft-record > span { color: #766038; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.field-draft-record h3 { font-size: 27px; line-height: 1.2; letter-spacing: -.03em; font-weight: 450; margin-top: 17px !important; }
.field-draft-record > p { font-size: 14px; color: #52616c; line-height: 1.8; margin-top: 17px !important; }
.field-draft-review { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-top: 18px; border-top: 1px solid #d9dfe1; margin-top: 24px; font-size: 11px; color: #52616c; }
.field-draft-flow figcaption { grid-column: 1 / -1; font-size: 11px; color: #b9c8d1; line-height: 1.7; }
.people-delivery-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.team-collaboration-section { background: #edf2f4; }
.team-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7%; }
.team-person { position: relative; padding: 0 0 28px; min-width: 0; }
.team-person > span { display: block; color: #52616c; font-size: 11px; margin-top: 18px; }
.team-person-icon { display: flex; align-items: center; height: 44px; }
.team-person-icon svg { width: 42px; height: 42px; fill: none; stroke: #526b78; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; transition: stroke .4s; }
.team-person h3 { font-size: 25px; font-weight: 450; line-height: 1.2; letter-spacing: -.025em; margin-top: 14px !important; }
.team-person p { font-size: 14px; color: #52616c; line-height: 1.75; margin-top: 12px !important; max-width: 34ch; }
.team-connection { position: relative; height: 31px; border-inline: 1px solid #a7bbc4; border-bottom: 1px solid #a7bbc4; margin: 0 15% 30px; }
.team-connection::before { content: ""; position: absolute; left: 50%; height: 60px; top: 0; border-left: 1px solid #a7bbc4; }
.team-connection::after { content: ""; position: absolute; width: 7px; height: 7px; left: calc(50% - 3px); bottom: -4px; border-radius: 50%; background: #766038; }
.team-shared-record { position: relative; max-width: 940px; margin: auto; padding: 26px 30px; border: 1px solid #c4d2d9; background: #fff; border-radius: 16px; box-shadow: 0 18px 30px -26px #10233466; }
.team-record-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid #d9e1e5; }
.team-record-heading > span { color: #766038; font-size: 11px; }
.team-record-heading h3 { font-size: 25px; font-weight: 450; letter-spacing: -.025em; }
.team-record-heading p { font-size: 12px; color: #52616c; margin-top: 8px !important; }
.team-record-history { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 22px 0 0; padding: 0; list-style: none; }
.team-record-history li { border-left: 2px solid #c4d2d9; padding-left: 15px; transition: border-color .4s; }
.team-record-history span { display: block; color: #52616c; font-size: 10px; }
.team-record-history strong { display: block; font-size: 14px; font-weight: 500; margin-top: 9px; line-height: 1.5; }
.team-demo:has([aria-controls="team-0"][aria-pressed="true"]) [data-team-person="0"] svg,
.team-demo:has([aria-controls="team-1"][aria-pressed="true"]) [data-team-person="1"] svg,
.team-demo:has([aria-controls="team-2"][aria-pressed="true"]) [data-team-person="2"] svg { stroke: #766038; }
.team-demo:has([aria-controls="team-0"][aria-pressed="true"]) [data-team-record="0"],
.team-demo:has([aria-controls="team-1"][aria-pressed="true"]) [data-team-record="1"],
.team-demo:has([aria-controls="team-2"][aria-pressed="true"]) [data-team-record="2"] { border-color: #766038; }
.team-proof-section .team-shared-view { margin: 42px 0 0; }
.team-shared-windows { display: grid; grid-template-columns: 1.08fr 1fr; gap: 28px; align-items: start; }
.team-shared-windows > article { min-width: 0; border: 1px solid #d4dee3; border-radius: 28px; background: #fff; box-shadow: var(--public-shadow-md); overflow: hidden; }
.team-shared-windows header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding: 20px 28px; color: #fff; background: #102334; font-size: 12px; }
.team-result-window { margin-top: 42px; }
.team-shared-windows .team-result-window header { color: #102334; background: #e9eef0; }
.team-window-content { padding: 28px; }
.team-window-content h3 { font-size: clamp(23px, 2.1vw, 30px); font-weight: 450; line-height: 1.15; letter-spacing: -.025em; margin: 0; }
.team-window-content > p { color: #52616c; font-size: 14px; line-height: 1.65; margin: 12px 0 24px; }
.team-priority-list { margin: 0; padding: 0; list-style: none; }
.team-priority-list li { display: grid; grid-template-columns: 42px 1fr auto; gap: 16px; align-items: center; padding: 24px 0; border-top: 1px solid #dce3e6; }
.team-priority-list h4 { font-size: 16px; line-height: 1.45; font-weight: 500; margin: 0; }
.team-priority-list li > div > span { display: block; font-size: 12px; line-height: 1.6; color: #52616c; margin-top: 6px; }
.team-priority-list li > strong { font-size: 12px; font-weight: 500; }
.team-priority-state { font-size: 11px; font-weight: 550; color: #766038; }
.team-priority-state.is-complete { color: #3f6152; }
.team-window-content blockquote { margin: 28px 0; padding: 0 0 0 20px; border-left: 2px solid #b29a66; font-size: 18px; line-height: 1.6; letter-spacing: -.01em; }
.team-window-content cite { display: block; font-style: normal; font-size: 12px; color: #52616c; margin-top: 14px; }
.team-result-details { margin: 0; font-size: 13px; line-height: 1.6; }
.team-result-details > div { display: grid; grid-template-columns: 92px 1fr; gap: 16px; padding: 13px 0; border-top: 1px solid #dce3e6; }
.team-result-details dt { color: #52616c; }
.team-result-details dd { margin: 0; }
.team-window-content footer { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid #dce3e6; padding-top: 20px; margin-top: 12px; color: #52616c; font-size: 11px; line-height: 1.6; }
.team-shared-view > figcaption { max-width: 78ch; font-size: 12px; line-height: 1.7; color: #52616c; margin-top: 24px; }
@media (max-width: 900px) {
  .team-shared-windows { grid-template-columns: 1fr; }
  .team-result-window { margin-top: 0; }
}
@media (max-width: 600px) {
  .team-shared-windows header { padding: 18px; }
  .team-window-content { padding: 22px 18px; }
  .team-priority-list li { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; }
  .team-priority-list h4 { font-size: 14px; }
  .team-window-content blockquote { font-size: 17px; padding-left: 14px; }
  .team-result-details > div { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
}
.team-starting-point { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 8%; margin-top: 48px; }
.team-starting-point > article { padding-top: 27px; border-top: 1px solid #c3ccc9; }
.team-starting-point h3 { font-size: 28px; font-weight: 450; letter-spacing: -.03em; line-height: 1.2; }
.team-starting-point p { color: #52616c; font-size: 15px; line-height: 1.75; margin-top: 18px !important; max-width: 48ch; }
.team-starting-point .delivery-reference-links { margin-top: 18px; }
.team-starting-point .delivery-route-number { display: block; margin-bottom: 19px; }

@media (max-width: 1100px) {
  .field-job { padding: 24px; }
  .field-job-asset { gap: 12px; }
  .field-job-asset h3 { font-size: 27px; }
  .field-visit-path li { gap: 18px; }
  .field-visit-path h3 { font-size: 22px; }
  .field-draft-flow { gap: 20px; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1.12fr); }
  .team-person h3 { font-size: 23px; }
}
@media (max-width: 820px) {
  .field-visit-board { gap: 5%; }
  .field-job { padding: 22px; }
  .field-job-asset { grid-template-columns: 1fr; }
  .field-job-asset img { max-width: 180px; margin: 0 auto; }
  .field-job-asset p { margin-top: 8px !important; }
  .field-visit-path p { font-size: 13px; }
  .field-visit-path li { grid-template-columns: 32px minmax(0, 1fr); gap: 16px; }
  .field-stage-number { width: 32px; height: 32px; }
  .field-visit-path li:not(:last-child)::after { left: 15px; top: 54px; }
  .field-draft-record { padding: 24px; }
  .field-draft-record h3 { font-size: 25px; }
  .field-draft-record > p { font-size: 13px; }
  .people-delivery-steps { gap: 24px; }
  .team-people { gap: 5%; }
  .team-person h3 { font-size: 21px; }
  .team-person p { font-size: 13px; }
  .team-shared-record { padding: 24px; }
  .team-record-history { gap: 18px; }
  .team-record-history strong { font-size: 13px; }
  .team-starting-point { gap: 6%; }
}
@media (max-width: 600px) {
  .field-visit-board { grid-template-columns: 1fr; gap: 18px; }
  .field-job { padding: 23px; border-radius: 16px; }
  .field-job-asset { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); padding-block: 24px; }
  .field-job-asset h3 { font-size: 25px; }
  .field-job-asset p { font-size: 11px; }
  .field-job-finding dd { font-size: 13px; }
  .field-visit-path li { padding-block: 19px; }
  .field-visit-path h3 { font-size: 23px; }
  .field-visit-path p { max-width: none; }
  .field-visit-path li:not(:last-child)::after { top: 51px; bottom: -16px; }
  .field-draft-flow { grid-template-columns: 1fr; gap: 16px; margin-top: 26px !important; }
  .field-observation { padding-bottom: 0; }
  .field-observation blockquote { font-size: 25px; }
  .field-draft-arrow { transform: rotate(90deg); justify-self: start; margin-left: 10px; }
  .field-draft-flow figcaption { margin-top: 5px; }
  .people-delivery-steps { grid-template-columns: 1fr; gap: 28px; }
  .people-delivery-steps small { margin-top: 16px; }
  .team-people { grid-template-columns: 1fr; gap: 0; }
  .team-person { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 6px 20px; padding: 20px 0; }
  .team-person-icon { grid-column: 1; grid-row: 1 / 4; align-self: start; }
  .team-person > span { grid-column: 2; margin-top: 0; }
  .team-person h3 { grid-column: 2; margin-top: 6px !important; font-size: 24px; }
  .team-person p { grid-column: 2; margin-top: 4px !important; max-width: none; }
  .team-person:not(:last-child)::after { content: ""; position: absolute; top: 70px; left: 20px; bottom: -10px; border-left: 1px solid #b7c8cf; }
  .team-connection { height: 26px; margin: 0 50% 26px 20px; border-top: 0; border-right: 0; }
  .team-connection::before { left: 100%; top: 26px; height: 26px; }
  .team-connection::after { left: calc(100% - 3px); }
  .team-shared-record { padding: 23px; border-radius: 14px; }
  .team-record-heading { display: block; padding-bottom: 20px; }
  .team-record-heading h3 { font-size: 25px; }
  .team-record-heading > span { display: block; margin-top: 16px; }
  .team-record-history { grid-template-columns: 1fr; gap: 21px; }
  .team-record-history strong { font-size: 14px; margin-top: 6px; }
  .team-starting-point { grid-template-columns: 1fr; gap: 36px; margin-top: 34px; }
  .team-starting-point h3 { font-size: 27px; }
  .team-starting-point p { font-size: 14px; }
}
