/* Specialist materials and the category directory. */

body.com_content.view-category.specialists-page,
body.com_content.view-article.specialists-page {
  --specialists-ink: #26354c;
  --specialists-muted: #6f7f94;
  --specialists-blue: #edf4ff;
  --specialists-blue-deep: #dceafb;
  --specialists-accent: #168bd2;
  --specialists-orange: #f6a32a;
  --specialists-line: #e3eaf2;
  --medicaldesk-team-primary: var(--specialists-accent);
  --medicaldesk-team-primary-dark: #1174b0;
  --medicaldesk-team-soft: var(--specialists-blue);
  --medicaldesk-team-soft-strong: var(--specialists-blue-deep);
  --medicaldesk-team-text: var(--specialists-ink);
  color: var(--specialists-ink);
  background: #fff;
}

body.com_content.view-category.specialists-page .container-component,
body.com_content.view-article.specialists-page .container-component {
  max-width: 1320px;
  padding-right: clamp(1.5rem, 4vw, 5.6rem);
  padding-bottom: 5rem;
  padding-left: clamp(1.5rem, 4vw, 5.6rem);
}

body.com_content.view-category.specialists-page .medicaldesk-team__filter-group button:hover,
body.com_content.view-category.specialists-page .medicaldesk-team__filter-group button.is-active,
body.com_content.view-article.specialists-page .medicaldesk-team__filter-group button:hover,
body.com_content.view-article.specialists-page .medicaldesk-team__filter-group button.is-active {
  border-color: transparent;
}

.ember-specialists-directory,
.ember-specialist-page {
  max-width: 117rem;
  margin: 0 auto;
}

.ember-specialists-directory__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22rem;
  gap: 3rem;
  align-items: center;
  padding: clamp(3rem, 5vw, 6rem) clamp(2.4rem, 5vw, 6.5rem);
  margin-bottom: 5.5rem;
  border-radius: 2.8rem;
  background: linear-gradient(135deg, var(--specialists-blue), #f7fbff 70%, #fff);
}

.ember-specialists-directory__hero h1,
.ember-specialist-page__hero h1 {
  margin: 1.3rem 0 1.5rem;
  color: var(--specialists-ink);
  font-size: clamp(3.4rem, 5.2vw, 6.2rem);
  font-weight: 600;
  letter-spacing: -.05em;
  line-height: 1.04;
}

.ember-specialists-directory__hero p,
.ember-specialist-page__lead {
  max-width: 70rem;
  margin: 0;
  color: var(--specialists-muted);
  font-size: clamp(1.55rem, 1.8vw, 1.95rem);
  line-height: 1.65;
}

.ember-specialists-directory__hero-note {
  position: relative;
  display: grid;
  width: 18rem;
  height: 18rem;
  place-items: center;
  margin-left: auto;
  color: var(--specialists-ink);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  border: .1rem solid rgba(22, 139, 210, .25);
  border-radius: 50%;
  background: rgba(255, 255, 255, .7);
}

.ember-specialists-directory__hero-note::before,
.ember-specialists-directory__hero-note::after {
  position: absolute;
  content: "";
  border: .1rem solid rgba(22, 139, 210, .25);
  border-radius: 50%;
}

.ember-specialists-directory__hero-note::before { inset: 1.8rem; }
.ember-specialists-directory__hero-note::after { inset: 3.7rem; border-style: dashed; border-color: rgba(246, 163, 42, .5); }
.ember-specialists-directory__hero-note b { position: absolute; top: 1.4rem; right: 2.7rem; color: var(--specialists-orange); font-size: 3.5rem; font-weight: 300; }

.ember-specialists-directory__section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.4rem;
}

.ember-specialists-directory__section-head h2 {
  margin: 1rem 0 0;
  color: var(--specialists-ink);
  font-size: clamp(2.5rem, 3.2vw, 3.8rem);
  font-weight: 600;
  letter-spacing: -.04em;
}

.ember-specialists-directory__count { color: var(--specialists-muted); font-size: 1.3rem; }
.ember-specialists-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }

