/* Three service families share the existing visibility/pause motion controller. */
.service-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-family{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;border:1px solid #d6e4ef;border-radius:16px;background:#f6faff;overflow:hidden}
.family-art{position:relative;min-width:0;padding:20px 0 35px;align-self:stretch;display:grid;align-content:center;background:radial-gradient(ellipse at 45% 45%,#e0efff,transparent 72%)}
.family-diagram{display:block;width:100%;height:auto;overflow:visible}
.family-art-caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#57718b;font-size:.75rem;letter-spacing:.14em}
.family-content{padding:28px 24px 28px 0;min-width:0}
.family-number{font-size:.75rem;line-height:1.6;letter-spacing:.07em;color:#547698;margin:0 0 12px;overflow-wrap:anywhere}
.home .service-family h3{font-size:1.3rem;line-height:1.55;margin:0 0 22px;color:#183958;font-weight:650}
.family-links{display:grid;gap:0;min-width:0}
.family-links>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:16px 0;border-top:1px solid #ccdeeb;color:#153754}
.family-links>a>span:first-child{min-width:0}.family-links h4{font-size:1.125rem;line-height:1.5;margin:0 0 5px;font-weight:600}
.family-links p{font-size:.875rem;line-height:1.7;margin:0;color:#536b80;overflow-wrap:anywhere}
.family-arrow{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #b5cee3;border-radius:50%;color:#3275b9;background:#f9fcff}
.family-arrow>.icon{width:17px;height:17px}
.family-links>a:hover h4{color:#165cbe}.family-links>a:hover .family-arrow{background:#1f68c1;border-color:#1f68c1;color:#fff}
.family-links>a:focus-visible{outline:2px solid #2269c7;outline-offset:4px;border-radius:2px}
.family-1{background:#f3faf9;border-color:#cfe4e0}.family-1 .family-art{background:radial-gradient(ellipse at 45% 45%,#d7eeeb,transparent 72%)}
.family-2{grid-column:1/-1;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);background:#f9fbfe}
.family-2 .family-content{padding:28px 32px 32px 8px}.family-2 .family-links{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}.family-2 .family-diagram{max-width:380px;margin:auto}.family-2 .family-links>a{align-items:flex-start}.family-2 .family-arrow{margin-top:2px;width:28px;height:28px}
.family-2 .family-number{margin-bottom:6px}.home .family-2 h3{margin-bottom:20px}
@media(prefers-reduced-motion:no-preference){
 .family-float{animation:family-float 5s ease-in-out infinite}.family-float-later{animation-delay:-2.5s}
 .family-packet{animation:family-packet 3s linear infinite}.family-ai-orbit{animation:family-orbit 9s linear infinite}
 .family-chart{stroke-dasharray:100;animation:family-chart 5s ease-in-out infinite}
 .family-links>a .family-arrow{transition:background .2s,color .2s,transform .25s}
 .home[data-pc-motion=true] .family-links>a:hover .family-arrow{transform:translateX(3px)}
}
@keyframes family-float{0%,100%{transform:translateY(3px)}50%{transform:translateY(-7px)}}
@keyframes family-packet{to{stroke-dashoffset:-108}}
@keyframes family-orbit{to{stroke-dashoffset:-100}}
@keyframes family-chart{0%,12%{stroke-dashoffset:100}60%,100%{stroke-dashoffset:0}}
@media(max-width:1100px){.service-family{grid-template-columns:1fr}.family-art{padding:10px 14px 26px}.family-diagram{max-width:330px;margin:auto}.family-content{padding:20px 26px 26px}.family-2{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr)}.family-2 .family-links{grid-template-columns:repeat(2,minmax(0,1fr))}.family-2 .family-content{padding:28px 28px 28px 0}}
@media(max-width:767px){.service-families{grid-template-columns:1fr;gap:18px}.service-family,.family-2{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.family-content{padding:25px 22px 25px 0}.home .service-family h3{font-size:1.125rem;margin-bottom:16px}.family-number{font-size:.75rem;margin-bottom:8px}.family-art{padding-inline:0}.family-2{grid-template-columns:1fr}.family-2 .family-art{padding:4px 25px 25px}.family-2 .family-diagram{max-width:310px}.family-2 .family-content{padding:15px 24px 24px}.family-2 .family-links{column-gap:20px}.family-links h4{font-size:1rem}.family-2 .family-links>a{gap:8px}.family-2 .family-arrow{width:24px;height:24px}}
@media(max-width:380px){.service-family{grid-template-columns:1fr}.family-art{padding:0 25px 25px}.family-content{padding:18px 24px 24px}.family-diagram{max-width:260px}.family-2 .family-links{grid-template-columns:1fr}}
