/* Team capabilities page: same Holdings palette, with a clearer briefing rhythm. */
.team-page {
  --team-rule: rgba(20, 35, 63, .18);
  --team-muted: #647084;
}

.team-hero {
  padding: 144px 0 92px;
  background: linear-gradient(124deg, var(--paper-2) 0%, var(--paper) 57%, #e6ecf2 100%);
}

.team-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(350px, .68fr);
  align-items: end;
  gap: clamp(52px, 9vw, 142px);
  margin-top: 47px;
}

.team-hero-copy { max-width: 760px; }
.team-hero-copy .company-kicker { margin-top: 0; }
.team-hero h1 { max-width: 720px; margin-top: 26px; font-size: clamp(3.7rem, 5.3vw, 5.3rem); line-height: .98; }
.team-hero h1 em { color: var(--cobalt); font-style: normal; }
.team-hero-deck { max-width: 660px; margin-top: 30px; color: var(--ink-soft); font-size: 1.07rem; line-height: 1.68; }
.team-hero-note { max-width: 630px; margin-top: 38px; color: var(--ink-soft); font-size: .82rem; line-height: 1.65; }

.team-proof-card {
  padding: 25px 26px 23px;
  border: 1px solid rgba(20, 35, 63, .26);
  background: rgba(251, 250, 245, .72);
  box-shadow: 13px 14px 0 rgba(20, 35, 63, .055);
}

