/* Shared public component rhythm. Branded route/social/job controls keep their colors. */
.public-site{--public-border:#dce5f0;--public-soft:#f6f8fc;--public-muted:#536985;--public-radius:14px;--public-control:10px}
.public-site main .button{min-height:44px;border-radius:var(--public-control);font-size:13px;line-height:1.8;padding:10px 16px;gap:8px;white-space:normal;text-align:center}
.public-site main .button .icon{width:18px;height:18px;flex-shrink:0}
.public-site main .button.outline{border-color:#c7d5e6}
.public-site main .button.outline:hover{border-color:#90a9c7;background:#f0f5fb}
.public-site main .button.accent{background:#bd5300;border-color:#bd5300;color:#fff}
.public-site main .button.accent:hover{background:#a94400;border-color:#a94400}
.public-site main .button-row{gap:10px;align-items:stretch}
.public-site main .page-heading{margin-bottom:24px}
.public-site main .page-heading h1{font-size:30px;line-height:1.65;overflow-wrap:anywhere}
.public-site main .page-heading p{font-size:14px;line-height:1.9;color:var(--public-muted);margin-top:8px}
.public-site main .section-heading{gap:12px;align-items:center;flex-wrap:wrap}
.public-site main .section-heading h2{font-size:22px;line-height:1.7}
.public-site main .section-heading .text-link{font-size:13px;min-height:44px}
.public-site main :where(.pf-section,.estate-main>.panel,.estate-rail>.panel){border:1px solid var(--public-border);border-radius:var(--public-radius);background:#fff}
.public-site main :where(.pf-section,.estate-profile) .section-heading h2{font-size:18px}
.public-site .factory-card.factory-card--compact{border-color:var(--public-border);border-radius:var(--public-radius);box-shadow:0 2px 8px #002b6605}
.public-site .factory-card.factory-card--compact:is(:hover,:focus-within){border-color:#a7bad3;box-shadow:0 4px 14px #002b660a}
.public-site .factory-card--compact .factory-card-media{border-radius:13px 13px 0 0}
.public-site .factory-card--compact .factory-card-body{padding:40px 16px 16px}
.public-site .factory-card--compact .industry-chip{font-size:12px;border-radius:6px}
.public-site .factory-card--compact .factory-card-meta{padding:10px 16px;background:#fafbfd;border-radius:0 0 13px 13px}
.public-site main .empty-state{padding:32px 24px;border:1px dashed #b9cbe1;border-radius:var(--public-radius);background:var(--public-soft)}
.public-site main .empty-state h2{font-size:20px;line-height:1.8}
.public-site main .empty-state p{font-size:14px;color:var(--public-muted);line-height:1.9}
.public-site main .notice:not(.error):not(.success){border:1px solid #c6d8ee;border-radius:12px;background:#f0f6fd;padding:16px 18px;font-size:14px;line-height:1.9;gap:12px}
.public-site main .breadcrumbs{gap:8px;font-size:12px;line-height:1.8;flex-wrap:wrap}
.public-site main .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
.public-site main :where(a,button,summary):focus-visible{outline:2px solid var(--navy);outline-offset:3px}
@media(max-width:699px){.public-site main .page-heading{margin-bottom:20px}.public-site main .page-heading h1{font-size:25px}.public-site main .section-heading h2{font-size:20px}.public-site main :where(.pf-section,.estate-profile) .section-heading h2{font-size:18px}.public-site main .notice{padding:14px;font-size:13px}.public-site main .empty-state{padding:24px 16px}.public-site main .breadcrumbs{font-size:11px}.public-site main .section-heading .text-link{font-size:12px}}

/* Keep result actions together opposite the count; wrap as a group on phones. */
.public-site .results-heading{gap:16px;margin-block:24px 20px}
.public-site .results-heading h2{margin:0}
.public-site .results-actions{display:flex;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin-inline-start:auto}
@media(max-width:599px){.public-site .results-actions{width:100%;margin-inline-start:0}.public-site .results-actions>a{flex:1 1 130px;font-size:12px;padding:8px 10px}}
