#progress-start .company-composition { max-width:1080px; margin:auto; color:#253746; }
#progress-start .company-composition * { box-sizing:border-box; }
#progress-start .company-composition h1 { font-size:clamp(36px,4.1vw,53px); line-height:1.12; font-weight:450; letter-spacing:-.04em; margin:0 0 24px; }
#progress-start .company-composition h2 { font-size:26px; line-height:1.25; font-weight:450; letter-spacing:-.025em; margin:0; }
#progress-start .company-composition p { margin:0 0 17px; font-size:16px; line-height:1.65; }
#progress-start .company-composition .eyebrow { color:#175d9e; font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; }
#progress-start .company-composition .opening { padding:48px 0 38px; max-width:760px; }
#progress-start .company-composition .intro { font-size:20px; line-height:1.55; }
#progress-start .company-composition .company-purpose { max-width:65ch; font-size:18px; }
#progress-start .company-composition a { color:#175d9e; text-underline-offset:4px; }
#progress-start .company-composition a:focus-visible { outline:3px solid #175d9e; outline-offset:5px; }
#progress-start .company-composition .action { display:inline-block; background:#175d9e; color:#fff; padding:11px 19px; border-radius:4px; text-decoration:none; font-size:15px; }
#progress-start .company-composition .company-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:58px; padding:30px 0; border-top:1px solid #e2e8ec; }
#progress-start .company-composition .company-section>div { min-width:0; }
#progress-start .company-composition .company-section>div>a { font-size:14px; }
#progress-start .company-composition .platforms { border-block:1px solid #e2e8ec; padding:25px 0; }
#progress-start .company-composition .platforms h2,#progress-start .company-composition .platforms h3 { font-size:12px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:#526572; margin:0 0 22px; }
#progress-start .company-composition .platforms h3 { border-top:1px solid #e2e8ec; padding-top:20px; margin-top:22px; }
#progress-start .company-composition .marks { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
#progress-start .company-composition .marks>div { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-size:14px; font-weight:600; }
#progress-start .company-composition .marks img { display:block; width:72px; height:36px; object-fit:contain; object-position:left center; margin-bottom:7px; }
#progress-start .company-composition .marks small { display:block; font-size:11px; font-weight:400; line-height:1.5; color:#617282; }
#progress-start .company-composition .platform-credentials { grid-template-columns:repeat(4,minmax(0,1fr)); }
#progress-start .company-composition .platform-credentials img { width:48px; height:32px; }
#progress-start .company-composition .company-invitation { padding:30px 0; }
#progress-start .company-composition .company-invitation h2 { margin-bottom:17px; }
#progress-start .company-composition .company-invitation .secondary { font-size:13px; margin:18px 0 0; }
#progress-start .company-composition .company-footnote { border-top:1px solid #dce3e8; display:flex; justify-content:space-between; gap:25px; padding:20px 0; color:#667987; font-size:12px; }
#progress-start .company-composition .company-footnote p { font-size:12px; }
#progress-start .company-composition address { font-style:normal; }
@media(max-width:650px) {
  #progress-start .company-composition .opening { padding:30px 0; }
  #progress-start .company-composition h1 { font-size:38px; }
  #progress-start .company-composition .intro { font-size:18px; }
  #progress-start .company-composition .company-purpose { font-size:16px; }
  #progress-start .company-composition .company-section { grid-template-columns:1fr; gap:17px; padding:26px 0; }
  #progress-start .company-composition h2 { font-size:24px; }
  #progress-start .company-composition .marks,#progress-start .company-composition .platform-credentials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
  #progress-start .company-composition .company-footnote { display:block; }
  #progress-start .company-composition address { margin-top:12px; }
}

#progress-start .company-composition .opening.company-with-illustration {
  max-width:none; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:center;
}
#progress-start .company-composition .company-review-illustration { min-width:0; margin:0; padding:0; }
#progress-start .company-composition .company-review-illustration img {
  display:block; width:100%; height:auto; object-fit:contain;
}
#progress-start .company-composition .company-review-illustration figcaption { font-size:13px; line-height:1.5; color:#526572; margin:14px 0 0; }
@media(max-width:650px) {
  #progress-start .company-composition .opening.company-with-illustration { grid-template-columns:1fr; gap:25px; }
}

