:root {
  --rb-ink: #163041;
  --rb-deep: #102735;
  --rb-blue: #1978b6;
  --rb-cyan: #57bee8;
  --rb-sky: #dceff7;
  --rb-ice: #eef7fa;
  --rb-paper: #f8faf9;
  --rb-steel: #657f8e;
  --rb-line: #b9ccd4;
}

body {
  background: var(--rb-paper);
  color: var(--rb-ink);
  font-family: 'Manrope', 'Segoe UI', sans-serif;
}

.design-review { background: var(--rb-deep); color: #d8e7ed; }
.design-review a[aria-current] { color: var(--rb-cyan); }
.site-header { background: rgb(248 250 249 / 96%); border-bottom: 1px solid var(--rb-line); }
.site-nav a { color: var(--rb-ink); font-size: .84rem; }
.site-nav a:hover { color: var(--rb-blue); }
.site-nav .nav-experience { display: none; }
.site-nav .rebriefing-only { display: inline-flex; }
.nav-contact { border: 0; background: var(--rb-blue); color: #fff !important; }
.nav-contact:hover { background: var(--rb-deep); }

.hero { min-height: min(49rem, calc(100vh - 9rem)); background: var(--rb-ice); color: var(--rb-ink); }
.hero__media { left: 52%; filter: saturate(.72) contrast(1.04); }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--rb-ice) 0 52%, transparent 52%); }
.hero__content { width: 52%; }
.eyebrow { color: var(--rb-blue); }
.hero h1, .section-heading h2, .field-note h2, .site-footer h2, .interior-heading h1 {
  font-family: 'Manrope', 'Segoe UI', sans-serif;
  font-weight: 500;
}
.hero h1 { max-width: 12ch; font-size: clamp(3.4rem, 6.4vw, 6.8rem); line-height: .95; }
.hero__lede { max-width: 35rem; color: #405b69; }
.button--primary { background: var(--rb-blue); color: #fff; }
.button--primary:hover { background: var(--rb-deep); }
.button--text { color: var(--rb-blue); }
.hero__index { border-left: .25rem solid var(--rb-cyan); padding: 1rem 1.2rem; background: #fff; color: var(--rb-deep); }

.proof-strip { background: var(--rb-deep); color: #fff; }
.proof-strip p { padding-inline: 2rem; border-right: 1px solid #385564; }
.proof-strip p:last-child { border-right: 0; }
.proof-strip strong { color: var(--rb-cyan); }
.proof-strip span { color: #c5d5dc; }

.capabilities { padding-top: 8rem; background: var(--rb-paper); }
.section-heading > p:last-child, .field-note__content > p { color: var(--rb-steel); }
.capability-grid { gap: 1rem; }
.capability-card { border: 1px solid var(--rb-line); background: #fff; }
.capability-card::before { content: ''; position: absolute; inset: 0 0 auto; height: .25rem; background: var(--rb-blue); transform: scaleX(.18); transform-origin: left; transition: transform .3s var(--ease); }
.capability-card:hover { background: var(--rb-ice); }
.capability-card:hover::before { transform: scaleX(1); }
.capability-card__number, .capability-card .arrow { color: var(--rb-blue); }

.field-note__image { min-height: 34rem; filter: saturate(.65); }
.field-note__content { background: var(--rb-deep); color: #fff; }
.field-note__content .eyebrow, .field-note__content .button { color: var(--rb-cyan); }
.field-note__content > p { color: #c7d7de; }
.cms-intro { border-top: 1px solid var(--rb-line); }
.cms-intro__next { grid-column: 2; justify-self: end; margin-top: 1.5rem; }

.interior-main { background: linear-gradient(90deg, var(--rb-ice) 0 21%, transparent 21%); }
.interior-heading { border-bottom: 1px solid var(--rb-line); }
.interior-heading h1 { font-size: clamp(3rem, 5.5vw, 5.7rem); }
.interior-content { padding-top: 3rem; }
.interior-content a { color: var(--rb-blue); }
.interior-content input[type='submit'] { background: var(--rb-blue); color: #fff; }
.news-item__details > summary { width: fit-content; min-height: 2.75rem; padding: .5rem 0; color: var(--rb-blue); font-weight: 600; cursor: pointer; }
.news-item__details > summary:hover { color: var(--rb-deep); }
.news-item__details > summary:focus-visible { outline: 2px solid var(--rb-blue); outline-offset: .25rem; }
.news-item__read-less, .news-item__details[open] .news-item__read-more { display: none; }
.news-item__details[open] .news-item__read-less { display: inline; }
.news-item__body { padding-top: .5rem; }
.interior-content .pager__items { display: flex; align-items: center; gap: .5rem; margin: 2rem 0; padding: .25rem; overflow-x: auto; list-style: none; }
.interior-content .pager__item { flex: 0 0 auto; margin: 0; }
.interior-content .pager__item a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem .75rem; border: 1px solid var(--rb-line); border-radius: .2rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.interior-content .pager__item a:hover { border-color: var(--rb-blue); background: var(--rb-ice); }
.interior-content .pager__item.is-active a { border-color: var(--rb-blue); background: var(--rb-blue); color: #fff; }
.interior-content .pager__item a:focus-visible { outline: 2px solid var(--rb-blue); outline-offset: 2px; }
.contact-details { max-width: 62rem; margin-left: auto; padding: 0 0 2rem; }
.contact-details h2 { margin: 0 0 1rem; font: 500 clamp(1.5rem, 2.2vw, 2rem)/1.15 'Manrope', sans-serif; }
.contact-details p { margin: 0 0 1rem; line-height: 1.6; }
.contact-details p:last-child { margin-bottom: 0; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid var(--rb-line); border-radius: .4rem; background: #fff; }
.contact-form > .field--name-subject, .contact-form > .field--name-message, .contact-form > .form-item-copy, .contact-form > .form-actions { grid-column: 1 / -1; }
.contact-form .form-item { display: flex; flex-direction: column; gap: .55rem; min-width: 0; margin: 0; }
.contact-form label { font: 600 .85rem/1.4 'Manrope', sans-serif; color: var(--rb-ink); }
.interior-content .contact-form :is(input[type='text'], input[type='email'], textarea, select) { display: block; width: 100%; max-width: none; min-height: 3.25rem; padding: .8rem 1rem; border: 1px solid var(--rb-line); border-radius: .2rem; background: var(--rb-paper); color: var(--rb-ink); font-size: 1rem; line-height: 1.5; transition: border-color .2s, background .2s, box-shadow .2s; }
.interior-content .contact-form :is(input[type='text'], input[type='email'], textarea, select):hover { border-color: var(--rb-steel); }
.interior-content .contact-form :is(input[type='text'], input[type='email'], textarea, select):focus { border-color: var(--rb-blue); outline: 2px solid var(--rb-blue); outline-offset: 2px; background: #fff; }
.interior-content .contact-form :is(input[type='text'], input[type='email'], textarea, select):is(.error, [aria-invalid='true']) { border-color: #a33232; }
.interior-content .contact-form textarea { height: 14rem; min-height: 10rem; resize: vertical; }
.contact-form .form-type-checkbox { flex-direction: row; align-items: center; }
.interior-content .contact-form input[type='checkbox'] { width: 1.1rem; height: 1.1rem; margin: 0; padding: 0; accent-color: var(--rb-blue); }
.contact-form .form-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: .25rem 0 0; }
.interior-content .contact-form .form-actions .button { padding: .9rem 1.5rem; border: 1px solid var(--rb-line); border-radius: .2rem; background: transparent; color: var(--rb-ink); cursor: pointer; }
.interior-content .contact-form .form-actions .button--primary { border-color: var(--rb-blue); background: var(--rb-blue); color: #fff; }
.interior-content .contact-form .form-actions .button:hover { border-color: var(--rb-blue); background: var(--rb-ice); }
.interior-content .contact-form .form-actions .button--primary:hover { border-color: var(--rb-deep); background: var(--rb-deep); }
.contact-form .form-actions .button:focus-visible { outline: 2px solid var(--rb-blue); outline-offset: 3px; }
.page-journey { width: 100%; margin: clamp(3rem, 6vw, 6rem) 0 0; padding-top: 2rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 1rem; border-top: 1px solid var(--rb-line); }
.page-journey .button { max-width: 100%; min-width: 0; padding-block: .8rem; text-align: center; line-height: 1.35; }
.page-journey__label { min-width: 0; overflow-wrap: anywhere; }
.page-journey__previous { grid-column: 1; justify-self: start; width: 11rem; border: 1px solid var(--rb-line); background: transparent; color: var(--rb-ink); }
.page-journey__previous:hover { border-color: var(--rb-blue); color: var(--rb-blue); }
.page-journey__next { grid-column: 2; justify-self: end; }

.path-credentials .interior-main { padding-top: 5rem; background: var(--rb-paper); }
.path-credentials .interior-heading { grid-template-columns: 1fr; padding-bottom: 2rem; }
.path-credentials .interior-heading .eyebrow { display: none; }
.path-credentials .interior-heading h1 { max-width: none; font-size: clamp(2.8rem, 5vw, 5.3rem); }
.path-credentials .interior-content { max-width: none; margin: 0; padding-top: 0; }

.interior-content .credentials { --cred-gap: clamp(2rem, 5vw, 6rem); margin-bottom: 0; }
.credentials h2 { margin: 0; font: 500 clamp(2.4rem, 4.5vw, 4.8rem)/1.03 'Manrope', sans-serif; letter-spacing: -.05em; }
.credentials p { line-height: 1.72; }
.credentials__index { position: sticky; z-index: 6; top: 0; display: flex; margin-inline: calc(var(--gutter) * -1); padding: 1rem var(--gutter); align-items: center; gap: 2rem; border-block: 1px solid var(--rb-line); background: rgb(248 250 249 / 94%); backdrop-filter: blur(1rem); }
.credentials__index span { margin-right: auto; color: var(--rb-steel); font: 700 .65rem/1 'DM Sans', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.credentials__index a { color: var(--rb-ink); font: 700 .65rem/1 'DM Sans', sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.credentials__index a:hover { color: var(--rb-blue); }

.credentials__intro { display: grid; grid-template-columns: .65fr 1.45fr 1fr; gap: var(--cred-gap); padding-block: clamp(5rem, 9vw, 9rem); }
.credentials .credentials__intro { padding-bottom: clamp(2.5rem, 4vw, 4rem); }
.credentials__intro .eyebrow { padding-top: .65rem; }
.credentials__intro-copy p:first-child { margin-top: .5rem; font-size: 1.18rem; }
.credentials__intro-copy p:last-child { color: var(--rb-steel); }
.credential-metrics { grid-column: 2 / -1; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--rb-line); }
.credential-metrics div { min-height: 8.5rem; padding: 1.3rem 1rem; border-right: 1px solid var(--rb-line); border-bottom: 1px solid var(--rb-line); }
.credential-metrics div:last-child { border-right: 0; }
.credential-metrics dt { color: var(--rb-blue); font: 500 2.3rem/1 'Manrope', sans-serif; letter-spacing: -.05em; }
.credential-metrics dd { margin: .8rem 0 0; color: var(--rb-steel); font: 600 .63rem/1.45 'DM Sans', sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.credentials .credential-metrics { width: 73%; margin: 0 0 clamp(5rem, 8vw, 8rem) 27%; }

.credential-chapter { display: grid; grid-template-columns: .32fr .85fr 1.3fr; gap: var(--cred-gap); padding-block: clamp(5rem, 8vw, 8rem); border-top: 1px solid var(--rb-line); }
.credential-chapter__number { color: var(--rb-cyan); font: 500 3.3rem/1 'Manrope', sans-serif; }
.credential-chapter__heading h2 { font-size: clamp(2.2rem, 3.8vw, 4.1rem); }
.credential-chapter__body { font-size: 1.03rem; }
.credential-chapter__body > p:first-child { margin-top: 0; }
.credential-chapter__body > p:nth-child(2) { color: var(--rb-steel); }
.credential-deliverables { margin: 2.2rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; border-top: 1px solid var(--rb-line); }
.credential-deliverables li { padding: 1rem 0; border-bottom: 1px solid var(--rb-line); font: 600 .72rem/1.35 'DM Sans', sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.credential-deliverables li:nth-child(odd) { border-right: 1px solid var(--rb-line); padding-right: 1rem; }
.credential-deliverables li:nth-child(even) { padding-left: 1rem; }
.credential-chapter__evidence { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.credential-chapter__evidence figure { min-height: 14rem; margin: 0; padding: 2rem; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--rb-line); background: #fff; }
.credential-chapter__evidence img { width: auto; max-width: 100%; height: 7rem; margin: auto; object-fit: contain; }
.credential-chapter__evidence figcaption, .testing-diagrams figcaption { margin-top: 1.5rem; color: var(--rb-steel); font: 700 .65rem/1.3 'DM Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; }

.credential-chapter--testing { background: var(--rb-ice); margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
.testing-sequence { margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--rb-line); }
.testing-sequence li { display: grid; grid-template-columns: 2rem 6rem 1fr; gap: 1rem; padding: 1rem 0; align-items: baseline; border-bottom: 1px solid var(--rb-line); }
.testing-sequence span { color: var(--rb-blue); font: 700 .65rem/1 'DM Sans', sans-serif; }
.testing-sequence strong { font-size: .95rem; }
.testing-sequence small { color: var(--rb-steel); }
.testing-diagrams { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.testing-diagrams figure { margin: 0; padding: 2rem; display: grid; place-items: center; border: 1px solid var(--rb-line); background: transparent; }
.testing-diagrams img { max-height: 22rem; object-fit: contain; }
.testing-diagrams figcaption { justify-self: start; }

.systems { padding-block: clamp(6rem, 10vw, 10rem); }
.systems__intro { display: grid; grid-template-columns: .65fr 1.45fr 1fr; gap: var(--cred-gap); margin-bottom: 4rem; }
.systems__intro > p:last-child { margin: .4rem 0 0; color: var(--rb-steel); }
.systems-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 1px; background: #fff; }
.system-country { min-height: 20rem; padding: 1.5rem; background: #fff; box-shadow: 0 0 0 1px var(--rb-line); }
.credentials .system-country { margin-bottom: 0; }
.system-country--lead { border-top: .25rem solid var(--rb-blue); }
.system-country header { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rb-line); }
.system-country header img { width: 4rem; height: 2.65rem; object-fit: cover; border: 1px solid var(--rb-line); }
.system-country header span { color: var(--rb-blue); font: 700 .62rem/1 'DM Sans', sans-serif; letter-spacing: .12em; }
.system-country h3 { margin: .3rem 0 0; font: 600 1.1rem/1.1 'Manrope', sans-serif; }
.system-country ul { margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.system-country li { padding: .5rem .65rem; border: 1px solid var(--rb-line); color: var(--rb-steel); font: 600 .65rem/1 'DM Sans', sans-serif; letter-spacing: .04em; }

.exercises { margin-inline: calc(var(--gutter) * -1); padding: clamp(6rem, 9vw, 9rem) var(--gutter); background: var(--rb-deep); color: #fff; }
.exercises__heading { display: grid; grid-template-columns: .65fr 1.45fr 1fr; gap: var(--cred-gap); }
.exercises__heading .eyebrow { color: var(--rb-cyan); }
.exercises__heading > p:last-child { margin-top: .4rem; color: #c3d3da; }
.exercise-stream { margin-top: 4rem; display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid #3c5866; }
.credentials .exercise-stream article { min-height: 15rem; margin-bottom: 0; padding: 1rem; display: grid; grid-template-rows: auto 1fr auto; border-right: 1px solid #3c5866; }
.exercise-stream article:last-child { border-right: 0; }
.exercise-stream span { color: var(--rb-cyan); font: 700 .65rem/1 'DM Sans', sans-serif; letter-spacing: .1em; }
.exercise-stream img { width: 100%; height: 8rem; padding: .75rem; align-self: center; object-fit: contain; background: #fff; }
.exercise-stream strong { font: 600 .75rem/1 'DM Sans', sans-serif; letter-spacing: .1em; }
.elite-record { display: grid; grid-template-columns: 2fr repeat(3, 1fr); border: 1px solid #3c5866; border-top: 0; }
.elite-record > div { padding: 1.5rem; display: flex; flex-direction: column; justify-content: space-between; }
.elite-record > div span { color: var(--rb-cyan); font: 500 2rem/1 'Manrope', sans-serif; }
.elite-record > div strong { max-width: 18rem; font-size: 1.2rem; }
.elite-record figure { margin: 0; padding: 1rem; border-left: 1px solid #3c5866; }
.elite-record img { width: 100%; height: 8rem; padding: .75rem; object-fit: contain; background: #fff; }
.elite-record figcaption { margin-top: .7rem; color: #c3d3da; font: 700 .65rem/1 'DM Sans', sans-serif; }

.credentials-cta { margin-inline: calc(var(--gutter) * -1); padding: clamp(5rem, 8vw, 8rem) var(--gutter); display: grid; grid-template-columns: .65fr 1.45fr 1fr; gap: var(--cred-gap); align-items: start; background: var(--rb-sky); }
.credentials-cta > p:nth-of-type(2) { margin: .4rem 0 0; color: var(--rb-steel); }
.credentials-cta .button { grid-column: 2; justify-self: start; }
.credentials-cta .button--primary { background: var(--rb-blue); color: #fff; }
.credentials-cta .button--primary:hover { background: var(--rb-deep); color: #fff; }

.site-footer { background: var(--rb-deep); color: #fff; }
.site-footer .eyebrow { color: var(--rb-cyan); }
.site-footer__action a { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0 1.4rem; background: var(--rb-blue); color: #fff; font: 700 .72rem/1 'DM Sans', sans-serif; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: transform .25s var(--ease), background .25s; }
.site-footer__action a:hover { transform: translateY(-2px); background: var(--rb-cyan); color: var(--rb-deep); }
.site-footer__information { text-align: right; }
.site-footer__information p { margin: .25rem 0; }
.site-footer__meta { border-top: 1px solid #3c5866; color: #c6d5dc; }
.site-footer__meta img { padding: .55rem; background: #fff; }

@media (max-width: 1050px) {
  .systems-grid { grid-template-columns: repeat(2, 1fr); }
  .exercise-stream { grid-template-columns: repeat(3, 1fr); }
  .exercise-stream article:nth-child(3) { border-right: 0; }
  .exercise-stream article:nth-child(-n+3) { border-bottom: 1px solid #3c5866; }
}

@media (max-width: 900px) {
  .site-nav { background: var(--rb-paper); border-bottom: 1px solid var(--rb-line); }
  .site-nav .rebriefing-only { display: flex; }
  .hero__media { left: 0; opacity: .22; }
  .hero::after { background: linear-gradient(90deg, var(--rb-ice), rgb(238 247 250 / 72%)); }
  .hero__content { width: 100%; }
  .cms-intro__next { grid-column: 1; }
  .credentials__index { overflow-x: auto; }
  .credentials__index span { display: none; }
  .credentials__intro, .credential-chapter, .systems__intro, .exercises__heading, .credentials-cta { grid-template-columns: 1fr; }
  .credential-metrics { grid-template-columns: repeat(4, 1fr); grid-column: 1; }
  .credentials .credential-metrics { width: 100%; margin-left: 0; }
  .credential-metrics div { border-right: 1px solid var(--rb-line) !important; }
  .credential-metrics div:last-child { border-right: 0 !important; }
  .credential-chapter__evidence, .testing-diagrams { grid-column: 1; }
  .credentials-cta .button { grid-column: 1; }
  .site-footer__information { text-align: left; }
}

@media (max-width: 650px) {
  .contact-form { grid-template-columns: minmax(0, 1fr); }
  .page-journey .button { gap: .5rem; padding-inline: .75rem; font-size: .65rem; }
  .path-credentials .interior-main { padding-top: 3rem; }
  .credentials__index { gap: 1.2rem; }
  .credentials__intro { padding-top: 4rem; }
  .credential-metrics { grid-template-columns: 1fr 1fr; }
  .credential-metrics div:nth-child(even) { border-right: 0 !important; }
  .credential-chapter__evidence, .testing-diagrams { grid-template-columns: 1fr; }
  .credential-deliverables { grid-template-columns: 1fr; }
  .credential-deliverables li { border-right: 0 !important; padding-inline: 0 !important; }
  .systems-grid { grid-template-columns: 1fr; }
  .exercise-stream { grid-template-columns: 1fr 1fr; }
  .exercise-stream article { border-right: 1px solid #3c5866; border-bottom: 1px solid #3c5866; }
  .exercise-stream article:nth-child(even) { border-right: 0; }
  .elite-record { grid-template-columns: 1fr 1fr 1fr; }
  .elite-record > div { grid-column: 1 / -1; min-height: 10rem; border-bottom: 1px solid #3c5866; }
  .elite-record figure { border-left: 0; border-right: 1px solid #3c5866; }
  .elite-record figure:last-child { border-right: 0; }
}
