/* Hub-only directory layout; shared profile recommendation cards retain their design. */
.hub-page main { padding-bottom:0; }
.hub-page .breadcrumb { padding-block:14px 12px; }
.hub-page .directory-hero { display:block; padding:36px 40px; background:var(--field-lavender-light); border:1px solid var(--ink); }
.hub-page .hub-heading { max-width:780px; }
.hub-page .hub-heading>.eyebrow { display:flex; align-items:center; gap:9px; color:var(--ink); font-size:12px; line-height:1.5; }
.hub-page .hub-heading>.eyebrow::before { content:''; width:22px; height:4px; background:var(--field-vermilion); flex:none; }
.hub-page .directory-hero h1 { font:500 44px/1.1 var(--serif); letter-spacing:-1px; margin:8px 0 10px; color:var(--ink); }
.hub-page .directory-intro { max-width:760px; margin:0; font-size:16px!important; line-height:1.5; color:var(--ink); }
.hub-page .hub-directory { margin:0 auto; padding:28px 0 44px; }
.hub-page .directory-section-heading { margin:0 0 18px; }
.hub-page .directory-section-heading h2 { font:500 32px/1.15 var(--serif); margin:6px 0 0; color:var(--ink); }
.hub-page .hub-box-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:18px; margin:0; }
.hub-page .directory-box { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:18px; padding:16px; background:var(--paper); border:1px solid var(--ink); box-shadow:none; align-items:center; min-width:0; }
.hub-page .hub-card-image { width:100%; height:132px; min-height:0; padding:3px; border:1px solid var(--ink); background:var(--field-lavender-light); }
.hub-page .hub-card-image .profile-logo-area { width:100%; height:100%; margin:0; padding:0; min-width:0; }
.hub-page .hub-card-image .profile-logo-area img { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; object-position:center; }
.hub-page .hub-image-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:4px; color:var(--ink); text-align:center; overflow-wrap:anywhere; }
.hub-page .hub-image-placeholder strong { font:700 14px/1.3 var(--sans); }
.hub-page .hub-image-placeholder>span { font:400 11px/1.4 var(--sans); }
.hub-page .hub-card-content { min-width:0; align-self:stretch; }
.hub-page .directory-box h3 { font:500 24px/1.15 var(--serif); margin:0 0 8px; min-height:0; letter-spacing:-.3px; color:var(--ink); overflow-wrap:anywhere; }
.hub-page main .hub-card-description { font-size:15px!important; line-height:1.5; margin:0 0 12px; color:var(--ink); }
.hub-page .directory-box-action { display:flex; justify-content:center; align-items:center; align-self:flex-start; width:150px; max-width:100%; min-height:44px; padding:9px 12px; margin-top:auto; border:1px solid var(--cta); background:var(--cta); color:#fff; font:700 14px/1.4 var(--sans); text-align:center; }
.hub-page .directory-box-action:hover { background:var(--cta-hover); color:#fff; text-decoration:none; }
@media(max-width:1199px) {
 .hub-page .directory-hero { padding:32px; }
 .hub-page .directory-hero h1 { font-size:40px; }
 .hub-page .directory-box { padding:14px; gap:14px; }
 .hub-page .hub-card-image { height:120px; }
 .hub-page .directory-box h3 { font-size:23px; }
}
@media(max-width:959px) {
 .hub-page .directory-hero { padding:28px; }
 .hub-page .hub-box-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .hub-page .directory-box { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
}
@media(max-width:719px) {
 .hub-page .breadcrumb { padding-block:12px 10px; }
 .hub-page .directory-hero { padding:22px; }
 .hub-page .hub-heading>.eyebrow { font-size:11px; gap:7px; }
 .hub-page .directory-hero h1 { font-size:32px; letter-spacing:-.6px; }
 .hub-page .directory-intro { font-size:14px!important; line-height:1.5; }
 .hub-page .hub-directory { padding:24px 0 32px; }
 .hub-page .directory-section-heading { margin-bottom:14px; }
 .hub-page .directory-section-heading h2 { font-size:28px; }
 .hub-page .hub-box-grid { gap:12px; }
 .hub-page .directory-box { grid-template-columns:88px minmax(0,1fr); gap:12px; padding:12px; }
 .hub-page .hub-card-image { height:104px; padding:2px; }
 .hub-page .directory-box h3 { font-size:21px; margin-bottom:6px; }
 .hub-page main .hub-card-description { font-size:13px!important; line-height:1.5; margin-bottom:10px; }
 .hub-page .directory-box-action { width:100%; font-size:13px; }
 .hub-page .hub-image-placeholder strong { font-size:12px; }
}
@media(max-width:359px) {
 .hub-page .directory-box { grid-template-columns:72px minmax(0,1fr); padding:10px; gap:10px; }
 .hub-page .directory-box h3 { font-size:20px; }
 .hub-page .hub-card-image { height:96px; }
 .hub-page .hub-image-placeholder strong { font-size:11px; }
 .hub-page .directory-hero { padding:22px 18px; }
 .hub-page .directory-hero h1 { font-size:30px; }
}
