/* Native web profile, using the existing institutional type and palette. */
.cp-hero { background: var(--mist); border-bottom: 1px solid var(--line); padding-block: 1.6rem 4.5rem; }
.cp-hero .breadcrumb { margin-bottom: 3rem; color: var(--muted); }
.cp-hero .breadcrumb :is(a, span) { color: var(--muted); }
.cp-hero-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(240px,.65fr); gap: 9%; align-items: end; }
.cp-hero h1 { font-size: clamp(2.7rem,5vw,5rem); line-height: 1.1; margin-top: 1.3rem; letter-spacing: -.035em; }
.cp-hero-lead { font-size: clamp(1.5rem,2.3vw,2.3rem); line-height: 1.35; font-weight: 500; margin-block: 1.6rem 1rem; }
.cp-hero-grid > div > p:last-child { max-width: 590px; color: var(--muted); }
.cp-identity { border-left: 2px solid var(--navy); padding: .3rem 0 .3rem 1.8rem; }
.cp-identity dl { margin-top: 1.4rem; }
.cp-identity dl > div { display: grid; gap: .25rem; border-bottom: 1px solid var(--line); padding-block: .8rem; }
.cp-identity dt { font-size: .875rem; color: var(--muted); }
.cp-identity dd { margin: 0; font-weight: 600; font-size: 1.2rem; }
.cp-index { display: flex; flex-wrap: wrap; column-gap: 1.8rem; row-gap: .15rem; padding-block: 1.1rem; border-bottom: 1px solid var(--line); }
.cp-index a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; font-weight: 600; text-decoration: none; }
.cp-index a:hover { text-decoration: underline; text-underline-offset: .3em; }
.cp-editorial, .cp-organization, .cp-contact-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 8%; }
.cp-editorial h2, .cp-organization h2, .cp-contact h2 { margin-block: 1rem 1.5rem; }
.cp-copy p + p { margin-top: 1.3rem; }
.cp-copy p:not(.lead), .cp-organization > div > p { color: var(--muted); }
.cp-method { background: var(--navy); color: #fff; }
.cp-method .eyebrow { color: #fff; opacity: .85; }
.cp-method .section-heading > p { color: #fff; opacity: .85; }
.cp-steps { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding: 0; margin-top: 3rem; }
.cp-steps li { border-top: 1px solid #ffffff60; padding-top: 1.5rem; }
.cp-steps li > span { font-size: 1rem; display: block; opacity: .8; margin-bottom: 1.3rem; }
.cp-steps h3 { font-size: 1.5rem; margin-bottom: .8rem; }
.cp-steps p { opacity: .9; }
.cp-method-note { border-top: 1px solid #ffffff40; padding-top: 1.5rem; margin-top: 2.5rem; max-width: 900px; font-size: .9375rem; }
.cp-sector-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 3.5rem; }
.cp-sector { border-top: 2px solid var(--navy); padding-top: 1.4rem; }
.cp-sector h3 { font-size: 1.65rem; margin-block: .7rem; }
.cp-sector > p:not(.eyebrow) { color: var(--muted); }
.cp-sector ul { list-style: none; padding: 0; margin-top: 1.5rem; }
.cp-sector li { display: grid; grid-template-columns: 3.4rem minmax(0,1fr) 4rem; gap: .7rem; padding-block: .85rem; border-top: 1px solid var(--line); line-height: 1.5; }
.cp-category, .cp-class { font-weight: 600; }
.cp-class { text-align: right; }
.cp-source-note { font-size: .875rem; color: var(--muted); margin-top: 1.2rem; line-height: 1.65; }
.cp-specialisms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin-top: 3rem; }
.cp-specialisms article { background: var(--mist); border: 1px solid var(--line); padding: 1.7rem; }
.cp-specialisms h3 { font-size: 1.4rem; margin-block: .9rem; }
.cp-qualifications { background: var(--mist); border-block: 1px solid var(--line); }
.cp-soa { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 3rem; padding: 2rem; background: #fff; border: 1px solid var(--line); }
.cp-soa h3 { font-size: 1.5rem; margin-block: .7rem; }
.cp-soa dl { margin: 0; }
.cp-soa dl > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .2rem 1rem; padding-block: .65rem; border-bottom: 1px solid var(--line); }
.cp-soa dt, .cp-iso-grid dt { font-size: .875rem; color: var(--muted); }
.cp-soa dd, .cp-iso-grid dd { margin: 0; font-weight: 600; }
.cp-soa > a { justify-self: start; grid-column: 1/-1; }
.cp-iso-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.3rem; margin-top: 1.5rem; }
.cp-iso-grid article { background: #fff; padding: 1.7rem; border-top: 2px solid var(--navy); display: flex; flex-direction: column; }
.cp-iso-grid h3 { font-size: 1.55rem; margin-block: 1rem .8rem; }
.cp-iso-grid h3 span { font-size: 1rem; font-weight: 400; }
.cp-iso-grid dl { margin-block: 1.4rem; }
.cp-iso-grid dl > div + div { margin-top: .8rem; }
.cp-iso-grid a { margin-top: auto; font-size: 1rem; align-self: flex-start; }
.cp-iso-scope { margin-top: 2.5rem; max-width: 1000px; }
.cp-iso-scope h3 { font-size: 1.35rem; margin-bottom: .8rem; }
.cp-iso-scope p + p { margin-top: .8rem; font-size: .9375rem; color: var(--muted); }
.cp-leadership { margin-top: 2rem; }
.cp-leadership > div { padding-block: 1.2rem; border-top: 1px solid var(--line); }
.cp-leadership dt { font-size: .9375rem; color: var(--muted); }
.cp-leadership dd { margin: .3rem 0 0; font-size: 1.3rem; font-weight: 600; }
.cp-organization h3 { font-size: 1.5rem; line-height: 1.4; }
.cp-members-intro { margin-top: .7rem; }
.cp-members { list-style: none; padding: 0; margin: 1.5rem 0 0; border-top: 2px solid var(--navy); }
.cp-members li { font-size: 1.1rem; font-weight: 600; line-height: 1.5; padding-block: 1.15rem; border-bottom: 1px solid var(--line); }
.cp-contact { background: var(--navy); color: #fff; }
.cp-contact .eyebrow { color: #fff; opacity: .85; }
.cp-contact address { font-style: normal; line-height: 1.7; margin-top: .9rem; }
.cp-contact .text-link { color: #fff; border-color: #ffffff80; }
.cp-contact a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.cp-pec { display: inline-flex; align-items: center; min-height: 44px; gap: .7rem; margin-top: 1.5rem; overflow-wrap: anywhere; }
.cp-company-data { margin-bottom: 2rem; }
.cp-company-data > div { padding-block: .85rem; border-bottom: 1px solid #ffffff50; }
.cp-company-data dt { font-size: .875rem; opacity: .8; }
.cp-company-data dd { margin: .4rem 0 0; font-size: 1rem; line-height: 1.6; }
.cp-entry { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 8%; align-items: center; }
.cp-entry h2 { margin-block: .8rem 1rem; }
.cp-entry p:not(.eyebrow) { color: var(--muted); }
.cp-entry .text-link { margin-top: 1.1rem; }
@media (max-width: 980px) {
  .cp-hero-grid { gap: 2.5rem; grid-template-columns: minmax(0,1fr); }
  .cp-identity { max-width: none; }
  .cp-identity dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
  .cp-editorial, .cp-organization, .cp-contact-grid, .cp-entry, .cp-soa { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .cp-iso-grid { grid-template-columns: minmax(0,1fr); }
  .cp-iso-grid article { display: block; }
}
@media (max-width: 680px) {
  .cp-hero { padding-bottom: 3rem; }
  .cp-identity dl, .cp-steps, .cp-sector-grid, .cp-specialisms { grid-template-columns: minmax(0,1fr); }
  .cp-identity dl { gap: 0; }
  .cp-index { column-gap: 1.2rem; }
  .cp-sector li { grid-template-columns: 2.8rem minmax(0,1fr) 3.4rem; gap: .5rem; }
  .cp-soa, .cp-specialisms article { padding: 1.3rem; }
  .cp-hero h1 { font-size: clamp(2.3rem,9vw,3.5rem); }
}
