:root {
  --ink: #141c31;
  --muted: #697386;
  --purple: #9d2993;
  --blue: #2d3893;
  --soft: #f4f5f8;
  --line: #e7e9ef;
  --grad: linear-gradient(120deg, #2d3893, #9d2993);
}

/* Managed-service growth sections */
.value-strip{background:#f4f5fb;border-top:1px solid #e3e6f2;border-bottom:1px solid #e3e6f2}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.value-grid article{padding:34px 30px;border-right:1px solid #dfe2ef}
.value-grid article:last-child{border-right:0}
.value-grid strong{display:block;color:#2d3893;font-size:1.12rem;margin-bottom:8px}
.value-grid p{margin:0;color:#566078}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.plan-card{position:relative;background:#fff;border:1px solid #dfe2ef;border-radius:18px;padding:30px;box-shadow:0 16px 42px rgba(35,45,100,.08)}
.plan-card.featured{border:2px solid #9d2993;transform:translateY(-8px)}
.plan-card .plan-label{display:inline-block;color:#9d2993;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-bottom:12px}
.plan-card h3{font-size:1.45rem;margin:0 0 8px}
.plan-card .plan-for{min-height:48px;color:#687087}
.plan-card ul{list-style:none;padding:0;margin:22px 0}
.plan-card li{padding:9px 0;border-bottom:1px solid #edf0f7;color:#333b54}
.plan-card li:before{content:'✓';color:#9d2993;font-weight:900;margin-right:9px}
.plan-card .btn{width:100%;text-align:center;box-sizing:border-box}
.service-pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px}
.service-pillars article{background:#fff;border:1px solid #e1e4ef;border-radius:14px;padding:22px}
.service-pillars b{color:#9d2993;font-size:.82rem;letter-spacing:.09em}
.service-pillars h3{font-size:1.08rem;margin:12px 0 8px}
.service-pillars p{font-size:.95rem;margin:0;color:#626b80}
@media(max-width:980px){.plans-grid{grid-template-columns:1fr}.plan-card.featured{transform:none}.service-pillars{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:1fr}.value-grid article{border-right:0;border-bottom:1px solid #dfe2ef}}
@media(max-width:560px){.service-pillars{grid-template-columns:1fr}}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a {
  text-decoration: none;
  color: inherit;
}
.wrap {
  width: min(1180px, calc(100% - 56px));
  margin: auto;
}
.topbar {
  height: 34px;
  background: #1d263e;
  color: #dce0eb;
  font-size: 9px;
  letter-spacing: 1.25px;
}
.topbar .wrap,
.nav,
.heading,
.cta .wrap,
.footer-bottom {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.topbar div div {
  display: flex;
  gap: 24px;
}
.topbar a:hover {
  color: #fff;
}
header {
  height: 86px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 10;
}
.logo img {
  width: 184px;
  height: 54px;
  display: block;
}
.nav nav {
  display: flex;
  gap: 23px;
  font-size: 12px;
  color: #465066;
}
.nav nav a:hover {
  color: var(--purple);
}
.header-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
.header-actions a {
  padding: 10px 11px;
  font-size: 9px;
  font-weight: 700;
  border-radius: 4px;
  white-space: nowrap;
}
.support {
  border: 1px solid var(--line);
}
.crm-portal {
  border: 1px solid #2d3893;
  color: #2d3893;
}
.portal,
.primary {
  background: var(--grad);
  color: #fff;
}
.menu {
  display: none;
  border: 0;
  background: none;
  font-size: 23px;
}
.hero {
  padding: 100px 0;
  background:
    radial-gradient(ellipse at 82% 20%, #e7e7fa, transparent 40%),
    linear-gradient(180deg, #fff, #f8f8fb);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: center;
}
.kicker {
  font-size: 10px;
  letter-spacing: 1.6px;
  font-weight: 700;
  color: var(--purple);
}
.hero h1,
.page-hero h1 {
  font-size: 65px;
  line-height: 1.06;
  letter-spacing: -3px;
  margin: 24px 0;
}
.hero h1 em,
.page-hero h1 em,
.heading h2 em {
  font-style: normal;
  background: var(--grad);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.hero p,
.page-hero p,
.dark p {
  max-width: 600px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}
.buttons {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}
.btn {
  display: inline-flex;
  justify-content: center;
  padding: 14px 19px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
}
.secondary {
  border: 1px solid #d7dae3;
  background: #fff;
}
.white {
  background: #fff;
  color: var(--blue);
}
.proof {
  display: flex;
  gap: 42px;
  margin-top: 52px;
}
.proof div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.proof strong {
  font-size: 19px;
}
.proof span {
  font-size: 10px;
  color: var(--muted);
}
.network-card {
  background: #202943;
  color: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 30px 70px #242d4533;
}
.network-card > div:first-child {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  color: #b9c0d0;
}
.network-card b {
  color: #4ad19f;
}
.network-card > strong {
  display: block;
  font-size: 74px;
  margin-top: 50px;
}
.network-card > strong small {
  font-size: 35px;
  color: #aab2ec;
}
.network-card p {
  font-size: 11px;
  color: #b9c0d0;
}
.bars {
  height: 75px;
  display: flex;
  align-items: end;
  gap: 6px;
  margin-top: 35px;
}
.bars i {
  flex: 1;
  height: 55%;
  background: linear-gradient(#a95dbd, #5864b7);
  border-radius: 3px 3px 0 0;
}
.bars i:nth-child(2n) {
  height: 78%;
}
.bars i:nth-child(3n) {
  height: 42%;
}
.bars i:nth-child(5n) {
  height: 96%;
}
.trust {
  border-block: 1px solid var(--line);
  padding: 24px 0;
}
.trust .wrap {
  display: flex;
  gap: 33px;
  justify-content: space-between;
  align-items: center;
}
.trust span {
  font-size: 9px;
  color: var(--muted);
  letter-spacing: 1.2px;
}
.trust b {
  font-size: 12px;
  color: #5b6577;
}
.section {
  padding: 95px 0;
}
.heading {
  align-items: end;
  margin-bottom: 43px;
}
.heading h2,
.dark h2,
.contact-grid h2 {
  font-size: 43px;
  line-height: 1.15;
  letter-spacing: -1.7px;
  margin: 13px 0 0;
}
.heading > a {
  font-size: 11px;
  font-weight: bold;
  color: var(--purple);
}
.cards,
.partner-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.cards article,
.partner-cards article,
.partner-card-link {
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 25px;
  min-height: 190px;
  background: #fff;
}
.number {
  font-size: 9px;
  color: #9b4a95;
}
.cards h3,
.partner-cards h3 {
  font-size: 16px;
  margin: 27px 0 10px;
}
.cards p,
.partner-cards p {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
}
.partner-cards article,
.partner-card-link {
  min-height: 205px;
}
.partner-card-logo {
  height: 62px;
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.partner-card-logo img {
  display: block;
  max-width: 210px;
  max-height: 56px;
  object-fit: contain;
  object-position: left center;
}
.logo-trust img {
  display: block;
  max-width: 115px;
  max-height: 34px;
  object-fit: contain;
}
.partner-card-link {
  display: block;
}
.partner-card-link > b {
  font-size: 11px;
  color: var(--purple);
}
.partner-detail-logo {
  height: 80px;
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}
.partner-detail-logo img {
  max-width: 270px;
  max-height: 70px;
  object-fit: contain;
}
.partner-service-list {
  display: grid;
  margin: 25px 0 35px;
  border-top: 1px solid var(--line);
}
.partner-service-list article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.partner-service-list article > b {
  font-size: 10px;
  color: var(--purple);
}
.partner-service-list h3 {
  font-size: 14px;
  margin: 0 0 6px;
}
.partner-service-list p {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}
.case-detail-list {
  display: grid;
  gap: 22px;
}
.case-detail-card {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 30px;
  border: 1px solid var(--line);
  padding: 30px;
  border-radius: 7px;
}
.case-logo {
  height: 120px;
  background: var(--soft);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.case-logo img {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
}
.case-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.case-columns h4 {
  font-size: 11px;
}
.case-columns p {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.7;
}
@media (max-width: 850px) {
  .case-detail-card,
  .case-columns {
    grid-template-columns: 1fr;
  }
}
.dark {
  background: #202943;
  color: #fff;
  padding: 95px 0;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.kicker.light {
  color: #dcb0d8;
}
.dark h2 em {
  color: #d69bd1;
  font-style: normal;
}
.dark p {
  color: #bdc4d2;
}
.dark ol {
  counter-reset: x;
  list-style: none;
  padding: 0;
}
.dark li {
  counter-increment: x;
  padding: 20px 0;
  border-bottom: 1px solid #ffffff22;
  font-size: 13px;
}
.dark li:before {
  content: "0" counter(x);
  color: #d49bcf;
  margin-right: 22px;
  font-size: 10px;
}
.cta {
  background: var(--grad);
  padding: 55px 0;
  color: #fff;
}
.cta h2 {
  font-size: 31px;
  margin: 12px 0 0;
}
.page-hero {
  padding: 88px 0 68px;
  background: linear-gradient(135deg, #f7f5fb, #f2f4fa);
}
.page-hero h1 {
  font-size: 55px;
}
.alt {
  background: var(--soft);
}
.light-split p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}
.timeline div {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 15px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.timeline b {
  color: var(--purple);
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 80px;
}
.contact-line {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.contact-line b {
  font-size: 9px;
  color: var(--purple);
  letter-spacing: 1px;
}
.quick-card {
  background: var(--soft);
  padding: 35px;
  border-radius: 7px;
}
.quick-card h3 {
  font-size: 24px;
  margin-top: 0;
}
.quick-card p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}
.quick-card .btn {
  display: flex;
  margin-top: 10px;
}
.socials {
  display: flex;
  gap: 9px;
  margin-top: 20px;
}
.socials a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #ffffff33;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 800;
}
.dark-social a {
  border-color: #d3d6df;
  color: var(--purple);
}
footer {
  background: #171e31;
  color: #d1d5df;
  padding: 64px 0 20px;
}
.legal-hero{padding-bottom:56px}
.legal-page{max-width:920px}
.legal-page .legal-intro{font-size:1.16rem;line-height:1.75;color:#39425b;border-left:4px solid var(--purple);padding-left:22px;margin:0 0 44px}
.legal-page h2{font-size:1.35rem;color:#202943;margin:34px 0 10px}
.legal-page p,.legal-page li{font-size:1rem;line-height:1.8;color:#596178}
.legal-page ul{padding-left:24px}
.legal-page a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.legal-note{margin-top:40px;padding:22px 24px;background:#f3f1f8;border:1px solid #e3deed;border-radius:12px;color:#434b63;line-height:1.7}
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 22px}
.footer-legal a{color:#c5cad5}
.footer-legal a:hover{color:#fff}
.footer-bottom{gap:24px;flex-wrap:wrap}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.7fr 0.9fr 1.1fr;
  gap: 46px;
}
.footer-grid .logo img {
  filter: brightness(2.7) grayscale(0.1);
}
.footer-grid p {
  max-width: 370px;
  color: #aeb5c4;
  font-size: 12px;
  line-height: 1.8;
}
.footer-grid > div:not(:first-child) {
  display: flex;
  flex-direction: column;
  gap: 11px;
  font-size: 11px;
}
.footer-grid h4 {
  font-size: 9px;
  letter-spacing: 1.3px;
  color: #fff;
}
.footer-bottom {
  margin-top: 50px;
  padding-top: 18px;
  border-top: 1px solid #ffffff19;
  font-size: 9px;
  color: #9ca4b5;
}
@media (max-width: 1180px) {
  .nav nav {
    gap: 12px;
  }
  .header-actions .support {
    display: none;
  }
}
@media (max-width: 850px) {
  .wrap {
    width: calc(100% - 34px);
  }
  .menu {
    display: block;
  }
  .nav nav {
    display: none;
    position: absolute;
    top: 86px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 20px;
    flex-direction: column;
    border-bottom: 1px solid var(--line);
  }
  .nav nav.open {
    display: flex;
  }
  .hero-grid,
  .split,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 45px;
  }
  .hero h1 {
    font-size: 55px;
  }
  .network-card {
    max-width: 480px;
  }
  .cards,
  .partner-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .trust .wrap {
    flex-wrap: wrap;
    justify-content: start;
  }
  .footer-grid {
    gap: 30px;
  }
}
@media (max-width: 550px) {
  .topbar {
    height: auto;
    padding: 9px 0;
  }
  .topbar .wrap {
    align-items: start;
    gap: 8px;
    flex-direction: column;
  }
  .topbar div div {
    gap: 14px;
  }
  .header-actions {
    display: none;
  }
  .hero {
    padding: 65px 0;
  }
  .hero h1,
  .page-hero h1 {
    font-size: 42px;
    letter-spacing: -2px;
  }
  .proof {
    gap: 22px;
  }
  .cards,
  .partner-cards,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .section {
    padding: 70px 0;
  }
  .heading {
    align-items: start;
    gap: 15px;
    flex-direction: column;
  }
  .heading h2,
  .dark h2 {
    font-size: 35px;
  }
  .cta .wrap {
    align-items: start;
    gap: 20px;
    flex-direction: column;
  }
  .footer-bottom {
    align-items: start;
    gap: 8px;
    flex-direction: column;
  }
}

/* Authentic excerpts from client-supplied reference letters. */
.testimonials{background:var(--soft)}
.testimonials-intro{max-width:720px;color:var(--muted);line-height:1.7;margin:0 0 30px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.testimonial-card{margin:0;padding:30px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--purple);border-radius:16px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(45,56,147,.05)}
.testimonial-service{color:var(--purple);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.testimonial-card blockquote{margin:20px 0 26px;flex:1}
.testimonial-card blockquote p{margin:0;color:var(--ink);font-size:16px;line-height:1.8}
.testimonial-card figcaption{border-top:1px solid var(--line);padding-top:18px}
.testimonial-card figcaption strong{display:block;color:var(--blue);font-size:14px;line-height:1.5}
.testimonial-card figcaption span{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:6px}
.testimonial-card figcaption small{display:block;font-size:11px;color:var(--muted);margin-top:10px}
.testimonials-more{margin-top:28px}
.testimonials-more summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:700;padding:14px 0;width:fit-content}
.testimonials-more summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px;border-radius:3px}
.testimonials-secondary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
@media(max-width:980px){.testimonials-grid{grid-template-columns:1fr}.testimonial-card{padding:26px}}

.testimonials-grid:not(.testimonials-secondary){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.testimonials-grid:not(.testimonials-secondary){grid-template-columns:1fr}}

.subsidiaries{background:#f4f5f8}.subsidiaries-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.subsidiary-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px}.subsidiary-logo{height:200px;display:flex;align-items:center;justify-content:center;background:#fff;margin-bottom:24px}.subsidiary-logo img{display:block;max-width:100%;width:300px;height:200px;object-fit:contain}.subsidiary-card h3{color:var(--blue);font-size:24px;margin:0 0 14px}.subsidiary-card p{color:var(--muted);font-size:16px;line-height:1.7;margin:0}@media(max-width:760px){.subsidiaries-grid{grid-template-columns:1fr}.subsidiary-card{padding:24px}}

/* Enhanced subsidiary call-to-action buttons */
.subsidiary-learn,.subsidiary-action-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:.7rem;min-height:46px;padding:12px 21px!important;margin-top:20px;border-radius:999px!important;text-decoration:none!important;font-size:.91rem;font-weight:750!important;letter-spacing:.01em;line-height:1.3;color:#fff!important;background:linear-gradient(115deg,#2d3893,#9d2993)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 8px 20px rgba(45,56,147,.20);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
.subsidiary-learn:hover,.subsidiary-action-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(45,56,147,.30);filter:brightness(1.08)}
.subsidiary-learn:focus-visible,.subsidiary-action-btn:focus-visible{outline:3px solid #d49aff;outline-offset:3px}
.subsidiary-learn.hewa-cta{background:linear-gradient(115deg,#5b2434,#d1920d)!important;box-shadow:0 8px 20px rgba(91,36,52,.20)}
.subsidiary-learn.hewa-cta:hover{box-shadow:0 14px 28px rgba(91,36,52,.3)}
.subsidiary-learn .cta-arrow{font-size:1.15em;transition:transform .22s ease}
.subsidiary-learn:hover .cta-arrow{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.subsidiary-learn,.subsidiary-action-btn,.subsidiary-learn .cta-arrow{transition:none!important}}
