.velbert-page .finder-administrative-label { border-color: #4b829f; background: #163141; color: #b4dfff; }
.velbert-page .velbert-primary { padding-bottom: 18px; }
.velbert-page .velbert-primary a { color: #c8eaff; text-underline-offset: 4px; }
.velbert-page .velbert-official-map { display: inline-flex; min-height: 48px; margin: 14px 0 4px; white-space: normal; font-size: 1rem; }
.velbert-workspace { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 24px; align-items: start; }
.velbert-card { min-width: 0; padding: clamp(22px,3vw,34px); border: 1px solid #456679; border-top: 4px solid #8fcaf2; border-radius: 10px; background: #10202a; }
.velbert-page .velbert-card h2 { margin: 16px 0; font: 700 clamp(1.65rem,2.6vw,2.3rem)/1.2 var(--heading,sans-serif); }
.velbert-card p { color: #d0dfe6; font-size: 1rem; line-height: 1.65; }
.velbert-card .velbert-status { display: inline-block; margin: 0; padding: 7px 12px; border: 1px solid #4b829f; border-radius: 999px; background: #1a394b; color: #ccecff; font-size: .875rem; font-weight: 700; }
.velbert-card .button { margin-top: 10px; max-width: 100%; min-height: 52px; white-space: normal; text-align: left; }
.velbert-card .velbert-external-note { margin: 10px 0 0; font-size: .875rem; color: #b2c7d3; }
.velbert-availability { margin-top: 28px; padding: 20px; border-left: 3px solid #8fcaf2; background: #192f3b; }
.velbert-availability strong { font-size: 1rem; color: #ecf6fc; }
.velbert-availability p { margin: 8px 0 0; }
.velbert-contact { background: #111e1a; border-color: #496754; border-top-color: #91bd72; }
.velbert-contact-list { display: grid; gap: 10px; margin-top: 24px; }
.velbert-contact-list a { display: grid; gap: 5px; min-height: 48px; padding: 16px 18px; border: 1px solid #496754; border-radius: 8px; background: #1b2e23; text-decoration: none; color: #e5f0df; overflow-wrap: anywhere; }
.velbert-contact-list a:hover { background: #29422e; border-color: #a2cd77; }
.velbert-contact-list a:focus-visible { outline: 3px solid #c2e891; outline-offset: 3px; }
.velbert-contact-list strong { font-size: 1.0625rem; }
.velbert-link-action { color: #bce18e; font-size: .875rem; }
.velbert-card .velbert-contact-note { margin: 18px 0 0; font-size: .9375rem; }
@media (max-width: 1000px) { .velbert-workspace { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 700px) { .velbert-workspace { gap: 18px; } .velbert-card { padding: 22px 18px; } .velbert-availability { padding: 16px; } .velbert-card .button { width: 100%; justify-content: space-between; } }
.velbert-directory-jump { display: inline-flex; align-items: center; min-height: 48px; margin-top: 12px; color: #b8e2ff; }
.velbert-directory-heading { max-width: 850px; }
.velbert-directory-heading h2 { font: 700 clamp(1.8rem,3vw,2.8rem)/1.2 var(--heading,sans-serif); }
.velbert-directory-heading p, .velbert-directory-footnote { color: #c1d1d9; line-height: 1.65; }
.velbert-directory-notice { margin: 24px 0; padding: 18px 22px; background: #19313e; border-left: 3px solid #8fcaf2; color: #daebf4; line-height: 1.65; }
.velbert-directory-notice strong { display: block; margin-bottom: 4px; color: #eef7fc; }
.velbert-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.velbert-person { min-width: 0; padding: 24px; border: 1px solid #3b596a; border-radius: 12px; background: #13232c; }
.velbert-district-id { display: inline-block; padding: 6px 10px; border-radius: 6px; background: #23475d; color: #c8eaff; font-weight: 700; }
.velbert-person h3 { color: #f0f7fb; font-size: 1.25rem; line-height: 1.4; margin: 14px 0 5px; overflow-wrap: anywhere; }
.velbert-person p { color: #b7cedb; line-height: 1.6; margin: 0 0 14px; }
.velbert-person-links { display: grid; }
.velbert-person-links a { display: flex; align-items: center; min-height: 48px; color: #c8eaff; border-bottom: 1px solid #314b5b; text-underline-offset: 4px; overflow-wrap: anywhere; }
.velbert-person-links a:hover, .velbert-directory-jump:hover { color: #fff; }
.velbert-person-links a:focus-visible, .velbert-directory-jump:focus-visible { outline: 3px solid #c2e891; outline-offset: 3px; }
.velbert-person .velbert-person-note { margin: 16px 0 0; padding-top: 8px; color: #f0d9ae; font-size: .875rem; }
#directory-title { scroll-margin-top: 120px; }
@media (max-width: 1100px) { .velbert-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .velbert-directory-grid { grid-template-columns: minmax(0,1fr); } .velbert-person { padding: 20px; } .velbert-directory-notice { padding: 16px; } }