/* Company story: relationship, recognizable work and continuing responsibility. */
#progress-start .company-composition .company-story { border-top:1px solid #e2e8ec; }
#progress-start .company-composition .company-relationship,
#progress-start .company-composition .company-work { padding:30px 0; }
#progress-start .company-composition .company-story h2 { font-size:24px; line-height:1.3; font-weight:500; margin:0 0 16px; }
#progress-start .company-composition .company-relationship-intro,
#progress-start .company-composition .company-work-intro { max-width:78ch; }
#progress-start .company-composition .company-commitments {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 34px;
  margin:24px 0; padding-left:20px; list-style:disc;
}
#progress-start .company-composition .company-commitments li { padding-left:2px; font-size:15px; line-height:1.6; }
#progress-start .company-composition .company-commitments li::marker { color:#175d9e; }
#progress-start .company-composition .company-commitments strong { display:block; font-size:16px; font-weight:600; margin-bottom:6px; }
#progress-start .company-composition .company-commitments span { display:block; }
#progress-start .company-composition .company-working-network { margin:0; max-width:85ch; color:#526572; font-size:15px; }
#progress-start .company-composition .company-work { border-top:1px solid #e2e8ec; }
#progress-start .company-composition .company-work-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0 21px; }
#progress-start .company-composition .company-work-previews article { min-width:0; }
#progress-start .company-composition a.company-work-preview {
  display:flex; flex-direction:column; height:100%; padding:16px;
  border:1px solid #e2e8ec; border-radius:4px; color:#253746; text-decoration:none;
}
#progress-start .company-composition .company-work-preview img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
#progress-start .company-composition .company-preview-copy { display:flex; flex-direction:column; flex:1; min-width:0; padding-top:14px; }
#progress-start .company-composition .company-preview-role { font-size:11px; line-height:1.5; letter-spacing:.07em; text-transform:uppercase; color:#526572; margin:0 0 6px; }
#progress-start .company-composition .company-work-preview h3 { font-size:18px; line-height:1.3; font-weight:500; margin:0 0 10px; }
#progress-start .company-composition .company-preview-summary { font-size:15px; line-height:1.6; margin:0 0 16px; }
#progress-start .company-composition .company-preview-action { margin-top:auto; color:#175d9e; font-size:14px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
#progress-start .company-composition .company-work-preview:hover,
#progress-start .company-composition .company-work-preview:focus-visible { background:#f8fafb; border-color:#b9d1e4; }
#progress-start .company-composition .company-work-preview:active { background:#edf3f8; }
#progress-start .company-composition .company-work-follow { display:flex; flex-wrap:wrap; gap:12px 28px; align-items:baseline; }
#progress-start .company-composition .company-work-follow p { max-width:76ch; font-size:15px; margin:0; }
#progress-start .company-composition .company-all-work { font-size:14px; }
#progress-start .company-composition .company-care { margin:0 0 30px; padding:25px 28px; background:#f4f7f9; border-radius:3px; }
#progress-start .company-composition .company-care h2 { font-size:21px; margin-bottom:13px; }
#progress-start .company-composition .company-care p { max-width:80ch; font-size:15px; line-height:1.65; margin-bottom:13px; }
#progress-start .company-composition .company-care>a { font-size:14px; }
@media(max-width:760px) {
  #progress-start .company-composition .company-relationship,
  #progress-start .company-composition .company-work { padding:26px 0; }
  #progress-start .company-composition .company-commitments { grid-template-columns:1fr; gap:18px; }
  #progress-start .company-composition .company-work-previews { grid-template-columns:1fr; gap:16px; }
  #progress-start .company-composition a.company-work-preview { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; padding:14px; }
  #progress-start .company-composition .company-work-preview img { align-self:start; }
  #progress-start .company-composition .company-preview-copy { padding:0; }
  #progress-start .company-composition .company-work-preview h3 { font-size:17px; margin-bottom:8px; }
  #progress-start .company-composition .company-preview-summary { font-size:14px; margin-bottom:12px; }
  #progress-start .company-composition .company-preview-action { font-size:13px; }
  #progress-start .company-composition .company-care { padding:22px; }
}
@media(max-width:400px) {
  #progress-start .company-composition a.company-work-preview { grid-template-columns:88px minmax(0,1fr); gap:12px; padding:12px; }
}

