.services-hub-grid{width:min(1080px,calc(100% - 48px));margin:0 auto 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.services-hub-card{display:flex;flex-direction:column;gap:17px;padding:26px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 12px 30px rgba(31,44,98,.06);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.services-hub-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 18px 38px rgba(31,44,98,.12)}.services-hub-card .service-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;font-size:25px}.services-hub-card .eyebrow{margin:0 0 5px}.services-hub-card h2{font-size:20px;line-height:1.15;margin:0 0 9px}.services-hub-card p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 16px}.services-hub-card strong{color:var(--accent);font-size:12px}.service-detail-grid{align-items:stretch}.service-card-detail{display:flex;flex-direction:column;min-height:290px}.service-card-detail h2{max-width:23ch}.service-card-detail>p{min-height:0;flex:1}.service-card-detail-copy{display:grid;gap:5px;padding-top:15px;border-top:1px solid var(--line);font-size:12px;line-height:1.55}.service-card-detail-copy strong{color:var(--ink)}.service-card-detail-copy span{color:var(--muted)}@media(max-width:800px){.services-hub-grid{width:calc(100% - 28px);grid-template-columns:1fr;margin-bottom:44px}.services-hub-card{padding:21px}.service-detail-grid{display:grid;grid-template-columns:1fr;overflow:visible}.service-card-detail{min-height:0}}
@media(max-width:800px){
  html,body{overflow-x:hidden!important}
  .services-page{width:100%;overflow:hidden}
  .services-hub-grid,.service-grid,.service-detail-grid{display:grid!important;grid-template-columns:1fr!important;width:calc(100% - 28px)!important;max-width:none!important;margin-left:14px!important;margin-right:14px!important;overflow:visible!important;padding-left:0!important;padding-right:0!important;gap:10px!important}
  .services-hub-card,.service-card{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:16px!important;overflow:hidden!important;cursor:pointer}
  .services-hub-card>div,.service-card>*{max-width:100%;overflow-wrap:anywhere}
  .services-hub-card .service-icon,.service-card .service-icon{display:inline-grid;width:36px;height:36px;margin-right:8px;vertical-align:middle;font-size:18px}
  .services-hub-card .eyebrow{display:inline-block;vertical-align:middle;margin:0!important}
  .services-hub-card h2,.service-card h2{display:inline-block;vertical-align:middle;width:calc(100% - 52px);margin:0!important;font-size:16px!important;line-height:1.25!important}
  .services-hub-card p:not(.eyebrow),.services-hub-card strong,.service-card>p,.service-card>ul,.service-card .service-card-detail-copy,.service-card .service-button{display:none!important}
  .services-hub-card.is-expanded p:not(.eyebrow),.services-hub-card.is-expanded strong,.service-card.is-expanded>p,.service-card.is-expanded>ul,.service-card.is-expanded .service-card-detail-copy,.service-card.is-expanded .service-button{display:block!important}
  .services-hub-card.is-expanded,.service-card.is-expanded{padding-bottom:18px!important}
  .services-hub-card.is-expanded p:not(.eyebrow),.service-card.is-expanded>p{margin:12px 0 10px!important;font-size:13px!important;line-height:1.5!important}
  .services-hub-card.is-expanded strong{margin-top:10px}
  .service-card .service-status{position:static;display:inline-block!important;margin-left:4px;vertical-align:middle}
  .service-card.is-expanded .service-card-detail-copy{margin-top:12px;padding-top:12px}
}

/* Keep the Services landing categories in one readable column on phones. */
@media (max-width: 800px) {
  .services-page,
  .services-hub-grid {
    overflow-x: hidden !important;
  }

  .services-hub-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    width: calc(100% - 28px) !important;
  }

  .services-hub-card {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}
