.block-richtext {
  color: inherit;
  font-size: 18px;
  line-height: 1.7;
}

.block-richtext :where(p, ul, ol, blockquote, h1, h2, h3, h4, h5, h6) {
  margin: 0 0 1rem;
}

.block-richtext :where(p:last-child, ul:last-child, ol:last-child) {
  margin-bottom: 0;
}

.block-richtext :where(ul, ol) {
  padding-left: 1.25rem;
  text-align: left;
}

.block-richtext :where(li) {
  margin: 0.35rem 0;
  text-align: left;
}

.block-richtext :where(ul) {
  list-style-type: disc;
}

.block-richtext :where(ol) {
  list-style-type: decimal;
}

.block-richtext :where(li)::marker {
  color: currentColor;
  font-weight: 700;
  font-size: 1.05em;
}

.block-richtext :where(ul) > li::marker {
  content: "•  ";
}

.block-richtext :where(a) {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  transition: opacity 0.2s ease;
}

.block-richtext :where(a:hover) {
  opacity: 0.85;
}

.block-richtext :where(strong) {
  font-weight: 700;
}

.block-richtext :where(h1, h2, h3, h4) {
  font-weight: 700;
  line-height: 1.2;
}

.block-richtext :where(img) {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}

.blocks-tone-dark :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext) {
  color: #ffffff;
}

.blocks-tone-dark .block-richtext {
  color: #e2e8f0;
}

.blocks-tone-light :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext) {
  color: #1f2937;
}

.blocks-tone-light .block-richtext {
  color: #334155;
}

/* Fix for white cards inside dark blocks */
.blocks-tone-dark .bg-white {
  color: #334155 !important;
}

.blocks-tone-dark .bg-white :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext, .subtitle, p, span, div) {
  color: #1f2937 !important;
}

.blocks-tone-dark .bg-white .block-richtext {
  color: #334155 !important;
}

.sub-services-featlist-wrap .bg-white {
  padding: 28px;
}

.sub-services-featlist-wrap .bg-white :where(.subtitle, .subtitle h1, .subtitle h2, .subtitle h3, .subtitle h4, .subtitle h5, .subtitle h6, .subtitle p, .block-richtext) {
  color: #1f2937;
}

.sub-services-featlist-wrap .bg-white .block-richtext {
  color: #334155;
}

.sub-services-featlist[style*="background-color: #fff"],
.sub-services-featlist[style*="background-color: #ffffff"],
.sub-services-featlist[style*="background-color: rgb(255, 255, 255)"],
.sub-services-featlist[style*="background-color: transparent"] {
  color: #1f2937;
}

.sub-services-featlist[style*="background-color: #fff"] :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext, p),
.sub-services-featlist[style*="background-color: #ffffff"] :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext, p),
.sub-services-featlist[style*="background-color: rgb(255, 255, 255)"] :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext, p),
.sub-services-featlist[style*="background-color: transparent"] :where(h1, h2, h3, h4, h5, h6, .subtext, .block-richtext, p) {
  color: #1f2937;
}

.sub-services-featlist[style*="background-color: #fff"] .block-richtext,
.sub-services-featlist[style*="background-color: #ffffff"] .block-richtext,
.sub-services-featlist[style*="background-color: rgb(255, 255, 255)"] .block-richtext,
.sub-services-featlist[style*="background-color: transparent"] .block-richtext {
  color: #334155;
}

.brandicons-wrap .marque-wrap {
  padding: 12px 0;
}

.brandicons-wrap .marqueen {
  display: flex;
  align-items: center;
  gap: 32px;
}

.brandicons-wrap .img {
  padding: 0 16px;
  filter: grayscale(100%);
  opacity: 0.75;
  transition: transform 0.2s ease, opacity 0.2s ease, filter 0.2s ease;
}

.brandicons-wrap .img:hover {
  transform: translateY(-2px);
  filter: grayscale(0);
  opacity: 1;
}

.content-blocks .content-block-inner {
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.15);
}

.content-blocks .cb-grid > div {
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.content-blocks .cb-grid > div:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
}

/*.sub-services-featlist-wrap .sub-services-featlist {
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.16);
}*/

.sub-services-featlist-wrap .sub-services-featlist .bg-white {
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sub-services-featlist-wrap .sub-services-featlist .bg-white:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 35px rgba(15, 23, 42, 0.14);
}

.sub-services-featlist-wrap .img img {
  transition: transform 0.35s ease;
}

.sub-services-featlist-wrap .bg-white:hover .img img {
  transform: scale(1.03);
}

.sec2-inner-wrap img {
  border-radius: 20px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

.regioninner .regionsuburbcov ul {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
  columns: 2;
  column-gap: 24px;
}

.regioninner .regionsuburbcov li {
  break-inside: avoid;
  margin: 0.4rem 0;
}

.regioninner .regionsuburbcov a {
  color: inherit;
  text-decoration: none;
  border-bottom: 2px solid rgba(255, 255, 255, 0.35);
  transition: border-color 0.2s ease, opacity 0.2s ease;
}

.regioninner .regionsuburbcov a:hover {
  border-color: rgba(255, 255, 255, 0.85);
  opacity: 0.9;
}

.subtext.block-richtext {
  max-width: 998px;
  margin-left: auto;
  margin-right: auto;
}

:where(.sub-services-featlist-wrap, .content-blocks, .brandicons-wrap, .sec2-inner-wrap, .areas-wrap, .pride-wrap) {
  margin-top: 32px;
  margin-bottom: 32px;
}

@media (max-width: 900px) {
  .regioninner .regionsuburbcov ul {
    columns: 1;
  }
}
