/* Gutenberg-ready compatibility loaded after design option CSS */
.wp-block-buttons.hero-actions,
.wp-block-buttons.hero-actions-fixed{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  align-items:center !important;
  margin-top:30px !important;
}
.wp-block-button .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  padding:13px 18px;
  font-weight:800;
  text-decoration:none;
  transition:.2s ease;
  border:0;
  cursor:pointer;
  line-height:1.2;
}
.wp-block-button.btn-primary .wp-block-button__link,
.hero-actions .wp-block-button.btn-primary .wp-block-button__link{
  color:#fff !important;
  background:linear-gradient(135deg,var(--cri-red),var(--cri-red-dark)) !important;
  box-shadow:0 12px 28px rgba(181,31,42,.22);
}
.wp-block-button.btn-secondary .wp-block-button__link,
.hero-actions .wp-block-button.btn-secondary .wp-block-button__link{
  color:var(--cri-navy) !important;
  background:#fff !important;
  border:1px solid #d6e2eb !important;
}
.wp-block-button .wp-block-button__link:hover{transform:translateY(-2px)}
.hero-actions-fixed .wp-block-button .wp-block-button__link{min-height:48px;white-space:nowrap;}

.mini-stat .wp-block-heading{
  display:block !important;
  color:var(--cri-navy) !important;
  font-size:22px !important;
  line-height:1 !important;
  margin:0 !important;
}
.mini-stat p{
  display:block !important;
  margin:7px 0 0 !important;
  font-size:12px !important;
  color:#607286 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  line-height:1.25 !important;
}
.value-card .wp-block-heading{
  color:var(--cri-navy) !important;
  margin:0 0 10px !important;
  font-size:21px !important;
  letter-spacing:-.015em !important;
  line-height:1.2 !important;
}
.value-card p{color:#566c7d !important;margin:0 !important;font-size:15px !important;line-height:1.55 !important;}
.solution-card .wp-block-heading{margin:16px 0 10px !important;font-size:24px !important;line-height:1.1 !important;color:#fff !important;}
.solution-card p:not(.number){color:#d7e4ef !important;margin:0 0 18px !important;}
.solution-card .number{color:var(--cri-gold) !important;font-weight:900 !important;font-size:13px !important;letter-spacing:.12em !important;text-transform:uppercase !important;margin:0 !important;}
.cert .wp-block-heading{color:var(--cri-navy) !important;display:block !important;font-size:20px !important;margin:0 0 12px !important;line-height:1.18 !important;max-width:92%;}
.cert p{color:#627486 !important;font-size:14px !important;line-height:1.55 !important;max-width:92%;margin:0 !important;}
.step .wp-block-heading{margin:0 0 8px !important;color:var(--cri-navy) !important;font-size:20px !important;line-height:1.2 !important;}
.step p{margin:0 !important;color:#5c7080 !important;font-size:15px !important;line-height:1.55 !important;max-width:95%;}
.trust-panel .wp-block-buttons{gap:12px !important;margin-top:24px !important;}
.trust-panel .wp-block-button .wp-block-button__link{border-radius:8px !important;box-shadow:none !important;filter:none !important;padding:13px 18px !important;}
.cta-card .wp-block-buttons{margin:0 !important;}
.cta-card .wp-block-button .wp-block-button__link{white-space:nowrap;}
@media (max-width:640px){
  .hero-actions-fixed .wp-block-button,
  .hero-actions-fixed .wp-block-button .wp-block-button__link{width:100%;}
}


/* FIX: Gutenberg button wrapper cleanup
   Prevents the red/white button styles from being applied to both the WP wrapper
   and the clickable link, which caused the "double button" look. */
.wp-block-button.btn-primary,
.wp-block-button.btn-secondary,
.wp-block-button.btn,
.wp-block-buttons .wp-block-button.btn-primary,
.wp-block-buttons .wp-block-button.btn-secondary{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  filter:none !important;
  text-shadow:none !important;
  outline:0 !important;
  display:inline-flex !important;
}
.wp-block-button.btn-primary:hover,
.wp-block-button.btn-secondary:hover,
.wp-block-button.btn:hover{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.wp-block-button.btn-primary .wp-block-button__link,
.wp-block-button.btn-secondary .wp-block-button__link,
.wp-block-buttons .wp-block-button.btn-primary .wp-block-button__link,
.wp-block-buttons .wp-block-button.btn-secondary .wp-block-button__link{
  border-radius:8px !important;
  box-shadow:none !important;
  text-shadow:none !important;
  text-decoration:none !important;
  outline:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
}
.wp-block-button.btn-primary .wp-block-button__link{
  color:#fff !important;
  background:var(--cri-red) !important;
  border:1px solid var(--cri-red) !important;
}
.wp-block-button.btn-primary .wp-block-button__link:hover,
.wp-block-button.btn-primary .wp-block-button__link:focus{
  background:var(--cri-red-dark) !important;
  border-color:var(--cri-red-dark) !important;
}
.wp-block-button.btn-secondary .wp-block-button__link{
  color:var(--cri-navy) !important;
  background:#fff !important;
  border:1px solid #cbdce8 !important;
}
.wp-block-button.btn-secondary .wp-block-button__link:hover,
.wp-block-button.btn-secondary .wp-block-button__link:focus{
  background:#f5f9fc !important;
  border-color:#9fb6c8 !important;
}
.hero-actions-fixed.wp-block-buttons,
.hero-actions.wp-block-buttons{
  align-items:center !important;
}

/* FIX: icon fallback that does not rely on inline SVG.
   WordPress can strip SVG from edited Custom HTML blocks, so these icons are CSS generated. */
.node-icon,
.value-card .icon{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  color:var(--cri-red) !important;
  font-weight:900 !important;
  line-height:1 !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.node-icon svg,
.value-card .icon svg{
  display:none !important;
}
.node-icon::before,
.value-card .icon::before{
  display:block;
  font-size:22px;
  line-height:1;
  color:currentColor;
}
.node-icon-security::before{content:"✓";}
.node-icon-contact::before{content:"▣";}
.node-icon-program::before{content:"≡";}
.node-icon-bpo::before{content:"●";}
.icon-cost::before{content:"$";}
.icon-scale::before{content:"↗";}
.icon-performance::before{content:"◎";}
.icon-support::before{content:"◆";}
.node:hover .node-icon,
.value-card:hover .icon{
  color:var(--cri-navy) !important;
}

@media (max-width:640px){
  .hero-actions-fixed .wp-block-button,
  .hero-actions-fixed .wp-block-button .wp-block-button__link{
    width:100% !important;
  }
}

/* FINAL QA PATCH 2.2
   Fixes from screenshot review: visible icons, left-aligned student-loan button,
   smaller header CTA, medium-blue concept strip, and square line-version mission box. */
.concept-strip{
  background:#2f6f9f !important;
  color:#ffffff !important;
  border-bottom:0 !important;
}
.concept-strip .wrap{
  color:#ffffff !important;
  justify-content:flex-start !important;
  text-align:left !important;
}
.concept-strip strong{
  color:#ffd166 !important;
}

.top-alert .wrap{
  justify-content:flex-start !important;
  gap:22px !important;
}
.top-alert a{
  margin-left:0 !important;
  padding:10px 13px !important;
  border-radius:8px !important;
  line-height:1.2 !important;
  min-height:38px !important;
  box-shadow:none !important;
}
header .nav > .btn.btn-primary,
.nav > a.btn.btn-primary{
  padding:10px 13px !important;
  border-radius:8px !important;
  min-height:38px !important;
  line-height:1.2 !important;
  box-shadow:none !important;
  font-size:14px !important;
}

/* Make icons visible even if an older page still has empty icon containers. */
.node-icon,
.value-card .icon{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  display:grid !important;
  place-items:center !important;
  position:relative !important;
  color:var(--cri-red) !important;
  background:#f4f8fb !important;
  border:1px solid #dce8f0 !important;
  overflow:hidden !important;
}
.value-card .icon{
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  min-height:62px !important;
}
.node-icon::before,
.value-card .icon::before{
  content:none !important;
}
.node-icon:empty::before,
.value-card .icon:empty::before{
  display:block !important;
  font-weight:900 !important;
  font-size:22px !important;
  line-height:1 !important;
  color:currentColor !important;
  content:"◆" !important;
}
.node-icon-security:empty::before{content:"✓" !important;}
.node-icon-contact:empty::before{content:"▣" !important;}
.node-icon-program:empty::before{content:"≡" !important;}
.node-icon-bpo:empty::before{content:"●" !important;}
.icon-cost:empty::before{content:"$" !important;}
.icon-scale:empty::before{content:"↗" !important;}
.icon-performance:empty::before{content:"◎" !important;}
.icon-support:empty::before{content:"◆" !important;}
.node-icon span,
.value-card .icon span{
  display:block !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1 !important;
  color:currentColor !important;
}
.value-card .icon span{
  font-size:28px !important;
}
.node:hover .node-icon,
.value-card:hover .icon{
  color:var(--cri-navy) !important;
}

/* Line-version mission-ready red box: square corners. */
.page-template-page-cri-no-boxes .signal,
.page-template-page-cri-no-boxes-php .signal,
body.page-template-page-cri-no-boxes .signal,
body.page-template-page-cri-no-boxes-php .signal{
  border-radius:0 !important;
}

@media (max-width:760px){
  .top-alert .wrap{
    align-items:flex-start !important;
  }
  .top-alert a{
    margin-left:0 !important;
  }
  header .nav > .btn.btn-primary,
  .nav > a.btn.btn-primary{
    padding:10px 13px !important;
    font-size:13px !important;
  }
}

/* FINAL QA PATCH 2.3
   Move the yellow-strip CTA button left, directly after the alert copy. */
.top-alert .wrap,
body .top-alert .wrap,
.wp-site-blocks .top-alert .wrap,
.entry-content .top-alert .wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
.top-alert .wrap > div,
body .top-alert .wrap > div,
.wp-site-blocks .top-alert .wrap > div,
.entry-content .top-alert .wrap > div{
  flex:0 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin-right:0 !important;
}
.top-alert .wrap > a,
body .top-alert .wrap > a,
.wp-site-blocks .top-alert .wrap > a,
.entry-content .top-alert .wrap > a{
  flex:0 0 auto !important;
  margin-left:0 !important;
  margin-right:auto !important;
}
@media (max-width:760px){
  .top-alert .wrap,
  body .top-alert .wrap,
  .wp-site-blocks .top-alert .wrap,
  .entry-content .top-alert .wrap{
    gap:10px !important;
  }
}

/* FINAL QA PATCH 2.4
   More Gutenberg-editable content: header strips, nav text, dashboard cards, service tags,
   footer columns, and selector card text are now native Gutenberg blocks. */
.concept-strip p,
.top-alert p,
.menu p,
.status,
.node .label,
.node .wp-block-heading,
.signal .wp-block-heading,
.signal p,
.tags p,
footer p,
.copyright p,
.cri-selector-top figure,
.cri-selector-badge,
.cri-option-content p{
  margin:0 !important;
}
.concept-strip .wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.top-alert .wrap,
body .top-alert .wrap,
.wp-site-blocks .top-alert .wrap,
.entry-content .top-alert .wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.top-alert .wrap > p,
body .top-alert .wrap > p,
.wp-site-blocks .top-alert .wrap > p,
.entry-content .top-alert .wrap > p{
  flex:0 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}
.top-alert .top-alert-buttons,
body .top-alert .top-alert-buttons,
.wp-site-blocks .top-alert .top-alert-buttons,
.entry-content .top-alert .top-alert-buttons{
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 auto 0 0 !important;
  gap:0 !important;
}
.top-alert .top-alert-cta,
.top-alert .top-alert-cta .wp-block-button__link{
  margin:0 !important;
  box-shadow:none !important;
}
.top-alert .top-alert-cta .wp-block-button__link{
  background:rgba(255,255,255,.72) !important;
  color:var(--cri-navy) !important;
  border:1px solid rgba(6,27,58,.20) !important;
  border-radius:8px !important;
  padding:10px 13px !important;
  min-height:38px !important;
}
.nav .logo{
  margin:0 !important;
  min-width:max-content;
}
.nav .logo a{display:flex !important;align-items:center !important;}
.nav .logo img{width:158px !important;max-width:38vw !important;height:auto !important;display:block !important;}
.nav .menu{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  margin:0 !important;
}
.nav .menu p{line-height:1 !important;}
.nav .menu a{
  position:relative !important;
  padding:10px 0 !important;
  text-decoration:none !important;
  color:#1f354b !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.nav .menu a:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:4px;
  height:3px;
  background:var(--cri-gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:.22s ease;
  border-radius:4px;
}
.nav .menu a:hover:after{transform:scaleX(1);}
.nav-contact{
  margin:0 !important;
  gap:0 !important;
}
.nav-contact .wp-block-button__link{
  padding:10px 13px !important;
  border-radius:8px !important;
  min-height:38px !important;
  line-height:1.2 !important;
  box-shadow:none !important;
  font-size:14px !important;
}

.dashboard-top figure.dashboard-logo,
.dashboard-top .dashboard-logo{
  margin:0 !important;
  width:92px !important;
  flex:0 0 auto !important;
}
.dashboard-top .dashboard-logo img{width:92px !important;height:auto !important;display:block !important;}
.status{display:inline-flex !important;align-items:center !important;gap:8px !important;}
.node .node-icon{
  margin:0 0 14px !important;
}
.node .label{
  color:#63778b !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  line-height:1.2 !important;
}
.node .wp-block-heading,
.node h3{
  display:block !important;
  margin:7px 0 12px !important;
  color:var(--cri-navy) !important;
  font-size:18px !important;
  line-height:1.18 !important;
  min-height:52px !important;
}
.signal{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}
.signal .wp-block-heading,
.signal h3{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1 !important;
}
.signal p{
  display:block !important;
  margin-top:6px !important;
  color:#fff !important;
  font-size:13px !important;
  opacity:.9 !important;
}

.value-card .icon{
  margin:0 0 22px !important;
  text-align:center !important;
}
.value-card p.icon,
.node p.node-icon{
  padding:0 !important;
}
.tags{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin-top:20px !important;
}
.solution-card .tags p,
.tags p{
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#e9f3fb !important;
  border-radius:999px !important;
  padding:6px 10px !important;
  font-size:12px !important;
  font-weight:800 !important;
  background:rgba(255,255,255,.06) !important;
  margin:0 !important;
  line-height:1.2 !important;
}
footer .footer-logo{
  margin:0 !important;
}
footer .footer-logo img{
  width:140px !important;
  height:auto !important;
  display:block !important;
}
footer .wp-block-list,
footer ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
footer .copyright{
  max-width:var(--max);
  margin:22px auto 0 !important;
  color:#aebfce;
  display:flex !important;
  justify-content:space-between !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  font-size:13px;
}
footer .copyright p{color:#aebfce !important;font-size:13px !important;}
.cri-option-card{
  color:#132638 !important;
}
.cri-option-card .wp-block-buttons{
  margin-top:auto !important;
}
.cri-option-card .cri-option-button,
.cri-option-card .cri-option-button:hover{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  transform:none !important;
}
.cri-option-card .cri-option-button .wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  align-self:flex-start !important;
  border-radius:999px !important;
  padding:13px 18px !important;
  color:#fff !important;
  background:linear-gradient(135deg,#b51f2a,#8f1720) !important;
  font-weight:900 !important;
  border:0 !important;
  box-shadow:none !important;
}
@media (max-width:980px){
  .nav .menu{display:none !important;}
}
@media (max-width:760px){
  .nav .logo img{width:128px !important;max-width:34vw !important;}
  .top-alert .wrap{align-items:flex-start !important;}
  .top-alert .top-alert-buttons{margin-right:auto !important;}
}
@media (max-width:430px){
  .nav .logo img{width:112px !important;max-width:32vw !important;}
}


/* FINAL QA PATCH 2.5
   Restores the original SVG icon shapes from the uploaded HTML, but renders them through
   CSS masks so they transfer reliably inside Gutenberg and are not stripped as inline SVG. */
.node-icon-security{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%203l8%204v5c0%205-3.5%208-8%209-4.5-1-8-4-8-9V7l8-4z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-5%22%2F%3E%3C%2Fsvg%3E");}
.node-icon-contact{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20height%3D%2214%22%20rx%3D%222%22%20width%3D%2218%22%20x%3D%223%22%20y%3D%224%22%2F%3E%3Cpath%20d%3D%22M8%2021h8M12%2018v3M7%209h4M7%2013h10%22%2F%3E%3C%2Fsvg%3E");}
.node-icon-program{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6%2018h12M7%2014h10M8%2010h8M12%203v3M5%207l2%202M19%207l-2%202%22%2F%3E%3C%2Fsvg%3E");}
.node-icon-bpo{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M16%2011c1.7%200%203-1.3%203-3s-1.3-3-3-3-3%201.3-3%203%201.3%203%203%203zM8%2011c1.7%200%203-1.3%203-3S9.7%205%208%205%205%206.3%205%208s1.3%203%203%203z%22%2F%3E%3Cpath%20d%3D%22M2%2021c.6-4%203-6%206-6s5.4%202%206%206M10%2021c.5-3.2%202.5-5%205.5-5%202.8%200%204.8%201.7%205.5%205%22%2F%3E%3C%2Fsvg%3E");}
.icon-cost{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%201v22M17%205H9.5a3.5%203.5%200%200%200%200%207H14a3.5%203.5%200%200%201%200%207H6%22%2F%3E%3C%2Fsvg%3E");}
.icon-scale{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%2020h18M5%2017V9M10%2017V5M15%2017v-7M20%2017V3%22%2F%3E%3Cpath%20d%3D%22M4%209l6-4%205%205%205-7%22%2F%3E%3C%2Fsvg%3E");}
.icon-performance{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M12%202v3M12%2019v3M2%2012h3M19%2012h3M4.9%204.9l2.1%202.1M17%2017l2.1%202.1M19.1%204.9%2017%207M7%2017l-2.1%202.1%22%2F%3E%3C%2Fsvg%3E");}
.icon-support{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M23%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E");}
.mission-icon{--cri-icon-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%203l3%206%206%20.9-4.5%204.3%201.1%206.1L12%2017.4%206.4%2020.3l1.1-6.1L3%209.9%209%209l3-6z%22%2F%3E%3C%2Fsvg%3E");}
.node-icon,
.value-card .icon,
.node p.node-icon,
.value-card p.icon{
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  color:var(--cri-red) !important;
}
.node-icon::before,
.value-card .icon::before,
.node p.node-icon::before,
.value-card p.icon::before{
  content:"" !important;
  display:block !important;
  text-indent:0 !important;
  width:24px !important;
  height:24px !important;
  background:currentColor !important;
  -webkit-mask:var(--cri-icon-url) center / contain no-repeat !important;
  mask:var(--cri-icon-url) center / contain no-repeat !important;
}
.value-card .icon::before,
.value-card p.icon::before{
  width:32px !important;
  height:32px !important;
}
.node-icon svg,
.value-card .icon svg{
  display:none !important;
}
.node:hover .node-icon,
.node:hover p.node-icon,
.value-card:hover .icon,
.value-card:hover p.icon{
  color:var(--cri-navy) !important;
}

/* FINAL QA PATCH 2.6
   Center the concept strip on every generated page and use a distinct font so it does not feel like CRI site content. */
.concept-strip,
body .concept-strip,
.wp-site-blocks .concept-strip,
.entry-content .concept-strip{
  background:#2f6f9f !important;
  color:#ffffff !important;
  border-bottom:0 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  letter-spacing:.015em !important;
}
.concept-strip .wrap,
body .concept-strip .wrap,
.wp-site-blocks .concept-strip .wrap,
.entry-content .concept-strip .wrap{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:11px 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:8px !important;
  width:100% !important;
  font-weight:700 !important;
}
.concept-strip p,
body .concept-strip p,
.wp-site-blocks .concept-strip p,
.entry-content .concept-strip p{
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  color:#ffffff !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size:14px !important;
  line-height:1.25 !important;
}
.concept-strip strong,
body .concept-strip strong,
.wp-site-blocks .concept-strip strong,
.entry-content .concept-strip strong{
  color:#ffd166 !important;
  font-weight:800 !important;
}


/* FINAL QA PATCH 2.7
   Force the yellow student-loan CTA to sit immediately after the alert text, not at the far right.
   Targets Gutenberg Button/Buttons wrappers as well as older direct-link markup. */
.top-alert .wrap,
body .top-alert .wrap,
.wp-site-blocks .top-alert .wrap,
.entry-content .top-alert .wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.top-alert .wrap > p,
body .top-alert .wrap > p,
.wp-site-blocks .top-alert .wrap > p,
.entry-content .top-alert .wrap > p{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:max-content !important;
  margin:0 !important;
}
.top-alert .wrap > .wp-block-buttons,
.top-alert .wrap > .top-alert-buttons,
.top-alert .wp-block-buttons.top-alert-buttons,
body .top-alert .wp-block-buttons.top-alert-buttons,
.wp-site-blocks .top-alert .wp-block-buttons.top-alert-buttons,
.entry-content .top-alert .wp-block-buttons.top-alert-buttons{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:max-content !important;
  margin:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:0 !important;
}
.top-alert .top-alert-buttons .wp-block-button,
.top-alert .wp-block-button.top-alert-cta,
body .top-alert .wp-block-button.top-alert-cta,
.wp-site-blocks .top-alert .wp-block-button.top-alert-cta,
.entry-content .top-alert .wp-block-button.top-alert-cta{
  display:block !important;
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 !important;
}
.top-alert .top-alert-buttons .wp-block-button__link,
.top-alert .top-alert-cta .wp-block-button__link,
.top-alert .wrap > a,
body .top-alert .top-alert-cta .wp-block-button__link,
.wp-site-blocks .top-alert .top-alert-cta .wp-block-button__link,
.entry-content .top-alert .top-alert-cta .wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  margin:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:auto !important;
  max-width:max-content !important;
  white-space:nowrap !important;
}
@media (max-width:760px){
  .top-alert .wrap,
  body .top-alert .wrap,
  .wp-site-blocks .top-alert .wrap,
  .entry-content .top-alert .wrap{
    align-items:flex-start !important;
    gap:10px !important;
  }
  .top-alert .wrap > p,
  body .top-alert .wrap > p,
  .wp-site-blocks .top-alert .wrap > p,
  .entry-content .top-alert .wrap > p{
    max-width:100% !important;
  }
}






/* v4.1.0 student-loan strip: button first, then text */
.top-alert .wrap,
body .top-alert .wrap,
.wp-site-blocks .top-alert .wrap,
.entry-content .top-alert .wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  flex-wrap:wrap !important;
}

.top-alert .wrap > .wp-block-buttons,
.top-alert .wrap > .top-alert-buttons,
.top-alert .wp-block-buttons.top-alert-buttons,
body .top-alert .wp-block-buttons.top-alert-buttons,
.wp-site-blocks .top-alert .wp-block-buttons.top-alert-buttons,
.entry-content .top-alert .wp-block-buttons.top-alert-buttons{
  order:1 !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:max-content !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  transform:none !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
}

.top-alert .wrap > p,
body .top-alert .wrap > p,
.wp-site-blocks .top-alert .wrap > p,
.entry-content .top-alert .wrap > p{
  order:2 !important;
  flex:0 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  min-width:0 !important;
}

.top-alert .top-alert-buttons .wp-block-button,
.top-alert .wp-block-button.top-alert-cta,
body .top-alert .wp-block-button.top-alert-cta,
.wp-site-blocks .top-alert .wp-block-button.top-alert-cta,
.entry-content .top-alert .wp-block-button.top-alert-cta{
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}

.top-alert .top-alert-buttons .wp-block-button__link,
.top-alert .top-alert-cta .wp-block-button__link,
.top-alert .wrap > a,
body .top-alert .top-alert-cta .wp-block-button__link,
.wp-site-blocks .top-alert .top-alert-cta .wp-block-button__link,
.entry-content .top-alert .top-alert-cta .wp-block-button__link{
  display:inline-flex !important;
  width:auto !important;
  max-width:max-content !important;
  margin:0 !important;
  transform:none !important;
  white-space:nowrap !important;
  border-radius:8px !important;
}

@media (max-width:760px){
  .top-alert .wrap,
  body .top-alert .wrap,
  .wp-site-blocks .top-alert .wrap,
  .entry-content .top-alert .wrap{
    align-items:flex-start !important;
    gap:10px !important;
  }
  .top-alert .wrap > .wp-block-buttons,
  .top-alert .wrap > .top-alert-buttons,
  .top-alert .wrap > p{
    width:100% !important;
    max-width:100% !important;
  }
}


/* v4.2.0 restore animated sunburst on bottom red CTA */
@keyframes cri-cta-sunburst-spin{
  from{ transform:translateY(-50%) rotate(0deg); }
  to{ transform:translateY(-50%) rotate(360deg); }
}

.cta,
body .cta,
.wp-site-blocks .cta,
.entry-content .cta{
  position:relative !important;
  overflow:hidden !important;
}

.cta-card,
body .cta-card,
.wp-site-blocks .cta-card,
.entry-content .cta-card{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.cta-card::after,
body .cta-card::after,
.wp-site-blocks .cta-card::after,
.entry-content .cta-card::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:24px !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:340px !important;
  height:340px !important;
  border-radius:50% !important;
  opacity:.18 !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:
    repeating-conic-gradient(
      from -18deg,
      rgba(255,255,255,.48) 0deg,
      rgba(255,255,255,.48) .7deg,
      transparent .7deg,
      transparent 7deg
    ) !important;
  -webkit-mask-image:radial-gradient(circle at center, transparent 0 49%, #000 49.6% 73%, transparent 73.6%) !important;
  mask-image:radial-gradient(circle at center, transparent 0 49%, #000 49.6% 73%, transparent 73.6%) !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:center center !important;
  animation:cri-cta-sunburst-spin 28s linear infinite !important;
}

.cta-card > *,
body .cta-card > *,
.wp-site-blocks .cta-card > *,
.entry-content .cta-card > *{
  position:relative !important;
  z-index:1 !important;
}

@media (max-width:640px){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    left:18px !important;
    width:230px !important;
    height:230px !important;
    opacity:.14 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    animation:none !important;
  }
}


/* v4.7.0 move CTA sunburst back to the right with original animation feel */
@keyframes cri-cta-sunburst-spin-right{
  from{ transform:translateY(-50%) rotate(0deg); }
  to{ transform:translateY(-50%) rotate(360deg); }
}

.cta-card::after,
body .cta-card::after,
.wp-site-blocks .cta-card::after,
.entry-content .cta-card::after{
  left:auto !important;
  right:24px !important;
  top:50% !important;
  bottom:auto !important;
  width:340px !important;
  height:340px !important;
  opacity:.18 !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:center center !important;
  animation:cri-cta-sunburst-spin-right 28s linear infinite !important;
}

@media (max-width:640px){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    left:auto !important;
    right:18px !important;
    width:230px !important;
    height:230px !important;
    opacity:.14 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    animation:none !important;
  }
}


/* v4.8.0 CTA sunburst: fully visible + visibly animated */
@keyframes cri-visible-sunburst-spin{
  from{ transform:translateY(-50%) rotate(0deg); }
  to{ transform:translateY(-50%) rotate(360deg); }
}

.cta,
body .cta,
.wp-site-blocks .cta,
.entry-content .cta{
  overflow:hidden !important;
}

.cta-card,
body .cta-card,
.wp-site-blocks .cta-card,
.entry-content .cta-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:320px !important;
  display:grid !important;
  align-items:center !important;
  isolation:isolate !important;
}

/* override all older :after/:before sunburst placements */
.cta-card::after,
body .cta-card::after,
.wp-site-blocks .cta-card::after,
.entry-content .cta-card::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:58px !important;
  left:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:260px !important;
  height:260px !important;
  border-radius:50% !important;
  opacity:.22 !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:
    conic-gradient(
      from 0deg,
      rgba(255,255,255,.55) 0deg 74deg,
      transparent 74deg 118deg,
      rgba(255,255,255,.42) 118deg 208deg,
      transparent 208deg 260deg,
      rgba(255,255,255,.48) 260deg 342deg,
      transparent 342deg 360deg
    ) !important;
  -webkit-mask-image:
    repeating-conic-gradient(
      from 0deg,
      #000 0deg .9deg,
      transparent .9deg 6.5deg
    ),
    radial-gradient(circle at center, transparent 0 50%, #000 50.5% 74%, transparent 74.6%) !important;
  -webkit-mask-composite: source-in !important;
  mask-image:
    repeating-conic-gradient(
      from 0deg,
      #000 0deg .9deg,
      transparent .9deg 6.5deg
    ),
    radial-gradient(circle at center, transparent 0 50%, #000 50.5% 74%, transparent 74.6%) !important;
  mask-composite: intersect !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:center center !important;
  animation:cri-visible-sunburst-spin 18s linear infinite !important;
}

.cta-card > *,
body .cta-card > *,
.wp-site-blocks .cta-card > *,
.entry-content .cta-card > *{
  position:relative !important;
  z-index:1 !important;
}

@media (max-width:640px){
  .cta-card,
  body .cta-card,
  .wp-site-blocks .cta-card,
  .entry-content .cta-card{
    min-height:260px !important;
  }

  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    right:24px !important;
    width:210px !important;
    height:210px !important;
    opacity:.18 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    animation:none !important;
  }
}
