.specialties { background: var(--cream); padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.specialties .specialties-label { margin: 0 0 2.125rem; color: var(--blue); font: 700 .75rem/1.5 Arial, Helvetica, sans-serif; letter-spacing: .16em; }
.specialties-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.specialty { position: relative; min-width: 0; padding-top: 1.5625rem; border-top: 1px solid var(--line); }
.specialty::before { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 2px; background: var(--orange); transform: scaleX(.12); transform-origin: left; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.specialty-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.125rem; }
.specialty-index { font: italic 1.375rem Georgia, serif; color: #b84428; }
.specialty-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; color: #b84428; background: #f6e6de; transition: transform .45s cubic-bezier(.2,.7,.2,1), background .45s; }
.specialty-icon::before { content: ""; width: 1.5rem; height: 1.5rem; background: currentColor; -webkit-mask: var(--specialty-icon) center / contain no-repeat; mask: var(--specialty-icon) center / contain no-repeat; }
.specialty-icon-compass { --specialty-icon: url('/assets/counter-icons/compass.svg'); }
.specialty-icon-workflow { --specialty-icon: url('/assets/counter-icons/workflow.svg'); }
.specialty-icon-people { --specialty-icon: url('/assets/counter-icons/users-round.svg'); }
.specialty h3 { font-size: clamp(1.5rem, 2.05vw, 2.25rem); letter-spacing: -.045em; line-height: 1.1; margin: 0 0 .875rem; }
.specialty-subtitle { font-size: .875rem; line-height: 1.45; font-weight: 700; margin-bottom: 1.25rem; min-height: 2.9em; }
.specialty-description { font-size: 1rem; line-height: 1.65; color: #536374; text-wrap: pretty; }
.specialties-photo { margin: 0; padding: 0 clamp(1.25rem, 5.5vw, 7rem) clamp(3rem, 5vw, 5rem); background: var(--cream); }
@media (min-width: 1100px) { .specialty h3 { white-space: nowrap; } }
@media (hover: hover) and (pointer: fine) {
  .specialty:hover::before { transform: scaleX(1); }
  .specialty:hover .specialty-icon { transform: translateY(-5px) rotate(-7deg); background: #f5dacb; }
}
@media (max-width: 850px) {
  .specialties-grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .specialty-head { margin-bottom: 1.125rem; }
  .specialty h3 { font-size: 1.875rem; }
  .specialty-subtitle { min-height: 0; margin-bottom: .875rem; }
  .specialty-description { max-width: 55ch; }
}
@media (prefers-reduced-motion: reduce) {
  .specialty-icon, .specialty::before { transition: none; }
  .specialty:hover .specialty-icon { transform: none; }
}
