.hub-platform{background:var(--bg-elev);padding:var(--s-9) 0}.hub-platform__header{margin-bottom:var(--s-8);text-align:center}.hub-platform__intro{color:var(--ink-2);line-height:1.7;margin:var(--s-4) auto 0;max-width:640px}.hub-platform__intro p{margin:0}.hub-platform__grid{display:grid;gap:var(--s-5);grid-template-columns:repeat(3,1fr)}.hub-platform__card{background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:var(--s-6);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.hub-platform__card:hover{box-shadow:0 4px 16px rgba(0,0,0,.06);transform:translateY(-2px)}.hub-platform__card-title{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h4);font-weight:600;margin:0 0 var(--s-3)}.hub-platform__card-desc{color:var(--ink-2);line-height:1.7}.hub-platform__card-desc p{margin:0}.hub-platform__cta{margin-top:var(--s-7);text-align:center}.hub-platform__card,.hub-platform__header{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.hub-platform.is-visible .hub-platform__header{opacity:1;transform:none}.hub-platform.is-visible .hub-platform__card{opacity:1;transform:none;transition-delay:var(--card-delay,0s)}.hub-platform.is-visible .hub-platform__card:hover{transform:translateY(-2px)}@media (max-width:767px){.hub-platform{padding:var(--s-8) 0}.hub-platform__grid{grid-template-columns:1fr}}.hub-platform__pair{align-items:center;display:inline-flex;gap:var(--s-3);margin-bottom:var(--s-4)}.hub-platform__pair-tile{align-items:center;background:var(--emerald-tint);border:1px solid var(--emerald-tint-2);border-radius:var(--radius-sm);display:inline-flex;height:44px;justify-content:center;width:44px}.hub-platform__pair-tile svg{height:22px;stroke:var(--emerald-deep);stroke-width:1.75;width:22px}.hub-platform__plus{animation:hub-plus-pulse 2.4s var(--ease-smooth) infinite;color:var(--emerald-deep);font-family:var(--font-display);font-size:20px;font-weight:var(--fw-semibold);line-height:1}@keyframes hub-plus-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.hub-platform__plus{animation:none}}