/* Company refinement: scoped above legacy diagram styles. */
#progress-start #pg-main .company-composition .company-story { border-top:0; }
#progress-start #pg-main .company-composition .company-relationship {
  margin:12px 0 36px; padding:28px 30px; background:#f4f7fa;
  border:1px solid #dce5ec; border-radius:8px;
}
#progress-start #pg-main .company-composition .company-commitments { gap:26px; margin:24px 0 26px; }
#progress-start #pg-main .company-composition .company-commitments li { padding-right:14px; }
#progress-start #pg-main .company-composition .company-working-network {
  border-top:1px solid #dce5ec; padding-top:18px; color:#526572;
}
#progress-start #pg-main .company-composition .company-work { padding:0 0 32px; border-top:0; }
#progress-start #pg-main .company-composition .company-work-previews { gap:22px; margin-top:26px; }
#progress-start #pg-main .company-composition a.company-work-preview {
  padding:0; overflow:hidden; border:1px solid #d2dee7; border-radius:8px;
  background:#fff; box-shadow:0 3px 12px #25374606;
}
#progress-start #pg-main .company-composition .company-work-preview img {
  padding:12px 12px 0; background:#fff; border-bottom:1px solid #e7edf2;
}
#progress-start #pg-main .company-composition .company-preview-copy { padding:20px; }
#progress-start #pg-main .company-composition .company-preview-role {
  color:#175d9e; font-weight:600; font-size:11px; letter-spacing:.055em;
}
#progress-start #pg-main .company-composition .company-work-preview h3 { font-size:19px; margin-bottom:12px; }
#progress-start #pg-main .company-composition .company-preview-action { padding-top:8px; }
#progress-start #pg-main .company-composition .company-work-preview:hover,
#progress-start #pg-main .company-composition .company-work-preview:focus-visible {
  border-color:#759cbb; box-shadow:0 4px 16px #2537460d; background:#f6f9fc;
}
#progress-start #pg-main .company-composition .company-work-preview:active { background:#edf3f8; }
#progress-start #pg-main .company-composition .company-work-follow { padding-top:4px; }
#progress-start #pg-main .company-composition .company-care {
  margin-bottom:36px; padding:26px 30px; border-left:3px solid #608aa9;
  background:#f4f7fa; border-radius:0 8px 8px 0;
}
@media(max-width:760px) {
  #progress-start #pg-main .company-composition .company-relationship { padding:23px; margin:4px 0 30px; }
  #progress-start #pg-main .company-composition .company-commitments { gap:20px; }
  #progress-start #pg-main .company-composition .company-commitments li { padding-right:0; }
  #progress-start #pg-main .company-composition a.company-work-preview {
    padding:16px; gap:16px; grid-template-columns:110px minmax(0,1fr);
  }
  #progress-start #pg-main .company-composition .company-work-preview img { padding:0; border:0; border-radius:4px; }
  #progress-start #pg-main .company-composition .company-preview-copy { padding:0; }
  #progress-start #pg-main .company-composition .company-work-preview h3 { font-size:17px; margin-bottom:8px; }
  #progress-start #pg-main .company-composition .company-preview-action { padding-top:2px; }
  #progress-start #pg-main .company-composition .company-care { padding:22px; }
}
@media(max-width:400px) {
  #progress-start #pg-main .company-composition .company-relationship { padding:20px; }
  #progress-start #pg-main .company-composition a.company-work-preview { grid-template-columns:80px minmax(0,1fr); gap:12px; padding:12px; }
}

