/* The supplied logo is used as-is. Blue accents connect the loop to the mark. */
.cb-brand-logo { display:block; width:40px; height:40px; object-fit:contain; flex-shrink:0; }
body.ui-refresh .nav-logo { gap:9px; }
.cb-footer-brand { gap:10px; }
.cb-footer-brand .cb-brand-logo { width:43px; height:43px; }
.cb-brand-logo-footer { width:42px; height:42px; }
header>a:first-child:has(.cb-brand-logo) { display:inline-flex; align-items:center; gap:10px; }
header .cb-brand-logo { width:39px; height:39px; }
.cb-loop-section { padding-bottom:88px !important; scroll-margin-top:0; }
.cb-loop-panel { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:36px; padding:38px 36px 32px; border:1px solid #dae0d2; border-radius:13px; background:#f0f2e9; }
.cb-loop-copy { min-width:0; }
body.ui-refresh .cb-home .cb-loop-copy h2 { font-size:38px; line-height:1.12; margin-top:17px; }
.cb-loop-copy>p { max-width:365px; font-size:12px; line-height:1.9; color:var(--cb-muted); margin:19px 0 0; }
.cb-loop-steps { display:grid; gap:3px; margin-top:22px; }
.cb-loop-steps button { display:flex; align-items:center; gap:13px; text-align:left; border:1px solid transparent; border-radius:7px; background:transparent; cursor:pointer; padding:11px 12px; min-height:61px; width:100%; color:var(--cb-ink); transition:background .2s,border-color .2s; }
.cb-loop-steps button:hover { background:#e7ecde; }
.cb-loop-steps button[aria-pressed=true] { background:#fdfdf7; border-color:#dbe2d1; }
.cb-loop-step-number { display:grid; place-items:center; flex-shrink:0; width:29px; height:29px; border:1px solid #cbd5c0; border-radius:50%; font-size:9px; color:#6e8165; }
.cb-loop-steps button[aria-pressed=true] .cb-loop-step-number { background:#16438a; border-color:#16438a; color:#fff; }
.cb-loop-steps strong { display:block; font-size:12px; font-weight:700; }
.cb-loop-steps small { display:block; font-size:9px; color:#74806c; margin-top:3px; line-height:1.5; }
.cb-loop-step-arrow { margin-left:auto; font-size:17px; color:#829276; }
.cb-loop-copy .cb-loop-detail { font-size:10px; line-height:1.8; margin-top:16px; color:#77836f; min-height:54px; }
.cb-loop-graph { position:relative; min-width:0; width:100%; aspect-ratio:800/460; isolation:isolate; }
.cb-loop-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.cb-loop-svg ellipse,.cb-loop-svg .cb-loop-halo,.cb-loop-svg .cb-loop-traveller { stroke:none; }
.cb-loop-svg .cb-loop-halo { opacity:.025; transition:opacity .25s; }
.cb-loop-panel[data-loop-active=declare] .cb-loop-node-declare .cb-loop-halo,
.cb-loop-panel[data-loop-active=match] .cb-loop-node-match .cb-loop-halo,
.cb-loop-panel[data-loop-active=verify] .cb-loop-node-verify .cb-loop-halo { opacity:.14; }
.cb-loop-label { position:absolute; text-align:center; width:33%; transform:translateX(-50%); }
.cb-loop-label strong { display:block; color:#365e46; font-size:20px; font-weight:650; letter-spacing:-.7px; transition:color .25s; }
.cb-loop-label span { display:block; margin-top:3px; color:#829079; font-size:7px; font-weight:650; text-transform:uppercase; letter-spacing:.08em; }
.cb-loop-label-declare { left:50%; top:0; }
.cb-loop-label-match { left:82.5%; top:83%; }
.cb-loop-label-verify { left:17.5%; top:83%; }
.cb-loop-panel[data-loop-active=declare] .cb-loop-label-declare strong,
.cb-loop-panel[data-loop-active=match] .cb-loop-label-match strong,
.cb-loop-panel[data-loop-active=verify] .cb-loop-label-verify strong { color:#16438a; }
.cb-loop-centre { position:absolute; left:50%; top:53%; width:58%; transform:translate(-50%,-50%); text-align:center; }
.cb-loop-centre>span { display:block; color:#829079; font-size:8px; text-transform:uppercase; font-weight:650; letter-spacing:.18em; }
.cb-loop-centre>strong { display:block; color:#244e3e; font-family:'Manrope',sans-serif; font-size:clamp(29px,3.1vw,45px); font-weight:650; letter-spacing:-.065em; line-height:1.15; margin-top:8px; }
.cb-loop-centre>em { display:block; font-family:'DM Serif Display',Georgia,serif; font-size:17px; font-weight:400; color:#8b9979; margin-top:8px; }
@media(max-width:1100px) {
  .cb-loop-panel { padding:29px 26px; gap:20px; grid-template-columns:.9fr 1.1fr; }
  body.ui-refresh .cb-home .cb-loop-copy h2 { font-size:31px; }
  .cb-loop-label strong { font-size:17px; }
  .cb-loop-label span { font-size:6px; }
  .cb-loop-centre>strong { font-size:32px; }
  .cb-loop-centre>em { font-size:14px; }
}
@media(max-width:850px) {
  .cb-loop-panel { grid-template-columns:1fr; padding:32px; gap:26px; }
  .cb-loop-copy>p { max-width:550px; }
  .cb-loop-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .cb-loop-steps button { align-items:flex-start; padding:12px 9px; gap:7px; }
  .cb-loop-step-number { width:23px; height:23px; font-size:8px; }
  .cb-loop-steps small { font-size:8px; }
  .cb-loop-step-arrow { display:none; }
  .cb-loop-copy .cb-loop-detail { min-height:36px; }
  .cb-loop-graph { max-width:610px; margin:auto; }
  .cb-loop-label strong { font-size:23px; }
  .cb-loop-label span { font-size:8px; }
  .cb-loop-centre>strong { font-size:45px; }
}
@media(max-width:700px) {
  .cb-brand-logo { width:37px; height:37px; }
  .cb-footer-brand .cb-brand-logo { width:40px; height:40px; }
  .cb-loop-section { padding-bottom:55px !important; }
  .cb-loop-panel { padding:27px 21px 27px; gap:14px; }
  .cb-loop-copy { display:contents; }
  .cb-loop-copy>.cb-eyebrow { grid-row:1; }
  body.ui-refresh .cb-home .cb-loop-copy h2 { grid-row:2; font-size:33px; margin:0; }
  .cb-loop-copy>p:not(.cb-loop-detail) { grid-row:3; font-size:13px; line-height:1.85; margin:0; }
  .cb-loop-steps { grid-row:5; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:0; }
  .cb-loop-steps button { align-items:center; justify-content:center; gap:6px; padding:8px 5px; min-height:44px; }
  .cb-loop-step-number { width:22px; height:22px; font-size:8px; }
  .cb-loop-steps strong { font-size:11px; }
  .cb-loop-steps small,.cb-loop-step-arrow { display:none; }
  .cb-loop-copy .cb-loop-detail { grid-row:6; font-size:11px; min-height:79px; margin:0; }
  .cb-loop-graph { grid-row:4; aspect-ratio:800/580; margin:8px auto; }
  .cb-loop-svg { top:10%; height:79.3%; }
  .cb-loop-label-declare { top:0; }
  .cb-loop-label-match,.cb-loop-label-verify { top:79%; }
  .cb-loop-label strong { font-size:17px; }
  .cb-loop-label span { font-size:6px; letter-spacing:.03em; line-height:1.6; }
  .cb-loop-centre { top:53%; width:65%; }
  .cb-loop-centre>span { font-size:6px; }
  .cb-loop-centre>strong { font-size:31px; margin-top:5px; }
  .cb-loop-centre>em { font-size:13px; margin-top:6px; }
  header .cb-brand-logo { width:33px; height:33px; }
}
@media(max-width:360px) {
  body.ui-refresh .cb-home .cb-loop-copy h2 { font-size:28px; }
  .cb-loop-panel { padding:24px 17px 30px; }
  .cb-loop-steps button { flex-direction:column; gap:4px; min-height:62px; }
  .cb-loop-label strong { font-size:15px; }
  .cb-loop-label span { font-size:5.5px; }
  .cb-loop-centre>strong { font-size:27px; }
  .cb-loop-centre>em { font-size:12px; }
  body.ui-refresh .nav-logo { font-size:20px !important; }
  header>a:first-child:has(.cb-brand-logo) { gap:6px; }
  header .cb-brand-logo { width:29px; height:29px; }
}
@media(prefers-reduced-motion:reduce) {
  .cb-loop-traveller { display:none; }
  .cb-loop-steps button,.cb-loop-halo,.cb-loop-label strong { transition:none; }
}

/* Two-tone brand lockup, adapted from the supplied wordmark for light surfaces. */
.cb-wordmark { display:inline-block; white-space:nowrap; font-family:Manrope,Arial,sans-serif; font-weight:800; letter-spacing:-.055em; line-height:1.1; }
.cb-wordmark-catalyst { color:#123f88; }
.cb-wordmark-box { color:#3188d7; }
.cb-footer-brand > .cb-wordmark { font-family:Manrope,Arial,sans-serif; font-size:inherit; }
