/* LC Public UI Directory 0.13.0. Opt-in presentation; consumers own content and behavior. */
.lc-public-ui.lc-public-directory { container: lc-public-directory / inline-size; padding: 0; background: transparent; }
.lc-public-ui.lc-public-directory .lc-public-directory-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr));
  gap: var(--lc-public-space); min-width: 0; margin: 0; padding: 0; list-style: none;
}
.lc-public-ui.lc-public-directory .lc-public-directory-card {
  display: flex; flex-direction: column; align-items: stretch; gap: .75rem;
  min-width: 0; margin: 0; padding: var(--lc-public-space);
}
.lc-public-ui.lc-public-directory .lc-public-directory-card:only-child { max-width: 26rem; }
.lc-public-ui.lc-public-directory .lc-public-directory-card:is(:hover, :focus-within) { border-color: var(--lc-public-color-primary); }
.lc-public-ui.lc-public-directory .lc-public-directory-photo {
  display: block; flex: 0 0 auto; width: 5rem; max-width: 100%; height: auto; aspect-ratio: 1;
  object-fit: cover; border-radius: var(--lc-public-radius); background: var(--lc-public-color-surface-secondary);
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-public-space); min-width: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-intro { flex: 1 1 12rem; min-width: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-name { margin: 0; padding: 0; color: var(--lc-public-color-ink); font: inherit; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.lc-public-ui.lc-public-directory .lc-public-directory-card p { margin: 0; padding: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-card .lc-public-directory-link { align-self: flex-start; margin-block-start: auto; font-weight: 700; }
.lc-public-ui.lc-public-directory .lc-public-directory-detail { max-width: 52rem; min-width: 0; margin-inline: auto; }
.lc-public-ui.lc-public-directory .lc-public-directory-detail > .lc-public-directory-heading { padding-block-end: var(--lc-public-space); border-block-end: 1px solid var(--lc-public-color-border); }
.lc-public-ui.lc-public-directory .lc-public-directory-block { min-width: 0; margin-block: calc(1.5 * var(--lc-public-space)); }
.lc-public-ui.lc-public-directory .lc-public-directory-block > h2 { margin: 0 0 .75rem; padding: 0; color: var(--lc-public-color-ink); font: inherit; font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.lc-public-ui.lc-public-directory .lc-public-directory-facts { display: grid; gap: .75rem; min-width: 0; margin: 0; padding: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-facts > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .5rem var(--lc-public-space); }
.lc-public-ui.lc-public-directory .lc-public-directory-facts dt { margin: 0; font-weight: 700; }
.lc-public-ui.lc-public-directory .lc-public-directory-facts dd { min-width: 0; margin: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-list { display: grid; gap: .75rem; margin: 0; padding-inline-start: 1.25rem; }
.lc-public-ui.lc-public-directory .lc-public-directory-list > li { min-width: 0; margin: 0; padding: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-timeline { display: grid; gap: var(--lc-public-space); margin: 0; padding-inline-start: 1.5rem; }
.lc-public-ui.lc-public-directory .lc-public-directory-timeline > li { min-width: 0; margin: 0; padding-inline-start: .5rem; border-inline-start: 2px solid var(--lc-public-color-border); }
.lc-public-ui.lc-public-directory .lc-public-directory-timeline p { margin: .25rem 0 0; padding: 0; }
.lc-public-ui.lc-public-directory [hidden] { display: none; }
@container lc-public-directory (max-width: 30rem) {
  .lc-public-ui.lc-public-directory .lc-public-directory-facts > div { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
}

/* Optional listing composition; existing directory markup keeps its layout. */
.lc-public-ui.lc-public-directory .lc-public-directory-layout {
  display: grid; gap: calc(1.5 * var(--lc-public-space)); min-width: 0;
}
.lc-public-ui.lc-public-directory .lc-public-card.lc-public-directory-filters {
  min-width: 0; margin: 0;
}
.lc-public-ui.lc-public-directory .lc-public-directory-results-header {
  display: grid; gap: calc(.5 * var(--lc-public-space)); min-width: 0; margin: 0;
}
.lc-public-ui.lc-public-directory .lc-public-directory-results-header > .lc-public-title { margin: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-pagination {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-public-space);
  min-width: 0; margin: 0; padding-block-start: var(--lc-public-space);
  border-block-start: 1px solid var(--lc-public-color-border);
}

/* Optional photographic compositions; no image means no reserved photo track. */
.lc-public-ui.lc-public-directory .lc-public-directory-featured {
  min-width: 0; margin: 0; padding: calc(1.5 * var(--lc-public-space));
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait {
  gap: calc(1.5 * var(--lc-public-space)); align-items: center;
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-photo {
  flex: 0 1 15rem; width: 15rem; aspect-ratio: 3 / 4;
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-intro {
  display: grid; gap: calc(.75 * var(--lc-public-space)); flex-basis: 16rem;
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-intro > :is(.lc-public-directory-name, .lc-public-title) {
  margin: 0; font-size: 2.25rem; line-height: 1.2;
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-intro > p { margin: 0; padding: 0; }
/* Profile thumbnails have an independent source chosen by the consumer. */
.lc-public-ui.lc-public-directory .lc-public-directory-heading--profile > .lc-public-directory-photo {
  flex: 0 0 auto; width: 5rem; aspect-ratio: 1;
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--profile > .lc-public-directory-intro {
  display: grid; gap: calc(.5 * var(--lc-public-space));
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--profile > .lc-public-directory-intro > :is(.lc-public-directory-name, .lc-public-title) {
  margin: 0; font-size: 1.75rem; line-height: 1.25;
}
.lc-public-ui.lc-public-directory .lc-public-directory-heading--profile > .lc-public-directory-intro > p { margin: 0; padding: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-group {
  display: grid; gap: var(--lc-public-space); min-width: 0; margin: 0;
}
.lc-public-ui.lc-public-directory .lc-public-directory-group + .lc-public-directory-group {
  padding-block-start: calc(1.5 * var(--lc-public-space));
  border-block-start: 1px solid var(--lc-public-color-border);
}
.lc-public-ui.lc-public-directory .lc-public-directory-group-header {
  display: grid; gap: calc(.5 * var(--lc-public-space)); min-width: 0;
}
.lc-public-ui.lc-public-directory .lc-public-directory-group-header > :is(.lc-public-title, p) { margin: 0; padding: 0; }
.lc-public-ui.lc-public-directory .lc-public-directory-grid--portraits {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}
.lc-public-ui.lc-public-directory .lc-public-directory-card--portrait > .lc-public-directory-photo {
  width: 100%; max-width: 15rem; aspect-ratio: 3 / 4;
}
.lc-public-ui.lc-public-directory .lc-public-directory-card--portrait > .lc-public-directory-intro {
  display: grid; align-content: start; gap: calc(.5 * var(--lc-public-space)); flex: 0 1 auto;
}
@container lc-public-directory (max-width: 32rem) {
  .lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait { flex-direction: column; align-items: stretch; }
  .lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-photo { flex-basis: auto; }
  .lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-intro { flex-basis: auto; }
  .lc-public-ui.lc-public-directory .lc-public-directory-heading--portrait > .lc-public-directory-intro > :is(.lc-public-directory-name, .lc-public-title) { font-size: 1.75rem; }
}

/* Editorial opt-in; reuse photographic markup without administrative frames. */
.lc-public-ui.lc-public-directory.lc-public-directory--editorial :is(.lc-public-directory-featured, .lc-public-directory-card--portrait) {
  padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial .lc-public-directory-grid--portraits {
  align-items: start; gap: calc(2 * var(--lc-public-space));
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), min(100%, 12.5rem)));
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial .lc-public-directory-card--portrait > .lc-public-directory-photo {
  width: 100%; max-width: 12.5rem;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial .lc-public-directory-role {
  margin: 0; padding: 0; color: var(--lc-public-color-ink); font: inherit; font-size: 1.125rem; font-weight: 600;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial .lc-public-directory-heading--portrait .lc-public-directory-role {
  font-size: 1.5rem; line-height: 1.3;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial :is(.lc-public-directory-featured, .lc-public-directory-card--portrait) .lc-public-directory-link {
  display: inline-flex; align-items: center; justify-content: center; justify-self: start; align-self: flex-start;
  width: auto; max-width: 100%; min-height: 44px; padding: .5rem 1rem;
  border: 2px solid var(--lc-public-color-ink); border-radius: var(--lc-public-radius);
  background: var(--lc-public-color-accent); color: var(--lc-public-color-ink);
  font-size: 1rem; font-weight: 600; line-height: 1.5; text-align: center; text-decoration: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial :is(.lc-public-directory-featured, .lc-public-directory-card--portrait) .lc-public-directory-link:hover {
  background: var(--lc-public-color-accent-hover); color: var(--lc-public-color-ink);
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial :is(.lc-public-directory-featured, .lc-public-directory-card--portrait) .lc-public-directory-link:focus-visible {
  outline: 3px solid var(--lc-public-color-focus); outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--lc-public-color-focus-gap);
}

/* Native disclosure is independent of the editorial variant. */
.lc-public-ui.lc-public-directory details.lc-public-directory-filters--collapsible {
  min-width: 0; margin: 0; padding: var(--lc-public-space);
  border: 1px solid var(--lc-public-color-border); border-radius: var(--lc-public-radius);
  background: var(--lc-public-color-surface);
}
.lc-public-ui.lc-public-directory details.lc-public-directory-filters--collapsible > summary {
  display: list-item; min-height: 44px; padding-block: .625rem; cursor: pointer;
  color: var(--lc-public-color-ink); font: inherit; font-weight: 700;
}
.lc-public-ui.lc-public-directory details.lc-public-directory-filters--collapsible > summary:focus-visible {
  outline: 3px solid var(--lc-public-color-focus); outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--lc-public-color-focus-gap);
}
.lc-public-ui.lc-public-directory details.lc-public-directory-filters--collapsible > .lc-public-form {
  margin-block-start: var(--lc-public-space);
}

/* Compact editorial disclosure; native marker, focus and form remain unchanged. */
.lc-public-ui.lc-public-directory.lc-public-directory--editorial details.lc-public-directory-filters--collapsible {
  justify-self: start; width: fit-content; max-width: 100%; padding: 0;
  border: 0; background: transparent;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial details.lc-public-directory-filters--collapsible > summary {
  width: fit-content; max-width: 100%; font-weight: 600;
}
.lc-public-ui.lc-public-directory.lc-public-directory--editorial details.lc-public-directory-filters--collapsible[open] {
  justify-self: stretch; width: 100%;
}

/* Inverse profile opt-in; existing detail and thumbnail remain usable. */
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse {
  padding: clamp(1rem, 4%, 3rem); color: var(--lc-public-color-surface-secondary); background: var(--lc-public-color-ink);
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-directory-detail {
  max-width: 46rem; line-height: 1.65;
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse :is(.lc-public-title, .lc-public-directory-name, .lc-public-directory-block > h2) {
  color: var(--lc-public-color-surface);
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-directory-heading--profile > .lc-public-directory-intro > :is(.lc-public-title, .lc-public-directory-name) {
  font-size: clamp(2rem, 5cqi, 3rem); line-height: 1.2;
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-directory-heading--profile > .lc-public-directory-intro > p:not(.lc-public-muted) {
  color: var(--lc-public-color-surface-secondary); font-size: 1.125rem; font-weight: 600;
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-muted {
  color: var(--lc-public-color-surface-secondary);
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-directory-detail > .lc-public-directory-heading {
  padding-block-end: calc(1.5 * var(--lc-public-space)); border-color: var(--lc-public-color-border);
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-directory-block {
  margin-block: calc(2 * var(--lc-public-space));
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-link,
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-link:visited {
  color: var(--lc-public-color-surface); text-decoration: underline; text-underline-offset: .2em;
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse .lc-public-link:hover {
  color: var(--lc-public-color-accent); text-decoration-thickness: .12em;
}
.lc-public-ui.lc-public-directory.lc-public-directory--profile-inverse a:focus-visible {
  outline: 3px solid var(--lc-public-color-accent); outline-offset: 3px; box-shadow: 0 0 0 3px var(--lc-public-color-ink);
}

/* Mural opt-in; shared inverse surface and semantic profile links. */
.lc-public-ui.lc-public-directory.lc-public-directory--mural {
  padding: clamp(1rem, 4%, 3rem); color: var(--lc-public-color-surface); background: var(--lc-public-color-ink);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural :is(.lc-public-directory-featured, .lc-public-directory-card--portrait) {
  padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-layout {
  gap: calc(3 * var(--lc-public-space));
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-grid--portraits {
  align-items: start; gap: calc(2 * var(--lc-public-space)); grid-template-columns: minmax(0, 1fr);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-card--portrait {
  flex-direction: row; align-items: flex-start; gap: var(--lc-public-space); max-width: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-card--portrait > .lc-public-directory-photo {
  flex: 0 1 7rem; width: 7rem; max-width: 35%;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-card--portrait > .lc-public-directory-intro {
  flex: 1 1 0;
}
@container lc-public-directory (min-width: 44rem) {
  .lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-grid--portraits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-photo {
  border-radius: var(--lc-public-radius);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural :is(.lc-public-title, .lc-public-directory-name, .lc-public-label) {
  color: var(--lc-public-color-surface);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-role {
  margin: 0; padding: 0; color: var(--lc-public-color-surface-secondary); font: inherit; font-size: 1.125rem; font-weight: 600; line-height: 1.4;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-heading--portrait .lc-public-directory-role {
  font-size: 1.5rem;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-muted {
  color: var(--lc-public-color-surface-secondary); font-size: .875rem;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-link {
  color: var(--lc-public-color-surface); text-decoration: underline; text-decoration-thickness: .06em; text-underline-offset: .2em;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-link:visited {
  color: var(--lc-public-color-surface);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-link:hover {
  color: var(--lc-public-color-accent); text-decoration-thickness: .12em;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--lc-public-color-accent); outline-offset: 3px; box-shadow: 0 0 0 3px var(--lc-public-color-ink);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural details.lc-public-directory-filters--collapsible {
  justify-self: start; width: fit-content; max-width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural details.lc-public-directory-filters--collapsible > summary {
  width: fit-content; max-width: 100%; color: var(--lc-public-color-surface); font-weight: 400; text-decoration: underline; text-underline-offset: .2em;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural details.lc-public-directory-filters--collapsible > summary:hover {
  color: var(--lc-public-color-accent);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural details.lc-public-directory-filters--collapsible[open] {
  justify-self: stretch; width: 100%;
}

/* Optional paired highlights; consumers own selection and source order. */
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlights {
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: end;
  gap: calc(2 * var(--lc-public-space)); min-width: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlight--secondary .lc-public-directory-heading--portrait {
  flex-wrap: nowrap; flex-direction: row; align-items: center; gap: var(--lc-public-space);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlight--secondary .lc-public-directory-photo {
  flex: 0 1 9rem; width: 9rem; max-width: 45%;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlight--secondary .lc-public-directory-intro { flex: 1 1 0; }
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlight--secondary .lc-public-directory-name { font-size: 1.5rem; }
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlight--secondary .lc-public-directory-role { font-size: 1.125rem; }
@container lc-public-directory (min-width: 52rem) {
  .lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlights { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlights .lc-public-directory-heading--portrait { flex-wrap: nowrap; }
  .lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-highlights .lc-public-directory-heading--portrait > .lc-public-directory-intro { flex-basis: 0; }
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-name > .lc-public-link { text-decoration: none; }
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-role > .lc-public-link {
  display: inline-flex; align-items: center; min-height: 44px; width: fit-content; max-width: 100%;
  padding: .5rem .75rem; border-radius: var(--lc-public-radius);
  background: var(--lc-public-color-primary); color: var(--lc-public-color-surface);
  text-decoration: none; line-height: 1.4;
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-role > .lc-public-link:hover {
  background: var(--lc-public-color-primary-hover); color: var(--lc-public-color-surface);
}

/* Only the listing title, never nested profile or group titles. */
.lc-public-ui.lc-public-directory.lc-public-directory--mural > .lc-public-header > .lc-public-title,
.lc-public-ui.lc-public-directory.lc-public-directory--mural > .lc-public-title {
  text-align: center; margin-block-end: calc(2 * var(--lc-public-space));
  font-size: clamp(1.75rem, 4cqi, 2.5rem);
}
.lc-public-ui.lc-public-directory.lc-public-directory--mural .lc-public-directory-name > .lc-public-link:hover {
  color: var(--lc-public-color-accent);
}

/* Services opt-in; editorial heading and existing search composition. */
.lc-public-ui.lc-public-directory.lc-public-directory--services {
  max-width: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-search-panel {
  border-block-start: .25rem solid var(--lc-public-color-primary);
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: calc(1.5 * var(--lc-public-space));
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-card {
  padding: calc(1.5 * var(--lc-public-space)); gap: var(--lc-public-space); border-block-start: .25rem solid var(--lc-public-color-primary); background: var(--lc-public-color-surface);
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-name {
  font-size: 1.75rem; line-height: 1.25;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-card p {
  line-height: 1.65;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-link,
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-link:visited {
  display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 44px; padding: .625rem var(--lc-public-space); border: 2px solid var(--lc-public-color-primary); border-radius: var(--lc-public-radius); background: var(--lc-public-color-primary); color: var(--lc-public-color-surface); line-height: 1.5; text-align: center; text-decoration: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-link:hover {
  background: var(--lc-public-color-primary-hover); border-color: var(--lc-public-color-primary-hover); color: var(--lc-public-color-surface);
}
.lc-public-ui.lc-public-directory.lc-public-directory--services .lc-public-directory-link:focus-visible {
  outline: 3px solid var(--lc-public-color-focus); outline-offset: 3px; box-shadow: 0 0 0 3px var(--lc-public-color-focus-gap);
}

/* Service detail opt-in; full parent width and optional areas in source order. */
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail {
  width: 100%; max-width: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-detail {
  width: 100%; max-width: none;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-detail > .lc-public-directory-heading {
  display: grid; gap: .75rem; padding-block-end: var(--lc-public-space);
  margin-block-end: calc(1.5 * var(--lc-public-space)); border-color: var(--lc-public-color-surface-secondary);
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-heading > :is(.lc-public-title, p) {
  margin: 0; padding: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-detail p {
  max-width: 65ch; line-height: 1.65;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-service-layout {
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: calc(1.5 * var(--lc-public-space)); min-width: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-service-main {
  flex: 2 1 28rem; min-width: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-service-secondary {
  flex: 1 1 18rem; min-width: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-block {
  margin: 0; padding: calc(1.5 * var(--lc-public-space)); background: var(--lc-public-color-surface);
  border-radius: var(--lc-public-radius); border: 1px solid var(--lc-public-color-surface-secondary);
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-block + .lc-public-directory-block {
  margin-block-start: var(--lc-public-space);
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-block > p {
  margin-block: 0 .75rem; padding: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--service-detail .lc-public-directory-block > :last-child {
  margin-block-end: 0;
}

/* Services list opt-in; continuous results, independent of cards and details. */
.lc-public-ui.lc-public-directory.lc-public-directory--services-list .lc-public-directory-service-results {
  display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; margin: 0; padding: 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services-list .lc-public-directory-service-result {
  min-width: 0; margin: 0; padding: calc(1.5 * var(--lc-public-space)) 0;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services-list .lc-public-directory-service-result + .lc-public-directory-service-result {
  border-block-start: 1px solid var(--lc-public-color-surface-secondary);
}
.lc-public-ui.lc-public-directory.lc-public-directory--services-list .lc-public-directory-service-result > .lc-public-directory-name {
  font-size: 1.75rem; line-height: 1.25;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services-list .lc-public-directory-service-result > p {
  max-width: 65ch; margin: var(--lc-public-space) 0 0; padding: 0; line-height: 1.65;
}

/* Services compact opt-in; continuous inline reading with optional public button. */
.lc-public-ui.lc-public-directory.lc-public-directory--services.lc-public-directory--services-list.lc-public-directory--services-compact .lc-public-directory-service-result {
  padding-block: calc(.5 * var(--lc-public-space)); line-height: 1.65;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services.lc-public-directory--services-list.lc-public-directory--services-compact .lc-public-directory-service-result > .lc-public-directory-name {
  display: inline; font-size: 1.125rem; line-height: inherit;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services.lc-public-directory--services-list.lc-public-directory--services-compact .lc-public-directory-service-result > p {
  display: inline; max-width: none; margin: 0; padding: 0; line-height: inherit;
}
.lc-public-ui.lc-public-directory.lc-public-directory--services.lc-public-directory--services-list.lc-public-directory--services-compact .lc-public-directory-service-result > p > .lc-public-button {
  width: auto; min-height: 44px; padding: .25rem .625rem; font-size: .875rem; vertical-align: baseline;
}
