/* Homepage-only benefits surrounding an illustrative business professional. */
.home-why { background: #f8fbff; }
.home-why .hw-heading { max-width: 100%; margin-bottom: 48px; }
.home-why .hw-heading .eyebrow { justify-content: center; }
.home-why .hw-heading h2 { max-width: 950px; margin-inline: auto; }
.home-why .hw-heading > p:last-child { max-width: 900px; margin-inline: auto; }
.hw-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr); gap: 24px 60px; align-items: stretch; }
.hw-person { position: relative; grid-column: 2; grid-row: 1 / 4; display: flex; align-items: flex-end; justify-content: center; margin: 0; min-width: 0; }
.hw-person::before { content: ''; position: absolute; bottom: 0; width: 115%; height: 28px; border-radius: 50%; background: #e7f3ff; }
.hw-person img { position: relative; display: block; width: 125%; max-width: none; height: 100%; max-height: 660px; object-fit: contain; object-position: center bottom; }
.hw-card { position: relative; min-width: 0; padding: 24px; border: 1px solid #cfdeea; border-radius: 22px; background: #fff; box-shadow: 0 7px 22px rgba(13,54,91,.035); transition: transform 180ms ease-out,border-color 180ms ease-out,box-shadow 180ms ease-out; }
.hw-card-1,.hw-card-2,.hw-card-3 { grid-column: 1; }
.hw-card-4,.hw-card-5,.hw-card-6 { grid-column: 3; }
.hw-card-1,.hw-card-4 { grid-row: 1; }
.hw-card-2,.hw-card-5 { grid-row: 2; }
.hw-card-3,.hw-card-6 { grid-row: 3; }
.hw-number { display: block; color: #537aab; font-size: .75rem; font-weight: 750; line-height: 1.5; }
.hw-card h3 { margin: 22px 0 10px; color: var(--ink); font-size: 1.15rem; line-height: 1.35; }
.hw-card p { margin: 0; font-size: .9375rem; line-height: 1.65; }
.hw-tab { position: absolute; top: -1px; right: -1px; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 0 22px 0 20px; background: var(--blue-700); color: #fff; box-shadow: 0 4px 8px rgba(7,92,204,.12); transition: transform 180ms ease-out; }
.hw-tab::before { content: ''; position: absolute; left: -12px; top: 0; border-top: 12px solid #064594; border-left: 12px solid transparent; }
.hw-tab svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.hw-card:nth-of-type(n+4) .hw-tab { right: auto; left: -1px; border-radius: 22px 0 20px 0; }
.hw-card:nth-of-type(n+4) .hw-tab::before { left: auto; right: -12px; border-left: 0; border-right: 12px solid transparent; }
.hw-card:nth-of-type(n+4) .hw-number { padding-left: 56px; }
.hw-connector { position: absolute; left: 100%; top: calc(50% - 30px); width: 80px; height: 60px; overflow: visible; pointer-events: none; fill: #a6c7eb; }
.hw-card:nth-of-type(n+4) .hw-connector { left: auto; right: 100%; transform: scaleX(-1); }
.hw-connector path { fill: none; stroke: #bad3ef; stroke-width: 1; }
.hw-connector .hw-signal { stroke: var(--blue-600); stroke-width: 2; stroke-dasharray: 14 100; stroke-dashoffset: 14; opacity: 0; }
.hw-quote { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 36px; padding: 28px 32px; border-radius: 18px; background: var(--blue-50); }
.hw-quote blockquote { margin: 0; color: var(--ink); font-size: 1.15rem; font-weight: 700; line-height: 1.55; }
.hw-quote a { flex-shrink: 0; min-height: 44px; }
.hw-quote a:focus-visible { outline: 3px solid var(--blue-600); outline-offset: 5px; }
@keyframes hw-signal-pass { 0% { stroke-dashoffset: 14; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { stroke-dashoffset: -100; opacity: 0; } }
@media (hover:hover) and (pointer:fine) {
  .hw-card:hover { transform: translateY(-3px); border-color: var(--blue-600); box-shadow: 0 10px 26px rgba(13,54,91,.08); }
  .hw-card:hover .hw-tab { transform: translateY(-2px); }
  .hw-card:hover .hw-signal { animation: hw-signal-pass 650ms ease-out both; }
}
@media (max-width:1100px) {
  .hw-layout { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .hw-person { grid-column: 1 / -1; grid-row: auto; height: 320px; }
  .hw-person img { width: auto; height: 100%; max-width: 100%; }
  .hw-person::before { width: 220px; }
  .hw-card { grid-column: auto; grid-row: auto; }
  .hw-connector { display: none; }
  .hw-quote { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width:600px) {
  .hw-layout { grid-template-columns: minmax(0,1fr); }
  .hw-person { height: 280px; }
  .hw-quote { padding: 24px; }
  .hw-quote a { flex-shrink: 1; flex-wrap: wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .home-why .reveal { opacity: 1 !important; transform: none !important; }
  .hw-card,.hw-tab { transition: none !important; transform: none !important; }
  .hw-card .hw-signal { animation: none !important; opacity: 0; }
}
