.hf-workspace { max-width: 1080px; margin: auto; padding: 2rem 1.25rem 4rem; color: #17334a; }
.hf-heading { position: relative; padding: 1rem 0 2rem; overflow: hidden; }
.hf-heading h1 { position: relative; font-size: clamp(2.2rem, 5vw, 3.5rem); margin: .4rem 0; max-width: 800px; }
.hf-heading p { position: relative; max-width: 760px; }
.hf-eyebrow { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hf-watermark { position: absolute; width: 210px; right: 0; top: 0; opacity: .06; }
.hf-urgent { border-left: 5px solid #a93636; background: #fff1ec; padding: 1.2rem; margin-bottom: 1.5rem; }
.hf-urgent h2 { margin-top: 0; }
.hf-help, .hf-fallback { padding: 1rem 1.25rem; margin: 1rem 0; background: #f4efe5; border: 1px solid #d8d0c1; }
.hf-help summary { cursor: pointer; font-weight: 700; }
.hf-privacy, .hf-source-note { color: #455967; font-size: .95rem; }
.hf-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.hf-filters label { display: flex; flex-direction: column; font-weight: 600; gap: .4rem; min-width: 0; }
.hf-filters select, .hf-filters input { width: 100%; min-width: 0; min-height: 48px; font: inherit; padding: .55rem; background: white; color: #17334a; border: 1px solid #81919c; border-radius: 3px; }
.hf-workspace button { min-height: 44px; padding: .65rem 1rem; font: inherit; border: 1px solid #17334a; border-radius: 3px; background: #17334a; color: white; cursor: pointer; }
.hf-workspace :focus-visible { outline: 3px solid #b14139; outline-offset: 3px; }
.hf-card { border: 1px solid #ccc9c1; padding: 1.2rem; margin: 1rem 0; border-radius: 4px; background: #fff; overflow-wrap: anywhere; }
.hf-card h3 { margin: .3rem 0 .75rem; font-size: 1.35rem; }
.hf-card p { margin: .65rem 0; }
.hf-card .hf-badge { font-weight: 700; color: #675135; }
.hf-contact { display: inline-block; margin: .3rem 1rem .3rem 0; min-height: 30px; }
.hf-card details { margin-top: .8rem; }
.hf-workspace [hidden] { display: none !important; }
@media (max-width: 650px) { .hf-filters { grid-template-columns: 1fr; } .hf-workspace { padding: 1rem .85rem 3rem; } }
