/* Portada de Utilísimo */
.hub-hero { padding: clamp(2.5rem, 8vw, 5rem) 0 2rem; text-align: center; }
.hub-hero h1 { font-family: var(--display); font-size: clamp(2.1rem, 6.5vw, 4rem); font-weight: 700; max-width: 18ch; margin-inline: auto; letter-spacing: -0.035em; }
.hub-hero h1 em { font-style: normal; background: linear-gradient(90deg, #2b59c3, #db2777 50%, #b45309); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hub-hero .sub { color: var(--ink-2); max-width: 58ch; margin: 1rem auto 0; font-size: 1.08rem; }
.hub-hero .eyebrow { justify-content: center; color: var(--ink-2); }
.hub-search {
  display: flex; align-items: center; gap: .6rem; max-width: 560px; margin: 1.75rem auto 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: .35rem .5rem .35rem 1rem;
  box-shadow: var(--shadow); color: var(--ink-3);
}
.hub-search:focus-within { border-color: var(--ink-3); }
.hub-search input { flex: 1; border: 0; background: none; padding: .7rem 0; font-size: 1.02rem; color: var(--ink); min-width: 0; }
.hub-search input:focus { outline: none; }
.hub-group { margin-top: 2.25rem; }
.hub-group h2 { font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: .8rem; }
.hub .tool-link { padding: 1.15rem 1.2rem; }
.hub .tool-link b { font-size: 1.05rem; }
