@charset "utf-8";

:root {
  --solutions-navy: var(--alignify-navy, #082A4A);
  --solutions-navy-dark: var(--alignify-navy-dark, #051E35);
  --solutions-deep-navy: var(--alignify-deep-navy, #041F42);
  --solutions-gold: var(--alignify-gold, #B78B2D);
  --solutions-gold-dark: var(--alignify-gold-dark, #926E22);
  --solutions-gold-light: var(--alignify-gold-light, #D7B15A);
  --solutions-gold-soft: var(--alignify-gold-soft, #F6F0E3);
  --solutions-white: #FFFFFF;
  --solutions-off-white: var(--off-white, #F7F9FA);
  --solutions-light: var(--alignify-light, #F7F9FC);
  --solutions-border: var(--border-light, #DCE3E7);
  --solutions-text: var(--text-body, #3E4A53);
}

.navigation-list a[aria-current="page"] { color: var(--solutions-gold-dark); }
.navigation-list a[aria-current="page"]::after { transform: scaleX(1); }

.solutions-section-label,
.solutions-eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--solutions-gold-dark);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.solutions-section-header,
.complete-solution__header,
.institution-types__header,
.engagement-model__header,
.why-solutions__header,
.transformation-journey__header {
  max-width: 820px;
  margin-bottom: 70px;
}

.solutions-section-header h2,
.complete-solution__header h2,
.institution-types__header h2,
.engagement-model__header h2,
.why-solutions__header h2,
.transformation-journey__header h2 {
  margin-bottom: 24px;
  font-size: clamp(2.45rem, 4vw, 3.85rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.solutions-section-header p,
.complete-solution__header p,
.institution-types__header p,
.engagement-model__header p,
.transformation-journey__header p {
  max-width: 690px;
  margin-bottom: 0;
  font-size: 1.08rem;
  line-height: 1.8;
}

.solutions-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 112px;
  background: radial-gradient(circle at 84% 18%, rgba(183,139,45,.12), transparent 27%), linear-gradient(135deg,#F8FAFC 0%,#FFF 53%,#F7F3E9 100%);
}

.solutions-hero::after {
  position: absolute;
  right: -180px;
  bottom: -260px;
  width: 620px;
  height: 620px;
  content: "";
  border: 1px solid rgba(8,42,74,.08);
  border-radius: 50%;
}

.solutions-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(410px,.95fr);
  gap: 86px;
  align-items: center;
}

.solutions-hero__content { max-width: 720px; }
.solutions-hero h1 { max-width: 780px; margin-bottom: 30px; font-size: clamp(3.2rem,5.6vw,5.35rem); line-height: .99; letter-spacing: -.052em; }
.solutions-hero__lead { max-width: 670px; margin-bottom: 34px; color: var(--solutions-text); font-size: 1.16rem; line-height: 1.82; }
.solutions-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; }
.solutions-hero__visual { display: flex; align-items: center; justify-content: center; }

.transformation-path { position: relative; width: min(100%,470px); padding: 34px; background: rgba(255,255,255,.92); border: 1px solid var(--solutions-border); border-radius: 22px; box-shadow: 0 28px 70px rgba(8,42,74,.13); }
.transformation-path::before { position: absolute; top: 0; bottom: 0; left: 66px; width: 1px; content: ""; background: linear-gradient(to bottom,transparent,rgba(183,139,45,.50) 12%,rgba(8,42,74,.23) 88%,transparent); }
.transformation-path article { position: relative; z-index: 2; display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: center; min-height: 72px; padding: 13px 16px; background: #FFF; border: 1px solid var(--solutions-border); border-radius: 12px; }
.transformation-path article span { display: grid; width: 44px; height: 44px; place-items: center; color: var(--solutions-gold-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; background: var(--solutions-gold-soft); border-radius: 50%; }
.transformation-path article strong { color: var(--solutions-navy); font-size: 1rem; line-height: 1.3; }
.transformation-path i { position: relative; z-index: 3; display: block; width: 10px; height: 20px; margin: 2px 0 2px 33px; }
.transformation-path i::before { position: absolute; top: 0; left: 4px; width: 2px; height: 14px; content: ""; background: var(--solutions-gold); }
.transformation-path i::after { position: absolute; bottom: 1px; left: 1px; width: 8px; height: 8px; content: ""; border-right: 2px solid var(--solutions-gold); border-bottom: 2px solid var(--solutions-gold); transform: rotate(45deg); }
.transformation-path .transformation-path__destination { background: var(--solutions-navy); border-color: var(--solutions-navy); }
.transformation-path .transformation-path__destination span { color: var(--solutions-navy); background: var(--solutions-gold-light); }
.transformation-path .transformation-path__destination strong { color: #FFF; }

.solutions-intro { padding: 94px 0; background: #FFF; border-bottom: 1px solid var(--solutions-border); }
.solutions-intro__grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 90px; align-items: start; }
.solutions-intro h2 { max-width: 620px; margin-bottom: 0; font-size: clamp(2.35rem,3.8vw,3.6rem); }
.solutions-intro__grid > p { max-width: 680px; margin: 14px 0 0; font-size: 1.12rem; line-height: 1.85; }

.role-solutions,
.need-solutions,
.institution-types,
.engagement-model,
.why-solutions,
.transformation-journey { padding: 132px 0; }
.role-solutions { background: var(--solutions-off-white); }
.role-solutions__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.role-card { position: relative; min-height: 520px; padding: 52px 46px 44px; overflow: hidden; background: #FFF; border: 1px solid var(--solutions-border); border-radius: 16px; box-shadow: 0 12px 34px rgba(8,42,74,.07); transition: transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease; }
.role-card::after { position: absolute; right: 46px; bottom: 0; left: 46px; height: 4px; content: ""; background: var(--solutions-gold); transform: scaleX(.24); transform-origin: left; transition: transform 220ms ease; }
.role-card:hover { border-color: rgba(183,139,45,.42); box-shadow: 0 22px 48px rgba(8,42,74,.12); transform: translateY(-5px); }
.role-card:hover::after { transform: scaleX(1); }
.role-card__number { position: absolute; top: 22px; right: 26px; color: var(--solutions-gold); font-size: 3.2rem; font-weight: 800; opacity: .12; }
.role-card__audience { display: block; max-width: 78%; margin-bottom: 24px; color: var(--solutions-gold-dark); font-size: .74rem; font-weight: 800; line-height: 1.45; letter-spacing: .13em; }
.role-card h3 { max-width: 480px; margin-bottom: 22px; font-size: clamp(1.75rem,2.4vw,2.25rem); }
.role-card > p { max-width: 580px; margin-bottom: 28px; line-height: 1.78; }
.role-card ul { display: grid; gap: 11px; padding: 0; list-style: none; }
.role-card li { position: relative; padding-left: 24px; color: var(--solutions-text); font-size: .97rem; }
.role-card li::before { position: absolute; top: .72em; left: 0; width: 9px; height: 2px; content: ""; background: var(--solutions-gold); }

.complete-solution { padding: 132px 0; color: #FFF; background: radial-gradient(circle at 14% 12%,rgba(215,177,90,.13),transparent 28%),linear-gradient(145deg,var(--solutions-deep-navy),var(--solutions-navy-dark)); }
.complete-solution__header h2,.complete-solution__header p { color: #FFF; }
.complete-solution__header p { color: rgba(255,255,255,.76); }
.complete-solution .solutions-section-label { color: var(--solutions-gold-light); }
.complete-solution__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.complete-solution__grid article { min-height: 390px; padding: 42px 34px 36px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; }
.complete-solution__number { display: block; margin-bottom: 44px; color: var(--solutions-gold-light); font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.complete-solution__grid h3 { margin-bottom: 24px; color: #FFF; font-size: 1.75rem; }
.complete-solution__grid p { margin-bottom: 32px; color: rgba(255,255,255,.75); font-size: .98rem; line-height: 1.78; }
.complete-solution__grid strong { display: block; color: var(--solutions-gold-light); font-size: .92rem; line-height: 1.55; }

.need-solutions { background: #FFF; }
.need-solutions__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.need-card { min-height: 330px; padding: 40px 34px; background: var(--solutions-off-white); border: 1px solid var(--solutions-border); border-radius: 14px; transition: transform 220ms ease,box-shadow 220ms ease,background 220ms ease; }
.need-card:hover { background: #FFF; box-shadow: 0 18px 42px rgba(8,42,74,.10); transform: translateY(-4px); }
.need-card > span { display: block; margin-bottom: 35px; color: var(--solutions-gold-dark); font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.need-card h3 { margin-bottom: 20px; font-size: 1.55rem; line-height: 1.25; }
.need-card p { margin-bottom: 0; font-size: .97rem; line-height: 1.75; }

.institution-types { background: var(--solutions-light); }
.institution-types__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--solutions-border); border-left: 1px solid var(--solutions-border); }
.institution-types__grid article { min-height: 260px; padding: 38px 34px; background: rgba(255,255,255,.48); border-right: 1px solid var(--solutions-border); border-bottom: 1px solid var(--solutions-border); }
.institution-types__grid h3 { margin-bottom: 18px; font-size: 1.42rem; }
.institution-types__grid p { margin-bottom: 0; font-size: .96rem; line-height: 1.72; }

.engagement-model { background: #FFF; }
.engagement-model__rail { display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr); align-items: stretch; }
.engagement-model__rail article { min-height: 300px; padding: 30px 24px; background: var(--solutions-off-white); border: 1px solid var(--solutions-border); border-radius: 12px; }
.engagement-model__rail article > span { display: block; margin-bottom: 42px; color: var(--solutions-gold-dark); font-size: .73rem; font-weight: 800; letter-spacing: .13em; }
.engagement-model__rail strong { display: block; min-height: 58px; margin-bottom: 18px; color: var(--solutions-navy); font-size: 1.14rem; line-height: 1.35; }
.engagement-model__rail p { margin-bottom: 0; font-size: .88rem; line-height: 1.65; }
.engagement-model__rail > i { position: relative; align-self: center; height: 2px; background: var(--solutions-gold); }
.engagement-model__rail > i::after { position: absolute; top: -4px; right: 0; width: 9px; height: 9px; content: ""; border-top: 2px solid var(--solutions-gold); border-right: 2px solid var(--solutions-gold); transform: rotate(45deg); }

.why-solutions { color: #FFF; background: var(--solutions-navy); }
.why-solutions__header h2 { color: #FFF; }
.why-solutions .solutions-section-label { color: var(--solutions-gold-light); }
.comparison { overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 16px; }
.comparison__heading,.comparison__row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.comparison__heading span { padding: 22px 32px; color: var(--solutions-gold-light); font-size: .76rem; font-weight: 800; letter-spacing: .13em; background: rgba(255,255,255,.07); }
.comparison__heading span + span,.comparison__row p + p { border-left: 1px solid rgba(255,255,255,.14); }
.comparison__row { border-top: 1px solid rgba(255,255,255,.14); }
.comparison__row p { max-width: none; margin: 0; padding: 27px 32px; color: rgba(255,255,255,.70); font-size: .98rem; }
.comparison__row p + p { color: #FFF; font-weight: 600; background: rgba(215,177,90,.055); }

.transformation-journey { background: var(--solutions-off-white); }
.transformation-journey__steps { display: grid; grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr); align-items: center; }
.transformation-journey__steps article { display: grid; min-height: 148px; padding: 24px 18px; place-content: center; text-align: center; background: #FFF; border: 1px solid var(--solutions-border); border-radius: 12px; }
.transformation-journey__steps article span { display: block; margin-bottom: 14px; color: var(--solutions-gold-dark); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.transformation-journey__steps article strong { font-size: 1rem; line-height: 1.35; }
.transformation-journey__steps > i { position: relative; height: 2px; background: var(--solutions-gold); }
.transformation-journey__steps > i::after { position: absolute; top: -4px; right: 0; width: 9px; height: 9px; content: ""; border-top: 2px solid var(--solutions-gold); border-right: 2px solid var(--solutions-gold); transform: rotate(45deg); }
.transformation-journey__destination { color: #FFF; background: var(--solutions-navy) !important; border-color: var(--solutions-navy) !important; }
.transformation-journey__destination span { color: var(--solutions-gold-light) !important; }
.transformation-journey__destination strong { color: #FFF; }

.solutions-cta { padding: 120px 0; text-align: center; background: linear-gradient(rgba(4,31,66,.96),rgba(4,31,66,.96)),radial-gradient(circle at center,rgba(215,177,90,.24),transparent 48%); }
.solutions-cta__inner { display: flex; flex-direction: column; align-items: center; }
.solutions-cta__inner > span { display: block; margin-bottom: 20px; color: var(--solutions-gold-light); font-size: .76rem; font-weight: 800; letter-spacing: .16em; }
.solutions-cta h2 { max-width: 820px; margin-bottom: 26px; color: #FFF; font-size: clamp(2.6rem,4.5vw,4.25rem); }
.solutions-cta p { max-width: 710px; margin-bottom: 34px; color: rgba(255,255,255,.76); font-size: 1.08rem; line-height: 1.8; }
a.solutions-cta__button,a.solutions-cta__button:visited { color: var(--solutions-navy); background: var(--solutions-gold-light); border-color: var(--solutions-gold-light); }
a.solutions-cta__button:hover,a.solutions-cta__button:focus { color: var(--solutions-navy); background: #FFF; border-color: #FFF; }

.solutions-footer { padding: 42px 0; color: rgba(255,255,255,.72); background: #03182E; }
.solutions-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.solutions-footer .site-logo,.solutions-footer .site-logo:hover,.solutions-footer .site-logo:visited { color: #FFF; }
.solutions-footer p { margin: 0; font-size: .9rem; }

@media (max-width: 1160px) {
  .solutions-hero__grid { grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); gap: 55px; }
  .complete-solution__grid,.need-solutions__grid,.institution-types__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .engagement-model__rail { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .engagement-model__rail > i { display: none; }
  .transformation-journey__steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .transformation-journey__steps > i { display: none; }
}

@media (max-width: 900px) {
  .solutions-hero { padding-top: 72px; }
  .solutions-hero__grid,.solutions-intro__grid { grid-template-columns: 1fr; }
  .solutions-hero__grid { gap: 58px; }
  .solutions-hero__visual { justify-content: flex-start; }
  .solutions-intro__grid { gap: 30px; }
  .solutions-intro__grid > p { margin-top: 0; }
  .role-solutions__grid { grid-template-columns: 1fr; }
  .role-card { min-height: 0; }
}

@media (max-width: 720px) {
  .solutions-hero,.role-solutions,.complete-solution,.need-solutions,.institution-types,.engagement-model,.why-solutions,.transformation-journey { padding: 92px 0; }
  .solutions-hero h1 { font-size: clamp(2.75rem,13vw,4.2rem); }
  .solutions-hero__actions { align-items: stretch; flex-direction: column; }
  .solutions-hero__actions .btn { width: 100%; }
  .transformation-path { padding: 24px; }
  .transformation-path::before { left: 56px; }
  .role-card { padding: 44px 30px 40px; }
  .complete-solution__grid,.need-solutions__grid,.institution-types__grid,.engagement-model__rail,.transformation-journey__steps { grid-template-columns: 1fr; }
  .institution-types__grid { border-left: 0; }
  .institution-types__grid article { min-height: 0; border-left: 1px solid var(--solutions-border); }
  .engagement-model__rail article { min-height: 0; }
  .comparison__heading,.comparison__row { grid-template-columns: 1fr; }
  .comparison__heading span + span,.comparison__row p + p { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .solutions-footer__inner { align-items: flex-start; flex-direction: column; }
}
