/* Specialty pages share the marketing shell and the application's real product imagery. */
.specialty-page { --specialty-accent:#167d8a; --specialty-tint:#edf7f8; }
.specialty-page--physiotherapy { --specialty-accent:#237b67; --specialty-tint:#edf7f2; }
.specialty-page--dermatology { --specialty-accent:#7862ad; --specialty-tint:#f3eff8; }
.specialty-page h1,.specialty-page h2,.specialty-page h3 { font-family:var(--font-display); font-weight:600; letter-spacing:-.04em; text-wrap:pretty; }
.specialty-page .section-kicker { font-size:.73rem; line-height:1.8; }
.specialty-page a:focus-visible { outline:2px solid #007cbd; outline-offset:4px; }
#specialty-workflows { scroll-margin-top:6rem; }
.specialty-hero { padding-top:1.5rem; }
.specialty-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; color:var(--muted-foreground); font-size:.75rem; }
.specialty-breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
.specialty-breadcrumbs a:hover { color:#007cbd; text-decoration:underline; }
.specialty-hero__layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:3.5rem; padding-block:2.5rem 3.5rem; }
.specialty-copy h1 { margin-top:1rem; font-size:clamp(2.2rem,3.3vw,3.25rem); line-height:1.25; }
.specialty-copy h1 span { color:var(--specialty-accent); }
.specialty-copy > p:not(.section-kicker) { margin-top:1.25rem; font-size:1rem; line-height:1.85; color:var(--muted-foreground); }
.specialty-copy h2 { margin-top:.8rem; font-size:clamp(1.75rem,2.6vw,2.4rem); line-height:1.3; }
.specialty-copy ul { display:grid; gap:.6rem; margin-top:1.25rem; padding-left:1.15rem; list-style:disc; font-size:.9rem; line-height:1.8; }
.specialty-copy li::marker { color:var(--specialty-accent); }
.specialty-copy > .specialty-link { margin-top:1.1rem; }
.specialty-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; margin-top:1.5rem; }
.specialty-actions .button-dark { padding-inline:1.6rem; min-height:50px; font-size:.85rem; }
.specialty-link { display:inline-flex; align-items:center; gap:.65rem; min-height:44px; color:#007cbd; font-weight:800; font-size:.85rem; line-height:1.7; }
.specialty-link:hover { text-decoration:underline; text-underline-offset:4px; }
.specialty-hero__screen { min-width:0; padding:.55rem; border:1px solid var(--border); border-radius:20px; background:var(--specialty-tint); }
.specialty-screen { min-width:0; margin:0; background:#fff; box-shadow:0 12px 35px #1828440c; }
.specialty-page .product-preview__heading { padding:.8rem 1rem; font-size:.8rem; }
.specialty-page .product-preview img { display:block; width:100%; height:auto; }
.specialty-page .product-preview figcaption { align-items:center; gap:.5rem; padding:.35rem .85rem; font-size:.67rem; line-height:1.6; }
.specialty-page .product-preview figcaption a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
.specialty-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; padding-block:1.25rem; border-top:1px solid var(--border); }
.specialty-path li { display:flex; align-items:center; gap:.7rem; font-size:.85rem; font-weight:800; line-height:1.65; }
.specialty-path span { color:var(--specialty-accent); font-size:.7rem; }
.specialty-story { padding-block:4rem; border-top:1px solid var(--border); background:var(--surface); }
.specialty-story--alternate { background:#fff; }
.specialty-story__layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:3.5rem; align-items:center; }
.specialty-story--alternate .specialty-copy { order:2; }
.specialty-story--alternate .specialty-story__layout { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); }
.specialty-operations { padding-block:3.5rem; background:var(--specialty-tint); border-block:1px solid var(--border); }
.specialty-operations__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:2rem; }
.specialty-operations article { display:flex; flex-direction:column; align-items:flex-start; padding-top:1.25rem; border-top:1px solid #ccd5dd; }
.specialty-operations h3 { font-size:1.1rem; line-height:1.6; }
.specialty-operations article p { flex:1; margin-top:.7rem; color:var(--muted-foreground); font-size:.9rem; line-height:1.85; }
.specialty-operations .specialty-link { margin-top:.6rem; }
.specialty-faq { padding-block:4rem; }
.specialty-faq__layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:4rem; }
.specialty-closing { padding-bottom:2.5rem; }
.specialty-related { display:flex; flex-wrap:wrap; gap:.5rem 2rem; margin-top:1.5rem; }
.specialty-related a { display:inline-flex; gap:.6rem; align-items:center; min-height:44px; color:#007cbd; font-size:.8rem; font-weight:800; }
.specialty-related a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1100px) { .specialty-hero__layout,.specialty-story__layout,.specialty-faq__layout { gap:2rem; } }
@media(max-width:980px) {
 .specialty-hero__layout,.specialty-story__layout,.specialty-story--alternate .specialty-story__layout,.specialty-faq__layout { grid-template-columns:1fr; }
 .specialty-copy { max-width:42rem; }
 .specialty-hero__screen { width:100%; max-width:46rem; }
 .specialty-story--alternate .specialty-copy { order:0; }
 .specialty-story .specialty-screen { width:100%; max-width:48rem; }
 .specialty-hero__layout { padding-block:1.5rem 2rem; }
 .specialty-path { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
}
@media(max-width:599px) {
 .specialty-hero { padding-top:1rem; }
 .specialty-copy h1 { font-size:clamp(1.85rem,7.8vw,2.4rem); }
 .specialty-copy h2 { font-size:1.75rem; }
 .specialty-hero__screen { padding:.3rem; border-radius:15px; }
 .specialty-page .product-preview__heading { padding:.7rem .8rem; font-size:.75rem; }
 .specialty-page .product-preview figcaption { flex-wrap:wrap; gap:.1rem .5rem; padding:.5rem .8rem; }
 .specialty-story,.specialty-operations,.specialty-faq { padding-block:2.75rem; }
 .specialty-operations__grid { grid-template-columns:1fr; gap:1.5rem; }
 .specialty-path li { font-size:.8rem; }
}