/* Company: one relationship, selected breadth, continuing responsibility. */
#progress-start #pg-main .company-composition .company-relationship {
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:46px;
  padding:32px 0;margin:0 0 28px;background:transparent;border:0;border-block:1px solid #dce5ec;border-radius:0;
}
#progress-start #pg-main .company-composition .company-relationship-heading>p {font-size:17px;line-height:1.65;max-width:42ch}
#progress-start #pg-main .company-composition .company-working-network {border:0;padding:0;margin:24px 0 0;font-size:14px;color:#526572}
#progress-start #pg-main .company-composition .company-commitments {display:block;list-style:none;padding:0;margin:0}
#progress-start #pg-main .company-composition .company-commitments li {position:relative;padding:0 0 21px 24px;margin:0 0 20px;border-bottom:1px solid #e2e8ec}
#progress-start #pg-main .company-composition .company-commitments li:last-child {padding-bottom:0;margin-bottom:0;border-bottom:0}
#progress-start #pg-main .company-composition .company-commitments li::before {content:"";position:absolute;top:7px;left:0;width:7px;height:7px;border-radius:50%;background:#175d9e}
#progress-start #pg-main .company-composition .company-commitments strong {font-size:17px;line-height:1.4;margin-bottom:7px}
#progress-start #pg-main .company-composition .company-commitments span {font-size:15px;line-height:1.6}
#progress-start #pg-main .company-composition .company-experience-heading {max-width:86ch}
#progress-start #pg-main .company-composition .company-experience-heading p {font-size:16px;line-height:1.65}
#progress-start #pg-main .company-composition .company-experience-heading p:last-child {color:#526572}
#progress-start #pg-main .company-composition .company-research {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:34px;background:#f4f7fa;border-radius:8px;padding:26px;margin-top:28px}
#progress-start #pg-main .company-composition .company-research h3 {font-size:19px;line-height:1.35;font-weight:500;margin:0 0 12px}
#progress-start #pg-main .company-composition .company-research p {font-size:15px;margin:0}
#progress-start #pg-main .company-composition .company-research ul {list-style:none;padding:0;margin:0}
#progress-start #pg-main .company-composition .company-research li+li {margin-top:19px;padding-top:19px;border-top:1px solid #dce5ec}
#progress-start #pg-main .company-composition .company-research li>a {display:inline-block;font-size:15px;margin-bottom:6px}
#progress-start #pg-main .company-composition .company-research li>span {display:block;font-size:14px;line-height:1.6;color:#526572}
#progress-start #pg-main .company-composition .company-work-routes {display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px;font-size:14px}
#progress-start #pg-main .company-composition .company-care {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:46px;background:transparent;border:0;border-top:1px solid #dce5ec;border-radius:0;padding:30px 0 24px;margin:0}
#progress-start #pg-main .company-composition .company-care h2 {font-size:23px;margin-bottom:18px}
#progress-start #pg-main .company-composition .company-care a {font-size:14px}
#progress-start #pg-main .company-composition .company-care p {font-size:15px}
#progress-start #pg-main .company-composition .platforms {padding:22px 24px;margin:0 0 16px;background:#f8fafb;border:1px solid #e2e8ec;border-radius:6px}
#progress-start #pg-main .company-composition .platforms h2 {font-size:12px;letter-spacing:.04em;margin-bottom:18px}
#progress-start #pg-main .company-composition .platforms h3 {font-size:11px;letter-spacing:.04em;margin:16px 0 14px;padding-top:14px}
#progress-start #pg-main .company-composition .marks {gap:14px 20px}
#progress-start #pg-main .company-composition .marks>div {display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 9px;align-items:center;font-size:12px}
#progress-start #pg-main .company-composition .marks img {grid-row:span 2;width:24px;height:24px;margin:0;object-position:center}
#progress-start #pg-main .company-composition .marks small {font-size:12px;line-height:1.4}
@media(max-width:760px){
  #progress-start #pg-main .company-composition .company-relationship {grid-template-columns:1fr;gap:25px;padding:25px 0;margin-bottom:25px}
  #progress-start #pg-main .company-composition .company-relationship-heading>p {max-width:none;font-size:16px}
  #progress-start #pg-main .company-composition .company-working-network {margin-top:17px}
  #progress-start #pg-main .company-composition .company-commitments li {padding-left:21px}
  #progress-start #pg-main .company-composition .company-research {grid-template-columns:1fr;gap:20px;padding:22px;margin-top:23px}
  #progress-start #pg-main .company-composition .company-care {grid-template-columns:1fr;gap:20px;padding:26px 0 20px}
  #progress-start #pg-main .company-composition .company-care h2 {font-size:22px;margin-bottom:12px}
  #progress-start #pg-main .company-composition .platforms {padding:20px}
  #progress-start #pg-main .company-composition .marks,#progress-start #pg-main .company-composition .platform-credentials {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
