/* Specialty directory: clinical workflows and the development catalogue. */
.specialties-hub { --specialty-accent:#167d8a; }
.specialties-hub [hidden] { display:none !important; }
.specialties-hub :is(h1,h2,h3) { font-family:var(--font-display); font-weight:600; letter-spacing:-.035em; text-wrap:pretty; }
.specialties-hub h2 { font-size:clamp(1.75rem,2.6vw,2.4rem); line-height:1.3; }
.specialties-hub a:focus-visible,.specialties-hub button:focus-visible,.specialties-hub summary:focus-visible { outline:2px solid #007cbd; outline-offset:4px; }
.specialties-hub .section-kicker { font-size:.75rem; line-height:1.8; }
.specialties-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; font-size:.75rem; color:var(--muted-foreground); }
.specialties-breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
.specialties-breadcrumbs a:hover { color:#007cbd; text-decoration:underline; }
.specialties-hero { padding-block:1.5rem 3.5rem; }
.specialties-hero__layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:4rem; margin-top:2rem; }
.specialties-hero h1 { margin-top:1rem; font-size:clamp(2.5rem,4.3vw,4rem); line-height:1.17; letter-spacing:-.055em; }
.specialties-hero h1 span { color:#007cbd; }
.specialties-hero__intro { max-width:32rem; }
.specialties-hero__intro > p { color:var(--muted-foreground); font-size:1.05rem; line-height:1.85; }
.specialties-hero__intro .specialties-link { margin-top:1.25rem; color:var(--foreground); }
.specialties-hero__intro .specialties-link span,.specialties-hero__intro .specialties-link:hover { color:#007cbd; }
.specialties-directory { background:var(--surface); border-block:1px solid var(--border); padding-block:3rem; }
.specialties-directory__intro { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:1.75rem; }
.specialties-directory__intro h2 { margin-top:.65rem; }
.specialties-directory__intro > p { max-width:26rem; font-size:.9rem; line-height:1.8; color:var(--muted-foreground); }
.specialties-controls { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1rem 2rem; }
.specialties-search { flex:1 1 22rem; max-width:32rem; }
.specialties-search label,.specialties-filters legend { display:block; margin-bottom:.55rem; font-size:.75rem; font-weight:800; }
.specialties-search input { box-sizing:border-box; width:100%; min-height:48px; padding:.7rem .9rem; border:1px solid #cbd2df; border-radius:8px; background:#fff; color:var(--foreground); font:inherit; font-size:.85rem; }
.specialties-search input:focus { outline:2px solid #007cbd; outline-offset:2px; }
.specialties-search input::placeholder { color:#687386; opacity:1; }
.specialties-filters { min-width:0; padding:0; border:0; }
.specialties-filters > div { display:flex; flex-wrap:wrap; gap:.4rem; }
.specialties-filters button { min-height:48px; border:1px solid #cbd2df; padding:.65rem .9rem; border-radius:8px; background:#fff; color:var(--foreground); font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.specialties-filters button:hover { border-color:#007cbd; }
.specialties-filters button[aria-pressed="true"] { background:#11121a; border-color:#11121a; color:#fff; }
.specialties-scope-note { max-width:58rem; margin-top:1.25rem; color:var(--muted-foreground); font-size:.78rem; line-height:1.8; }
.specialties-result-count { margin-top:1.3rem; color:var(--muted-foreground); font-size:.75rem; }
.specialties-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:1rem; margin-top:1.25rem; }
.specialty-entry--physicians { --specialty-accent:#2585cb; }
.specialty-entry--allied-health { --specialty-accent:#299587; }
.specialty-entry--dentistry { --specialty-accent:#8b73c3; }
.specialty-entry { min-width:0; background:#fff; border:1px solid var(--border); border-radius:12px; scroll-margin-top:7rem; transition:border-color .18s,box-shadow .18s; }
.specialty-entry:hover { border-color:#b4c5d9; box-shadow:0 4px 16px #16294408; }
.specialty-entry > summary { position:relative; display:flex; justify-content:space-between; align-items:flex-start; gap:.9rem; min-height:180px; box-sizing:border-box; padding:1.35rem; list-style:none; cursor:pointer; }
.specialty-entry > summary::-webkit-details-marker { display:none; }
.specialty-entry__anchor { position:absolute; top:0; width:0; height:0; scroll-margin-top:7rem; }
.specialty-entry__copy { min-width:0; }
.specialty-entry__copy::before { content:""; display:block; width:1.75rem; height:3px; margin-bottom:.85rem; border-radius:3px; background:var(--specialty-accent); }
.specialty-entry > summary strong { display:block; font-size:1rem; line-height:1.45; }
.specialty-entry__members { display:block; margin-top:.45rem; color:#456077; font-size:.72rem; line-height:1.75; }
.specialty-entry__summary { display:block; margin-top:.6rem; color:var(--muted-foreground); font-size:.8rem; line-height:1.75; }
.specialty-entry__toggle { flex-shrink:0; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#f2f5f9; color:#007cbd; font-size:1.25rem; }
.specialty-entry[open] { border-color:#a5b7d0; }
.specialty-entry[open] .specialty-entry__toggle { transform:rotate(45deg); }
.specialty-entry > summary:hover strong { color:#007cbd; }
.specialty-entry__body { padding:0 1.35rem 1.15rem; }
.specialty-entry__body ul { margin:0 0 1.1rem; padding-top:.75rem; border-top:1px solid var(--border); padding-left:1.15rem; list-style:disc; }
.specialty-entry__body li { margin-top:.5rem; font-size:.82rem; line-height:1.8; color:#4f596b; }
.specialty-entry__body li::marker { color:#a7b2c2; }
.specialty-entry__links { display:flex; flex-wrap:wrap; gap:.3rem 1.25rem; border-top:1px solid var(--border); padding-top:.4rem; }
.specialty-entry__links a { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; font-size:.72rem; font-weight:800; color:#007cbd; }
.specialty-entry__links a:hover { text-decoration:underline; text-underline-offset:3px; }
.specialties-empty { padding:3rem 1.5rem; margin-top:1.5rem; background:#fff; border:1px solid var(--border); border-radius:12px; text-align:center; }
.specialties-empty h3 { font-size:1.3rem; }
.specialties-empty p { margin-top:.75rem; color:var(--muted-foreground); font-size:.9rem; }
.specialties-empty button { min-height:44px; margin-top:1rem; border:0; background:none; color:#007cbd; font:inherit; font-size:.85rem; font-weight:800; cursor:pointer; }
.specialties-link { display:inline-flex; align-items:center; gap:.6rem; min-height:44px; font-size:.85rem; line-height:1.7; font-weight:800; color:#007cbd; }
.specialties-link:hover { text-decoration:underline; text-underline-offset:4px; }
.specialties-proof { padding-block:3.5rem; }
.specialties-proof__intro { max-width:44rem; }
.specialties-proof h2 { margin-top:.7rem; }
.specialties-proof__intro > p:last-child { margin-top:1rem; font-size:1rem; line-height:1.85; color:var(--muted-foreground); }
.specialties-proof__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
.specialties-proof__grid article { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.specialties-proof__screen { width:100%; margin:0; box-shadow:0 8px 24px #18284408; }
.specialties-proof__screen .product-preview__heading { padding:.75rem; font-size:.72rem; }
.specialties-proof__screen .product-preview__heading > span { display:none; }
.specialties-proof__screen img { display:block; width:100%; height:auto; }
.specialties-proof__screen figcaption { display:flex; flex-wrap:wrap; align-items:center; gap:0 .5rem; padding:.3rem .75rem; font-size:.6rem; line-height:1.65; }
.specialties-proof__screen figcaption a { min-height:44px; display:inline-flex; align-items:center; }
.specialties-proof__grid h3 { margin-top:1.25rem; font-size:1.05rem; line-height:1.6; }
.specialties-proof__grid article > p { flex:1; margin-top:.65rem; color:var(--muted-foreground); font-size:.86rem; line-height:1.8; }
.specialties-proof__grid .specialties-link { margin-top:.55rem; font-size:.8rem; }
.specialties-connected { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-top:1.75rem; margin-top:2.5rem; border-top:1px solid var(--border); }
.specialties-connected h3 { font-size:1.1rem; }
.specialties-connected p { max-width:54rem; margin-top:.6rem; color:var(--muted-foreground); font-size:.87rem; line-height:1.85; }
.specialties-connected > a { flex-shrink:0; }
.specialties-faq { padding-block:3rem; border-top:1px solid var(--border); }
.specialties-faq__layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:4rem; }
.specialties-faq h2 { margin-block:.7rem 1rem; }
.specialties-closing { padding-block:0 3rem; }
.specialties-closing h2 { margin-top:.7rem; }
.specialties-closing .marketing-callout__copy > p:last-child { margin-top:1rem; font-size:1rem; line-height:1.85; color:var(--muted-foreground); }
#specialty-directory { scroll-margin-top:6rem; }
@media(max-width:980px) {
 .specialties-hero__layout { gap:2rem; }
 .specialties-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .specialties-directory__intro { align-items:flex-start; flex-direction:column; gap:1rem; }
 .specialties-directory__intro > p { max-width:none; }
 .specialties-controls { align-items:flex-start; flex-direction:column; }
 .specialties-search { flex:auto; width:100%; max-width:none; }
 .specialties-faq__layout { grid-template-columns:1fr; gap:1.5rem; }
 .specialties-proof__grid { gap:1rem; }
 .specialties-connected { flex-direction:column; align-items:flex-start; gap:.65rem; }
}
@media(max-width:760px) {
 .specialties-hero__layout,.specialties-grid,.specialties-proof__grid { grid-template-columns:1fr; }
 .specialties-hero__layout { margin-top:1.5rem; gap:1.5rem; }
 .specialties-hero__intro > p { font-size:.95rem; }
 .specialties-hero__intro .specialties-link { margin-top:.75rem; }
 .specialties-proof__grid { gap:2rem; }
 .specialties-proof__screen { max-width:36rem; }
 .specialties-proof__screen figcaption { justify-content:space-between; }
 .specialty-entry > summary { min-height:0; padding:1.15rem; }
 .specialty-entry__members { font-size:.78rem; }
 .specialty-entry__body { padding:0 1rem 1rem; }
 .specialty-entry__body li { font-size:.9rem; }
 .specialties-search input { font-size:1rem; }
 .specialties-filters { width:100%; }
 .specialties-filters > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
 .specialties-filters button { padding-inline:.75rem; }
 .specialties-hero { padding-block:1rem 2rem; }
 .specialties-directory,.specialties-proof,.specialties-faq { padding-block:2.5rem; }
 .specialties-hero h1 { font-size:clamp(2rem,8vw,2.9rem); }
}
@media(prefers-reduced-motion:reduce) { .specialty-entry { transition:none; } }
