/* Focused visibility fixes. Original SOHFIT colors, grids and section spacing remain authoritative. */

/* The imported React animation left invalid opacity values and an opaque cover. */
body .styles_op_14enbqk_dim { display: none; }

/* Restore the original long, horizontal 500px entry panels. The image must not size the row. */
@media (min-width: 861px) {
  body .styles_op_14enbqk_panel {
    height: 500px !important;
    min-height: 0;
    grid-template-rows: minmax(0,1fr);
  }
  body .styles_op_14enbqk_media {
    height: 100%;
    min-height: 0;
    max-height: 100%;
  }
  body .styles_op_14enbqk_img { height: 100%; min-height: 0; object-fit: cover; }
}

/* Keep the outlined numbers, with enough room above their titles. */
body .styles_op_14enbqk_copy { padding-top: 0; }
body .styles_op_14enbqk_ghost {
  position: relative;
  inset: auto;
  display: block;
  font-size: clamp(80px,8vw,112px);
  line-height: 1;
  margin: 0 0 4px;
  opacity: .38;
}
body .styles_op_14enbqk_title { line-height: 1.25; }

/* These areas were white-on-cyan in the original. */
body .sf-consult-card { color: #fff; }
body .sf-consult-card :is(h2,p,li,.sf-kicker) { color: #fff; }
body :is(.styles_op_1wpdvnk_head,.styles_op_1wpdvnk_ctaNote,.styles_op_1wpdvnk_sceneCaption) { color: #fff; }
body .styles_op_1wpdvnk_headline.styles_op_1wpdvnk_headline,
body .styles_op_1wpdvnk_subhead.styles_op_1wpdvnk_subhead { color: #fff; }

/* Targeted wrapping prevents clipped labels without changing the original grid. */
body .styles_op_mnkutw_header { grid-template-columns: minmax(0,1fr) auto; }
body .styles_op_mnkutw_label { overflow-wrap: break-word; }
body .styles_op_1hk5221_name { overflow-wrap: break-word; }
body .sf-footer nav { flex-wrap: wrap; }

/* The consent control stays above the map's existing location card. */
body .sf-map-consent { padding-bottom: 240px; }
body .sf-map-consent p { margin: 0; }

@media (max-width: 860px) {
  body .styles_op_14enbqk_panel { position: relative !important; top: auto !important; height: auto !important; min-height: 0; margin-bottom: 20px; }
  body .styles_op_14enbqk_media { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  body .styles_op_14enbqk_ghost { font-size: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  body .styles_op_14enbqk_panel { position: relative !important; top: auto !important; }
}
