/* Results-type category hubs */
.nobr { white-space: nowrap; }
.cjk-headline { word-break: keep-all; line-break: strict; }
.hh-hub-body { background: var(--hh-paper-2, #f7f2eb); }
.hh-hub-hero {
 padding: clamp(2.4rem, 5vw, 4.2rem) 0 clamp(1.8rem, 3vw, 2.6rem);
 background:
 radial-gradient(ellipse 80% 60% at 100% 0%, rgba(255, 130, 45, 0.12), transparent 55%),
 linear-gradient(180deg, #fbf7f1 0%, #f3ebe2 100%);
 border-bottom: 1px solid var(--hh-line, rgba(42,34,28,.12));
}
.hh-hub-hero .hh-kicker {
 margin: 0 0 .75rem;
 color: #a84a0a;
 letter-spacing: .16em;
 font-weight: 600;
 font-size: .78rem;
}
.hh-hub-hero h1 {
 margin: 0 0 1rem;
 max-width: 14em;
 font-family: var(--hh-serif);
 font-weight: 500;
 font-size: clamp(1.85rem, 3.2vw, 2.55rem);
 line-height: 1.28;
 letter-spacing: .02em;
 color: var(--hh-ink);
 word-break: keep-all;
 line-break: strict;
}
.hh-hub-hero__lead {
 margin: 0;
 max-width: 40rem;
 color: var(--hh-ink-soft, #4a423c);
 font-size: 1.02rem;
 line-height: 1.85;
}
.hh-hub-section { padding: clamp(2.4rem, 5vw, 3.8rem) 0; }
.hh-hub-section--tint { background: rgba(255,255,255,.55); }
.hh-hub-section__head {
 display: grid;
 gap: .85rem;
 margin-bottom: 1.6rem;
 max-width: 42rem;
}
.hh-hub-section__head h2 {
 margin: 0;
 font-family: var(--hh-serif);
 font-weight: 500;
 font-size: clamp(1.35rem, 2.2vw, 1.75rem);
 letter-spacing: .04em;
 line-height: 1.35;
 word-break: keep-all;
}
.hh-hub-section__head p {
 margin: 0;
 color: var(--hh-ink-soft, #4a423c);
 line-height: 1.8;
}
.hh-hub-points {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 1rem;
}
.hh-hub-point {
 padding: 1.25rem 1.2rem 1.35rem;
 border-top: 2px solid var(--hh-orange, #ff822d);
 background: var(--hh-paper, #fff);
}
.hh-hub-point h3 {
 margin: 0 0 .55rem;
 font-family: var(--hh-serif);
 font-size: 1.05rem;
 font-weight: 500;
 letter-spacing: .05em;
}
.hh-hub-point p {
 margin: 0;
 color: var(--hh-ink-soft, #4a423c);
 font-size: .94rem;
 line-height: 1.75;
}
.hh-hub-expect {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 1.25rem 2rem;
}
.hh-hub-expect article {
 padding: 0 0 0 1rem;
 border-left: 2px solid rgba(255,130,45,.35);
}
.hh-hub-expect h3 {
 margin: 0 0 .45rem;
 font-family: var(--hh-serif);
 font-size: 1.02rem;
 font-weight: 500;
}
.hh-hub-expect p, .hh-hub-expect ul {
 margin: 0;
 color: var(--hh-ink-soft, #4a423c);
 font-size: .95rem;
 line-height: 1.75;
}
.hh-hub-expect ul { padding-left: 1.1rem; }
.hh-hub-expect li + li { margin-top: .35rem; }
.hh-hub-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: .85rem;
}
.hh-hub-card {
 display: flex;
 flex-direction: column;
 gap: .55rem;
 padding: 1.15rem 1.1rem 1.2rem;
 border: 1px solid var(--hh-line, rgba(42,34,28,.14));
 border-radius: 14px;
 background: var(--hh-paper, #fff);
 text-decoration: none;
 color: inherit;
 transition: border-color .2s ease, transform .2s ease;
}
.hh-hub-card:hover,
.hh-hub-card:focus-visible {
 border-color: var(--hh-orange, #ff822d);
 transform: translateY(-2px);
 text-decoration: none;
}
.hh-hub-card__tag {
 font-size: .72rem;
 letter-spacing: .12em;
 color: #a84a0a;
 font-weight: 600;
}
.hh-hub-card h3 {
 margin: 0;
 font-family: var(--hh-serif);
 font-size: 1.02rem;
 font-weight: 500;
 line-height: 1.4;
}
.hh-hub-card p {
 margin: 0;
 flex: 1;
 color: var(--hh-ink-soft, #4a423c);
 font-size: .9rem;
 line-height: 1.65;
}
.hh-hub-card__more {
 font-size: .84rem;
 font-weight: 600;
 color: var(--hh-orange, #ff822d);
}
.hh-hub-visual {
 display: grid;
 grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
 gap: 1.5rem 2rem;
 align-items: center;
}
.hh-hub-visual figure { margin: 0; }
.hh-hub-visual img {
 width: 100%;
 aspect-ratio: 4 / 3;
 object-fit: cover;
 border-radius: 18px;
 background: #efe8e1;
}
.hh-hub-visual figcaption {
 margin-top: .55rem;
 font-size: .8rem;
 color: var(--hh-muted);
 letter-spacing: .04em;
}
@media (max-width: 900px) {
 .hh-hub-points,
 .hh-hub-expect,
 .hh-hub-visual { grid-template-columns: 1fr; }
 .hh-hub-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
 .hh-hub-grid { grid-template-columns: 1fr; }
}
