/* Specialty directory: readable source-linked examples, with no dependency on animation. */
.specialties-page .specialty-hero{padding-bottom:70px}
.specialty-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;align-items:end}
.specialties-page .specialty-hero h1{max-width:850px;font-size:clamp(44px,4.7vw,64px)}
.specialty-hero-note{border-left:1px solid #bdcdd5;padding-left:35px;color:#0b1f3b}
.specialty-hero-note>span{font-family:'Plus Jakarta Sans',sans-serif;font-size:60px;line-height:1;letter-spacing:-.05em}
.specialties-page .subpage-hero .specialty-hero-note p{font-size:13px;line-height:1.8;margin-top:10px}
.specialty-hero-note hr{border:0;border-top:1px solid #bdcdd5;margin-block:25px}
.specialty-directory{padding-block:75px 80px}
.specialty-directory-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:40px}
.specialties-page .specialty-directory-intro h2{font-size:34px}
.specialty-directory-intro>p{font-size:13px;line-height:1.9;color:#526c7d}
.specialty-tools{position:sticky;top:88px;z-index:20;background:#fffffff5;backdrop-filter:blur(12px);border-block:1px solid #d6e2e7;padding:20px 0 14px;margin-bottom:28px}
.specialty-controls{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,270px) auto;gap:16px;align-items:end}
.specialty-controls[hidden],.specialty-empty[hidden],.specialty-card[hidden]{display:none!important}
.specialty-controls label{display:block;font-size:11px;line-height:1.7;color:#36546b}
.specialty-controls input,.specialty-controls select{display:block;width:100%;min-height:48px;border:1px solid #a8bdc9;border-radius:3px;background:#fff;color:#0b1f3b;font-family:inherit;font-size:14px;padding:11px 13px;margin-top:6px}
.specialty-controls input:focus-visible,.specialty-controls select:focus-visible,.specialty-clear:focus-visible{outline:3px solid #3d92ba;outline-offset:3px}
.specialty-clear{min-height:48px;padding:10px 15px;border:1px solid #a8bdc9;border-radius:3px;background:#fff;color:#0b1f3b;font-family:inherit;font-size:12px;cursor:pointer}
.specialty-clear:disabled{color:#526c7d;background:#f0f4f5;cursor:default}
.specialty-result-line{display:flex;justify-content:space-between;gap:25px;margin-top:14px;font-size:11px;line-height:1.7;color:#526c7d}
.specialty-result-line p{margin:0}.specialty-result-line #specialty-result-count{color:#0b1f3b;font-weight:600}
.specialty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.specialty-card{border:1px solid #d6e2e7;border-radius:4px;background:#fff;overflow:hidden;scroll-margin-top:240px}
.specialty-card-heading{padding:27px 28px 22px}
.specialty-category{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#0b7874;line-height:1.6;margin-bottom:12px}
.specialties-page .specialty-card h2{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin:0}
.specialty-frustration{font-size:13px;line-height:1.85;color:#526c7d;margin-top:15px}
.specialty-case>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;border-top:1px solid #d6e2e7;padding:16px 28px;cursor:pointer;color:#173247;background:#f5f8f9;font-size:12px;font-weight:500}
.specialty-case>summary::-webkit-details-marker{display:none}
.specialty-case>summary:hover{background:#edf3f5}
.specialty-disclosure-icon{font-size:21px;line-height:1;color:#0b7874;transition:transform .15s}
.specialty-case[open] .specialty-disclosure-icon{transform:rotate(45deg)}
.specialty-case-body{padding:27px 28px 28px;border-top:1px solid #d6e2e7}
.specialty-sample-label{font-size:9px;letter-spacing:.04em;color:#0b7874;margin-bottom:14px;line-height:1.7}
.specialties-page .specialty-case-body h3{font-size:21px;line-height:1.4;letter-spacing:-.025em}
.specialty-request{margin:22px 0 0}.specialty-request>div+div{margin-top:18px}
.specialty-request dt,.specialty-workflow h4,.specialty-sources h4{font-size:11px;font-weight:600;color:#173247;line-height:1.6}
.specialty-request dd{font-size:12px;line-height:1.9;color:#526c7d;margin:7px 0 0}
.specialty-workflow{margin-top:25px;padding:22px;background:#f1f6f6;border-left:2px solid #79b6b2;display:grid;gap:22px}
.specialty-workflow ul{padding-left:17px;margin:10px 0 0}
.specialty-workflow li{font-size:12px;line-height:1.9;color:#36546b;padding-left:3px}.specialty-workflow li+li{margin-top:8px}
.specialty-boundary{font-size:11px;line-height:1.9;color:#526c7d;margin-top:22px}
.specialty-sources{border-top:1px solid #d6e2e7;margin-top:22px;padding-top:20px}
.specialty-sources ul{list-style:none;padding:0;margin:10px 0 0}.specialty-sources li+li{margin-top:9px}
.specialty-sources a,.specialty-permalink{font-size:11px;line-height:1.8;color:#0b626e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.specialty-permalink{display:inline-block;margin-top:22px;text-decoration:none}
.specialty-empty,.specialty-nojs{padding:25px;background:#f1f6f6;border-left:2px solid #79b6b2;color:#36546b;font-size:14px;line-height:1.9;margin-block:20px 28px}
.specialty-directory-note{max-width:900px;margin-top:35px;color:#526c7d;font-size:12px;line-height:1.95}.specialty-directory-note>summary{cursor:pointer;color:#173247;font-weight:500;padding-block:10px}.specialty-directory-note>p{margin-top:12px}
.specialty-contact{background:#0b2b40;color:#e0edf1;padding-block:70px}
.specialty-contact>.wrap{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.specialties-page .specialty-contact h2{color:#fff;font-size:38px;line-height:1.3}
.specialty-contact .eyebrow{color:#a7dbd5}.specialty-contact p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:650px;margin-top:20px}
.specialty-contact .button{background:#fff;color:#0b1f3b;border-color:#fff}
.specialty-contact .button:hover{background:#e7f2f2}.specialty-contact>.wrap>div:last-child>p{font-size:11px;line-height:1.8;color:#c1d6de}
@media(max-width:1100px){.specialty-hero-grid{gap:40px;grid-template-columns:minmax(0,1fr) 220px}.specialty-directory-intro{gap:40px}.specialty-controls{grid-template-columns:minmax(200px,1fr) minmax(150px,210px) auto}.specialty-card-heading,.specialty-case-body{padding-inline:23px}.specialty-case>summary{padding-inline:23px}}
@media(max-width:900px){.specialty-hero-grid{grid-template-columns:1fr}.specialty-hero-note{display:none}.specialties-page .specialty-hero{padding-bottom:55px}.specialty-tools{top:76px}.specialty-directory{padding-block:55px}.specialty-directory-intro{grid-template-columns:1fr;gap:22px}.specialty-directory-intro>p{max-width:720px}.specialty-controls{grid-template-columns:minmax(0,1fr) minmax(140px,210px)}.specialty-clear{grid-column:2;grid-row:2;min-height:40px}.specialty-result-line{margin-top:10px}.specialty-result-line #specialty-search-help{max-width:360px}.specialty-card{scroll-margin-top:280px}.specialty-contact>.wrap{grid-template-columns:1fr;gap:35px}}
@media(max-width:650px){.specialty-tools{top:70px;padding-top:14px}.specialty-controls{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.specialty-search-label{grid-column:1/-1}.specialty-controls label{font-size:10px}.specialty-controls input,.specialty-controls select{font-size:16px;min-height:44px}.specialty-clear{grid-row:auto;min-height:44px;padding-inline:12px}.specialty-result-line{gap:15px}.specialty-result-line #specialty-search-help{display:none}.specialty-grid{grid-template-columns:1fr;gap:18px}.specialty-card{scroll-margin-top:270px}.specialty-card-heading{padding:24px 22px 20px}.specialty-case>summary{padding-inline:22px}.specialties-page .specialty-directory-intro h2{font-size:29px}.specialty-directory-intro>p{font-size:12px}.specialties-page .specialty-card h2{font-size:24px}.specialty-case-body{padding:24px 22px}.specialty-directory-note{font-size:11px}.specialty-contact{padding-block:55px}.specialties-page .specialty-contact h2{font-size:32px}.specialty-contact p:not(.eyebrow){font-size:13px}.specialty-contact .button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.specialty-disclosure-icon{transition:none}}

/* A focused result uses the available width; the original list stays in place. */
.specialty-grid[data-result-count="1"] .specialty-card:not([hidden]){grid-column:1/-1}
@media(min-width:901px){.specialty-grid[data-result-count="1"] .specialty-workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}
.specialty-source-kind{display:block;color:#5e7185;font-size:10px;margin:3px 0 7px;line-height:1.5}
