.specialties-page { color: #14213d; }
.specialties-page .specialties-hero{padding:20px 0 10px;overflow:visible;border-radius:0;box-shadow:none}
.specialties-page .specialties-breadcrumb{margin-bottom:8px;font-size:10px}
.specialties-page .specialties-hero h1{font-size:clamp(24px,2.6vw,32px);line-height:1.5;margin:6px 0}
.specialties-page .specialties-hero-grid{gap:28px;min-height:0}
.specialties-page .specialties-guide{border:0;background:none;box-shadow:none;padding:0;border-radius:0}
.specialties-page .specialties-totals{gap:20px}
.specialties-page .specialties-totals>span+span{border-inline-start:1px solid #eadfd7;padding-inline-start:20px}
.specialties-page .specialties-totals b{font-size:28px}
.specialties-page .specialties-hero-tools>.specialties-search:not(.is-fixed){margin:14px 0 8px;padding:5px 10px;border-radius:12px;box-shadow:none}
.specialties-page .specialties-search input{font-size:14px}
.specialties-page .specialties-search button{min-height:36px;padding:7px 14px;border-radius:9px;font-size:11px}
.specialties-page .specialties-hero-results-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0}
.specialties-page .specialties-results-heading{margin:0;padding:0}
.specialties-page .specialties-results-heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.specialties-page .specialties-results-heading h2{font-size:17px;margin:0;line-height:1.6}
.specialties-page .specialties-results-heading p{font-size:10px;color:#7c8490}
.specialties-page .specialties-filter-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:5px 8px;margin:0;border:1px solid #e8ded6;border-radius:12px;background:#ffffffb3;box-shadow:none}
.specialties-page .specialties-filter-caption{font-size:10px;gap:4px}
.specialties-page .specialties-filter-toolbar .specialties-tabs{margin:0;gap:3px;padding:0}
.specialties-page .specialties-filter-toolbar .specialties-tabs a{min-height:32px;padding:5px 9px;font-size:10px;border-radius:8px}
.specialties-page .specialties-filter-toolbar .specialties-reset{min-height:32px;padding:5px 8px;font-size:10px}
.specialties-page .specialties-content{padding-top:16px}
@media(max-width:760px){.specialties-page .specialties-hero{padding-top:16px}.specialties-page .specialties-hero-grid{gap:12px}.specialties-page .specialties-hero h1{font-size:25px}.specialties-page .specialties-totals b{font-size:21px}.specialties-page .specialties-hero-results-bar{flex-wrap:wrap;gap:8px}.specialties-page .specialties-filter-toolbar{width:100%;box-sizing:border-box}.specialties-page .specialties-filter-caption{display:none}.specialties-page .specialties-filter-toolbar .specialties-tabs{flex-wrap:wrap;overflow:visible}.specialties-page .specialties-hero-tools>.specialties-search:not(.is-fixed){margin-top:12px}.specialties-page .specialties-content{padding-top:12px}}
.specialties-hero {
    padding: 24px 0 28px;
    background: linear-gradient(115deg, #fff, #fff7f1);
    border-bottom: 1px solid #edeef2;
}
.specialties-hero-grid { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; }
.specialties-breadcrumb { margin-bottom: 16px; }
.specialties-eyebrow { color: #d94c00; }
.specialties-hero h1 { font-size: clamp(27px, 3vw, 38px); margin: 8px 0; letter-spacing: -.5px; }
.specialties-hero h1 strong { display: inline; color: #e65a08; }
.specialties-hero p { margin: 0; font-size: 13px; }
.specialties-guide { padding: 0; border: 0; background: transparent; box-shadow: none; }
.specialties-totals { display: flex; gap: 24px; padding: 0; border: 0; }
.specialties-totals > span { display: grid; gap: 3px; font-size: 11px; }
.specialties-totals b { font-size: 27px; color: #14213d; }
.specialties-content { padding-top: 22px; }
.specialties-search { position: relative; z-index: 2; padding: 10px 16px; margin-bottom: 24px; border-radius: 16px; }
.specialties-search input { font-size: 16px; }
.specialties-search input::placeholder { font-size: 13px; }
.specialties-search button, .specialties-primary { background: #ed5b08; min-height: 44px; }
.specialties-search button:hover, .specialties-primary:hover { background: #ce4900; }
.specialties-search:focus-within { border-color: #ff9c61; box-shadow: 0 0 0 3px #fff0e7; }
.specialties-group-picker { position: relative; flex: 0 0 auto; }
.specialties-group-picker > summary {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid #e0e6ef;
    border-radius: 12px;
    background: #fff;
    color: #42546d;
    cursor: pointer;
    list-style: none;
}
.specialties-group-picker > summary::-webkit-details-marker { display: none; }
.specialties-group-picker > summary:hover,
.specialties-group-picker[open] > summary { border-color: #ffb78c; background: #fff0e7; color: #bd4500; }
.specialties-group-picker > summary i { font-size: 22px; }
.specialties-group-menu {
    position: absolute;
    z-index: 10;
    top: calc(100% + 10px);
    inset-inline-end: 0;
    display: grid;
    width: min(320px, calc(100vw - 40px));
    max-height: min(60vh, 420px);
    gap: 4px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid #e0e6ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 35px #14213d24;
}
.specialties-group-menu a {
    display: flex;
    min-width: 0;
    min-height: 42px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 9px;
    color: #334155;
    font-size: 12px;
    text-decoration: none;
}
.specialties-group-menu a:hover,
.specialties-group-menu a[aria-current] { background: #fff0e7; color: #bd4500; }
.specialties-group-menu a > i { flex: 0 0 auto; font-size: 19px; }
.specialties-group-menu a > span { flex: 1; }
.specialties-group-menu a > b { padding: 3px 7px; border-radius: 7px; background: #f1f3f6; color: #64748b; font-size: 10px; }
.specialties-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
.specialties-sidebar { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.specialties-sidebar > h2 { display: block; margin: 0 0 12px; font-size: 13px; }
.specialties-sidebar > nav {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 2px 2px 8px;
}
.specialties-sidebar nav a {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid #e0e6ef;
    border-radius: 12px;
    background: #fff;
    font-size: 12px;
    white-space: nowrap;
}
.specialties-sidebar nav a[aria-current], .specialties-sidebar nav a:hover {
    background: #fff0e7;
    border-color: #ffb78c;
    color: #bd4500;
}
.specialties-sidebar nav b { font-size: 10px; }
.specialties-results-heading h2 { font-size: 24px; color: #14213d; }
.specialties-kicker { color: #d94c00; }
.specialties-results-heading p { font-size: 12px; }
.specialties-tabs { display: flex; gap: 8px; margin: 16px 0 20px; }
.specialties-tabs a { min-height: 40px; font-size: 11px; padding: 8px 14px; }
.specialties-tabs a[aria-current] { background: #fff0e7; border-color: #ffb78c; color: #bd4500; }
.specialties-filter-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 20px;
    padding: 10px 12px;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    background: #fff;
}
.specialties-filter-caption {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    color: #566579;
    font-size: 11px;
    font-weight: 800;
}
.specialties-filter-caption i { color: #ed5b08; font-size: 19px; }
.specialties-filter-toolbar .specialties-tabs {
    flex: 1;
    gap: 6px;
    margin: 0;
}
.specialties-filter-toolbar .specialties-tabs a {
    gap: 6px;
    border-color: transparent;
    background: #f6f7f9;
    white-space: nowrap;
}
.specialties-filter-toolbar .specialties-tabs a i { font-size: 17px; }
.specialties-filter-toolbar .specialties-tabs a[aria-current] {
    border-color: #ffd2b8;
    background: #fff0e7;
    color: #bd4500;
}
.specialties-filter-toolbar .specialties-reset {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
    margin-inline-start: auto;
    padding: 8px 10px;
    border-radius: 9px;
    color: #8a5360;
    font-size: 10px;
    font-weight: 700;
}
.specialties-filter-toolbar .specialties-reset:hover { background: #fff3f3; color: #b42318; }
.specialties-filter-toolbar .specialties-reset i { font-size: 16px; }
.specialties-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.specialties-grid-label { grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; margin: 4px 0 0; font-size: 15px; color: #334155; }
.specialties-grid-label > span { color: #ed5b08; font-size: 21px; }
.specialty-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 22px;
    border-radius: 18px;
    box-shadow: 0 5px 18px #14213d03;
    transition: border-color .2s, box-shadow .2s;
}
.specialty-card:hover { border-color: #ffb78c; box-shadow: 0 10px 28px #14213d0b; }
.specialty-card-top { display: flex; margin-bottom: 14px; }
.specialty-icon {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    font-size: 28px;
    background: #fff0e7;
    background: color-mix(in srgb, var(--specialty-accent, #ed5b08) 10%, white);
    color: var(--specialty-accent, #ed5b08);
}
.specialty-popular { display: inline-flex; padding: 5px 8px; font-size: 9px; background: #fff0e7; color: #bd4500; }
.specialty-group { font-size: 10px; }
.specialty-card h3 { margin: 5px 0 6px; font-size: 17px; line-height: 1.8; }
.specialty-card > p {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: none;
    margin: 0 0 16px;
    font-size: 12px;
    line-height: 1.9;
    color: #64748b;
}
.specialty-availability { margin-top: auto; padding-bottom: 16px; font-size: 11px; line-height: 1.8; }
.specialty-card footer { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 0; padding-top: 14px; }
.specialty-card footer a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; border-radius: 10px; }
.specialty-card footer a:first-child { flex: 1; padding: 8px 12px; color: #fff; background: #ed5b08; }
.specialty-card footer a:first-child:hover { background: #ce4900; }
.specialty-card footer a:last-child { padding: 8px; color: #bd4500; background: transparent; }
.specialties-help {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    padding: 26px;
    border: 1px solid #ffd9c2;
    border-radius: 18px;
    background: #fff4ec;
}
.specialties-help > span { font-size: 36px; color: #ed5b08; }
.specialties-help > div { flex: 1; }
.specialties-help h2 { font-size: 18px; margin: 0 0 6px; }
.specialties-help p { font-size: 12px; line-height: 1.9; margin: 0; color: #64748b; }
.specialties-join { margin-top: 16px; background: transparent; }
.specialties-join > span { color: #64748b; }
.specialties-join .specialties-primary { color: #334155; background: #e9eef5; }
.specialties-page a:focus-visible, .specialties-page button:focus-visible, .specialties-page summary:focus-visible { outline-color: #155eef; }
@media (max-width: 1000px) {
    .specialties-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .specialties-hero { padding: 16px 0 20px; }
    .specialties-hero-grid { grid-template-columns: 1fr; gap: 15px; }
    .specialties-hero h1 { font-size: 27px; }
    .specialties-hero p { font-size: 12px; }
    .specialties-totals { gap: 22px; }
    .specialties-totals > span { display: flex; align-items: center; gap: 7px; font-size: 10px; }
    .specialties-totals b { font-size: 19px; }
    .specialties-search { padding: 7px 10px; margin-bottom: 20px; }
    .specialties-layout { gap: 18px; }
    .specialties-results-heading h2 { font-size: 21px; }
    .specialties-tabs a { font-size: 10px; padding: 8px 10px; }
    .specialties-filter-toolbar { align-items: flex-start; gap: 8px; padding: 10px; }
    .specialties-filter-caption { width: 100%; }
    .specialties-filter-toolbar .specialties-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
    .specialties-filter-toolbar .specialties-tabs a { min-height: 36px; padding: 7px 10px; }
    .specialties-filter-toolbar .specialties-reset { margin-inline-start: 0; }
    .specialties-grid { grid-template-columns: 1fr; gap: 12px; }
    .specialty-card { padding: 18px; }
    .specialty-card-top { margin-bottom: 10px; }
    .specialty-card h3 { font-size: 16px; }
    .specialties-help { flex-wrap: wrap; padding: 20px; gap: 14px; }
    .specialties-help > div { flex-basis: 70%; }
    .specialties-help h2 { font-size: 16px; }
    .specialties-help .specialties-primary { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .specialty-card { transition: none; }
}