.team-proof-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--team-rule); }
.team-proof-head > span, .team-proof-head small { color: var(--ink-soft); font-size: .64rem; letter-spacing: .06em; }
.team-proof-head > span { color: var(--cobalt); font-weight: 700; text-transform: uppercase; }
.team-proof-head small { font-size: .58rem; text-align: right; }
.team-proof-row { display: grid; grid-template-columns: 66px 1fr; gap: 17px; align-items: start; padding: 20px 0 17px; border-bottom: 1px solid var(--team-rule); }
.team-proof-row > strong { color: var(--cobalt); font-family: var(--serif); font-size: 2.95rem; font-weight: 400; line-height: .9; }
.team-proof-row p { display: grid; gap: 4px; }
.team-proof-row p b { font-size: .78rem; font-weight: 600; line-height: 1.35; }
.team-proof-row p span { color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.team-proof-foot { margin-top: 17px; color: var(--ink-soft); font-size: .68rem; line-height: 1.58; }

.team-section { padding: 120px 0; }
.team-section--mist { background: var(--mist); }
.team-section--navy { background: var(--navy); color: var(--paper-2); }
.team-section--blue { background: #e1e6ef; }
.team-section--paper { background: var(--paper-2); }
.team-section-intro { display: grid; grid-template-columns: minmax(0, .88fr) minmax(300px, .72fr); align-items: end; gap: clamp(42px, 8vw, 132px); }
.team-section-intro h2 { margin-top: 18px; font-size: var(--type-section); }
.team-section-intro h2 em { color: var(--cobalt); font-style: normal; }
.team-section--navy .team-section-intro .eyebrow { color: var(--cobalt-soft); }
.team-section--navy .team-section-intro h2 em { color: var(--cobalt-soft); }
.team-section-intro > p { max-width: 540px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.72; }
.team-section--navy .team-section-intro > p { color: rgba(251, 250, 245, .67); }

.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; margin-top: 64px; }
.capability-card { min-height: 423px; padding: 23px 0 24px; border-top: 1px solid var(--team-rule); }
.capability-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; color: var(--ink-soft); }
.capability-card-head > span { font-size: .7rem; }
.capability-card-head > p { color: var(--cobalt); font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.capability-card h3 { margin-top: 24px; font-family: var(--sans); font-size: 1.6rem; font-weight: 400; line-height: 1.24; letter-spacing: -.025em; }
.capability-lede { max-width: 490px; margin-top: 12px; color: var(--ink-soft); font-size: .9rem; line-height: 1.62; }
.capability-card ul { display: grid; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.capability-card li { position: relative; padding-left: 20px; color: var(--ink); font-size: .79rem; line-height: 1.5; }
.capability-card li::before { position: absolute; top: .58em; left: 0; width: 7px; height: 1px; content: ""; background: var(--cobalt); }
.capability-example { max-width: 500px; margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--team-rule); color: var(--ink-soft); font-size: .75rem; line-height: 1.58; }
.capability-example strong { color: var(--ink); font-weight: 600; }
.capability-meta { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 20px; margin-top: 21px; }
.capability-meta > div { display: grid; gap: 5px; }
.capability-meta span { color: var(--ink-soft); font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.capability-meta p { color: var(--ink); font-size: .71rem; line-height: 1.48; }
.capability-meta .inline-link { white-space: nowrap; }
.team-source-note { display: grid; grid-template-columns: 120px 1fr; gap: 28px; margin-top: 55px; padding-top: 20px; border-top: 1px solid var(--team-rule); }
.team-source-note > span { color: var(--ink-soft); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.team-source-note p { color: var(--ink-soft); font-size: .7rem; line-height: 1.62; }
.team-source-note a, .contract-footnote a { color: var(--cobalt); text-decoration: underline; text-decoration-color: rgba(47, 91, 213, .32); text-underline-offset: 3px; }

.team-process-list { margin-top: 61px; border-top: 1px solid var(--line-light); }
.team-process-step { display: grid; grid-template-columns: 46px minmax(170px, .62fr) 1fr; align-items: start; gap: 20px; padding: 23px 12px; border-bottom: 1px solid var(--line-light); }
.team-process-step > span { color: var(--cobalt-soft); font-size: .7rem; }
.team-process-step h3 { font-family: var(--sans); font-size: 1.2rem; line-height: 1.3; letter-spacing: 0; }
.team-process-step p { color: rgba(251, 250, 245, .63); font-size: .8rem; line-height: 1.6; }
.team-scenario-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 59px; }
.team-scenario { padding: 24px; border: 1px solid rgba(251, 250, 245, .2); background: rgba(251, 250, 245, .045); }
.team-scenario > span, .team-security-note > div > span { color: var(--cobalt-soft); font-size: .61rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.team-scenario h3 { margin-top: 16px; font-family: var(--sans); font-size: 1.28rem; line-height: 1.3; letter-spacing: 0; }
.team-scenario p { margin-top: 13px; color: rgba(251, 250, 245, .65); font-size: .78rem; line-height: 1.62; }
.team-security-note { display: grid; grid-template-columns: minmax(220px, .72fr) 1fr auto; align-items: end; gap: 34px; margin-top: 62px; padding-top: 25px; border-top: 1px solid var(--line-light); }
.team-security-note h3 { margin-top: 15px; font-family: var(--sans); font-size: 1.28rem; line-height: 1.28; letter-spacing: 0; }
.team-security-note > p { color: rgba(251, 250, 245, .62); font-size: .75rem; line-height: 1.62; }
.team-security-note .button { white-space: nowrap; }

.experience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 28px; margin-top: 61px; }
.experience-card { display: flex; min-height: 380px; flex-direction: column; padding: 24px; border: 1px solid var(--team-rule); background: rgba(244, 240, 231, .52); }
.experience-card-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 18px; padding-bottom: 15px; border-bottom: 1px solid var(--team-rule); }
.experience-card-head > span { color: var(--cobalt); font-size: .61rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.experience-card-head small { color: var(--ink-soft); font-size: .62rem; }
.experience-card h3 { margin-top: 22px; font-family: var(--sans); font-size: 1.45rem; line-height: 1.25; letter-spacing: 0; }
.experience-card > p:not(.experience-attribution) { margin-top: 13px; color: var(--ink-soft); font-size: .79rem; line-height: 1.65; }
.experience-card code, .contract-row code, .contract-qualifications code { font-family: var(--sans); font-size: .75em; }
.experience-attribution { margin-top: auto; padding-top: 18px; color: var(--ink-soft); font-size: .69rem; line-height: 1.57; }
.experience-attribution strong { color: var(--ink); font-weight: 600; }
.experience-card .inline-link { margin-top: 15px; }
.experience-card .inline-link + .inline-link { margin-left: 18px; }

.contract-scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 48px; }
.contract-scope-card { padding: 22px 23px 21px; border-top: 3px solid var(--cobalt); background: rgba(251, 250, 245, .66); }
.contract-scope-card--related { border-top-color: var(--navy); }
.contract-scope-card > span { color: var(--ink-soft); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contract-scope-card strong { display: block; margin-top: 11px; color: var(--ink); font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.05; }
.contract-scope-card p { max-width: 560px; margin-top: 11px; color: var(--ink-soft); font-size: .77rem; line-height: 1.58; }
.contract-register-lead { max-width: 840px; margin-top: 30px; color: var(--ink-soft); font-size: .78rem; line-height: 1.58; }
.contract-register-lead strong { color: var(--ink); font-weight: 600; }
.contract-controls { display: grid; grid-template-columns: minmax(220px, .8fr) 1fr; align-items: end; gap: 24px 38px; margin: 29px 0 39px; }
.contract-search { display: grid; gap: 8px; }
.contract-search > span, .scope-filter > span { color: var(--ink-soft); font-size: .61rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contract-search input { width: 100%; min-height: 40px; padding: 7px 0; border: 0; border-bottom: 1px solid var(--team-rule); border-radius: 0; outline: none; background: transparent; color: var(--ink); font-size: .78rem; }
.contract-search input:focus { border-color: var(--cobalt); }
.scope-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.scope-filter > span { width: 100%; }
.scope-button { padding: 8px 11px; border: 1px solid var(--team-rule); background: transparent; color: var(--ink-soft); font-size: .65rem; cursor: pointer; }
.scope-button:hover, .scope-button.is-active { border-color: var(--cobalt); background: var(--cobalt); color: var(--paper-2); }
.contract-filter-status { grid-column: 1 / -1; color: var(--ink-soft); font-size: .7rem; }
.contract-register { display: grid; gap: 25px; }
.contract-family { border-top: 1px solid var(--team-rule); background: rgba(251, 250, 245, .42); }
.contract-family.is-hidden { display: none; }
.contract-family-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 21px 20px 17px; }
.contract-family-head > div:first-child { display: grid; gap: 8px; }
.contract-family-head > div:first-child > span { color: var(--cobalt); font-size: .6rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contract-family-head h3 { font-family: var(--sans); font-size: 1.22rem; line-height: 1.25; letter-spacing: 0; }
.contract-family-head > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px 18px; text-align: right; }
.contract-family-head b { color: var(--ink-soft); font-size: .65rem; font-weight: 500; }
.contract-family-head a, .contract-row a { color: var(--cobalt); font-size: .65rem; }
.contract-table { border-top: 1px solid var(--team-rule); }
.contract-table-head, .contract-row { display: grid; grid-template-columns: minmax(270px, 1.3fr) minmax(160px, .75fr) minmax(180px, .85fr); gap: 15px; align-items: center; padding: 14px 20px; }
.contract-table-head { color: var(--ink-soft); font-size: .56rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contract-row { min-height: 69px; border-top: 1px solid rgba(20, 35, 63, .11); }
.contract-row.is-hidden { display: none; }
.contract-row > div { display: grid; gap: 4px; }
.contract-row strong { font-size: .78rem; font-weight: 600; line-height: 1.3; }
.contract-row > div span, .contract-row > span { color: var(--ink-soft); font-size: .66rem; line-height: 1.45; }
.contract-row > span small { font-size: .62rem; }
.contract-row code { color: var(--ink); word-break: break-word; }
.contract-row a { display: none; }
.contract-qualifications { margin-top: 28px; border-top: 1px solid var(--team-rule); border-bottom: 1px solid var(--team-rule); }
.contract-qualifications summary { padding: 17px 0; color: var(--ink); font-size: .72rem; font-weight: 600; cursor: pointer; }
.contract-qualifications p { max-width: 830px; padding: 0 0 19px; color: var(--ink-soft); font-size: .71rem; line-height: 1.62; }
.contract-footnote { max-width: 800px; margin-top: 26px; color: var(--ink-soft); font-size: .71rem; line-height: 1.62; }
.contract-empty { margin-top: 30px; padding: 24px; border: 1px solid var(--team-rule); color: var(--ink-soft); font-size: .76rem; }

.member-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 27px; margin-top: 62px; }
.member-card { min-height: 220px; padding: 21px 0 25px; border-top: 1px solid var(--team-rule); }
.member-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.member-card-head > span:first-child { color: var(--ink-soft); font-size: .68rem; }
.member-relationship { color: var(--cobalt); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.member-card h3 { margin-top: 18px; font-family: var(--sans); font-size: 1.25rem; line-height: 1.25; letter-spacing: 0; }
.member-card p { margin-top: 9px; color: var(--ink-soft); font-size: .76rem; line-height: 1.58; }
.member-card .inline-link { margin-top: 17px; }
.related-directory { margin-top: 77px; padding-top: 25px; border-top: 1px solid var(--team-rule); }
.related-directory > header { display: grid; grid-template-columns: minmax(220px, .72fr) 1fr; align-items: end; gap: 30px; }
.related-directory > header .eyebrow { grid-column: 1 / -1; }
.related-directory > header h3 { font-family: var(--sans); font-size: 1.45rem; line-height: 1.25; letter-spacing: 0; }
.related-directory > header p:last-child { max-width: 520px; color: var(--ink-soft); font-size: .75rem; line-height: 1.6; }
.related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 27px; margin-top: 35px; }
.related-card { min-height: 235px; padding: 21px; border: 1px solid var(--team-rule); background: rgba(251, 250, 245, .52); }
.related-card > span { color: var(--cobalt); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.related-card h4 { margin-top: 15px; font-family: var(--sans); font-size: 1.1rem; font-weight: 500; line-height: 1.3; }
.related-card p { margin-top: 10px; color: var(--ink-soft); font-size: .71rem; line-height: 1.58; }
.related-card .inline-link { display: inline-flex; margin-top: 16px; }

.team-contact { padding: 80px 0 95px; background: #e1e6ef; }
.team-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr); align-items: end; gap: 9vw; }
.team-contact h2 { margin-top: 18px; font-size: var(--type-section); }
.team-contact h2 em { color: var(--cobalt); font-style: normal; }
.team-contact-grid > div:first-child > p:last-child { max-width: 530px; margin-top: 20px; color: var(--ink-soft); font-size: .83rem; line-height: 1.68; }
.team-contact-card { padding: 24px; border: 1px solid rgba(20, 35, 63, .26); background: rgba(251, 250, 245, .7); }
.team-contact-card > span { color: var(--ink-soft); font-size: .6rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.team-contact-card h3 { margin-top: 16px; font-family: var(--sans); font-size: 1.25rem; line-height: 1.3; letter-spacing: 0; }
.team-contact-card p { margin-top: 12px; color: var(--ink-soft); font-size: .75rem; line-height: 1.6; }
.team-contact-card .button { margin-top: 22px; }
.team-contact-card .text-link { margin-top: 20px; }

/* Keep the public reading scale calm and consistent with the existing site. */
.team-hero-note { font-size: .875rem; }
.team-proof-head > span, .team-proof-head small { font-size: .75rem; }
.team-proof-head small { font-size: .6875rem; }
.team-proof-row p b { font-size: .875rem; }
.team-proof-row p span, .team-proof-foot { font-size: .8125rem; }
.capability-lede { font-size: 1rem; }
.capability-card li, .capability-example, .capability-meta p, .team-source-note p { font-size: .875rem; }
.capability-meta span, .team-source-note > span { font-size: .75rem; }
.team-process-step h3, .team-scenario h3, .team-security-note h3, .experience-card h3, .contract-family-head h3, .related-directory > header h3, .member-card h3 { font-size: 1.375rem; }
.team-process-step p, .team-scenario p, .team-security-note > p, .experience-card > p:not(.experience-attribution), .experience-attribution, .contract-footnote, .contract-qualifications p, .member-card p, .related-card p, .team-contact-grid > div:first-child > p:last-child, .team-contact-card p { font-size: 1rem; }
.team-process-step > span, .team-scenario > span, .team-security-note > div > span, .experience-card-head > span, .experience-card-head small, .member-card-head > span:first-child, .member-relationship, .related-card > span, .contract-family-head > div:first-child > span, .contract-family-head b, .contract-search > span, .scope-filter > span, .contract-filter-status, .contract-summary, .contract-qualifications summary { font-size: .75rem; }
.contract-family-head a, .contract-row a, .contract-row > div span, .contract-row > span, .contract-search input, .scope-button, .contract-row strong, .contract-row code { font-size: .875rem; }
.contract-table-head { font-size: .75rem; }
.related-card h4 { font-size: 1.125rem; }
.roster-note { margin-top: 29px; border-top: 1px solid var(--team-rule); border-bottom: 1px solid var(--team-rule); }
.roster-note summary { padding: 15px 0; color: var(--ink); font-size: .875rem; font-weight: 600; cursor: pointer; }
.roster-note p { max-width: 720px; padding: 0 0 17px; color: var(--ink-soft); font-size: .875rem; line-height: 1.62; }
.roster-split { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 25px; margin-top: 41px; border-top: 1px solid var(--team-rule); }
.roster-split article { padding: 20px 0 21px; border-bottom: 1px solid var(--team-rule); }
.roster-split article > span { color: var(--cobalt); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.roster-split strong { display: block; margin-top: 11px; color: var(--ink); font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.05; }
.roster-split p { margin-top: 10px; color: var(--ink-soft); font-size: .75rem; line-height: 1.56; }
.team-anchor { display: block; height: 0; scroll-margin-top: 112px; }

@media (max-width: 1040px) {
  .team-hero-grid, .team-section-intro, .team-contact-grid { grid-template-columns: 1fr; gap: 42px; }
  .team-proof-card { max-width: 680px; }
  .team-security-note { grid-template-columns: minmax(210px, .8fr) 1fr; }
  .team-security-note .button { grid-column: 2; justify-self: start; }
  .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .capability-grid, .experience-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 0; }
  .contract-controls { grid-template-columns: 1fr; }
  .contract-filter-status { grid-column: auto; }
  .contract-table-head { display: none; }
  .contract-row { grid-template-columns: minmax(0, 1fr) minmax(130px, .55fr); gap: 12px 20px; padding: 17px 20px; }
  .contract-row > span:nth-child(3) { grid-column: 2; grid-row: 1; }
  .contract-row > a { grid-column: 1 / -1; grid-row: 2; }
  .contract-row > code { grid-column: 1; grid-row: 2; }
  .contract-row > a { justify-self: end; }
  .contract-row > code + span + a { grid-row: 2; }
  .contract-row > div span { max-width: 300px; }
}

@media (max-width: 700px) {
  .team-hero { padding: 125px 0 73px; }
  .team-hero-grid { margin-top: 34px; gap: 37px; }
  .team-hero h1 { margin-top: 19px; font-size: clamp(2.8rem, 13vw, 3.65rem); line-height: 1.02; }
  .team-hero-deck { margin-top: 22px; font-size: .94rem; }
  .team-hero-note { margin-top: 30px; font-size: .77rem; }
  .team-proof-card { padding: 20px; box-shadow: 8px 9px 0 rgba(20, 35, 63, .05); }
  .team-proof-head { display: grid; gap: 6px; }
  .team-proof-head small { text-align: left; }
  .team-section { padding: 82px 0; }
  .team-section-intro { gap: 27px; }
  .team-section-intro h2 { font-size: var(--type-section); }
  .team-section-intro > p { font-size: var(--type-body); }
  .capability-grid, .experience-grid { margin-top: 40px; }
  .capability-card { padding: 22px 0 25px; }
  .capability-card h3 { margin-top: 17px; font-size: 1.32rem; }
  .capability-lede { font-size: .84rem; }
  .capability-meta { grid-template-columns: 1fr; align-items: start; gap: 15px; }
  .team-source-note { grid-template-columns: 1fr; gap: 10px; margin-top: 37px; }
  .team-process-list { margin-top: 40px; }
  .team-process-step { grid-template-columns: 31px 1fr; gap: 9px; padding: 20px 0; }
  .team-process-step p { grid-column: 2; margin-top: 2px; font-size: .78rem; }
  .team-scenario-grid { grid-template-columns: 1fr; margin-top: 39px; }
  .team-scenario { padding: 20px; }
  .team-security-note { grid-template-columns: 1fr; gap: 20px; margin-top: 42px; }
  .team-security-note .button { grid-column: auto; justify-self: start; white-space: normal; }
  .experience-card { min-height: 0; padding: 20px; }
  .experience-card h3 { font-size: 1.28rem; }
  .experience-card .inline-link + .inline-link { margin-top: 10px; margin-left: 0; }
  .contract-scope-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 36px; }
  .contract-scope-card { padding: 19px 18px 18px; }
  .contract-scope-card strong { font-size: 1.35rem; }
  .contract-register-lead { margin-top: 24px; font-size: .84rem; }
  .contract-summary { gap: 10px 20px; margin-top: 40px; padding: 15px; }
  .contract-family-head { align-items: start; flex-direction: column; padding: 18px 15px 14px; }
  .contract-family-head > div:last-child { justify-content: flex-start; text-align: left; }
  .contract-table-head, .contract-row { padding-inline: 15px; }
  .contract-row { grid-template-columns: 1fr; gap: 9px; }
  .contract-row > span:nth-child(3), .contract-row > code, .contract-row > a { grid-column: auto; grid-row: auto; }
  .contract-row > a { justify-self: start; }
  .contract-row > span:nth-child(3) { margin-top: 2px; }
  .contract-qualifications p { font-size: .73rem; }
  .member-grid, .related-grid { grid-template-columns: 1fr; }
  .roster-split { grid-template-columns: 1fr; gap: 0; margin-top: 36px; }
  .member-grid { margin-top: 39px; }
  .member-card { min-height: 0; padding: 20px 0 22px; }
  .related-directory { margin-top: 55px; }
  .related-directory > header { grid-template-columns: 1fr; gap: 13px; }
  .related-grid { margin-top: 26px; }
  .related-card { min-height: 0; padding: 19px; }
  .team-contact { padding: 38px 0 58px; }
  .team-contact-grid { gap: 31px; }
  .team-contact-card { padding: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .team-page * { scroll-behavior: auto !important; transition: none !important; }
}

@media (max-width: 700px) {
  .team-process-step p, .team-scenario p, .team-security-note > p, .experience-card > p:not(.experience-attribution), .experience-attribution, .contract-footnote, .contract-qualifications p, .member-card p, .related-card p, .team-contact-grid > div:first-child > p:last-child, .team-contact-card p { font-size: 1rem; }
  .contract-row > div span, .contract-row > span, .contract-row code, .contract-row a, .contract-search input, .scope-button { font-size: .875rem; }
}

/* Compact family browsing keeps the register useful on a phone. */
.contract-family-head { cursor:pointer; list-style:none; position:relative; padding-right:62px; }
.contract-family-head::-webkit-details-marker { display:none; }
.family-toggle { position:absolute; right:24px; top:24px; font-size:24px; font-weight:400; line-height:1; }
.contract-family[open] .family-toggle { font-size:0; }
.contract-family[open] .family-toggle::after { content:'−'; font-size:24px; }
.contract-family[open] .contract-family-head { border-bottom:1px solid var(--line); }
.contract-family-head a { position:relative; z-index:1; }
.contract-family:not([open]) .contract-family-head { border-bottom:0; }
@media(max-width:700px) { .contract-family-head { padding-right:52px; } .family-toggle { right:18px; top:20px; } }
/* Preserve source-link contrast and header spacing inside disclosures. */
.team-section--paper .inline-link, .team-section--mist .inline-link { color:var(--cobalt); }
.contract-family-head > div:nth-child(2) { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 16px; }
@media(max-width:700px) {
 .contract-family-head > div:nth-child(2) { justify-content:flex-start; text-align:left; }
 .contract-summary { display:grid; grid-template-columns:1fr 1fr; }
 .contract-row > * { grid-column:1 !important; grid-row:auto !important; }
}

/* Compact selected-project gallery, with a route into the wider team. */
.experience-grid { margin-top:36px; gap:18px; }
.experience-card { min-height:0; padding:24px; }
.experience-card h3 { margin-top:16px; }
.experience-card > p:not(.experience-attribution) { font-size:.95rem; line-height:1.6; }
.experience-card .inline-link { font-size:.82rem; }
.experience-more { margin-top:28px; color:var(--ink-soft); font-size:.95rem; line-height:1.6; }
.experience-more .inline-link { margin-left:10px; }
@media(max-width:700px) { .experience-more .inline-link { display:block; margin:10px 0 0; } }