.ember-specialist-card {
  display: flex;
  min-width: 0;
  min-height: 24rem;
  padding: 2.2rem 2.2rem 2.4rem;
  border: .1rem solid var(--specialists-line);
  border-radius: 1.9rem;
  background: #fff;
  box-shadow: 0 1.2rem 3rem rgba(31, 63, 105, .05);
  transition: transform .22s ease, box-shadow .22s ease;
}

.ember-specialist-card:hover { transform: translateY(-.35rem); box-shadow: 0 1.8rem 4rem rgba(31, 63, 105, .11); }
.ember-specialist-card__body { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.ember-specialist-card h3 { margin: 0; font-size: 2.05rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.18; }
.ember-specialist-card h3 a { color: var(--specialists-ink); text-decoration: none; }
.ember-specialist-card h3 a:hover { color: var(--specialists-accent); }
.ember-specialist-card p { display: -webkit-box; margin: 1.25rem 0 1.8rem; overflow: hidden; color: var(--specialists-muted); font-size: 1.35rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.ember-specialist-card__link { display: inline-flex; align-items: center; gap: .7rem; margin-top: auto; color: var(--specialists-ink); font-size: 1.3rem; font-weight: 700; text-decoration: none; }
.ember-specialist-card__link span { color: var(--specialists-accent); font-size: 1.8rem; }
.ember-specialist-card__link:hover span { transform: translate(.2rem, -.2rem); }
.ember-specialists-directory__empty { padding: 2.5rem; border-radius: 1.5rem; background: var(--specialists-blue); color: var(--specialists-muted); }

.ember-specialist-page__hero { display: grid; grid-template-columns: minmax(0, 1fr) 24rem; gap: 4rem; align-items: center; padding: 2rem 0 5.5rem; }
.ember-specialist-page__back { display: inline-flex; margin-bottom: 3.3rem; color: var(--specialists-muted); font-size: 1.3rem; text-decoration: none; }
.ember-specialist-page__back:hover { color: var(--specialists-accent); }
.ember-specialist-page__hero-art { position: relative; display: grid; width: 23rem; height: 23rem; place-items: center; margin-left: auto; border-radius: 50%; background: var(--specialists-blue); }
.ember-specialist-page__hero-orbit { position: absolute; border: .1rem solid rgba(22, 139, 210, .3); border-radius: 50%; }
.ember-specialist-page__hero-orbit--one { inset: 2.3rem; }
.ember-specialist-page__hero-orbit--two { inset: 4.4rem; border-style: dashed; border-color: rgba(246, 163, 42, .55); }
.ember-specialist-page__hero-dot { position: absolute; width: 1rem; height: 1rem; border-radius: 50%; background: var(--specialists-orange); }
.ember-specialist-page__hero-dot--one { top: 1.8rem; right: 4.5rem; }
.ember-specialist-page__hero-dot--two { bottom: 4rem; left: 3.2rem; background: var(--specialists-accent); }
.ember-specialist-page__hero-word { color: var(--specialists-ink); font-size: 1.25rem; font-weight: 700; line-height: 1.55; text-align: center; }

.ember-specialist-page__layout { display: grid; grid-template-columns: minmax(0, 1fr) 30rem; gap: clamp(3rem, 5vw, 6.5rem); align-items: start; }
.ember-specialist-page__content { min-width: 0; }
.ember-specialist-page__body { color: #4f6078; font-size: 1.65rem; line-height: 1.78; }
.ember-specialist-page__body > p:first-child { padding: 2.3rem 2.8rem; margin-top: 0; color: var(--specialists-ink); font-size: 1.9rem; line-height: 1.65; border-left: .35rem solid var(--specialists-accent); border-radius: 0 1.4rem 1.4rem 0; background: #f4f8ff; }
.ember-specialist-page__body p { margin: 0 0 1.7rem; }
.ember-specialist-page__body h2,
.ember-specialist-page__body h3 { margin: 4.2rem 0 1.35rem; color: var(--specialists-ink); font-size: clamp(2.2rem, 3vw, 3.1rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.2; }
.ember-specialist-page__body ul,
.ember-specialist-page__body ol { padding: 1rem 2rem 1rem 3.2rem; margin: 1.8rem 0 2.6rem; border-radius: 1.5rem; background: #fbf8f1; }
.ember-specialist-page__body li { padding: .35rem 0 .35rem .45rem; }
.ember-specialist-page__body li::marker { color: var(--specialists-accent); }
.ember-specialist-page__body blockquote { padding: 1.2rem 2rem; margin: 2.4rem 0; color: #65758d; border-left: .25rem solid var(--specialists-orange); background: #fffaf2; }
.ember-specialist-page__body a { color: var(--specialists-accent); }

.ember-specialist-page__aside { position: sticky; top: 2rem; display: grid; gap: 1.5rem; }
.ember-specialist-page__aside-card,
.ember-specialist-page__aside-cta { padding: 2.2rem 2.2rem 2.5rem; border-radius: 1.7rem; }
.ember-specialist-page__aside-card { border: .1rem solid var(--specialists-line); background: #fff; box-shadow: 0 1.2rem 3rem rgba(31, 63, 105, .06); }
.ember-specialist-page__aside-eyebrow { color: var(--specialists-accent); font-size: 1.05rem; font-weight: 800; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.ember-specialist-page__aside-card h2,
.ember-specialist-page__aside-cta h2 { margin: 1rem 0 1.4rem; color: var(--specialists-ink); font-size: 2.15rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.ember-specialist-page__aside-card ul { padding: 0; margin: 0; list-style: none; }
.ember-specialist-page__aside-card li { position: relative; padding: 1rem 0 1rem 2rem; color: #5d6e83; font-size: 1.35rem; line-height: 1.5; border-top: .1rem solid var(--specialists-line); }
.ember-specialist-page__aside-card li::before { position: absolute; top: 1.65rem; left: 0; width: .65rem; height: .65rem; content: ""; border-radius: 50%; background: var(--specialists-orange); }
.ember-specialist-page__aside-cta { position: relative; overflow: hidden; background: linear-gradient(145deg, #eaf6ff, #f2f8ff); }
.ember-specialist-page__aside-cta-mark { position: absolute; top: .6rem; right: 1.7rem; color: rgba(246, 163, 42, .8); font-size: 4rem; font-weight: 300; }
.ember-specialist-page__aside-cta p { margin: 0 0 1.6rem; color: #5d6e83; font-size: 1.35rem; line-height: 1.6; }
.ember-specialist-page__aside-cta a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; color: #fff; font-size: 1.25rem; font-weight: 700; text-decoration: none; border-radius: .8rem; background: var(--specialists-accent); }
.ember-specialist-page__aside-cta a + a { margin-top: .7rem; }
.ember-specialist-page__aside-cta a:hover { background: #0878bc; }
.ember-specialist-page__aside-cta a.is-light { color: var(--specialists-ink); border: .1rem solid rgba(22, 139, 210, .25); background: rgba(255, 255, 255, .65); }
.ember-specialist-page__aside-cta a.is-light:hover { color: var(--specialists-accent); background: #fff; }

@media (max-width: 900px) {
  .ember-specialists-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ember-specialist-page__layout { grid-template-columns: minmax(0, 1fr); }
  .ember-specialist-page__aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .ember-specialists-directory__hero,
  .ember-specialist-page__hero { grid-template-columns: minmax(0, 1fr); }
  .ember-specialists-directory__hero-note,
  .ember-specialist-page__hero-art { margin: 0 auto; }
  .ember-specialists-directory__grid,
  .ember-specialist-page__aside { grid-template-columns: minmax(0, 1fr); }
  .ember-specialists-directory__section-head { align-items: flex-start; flex-direction: column; }
  .ember-specialist-page__body > p:first-child { padding: 1.8rem 2rem; font-size: 1.7rem; }
}
