.cb-hero { position: relative; isolation: isolate; background: #10273d; color: white; }
.cb-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 57%; z-index: -2; }
.cb-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0c2137f5 0%, #0c2137de 32%, #0c213770 61%, #0c213716 100%); z-index: -1; }
.cb-hero .page-breadcrumbs { color: #d1e0e9; }
.cb-hero-copy { padding: 48px 0 76px; max-width: 680px; }
.cb-hero-copy .eyebrow { color: #91deec; }
.cb-hero h1 { font-size: clamp(3rem, 5.8vw, 5.3rem); line-height: 1.03; letter-spacing: -.055em; }
.cb-hero h1 span { color: #a6e5ed; }
.cb-hero .page-lead { color: #e0eaf0; max-width: 490px; }
.cb-hero-link { display: inline-flex; align-items: center; gap: 18px; font-size: .9rem; font-weight: 700; padding-block: 10px; }
.cb-hero-link:hover { text-decoration: underline; text-underline-offset: 6px; }
.cb-hero-caption { display: flex; align-items: center; gap: 12px; padding-block: 20px; border-top: 1px solid #c6e2e347; font-size: .8rem; color: #dfebef; }
.cb-caption-dot { width: 7px; height: 7px; border-radius: 50%; background: #92e5eb; }
.cb-caption-index { margin-left: auto; letter-spacing: .12em; }
.cb-intro-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: start; }
.cb-copy { color: var(--muted); margin-top: 20px; }
.cb-capabilities { border-top: 1px solid var(--line); }
.cb-capabilities article { display: grid; grid-template-columns: 35px 1fr; gap: 20px; border-bottom: 1px solid var(--line); padding: 28px 0; }
.cb-item-number { color: var(--teal); font-size: .8rem; padding-top: 4px; }
.cb-capabilities h3 { font-size: 1.25rem; }
.cb-capabilities p { margin-top: 10px; color: var(--muted); font-size: .95rem; }
.cb-journey { background: #102b43; }
.cb-journey-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: start; }
.cb-route-figure { margin: 0; background: #15344b; border: 1px solid #37566a; border-radius: 4px; overflow: hidden; }
.cb-map-heading { padding: 22px 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cb-map-heading .eyebrow { margin: 0; font-size: .65rem; }
.cb-map-heading > span:last-child { font-size: .7rem; color: #bed1dc; }
.cb-route-map { display: block; width: 100%; height: auto; }
.cb-route-figure figcaption { color: #b4cbd8; font-size: .7rem; padding: 12px 24px 22px; }
.cb-node-ring { fill: #102b43; stroke: #7bafc2; stroke-width: 1.5; }
.cb-node-core { fill: #99e4ed; }
.cb-map-node.is-active .cb-node-ring { fill: #1e6579; stroke: #a2f1f3; stroke-width: 2; }
.cb-map-node.is-active .cb-node-core { fill: white; }
.cb-journey-steps { border-top: 1px solid #3d596d; }
.cb-journey-steps details { border-bottom: 1px solid #3d596d; }
.cb-journey-steps summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 18px; padding-block: 24px; }
.cb-journey-steps summary::-webkit-details-marker { display: none; }
.cb-journey-steps summary > span:first-child { color: #7dcddc; font-size: .75rem; }
.cb-journey-steps h3 { font-size: 1.2rem; }
.cb-journey-steps .page-plus { margin-left: auto; color: #88d4e3; }
.cb-journey-steps details > div { padding: 0 22px 24px 36px; color: #bfd2de; font-size: .95rem; }
.cb-stage-note { display: block; color: #9ee4eb; text-transform: uppercase; font-size: .65rem; letter-spacing: .07em; margin-top: 20px; }
.cb-preparation { background: var(--pale); }
.cb-prepare-layout { display: grid; grid-template-columns: 1fr .85fr; gap: 11%; align-items: center; }
.cb-brief-list { padding: 0; margin: 30px 0; list-style: none; }
.cb-brief-list li { display: flex; align-items: flex-start; gap: 20px; padding-block: 18px; border-top: 1px solid var(--line); }
.cb-brief-list li > span { font-size: .7rem; color: var(--teal); padding-top: 4px; }
.cb-brief-list h3 { font-size: 1.05rem; }
.cb-brief-list p { margin-top: 5px; color: var(--muted); font-size: .9rem; }
.cb-guide-panel { background: white; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.cb-guide-panel > img { width: 100%; aspect-ratio: 1.75; object-fit: cover; }
.cb-guide-panel > div { padding: 30px; }
.cb-guide-panel h3 { font-size: 1.65rem; margin-bottom: 25px; }
.cb-guide-panel a { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 16px; font-size: .85rem; border-top: 1px solid var(--line); }
.cb-guide-panel a:hover { color: var(--teal); }
.cb-questions-layout { display: grid; grid-template-columns: .75fr 1fr; gap: 12%; }
.cb-questions .text-link { display: inline-block; margin-top: 20px; }
.cb-closing { position: relative; isolation: isolate; overflow: hidden; }
.cb-closing::after { content: ''; position: absolute; width: 480px; height: 480px; border: 1px solid #78c2d242; border-radius: 50%; box-shadow: 0 0 0 65px #78c2d20a, 0 0 0 130px #78c2d208; right: -120px; top: 20%; z-index: -1; }
.cb-closing h2 { font-size: clamp(2.6rem, 4.8vw, 4.4rem); }
.cb-closing h2 span { color: #a6e5ed; }
.cb-closing p:not(.eyebrow) { max-width: 500px; color: #bfd2de; margin-top: 24px; }
@media (prefers-reduced-motion: no-preference) {
  .cb-map-node circle { transition: fill 300ms ease, stroke 300ms ease; }
  .cb-route-figure.route-entered .cb-route-line { stroke-dasharray: 1; animation: cb-line-draw 1800ms cubic-bezier(.22,1,.36,1) both; }
  .cb-guide-panel a span { transition: transform 220ms ease; }
  .cb-guide-panel a:hover span { transform: translate(2px,-2px); }
}
@keyframes cb-line-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media (max-width: 1000px) { .cb-journey-layout { gap: 28px; } .cb-prepare-layout { gap: 6%; } .cb-intro-layout { gap: 6%; } }
@media (max-width: 850px) {
  .cb-hero-copy { max-width: 600px; padding: 36px 0 55px; }
  .cb-hero::before { background: linear-gradient(90deg,#0c2137f2,#0c2137c7 50%,#0c213750); }
  .cb-intro-layout, .cb-journey-layout, .cb-prepare-layout, .cb-questions-layout { grid-template-columns: 1fr; gap: 38px; }
  .cb-intro-layout > div:first-child, .cb-prepare-layout > div { max-width: 620px; }
  .cb-route-figure { max-width: 650px; }
  .cb-guide-panel { display: grid; grid-template-columns: .85fr 1fr; }
  .cb-guide-panel > img { height: 100%; aspect-ratio: auto; object-position: 45% center; }
}
@media (max-width: 560px) {
  .cb-hero-photo { object-position: 62% center; }
  .cb-hero::before { background: linear-gradient(90deg,#0c2137ef,#0c2137b0),linear-gradient(0deg,#0c213795,transparent); }
  .cb-hero h1 { font-size: clamp(2.7rem,10.2vw,3.6rem); }
  .cb-hero-copy { padding-top: 27px; padding-bottom: 40px; }
  .cb-hero .page-lead { font-size: 1rem; max-width: 340px; }
  .cb-hero .page-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .cb-hero-caption { font-size: .65rem; gap: 8px; }
  .cb-caption-index { display: none; }
  .cb-capabilities article { gap: 8px; }
  .cb-map-heading { padding: 18px 16px 0; }
  .cb-map-heading > span:last-child { display: none; }
  .cb-route-figure figcaption { padding: 12px 16px 18px; }
  .cb-journey-steps h3 { font-size: 1.1rem; }
  .cb-guide-panel { display: block; }
  .cb-guide-panel > img { height: auto; aspect-ratio: 1.7; }
  .cb-guide-panel > div { padding: 25px; }
  .cb-closing .page-actions { align-items: flex-start; flex-direction: column; }
  .cb-closing .button { font-size: .9rem; }
}
