.db-hub{max-width:var(--ui-container);margin:0 auto;padding:2rem 1.5rem 4rem}.db-hub__header{text-align:left;margin-bottom:2rem;padding:0}.db-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.2em;color:var(--ui-primary,#2563eb);margin:0 0 .75rem;text-transform:uppercase}.db-hub__title{font-size:clamp(1.75rem, 4vw, 2.25rem);font-weight:800;margin:0 0 .75rem;color:var(--ui-text,#1a1a2e);letter-spacing:-.01em;line-height:1.2}.db-hub__lead{color:var(--ui-text-muted,#8888a0);line-height:1.75;margin:0;font-size:1rem;max-width:640px}.db-hub__section{margin-top:2rem}.db-hub-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.db-hub-card{display:flex;flex-direction:column;background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e5ed);border-radius:var(--ui-radius-md,12px);text-decoration:none;color:var(--ui-text,#1a1a2e);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.db-hub-card:hover{transform:translateY(-2px);border-color:var(--ui-primary,#2563eb);box-shadow:var(--ui-shadow-lg,0 16px 40px -12px rgba(15,23,42,.18))}.db-hub-card.is-comingsoon{opacity:.6;pointer-events:none}.db-hub-card__preview{display:flex;align-items:center;justify-content:center;height:120px;background:var(--ui-primary-light,rgba(37,99,235,.08));color:var(--ui-primary,#2563eb);transition:background .2s}.db-hub-card__preview svg{width:40px;height:40px;opacity:.75;transition:opacity .2s,transform .2s}.db-hub-card:hover .db-hub-card__preview svg{opacity:1;transform:scale(1.1)}.db-hub-card__body{padding:1.1rem 1.35rem 1.35rem;display:flex;flex-direction:column;gap:.45rem;flex:1}.db-hub-card__title{font-size:1rem;font-weight:700;color:var(--ui-text,#1a1a2e);margin:0;line-height:1.4}.db-hub-card:hover .db-hub-card__title{color:var(--ui-primary,#2563eb)}.db-hub-card__desc{font-size:.85rem;color:var(--ui-text-muted,#8888a0);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.db-hub-card__badge{display:inline-block;padding:.2rem .6rem;margin-top:.5rem;font-size:.7rem;font-weight:600;color:var(--ui-text-muted,#8888a0);background:var(--ui-surface-alt,#f0f0f5);border-radius:999px;align-self:flex-start}@media (max-width:640px){.db-hub{padding:1.5rem 1rem 3rem}.db-hub-grid{gap:1rem;grid-template-columns:1fr}}