/* Public Services mosaic: opt-in LC Public UI presentation, no domain rules. */
.lc-public-ui.lc-platform-public-services {
  width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0;
  background: transparent; container-type: inline-size;
}
.lc-platform-public-services .lc-platform-public-services-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
}
.lc-platform-public-services .lc-platform-public-service {
  display: grid; min-height: calc(100cqw * 53 / 65 / 3); min-width: 0; margin: 0; padding: 0;
  border: 0; border-radius: 0; box-shadow: none;
  background: var(--lc-public-color-ink);
}
.lc-platform-public-services .lc-platform-public-service-link {
  position: relative; display: grid; align-items: center; min-width: 0; min-height: 0;
  padding: calc(var(--lc-public-space) * 1.5); border: 0; border-radius: 0;
  color: var(--lc-public-color-surface); text-decoration: none; white-space: normal;
  text-align: center; isolation: isolate;
}
.lc-platform-public-services .lc-platform-public-service-photo {
  position: absolute; inset: 0; z-index: -3; overflow: hidden;
}
.lc-platform-public-services .lc-platform-public-service-image {
  display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover;
  margin: 0; padding: 0; border: 0; border-radius: 0;
}
.lc-platform-public-services .lc-platform-public-service-photo--hover {
  z-index: -2; opacity: 0; transition: opacity .4s ease;
}
.lc-platform-public-services .lc-platform-public-service-link::after {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: #000; opacity: .5; transition: opacity .4s ease; pointer-events: none;
}
/* Soft local protection follows the copy and leaves the photograph exposed. */
.lc-platform-public-services .lc-platform-public-service-content {
  position: relative; isolation: isolate; min-width: 0;
  text-shadow: 0 2px 4px #0009, 0 0 12px #0006;
}
.lc-platform-public-services .lc-platform-public-service-content::before {
  content: ''; position: absolute; inset: -1.25rem; z-index: -1;
  background: radial-gradient(ellipse closest-side, #000b 0%, #000a 45%, #0005 70%, transparent 100%);
  filter: blur(10px); pointer-events: none;
}
.lc-platform-public-services .lc-platform-public-service :where(h2, p) {
  margin: 0; padding: 0; max-width: 100%; min-width: 0; color: inherit;
  font: inherit; white-space: normal; letter-spacing: normal; text-transform: none;
  overflow-wrap: anywhere;
}
.lc-platform-public-services .lc-platform-public-service-title {
  font-size: 1.75rem; font-weight: 700; line-height: 1.05;
}
.lc-platform-public-services .lc-platform-public-service-details {
  display: grid; grid-template-rows: 0fr; opacity: 0;
  transition: grid-template-rows .4s ease, opacity .4s ease;
}
.lc-platform-public-services .lc-platform-public-service-details > div { overflow: hidden; min-height: 0; }
.lc-platform-public-services .lc-platform-public-service-summary,
.lc-platform-public-services .lc-platform-public-service-description { padding-top: .75rem; }
.lc-platform-public-services .lc-platform-public-service-indicator { font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.lc-platform-public-services .lc-platform-public-service-secondary { margin-top: .5rem; font-size: 1rem; line-height: 1.45; }
.lc-platform-public-services .lc-platform-public-service-eyebrow { margin-bottom: .375rem; font-size: .8125rem; font-weight: 700; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }
.lc-platform-public-services .lc-platform-public-service-link:focus-visible {
  outline: 3px solid var(--lc-public-color-focus-gap); outline-offset: -6px;
  box-shadow: inset 0 0 0 3px var(--lc-public-color-focus);
}
.lc-platform-public-services .lc-platform-public-service-link:focus-visible::after { opacity: 0; }
.lc-platform-public-services .lc-platform-public-service-link:focus-visible .lc-platform-public-service-photo--hover { opacity: 1; }
.lc-platform-public-services .lc-platform-public-service-link:focus-visible .lc-platform-public-service-details { grid-template-rows: 1fr; opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .lc-platform-public-services .lc-platform-public-service-link:hover::after { opacity: 0; }
  .lc-platform-public-services .lc-platform-public-service-link:hover .lc-platform-public-service-photo--hover { opacity: 1; }
  .lc-platform-public-services .lc-platform-public-service-link:hover .lc-platform-public-service-details { grid-template-rows: 1fr; opacity: 1; }
}
@media (hover: none), (pointer: coarse) {
  .lc-platform-public-services .lc-platform-public-service-details { grid-template-rows: 1fr; opacity: 1; }
}
@container (max-width: 56rem) {
  .lc-platform-public-services .lc-platform-public-service { min-height: calc(100cqw * 53 / 65 / 2); }
  .lc-platform-public-services .lc-platform-public-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 36rem) {
  .lc-platform-public-services .lc-platform-public-service { min-height: calc(100cqw * 53 / 65); }
  .lc-platform-public-services .lc-platform-public-services-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .lc-platform-public-services .lc-platform-public-service-link::after,
  .lc-platform-public-services .lc-platform-public-service-photo--hover,
  .lc-platform-public-services .lc-platform-public-service-details { transition: none; }
  .lc-platform-public-services .lc-platform-public-service-link::after { opacity: .55; }
}

/* Let expanded copy establish the cell height instead of clipping long indicators. */
.lc-platform-public-services .lc-platform-public-service-link:focus-visible .lc-platform-public-service-details > div { min-height: auto; overflow: visible; }
@media (hover: hover) and (pointer: fine) {
  .lc-platform-public-services .lc-platform-public-service-link:hover .lc-platform-public-service-details > div { min-height: auto; overflow: visible; }
}
@media (hover: none), (pointer: coarse) {
  .lc-platform-public-services .lc-platform-public-service-details > div { min-height: auto; overflow: visible; }
}

@media (hover: none), (pointer: coarse) {
  .lc-platform-public-services .lc-platform-public-service-details { transition: none; }
  .lc-platform-public-services .lc-platform-public-service-link::after { opacity: .55; }
}
