.practice-hero {
  padding: 136px 0 130px;
  background: #252020 url('../images/about-hero.jpg') center / cover;
  text-align: center;
}
.practice-hero h1 { color: #fff; font-size: 51px; margin: 0; }
.practice-hero .container { animation: slide-up .6s both; }
.practice-page .reveal { transition-duration: .6s; }
.practice-directory { padding: 80px 0 30px; }
.practice-directory-heading { text-align: center; margin-bottom: 50px; }
.practice-directory-heading .eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 3px; color: #a8a8a8; margin-bottom: 12px; }
.practice-directory-heading h2 { font-size: 30px; margin-bottom: 20px; }
.practice-vertical-divider { display: block; width: 2px; height: 27px; background: var(--button); margin: auto; }
.practice-directory-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.practice-directory-card { display: flex; flex-direction: column; padding: 3px 0 60px; text-align: center; scroll-margin-top: 115px; min-width: 0; }
.practice-photo { display: block; overflow: hidden; border-radius: 3px; margin-bottom: 33px; }
.practice-photo img { width: 100%; aspect-ratio: 599/317; object-fit: cover; transition: transform .5s; }
.practice-photo:hover img { transform: scale(1.05); }
.practice-directory-card h3 { font-size: 15px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: #454545; margin-bottom: 20px; line-height: 1.5; }
.practice-directory-card > p { font-size: 16px; line-height: 1.8; margin: 0 0 22px; }
.practice-learn-more { text-transform: uppercase; font-size: 13px; font-weight: 600; letter-spacing: 2px; color: #917647; display: inline-flex; align-items: center; align-self: center; gap: 12px; margin-top: auto; }
.practice-learn-more:hover { color: var(--button); }
.practice-learn-more span { font-size: 22px; }
.practice-help { position: relative; padding: 160px 0 125px; background: #252020 url('../images/practice-cta.jpg') center / cover; color: #fff; text-align: center; }
.practice-help-frame { position: absolute; inset: 60px; border: 1px solid #686868; pointer-events: none; }
.practice-help .container { position: relative; }
.practice-help h2 { font: 600 18px/1.6 var(--sans); color: #fff; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 25px; }
.practice-help > .container > p { font-size: 26px; color: #e3adad; margin-bottom: 25px; }
.practice-help-contact { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; font-size: 14px; }
.practice-help-contact > span:first-of-type { color: #dca2a2; }
.practice-dialog-image { display: block; width: 100%; max-height: 250px; object-fit: cover; border-radius: 3px; margin-bottom: 25px; }
.practice-dialog-note { font-size: 11px; margin-top: 20px; }
@media (max-width: 991px) {
  .practice-hero { padding-block: 110px; }
  .practice-directory-grid { grid-template-columns: repeat(2, 1fr); gap: 0 30px; }
  .practice-help { padding-block: 100px; }
  .practice-help-frame { inset: 35px; }
}
@media (max-width: 600px) {
  .practice-hero { padding-block: 90px; }
  .practice-hero h1 { font-size: 40px; }
  .practice-directory { padding-top: 60px; }
  .practice-directory-heading .eyebrow { font-size: 11px; letter-spacing: 2px; }
  .practice-directory-heading h2 { font-size: 28px; }
  .practice-directory-grid { grid-template-columns: 1fr; }
  .practice-directory-card { padding-bottom: 50px; }
  .practice-directory-card h3 { font-size: 14px; letter-spacing: 2px; }
  .practice-directory-card > p { font-size: 14px; }
  .practice-photo { margin-bottom: 25px; }
  .practice-help { padding: 75px 15px; }
  .practice-help-frame { inset: 20px; }
  .practice-help h2 { font-size: 14px; letter-spacing: 2px; }
  .practice-help > .container > p { font-size: 22px; line-height: 1.7; }
  .practice-help-contact { flex-direction: column; gap: 12px; font-size: 12px; overflow-wrap: anywhere; }
  .practice-help-contact > span:first-of-type { display: none; }
}
