.layout-procurement {}
.procurement-shell { min-height:100vh; background:var(--theme-surface); color:var(--text-body); }
.procurement-header, .procurement-main, .procurement-footer { max-width:var(--content-max-width); margin:0 auto; padding-inline:16px; }
.procurement-header { padding-top:28px; padding-bottom:12px; }
.procurement-footer { padding:24px 16px 48px; border-top:1px solid var(--border-color); font-size:0.85rem; }
.procurement-main { padding-bottom:40px; }
.procurement-kicker { margin:0 0 6px; font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--theme-primary); font-weight:600; }
.procurement-header h1 { margin:0; font-family:var(--font-display); font-size:clamp(1.35rem,2.5vw,1.85rem); line-height:1.15; }
.procurement-tag { margin:8px 0 0; color:var(--text-muted); font-size:0.9rem; max-width:60ch; }
.procurement-intro { margin:20px 0 24px; padding:18px 20px; border:1px solid var(--border-color); border-radius:var(--radius-panel); background:var(--theme-card); }
.procurement-intro h2 { margin:0 0 8px; font-family:var(--font-display); font-size:1.1rem; }
.procurement-intro p { margin:0; color:var(--text-muted); font-size:0.92rem; max-width:72ch; }
.procurement-about { margin-top:28px; padding:18px 20px; border:1px solid var(--border-color); border-radius:var(--radius-panel); background:color-mix(in srgb,var(--theme-card) 80%, transparent); font-size:0.9rem; color:var(--text-muted); }
.procurement-about h2 { margin:0 0 10px; font-family:var(--font-display); font-size:1rem; color:var(--text-body); }
.procurement-shell h1 a { text-decoration:none; color:inherit; }
.layout-procurement .lang-toggle-btn { color:var(--text-body); appearance:none; -webkit-appearance:none; background:color-mix(in srgb,var(--text-body) 14%,var(--theme-surface)); border-color:color-mix(in srgb,var(--text-body) 32%,var(--border-color)); }

.hub-nav-toolbar { margin-bottom:18px; }
.hub-search { width:100%; max-width:420px; padding:10px 14px; border-radius:var(--radius-card); border:1px solid var(--border-color); background:var(--theme-card); color:var(--text-body); font:inherit; font-size:0.9rem; }
.hub-section-heading { margin:0 0 14px; font-family:var(--font-display); font-size:1.25rem; }
.hub-common { margin-bottom:32px; padding-bottom:28px; border-bottom:2px solid color-mix(in srgb,var(--theme-primary) 25%,var(--border-color)); }
.hub-industries { margin-top:8px; }
.hub-block-list { display:grid; gap:12px; }
.hub-block { border:1px solid var(--border-color); border-radius:var(--radius-card); background:var(--theme-card); padding:14px 16px 16px; }
.hub-block.is-hidden { display:none; }
.hub-block--public { border-inline-start:3px solid var(--theme-primary); }
.hub-block--industry { border-inline-start:3px solid color-mix(in srgb,var(--theme-accent) 70%, var(--border-color)); }
.hub-block-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; font-family:var(--font-display); font-size:1rem; font-weight:600; }
.hub-industry-count { font-size:0.72rem; font-weight:500; color:var(--text-muted); padding:2px 8px; border-radius:999px; border:1px solid var(--border-color); flex-shrink:0; }
.hub-jump { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; max-height:10rem; overflow:auto; padding:10px; border:1px solid var(--border-color); border-radius:var(--radius-card); background:var(--theme-card); }
.hub-jump-link { text-decoration:none; font-size:0.72rem; line-height:1.2; padding:4px 8px; border-radius:999px; border:1px solid color-mix(in srgb,var(--text-body) 18%,var(--border-color)); color:var(--text-muted); white-space:nowrap; }
.hub-jump-link:hover { color:var(--theme-primary); border-color:var(--theme-primary); }
.hub-link-grid { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.hub-link-grid li.is-hidden { display:none; }
.hub-link { display:inline-block; text-decoration:none; font-size:0.82rem; line-height:1.25; padding:6px 11px; border-radius:999px; border:1px solid color-mix(in srgb,var(--text-body) 16%,var(--border-color)); color:var(--text-body); background:color-mix(in srgb,var(--text-body) 4%, transparent); transition:border-color .15s,color .15s,background .15s; }
.hub-link:hover { border-color:var(--theme-primary); color:var(--theme-primary); background:color-mix(in srgb,var(--theme-primary) 10%, transparent); }
.hub-common.is-hidden, .hub-industries.is-hidden { display:none; }

@media (max-width:720px) {
  .hub-search { max-width:none; width:100%; }
}
