/* Blog hub only. Cards are readable without JavaScript or reveal effects. */
/* This hub already has its own editable project CTA. Avoid two consecutive pitches. */
.bh-hub + .closing-cta{display:none}
.bh-hub{--bh-line:#ffffff29;--bh-muted:#b7b7ae;background:#0a0a0a;color:#f7f7f2}
.bh-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:64px;align-items:center;padding:40px max(5vw,24px);background:#151515;color:#f7f7f2;border-bottom:1px solid #ffffff29}.bh-hero .bh-eyebrow{color:var(--signal,#f5f541)}
.bh-eyebrow{margin:0 0 20px;font-family:var(--font-mono);font-size:11px;line-height:1.6;letter-spacing:.055em;text-transform:uppercase}
.bh-hero h1{max-width:720px;margin:0;font-family:var(--font-display);font-size:clamp(30px,3.3vw,44px);line-height:1.1;letter-spacing:-.05em;text-wrap:balance}
.bh-intro{max-width:650px;margin:18px 0 0;font-size:14px;line-height:1.75;color:var(--bh-muted)}
.bh-brand{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0}.bh-brand img{display:block;width:100%;height:auto;object-fit:contain}
.bh-library{max-width:1360px;margin:0 auto;padding:36px max(5vw,24px) 48px}
.bh-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}.bh-heading .bh-eyebrow{color:var(--signal);margin-bottom:12px}
.bh-heading h2,.bh-closing h2{margin:0;font-family:var(--font-display);font-size:clamp(24px,2.3vw,30px);line-height:1.14;letter-spacing:-.045em;text-wrap:balance}.bh-total{flex-shrink:0;margin:0;color:var(--bh-muted);font-size:13px}
.bh-search{display:flex;align-items:flex-end;gap:16px;padding:22px 0 30px;border-top:1px solid var(--bh-line);margin-bottom:2px}.bh-search label{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:12px;color:#cecec6}.bh-search label:first-child{flex:1}
.bh-search input,.bh-search select{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #ffffff40;border-radius:0;background:#171717;color:#fff;padding:12px 14px;font:14px var(--font-body);max-width:100%}.bh-search select{min-width:220px;color-scheme:dark}
.bh-search button{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 20px;background:var(--signal);color:#111;border:1px solid var(--signal);font:700 13px var(--font-body);cursor:pointer}.bh-search input::placeholder{color:#aaa}.bh-reset{align-self:center;font-size:12px;color:var(--signal);text-decoration:underline}
.bh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.bh-card{min-width:0;background:#151515;border:1px solid var(--bh-line)}.bh-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.bh-card__image{aspect-ratio:16/9;overflow:hidden;background:#222}.bh-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}.bh-card__image--brand{display:flex;align-items:center;justify-content:center;background:#222}.bh-card__image--brand img{width:65%;height:auto;object-fit:contain}
.bh-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.bh-card__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:10px;line-height:1.6;color:#b7b7ae;text-transform:uppercase}.bh-card__meta>span{color:var(--signal)}
.bh-card h3{font-family:var(--font-display);font-size:clamp(21px,1.6vw,23px);line-height:1.2;letter-spacing:-.035em;margin:16px 0 12px;overflow-wrap:anywhere}.bh-card__body>p{margin:0 0 20px;color:var(--bh-muted);font-size:13px;line-height:1.7}
.bh-card__footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:20px;border-top:1px solid var(--bh-line);font-size:12px;font-weight:700}.bh-card__footer small{color:var(--bh-muted);font-size:11px;font-weight:400}
.bh-card:hover{border-color:#f5f58080}.bh-card:hover h3{color:var(--signal)}.bh-card:hover img{transform:scale(1.025)}.bh-hub :is(a,button,input,select):focus-visible{outline:3px solid var(--signal);outline-offset:4px}
.bh-pagination{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:36px;padding-top:24px;border-top:1px solid var(--bh-line);font-size:12px;color:var(--bh-muted)}.bh-pagination nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.bh-pagination a{padding:12px 16px;border:1px solid var(--bh-line);color:#fff}.bh-pagination a:hover{border-color:var(--signal);color:var(--signal)}
.bh-empty{border:1px solid var(--bh-line);padding:48px 28px;text-align:center}.bh-empty h3{font-size:26px}.bh-empty p{color:var(--bh-muted)}.bh-empty a{color:var(--signal);text-decoration:underline}
.bh-closing{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:56px max(5vw,24px);background:#f4f4ee;color:#111}.bh-closing p:not(.bh-eyebrow){font-size:15px;line-height:1.8;margin:0 0 24px}.bh-closing a{display:inline-flex;align-items:center;gap:32px;padding:16px 22px;background:#111;color:#fff;font-weight:700;font-size:13px}
@media(min-width:1600px){.bh-library{padding-left:40px;padding-right:40px}}
@media(max-width:1000px){.bh-hero{grid-template-columns:1fr 160px;gap:30px}.bh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bh-search{flex-wrap:wrap}.bh-search label:first-child{min-width:45%}.bh-closing{gap:32px}}
@media(max-width:620px){.bh-hero{display:block;padding:28px 22px}.bh-brand{margin-top:24px;padding:0;max-width:150px}.bh-brand img{max-width:150px}.bh-intro{font-size:14px;margin-top:16px}.bh-hero .bh-eyebrow{font-size:9px}.bh-library{padding:30px 20px 38px}.bh-heading{display:block}.bh-total{margin-top:16px}.bh-search{display:grid;grid-template-columns:1fr;gap:14px}.bh-search select{min-width:0}.bh-reset{justify-self:start}.bh-grid{grid-template-columns:1fr;gap:20px}.bh-card__body{padding:20px}.bh-card h3{font-size:22px}.bh-pagination{align-items:flex-start;flex-direction:column}.bh-pagination nav{gap:12px}.bh-closing{grid-template-columns:1fr;gap:24px;padding:30px 22px}.bh-closing .bh-eyebrow{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.bh-card__image img{transition:none}.bh-card:hover img{transform:none}}
