.risk-hub {
  --risk-ink: #151916;
  --risk-muted: #626c64;
  --risk-line: #dde4dc;
  --risk-soft: #f2f5f1;
  --risk-lime: #9bd556;
  --risk-lime-dark: #527f24;
  --risk-alert: #e76452;
  color: var(--risk-ink);
}

body.page-template-page-risk-management .header > .container,
body.page-template-page-risk-management .footer.footer--trust .footer__compact,
body.page-template-page-risk-management .footer.footer--trust .footer__bottom,
.risk-hub > .breadcrumbs .container,
.risk-hub__container {
  box-sizing: border-box;
  max-width: 136rem;
}

.risk-hub__container { margin-top: 3.2rem; }
.risk-hub__container > article { min-width: 0; }
.risk-hub__mobile-sidebar,
.risk-hub__mobile-sidebar .sidebar { display: none; }

.risk-hub h1,
.risk-hub h2,
.risk-hub h3 {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.risk-hub__eyebrow {
  margin: 0 0 1.2rem;
  color: var(--risk-lime-dark);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.risk-hub__hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(44rem, 1.08fr);
  align-items: center;
  gap: 3.6rem;
  min-height: 52rem;
  padding: 4.8rem 0 6.4rem;
  border-bottom: 1px solid var(--risk-line);
}

.risk-hub__hero-copy { position: relative; z-index: 2; min-width: 0; }

.risk-hub__hero h1 {
  max-width: 70rem;
  margin: 0;
  font-size: clamp(4.4rem, 4.8vw, 7rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.risk-hub__lead {
  max-width: 68rem;
  margin: 2.4rem 0 0;
  color: #4e5850;
  font-size: 1.9rem;
  line-height: 1.55;
}

.risk-hub__primary-action,
.risk-hub__next button {
  display: inline-flex;
  box-sizing: border-box;
  min-height: 4.8rem;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 2.4rem;
  border: 1px solid rgba(79, 115, 22, .18);
  border-radius: 999px;
  background: var(--risk-lime);
  color: #1d1d1d;
  font: inherit;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.risk-hub__primary-action { margin-top: 3rem; }
.risk-hub__primary-action:hover,
.risk-hub__primary-action:focus-visible,
.risk-hub__next button:hover,
.risk-hub__next button:focus-visible { background: #8bc745; transform: translateY(-.1rem); }

.risk-hub__hero-visual {
  position: relative;
  min-width: 0;
  height: 45rem;
  isolation: isolate;
  pointer-events: none;
}

.risk-hub__hero-glow {
  position: absolute;
  inset: 14% 2% 0 12%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle at 56% 52%, rgba(155, 213, 86, .18), rgba(155, 213, 86, .04) 48%, transparent 70%);
  filter: blur(1.2rem);
}

.risk-hub__hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2rem 2.4rem rgba(22, 31, 22, .14));
  opacity: 0;
  transform: translateY(2rem) scale(.98);
  animation: risk-hub-hero-in .72s .12s cubic-bezier(.2, .75, .25, 1) forwards;
}

@keyframes risk-hub-hero-in { to { opacity: 1; transform: translateY(0) scale(1); } }

.risk-hub__principle {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1.05fr) minmax(30rem, .95fr);
  align-items: start;
  gap: 3.2rem;
  padding: 6.4rem 0;
  border-bottom: 1px solid var(--risk-line);
}

.risk-hub__principle-index {
  color: var(--risk-lime-dark);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.risk-hub__principle h2,
.risk-hub__section-head h2,
.risk-hub__protocol h2,
.risk-hub__warning h2,
.risk-hub__next h2 {
  margin: 0;
  font-size: clamp(3rem, 3.2vw, 4.8rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.risk-hub__principle > p {
  margin: 3rem 0 0;
  color: var(--risk-muted);
  font-size: 1.7rem;
  line-height: 1.65;
}

.risk-hub__formula,
.risk-hub__protocol,
.risk-hub__library { padding: 7.2rem 0; border-bottom: 1px solid var(--risk-line); }

.risk-hub__section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 4rem;
  margin-bottom: 3.4rem;
}

.risk-hub__section-head > div { min-width: 0; }
.risk-hub__section-head > p {
  max-width: 45rem;
  margin: 0;
  color: var(--risk-muted);
  font-size: 1.5rem;
  line-height: 1.6;
}

.risk-hub__formula-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: risk-step;
}

.risk-hub__formula-track li {
  position: relative;
  min-width: 0;
  min-height: 25rem;
  padding: 2.6rem 2.6rem 3rem;
  border-top: 1px solid #abb6aa;
  border-bottom: 1px solid #abb6aa;
}

.risk-hub__formula-track li + li { border-left: 1px solid var(--risk-line); }
.risk-hub__formula-track li::before {
  position: absolute;
  top: -5px;
  left: 2.6rem;
  width: 9px;
  height: 9px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--risk-lime-dark);
  box-shadow: 0 0 0 1px var(--risk-lime-dark);
  content: '';
}

.risk-hub__formula-track span {
  display: block;
  color: var(--risk-lime-dark);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.risk-hub__formula-track strong {
  display: block;
  margin-top: 6.2rem;
  font-size: 2.2rem;
  line-height: 1.15;
}

.risk-hub__formula-track p {
  margin: 1.4rem 0 0;
  color: var(--risk-muted);
  font-size: 1.4rem;
  line-height: 1.55;
}

.risk-hub__inline-link {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin-top: 2.4rem;
  color: #27311f;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}
.risk-hub__inline-link:hover,
.risk-hub__inline-link:focus-visible { color: var(--risk-lime-dark); text-decoration: underline; text-underline-offset: .3rem; }

.risk-hub__protocol {
  display: grid;
  grid-template-columns: minmax(30rem, .76fr) minmax(0, 1.24fr);
  gap: 7rem;
}

.risk-hub__protocol-intro > p:last-child {
  max-width: 48rem;
  margin: 2rem 0 0;
  color: var(--risk-muted);
  font-size: 1.55rem;
  line-height: 1.65;
}

.risk-hub__protocol-list { border-top: 1px solid var(--risk-line); }
.risk-hub__protocol-list > section {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 2.2rem;
  padding: 2.8rem 0;
  border-bottom: 1px solid var(--risk-line);
}

.risk-hub__protocol-number { color: #a4aea6; font-size: 1.3rem; font-weight: 700; }
.risk-hub__protocol-stage { color: var(--risk-lime-dark); font-size: 1.15rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.risk-hub__protocol-list h3 { margin: .8rem 0 0; font-size: 2.3rem; line-height: 1.15; }
.risk-hub__protocol-list p { margin: 1.1rem 0 0; color: var(--risk-muted); font-size: 1.45rem; line-height: 1.6; }

.risk-hub__warning {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 6rem;
  margin: 7.2rem 0 0;
  padding: 4.8rem;
  border-radius: 2.8rem;
  background: #182019;
  color: #fff;
}

.risk-hub__warning .risk-hub__eyebrow { color: var(--risk-lime); }
.risk-hub__warning-copy > p:last-child { max-width: 50rem; margin: 2rem 0 0; color: rgba(255,255,255,.64); line-height: 1.65; }
.risk-hub__warning ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.risk-hub__warning li { display: grid; grid-template-columns: 4rem minmax(0,1fr); gap: 1rem; padding: 1.7rem 0; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.78); font-size: 1.45rem; line-height: 1.5; }
.risk-hub__warning li span { color: var(--risk-lime); font-size: 1.15rem; font-weight: 700; }

.risk-hub__post-grid { width: 100%; max-width: none; margin: 0; }

.risk-hub__next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 5rem;
  margin: 7.2rem 0 8rem;
  padding: 4.8rem;
  border: 1px solid #d8e2d4;
  border-radius: 2.8rem;
  background: linear-gradient(135deg, #f3f7ef, #edf4e6);
}

.risk-hub__next > div { min-width: 0; }
.risk-hub__next p:last-child { max-width: 76rem; margin: 2rem 0 0; color: var(--risk-muted); line-height: 1.65; }
.risk-hub__next button { min-width: 25rem; }

@media (min-width: 1100px) {
  .risk-hub__post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1099px) {
  .risk-hub__hero { grid-template-columns: minmax(0, 1fr) minmax(34rem, .85fr); }
  .risk-hub__formula-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .risk-hub__formula-track li:nth-child(3) { border-left: 0; }
  .risk-hub__protocol { gap: 4rem; }
}

@media (max-width: 767px) {
  .risk-hub__container { margin-top: 1.6rem; padding-right: 1.6rem; padding-left: 1.6rem; }
  .risk-hub > .breadcrumbs .container { padding-right: 1.6rem; padding-left: 1.6rem; }
  .risk-hub__hero { display: flex; min-height: 0; flex-direction: column; gap: 1.8rem; padding: 2.4rem 0 3.6rem; }
  .risk-hub__hero-copy { width: 100%; }
  .risk-hub__hero h1 { font-size: clamp(3.4rem, 11vw, 4.5rem); line-height: 1.02; }
  .risk-hub__lead { margin-top: 1.8rem; font-size: 1.6rem; line-height: 1.55; }
  .risk-hub__primary-action { width: 100%; margin-top: 2.2rem; }
  .risk-hub__hero-visual { width: 100%; height: 28rem; }

  .risk-hub__principle { grid-template-columns: 4.2rem minmax(0, 1fr); gap: 1.4rem; padding: 4rem 0; }
  .risk-hub__principle > p { grid-column: 2; margin-top: .2rem; font-size: 1.5rem; }

  .risk-hub__formula,
  .risk-hub__protocol,
  .risk-hub__library { padding: 4.8rem 0; }
  .risk-hub__section-head { display: block; margin-bottom: 2.6rem; }
  .risk-hub__section-head > p { margin-top: 1.6rem; }
  .risk-hub__principle h2,
  .risk-hub__section-head h2,
  .risk-hub__protocol h2,
  .risk-hub__warning h2,
  .risk-hub__next h2 { font-size: 3rem; }

  .risk-hub__formula-track { grid-template-columns: 1fr; }
  .risk-hub__formula-track li { min-height: 0; padding: 2.2rem 1.6rem 2.4rem; border-right: 0; border-bottom: 1px solid var(--risk-line); border-left: 0 !important; }
  .risk-hub__formula-track li + li { border-top: 0; }
  .risk-hub__formula-track strong { margin-top: 3.2rem; font-size: 2rem; }

  .risk-hub__protocol { display: block; }
  .risk-hub__protocol-list { margin-top: 3rem; }
  .risk-hub__protocol-list > section { grid-template-columns: 3.6rem minmax(0,1fr); gap: 1.2rem; }

  .risk-hub__warning { display: block; margin-top: 4.8rem; padding: 3rem 2.2rem; border-radius: 2.2rem; }
  .risk-hub__warning ul { margin-top: 2.8rem; }

  .risk-hub__next { display: block; margin: 4.8rem 0 5.6rem; padding: 3rem 2.2rem; border-radius: 2.2rem; }
  .risk-hub__next button { width: 100%; min-width: 0; margin-top: 2.4rem; }

}

@media (max-width: 1279px) {
  .risk-hub__mobile-sidebar { display: contents; }
  .risk-hub__mobile-sidebar .sidebar.open { display: flex; }
}

@media (prefers-reduced-motion: reduce) {
  .risk-hub__hero-visual img { opacity: 1; transform: none; animation: none; }
  .risk-hub__primary-action,
  .risk-hub__next button { transition: none; }
}
