/* Local graphic study for Direction C. Not intended for production yet. */
.sv-property-types-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .8rem;
  width: min(calc(100vw - 4rem), 960px);
  max-width: 960px;
  margin: clamp(1.4rem, 3.5vw, 2.5rem) 0 .75rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.sv-property-types-grid > figure {
  min-width: 0;
  min-height: 10.5rem;
  margin: 0;
  padding: .9rem .55rem .8rem;
  border: 1px solid #d2dde2;
  border-radius: 9px;
  background: #fff;
  text-align: center;
}
.sv-property-types-grid img {
  display: block;
  width: min(100%, 120px);
  height: 82px;
  margin: 0 auto .45rem;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain;
}
.sv-property-types-grid figcaption {
  margin: 0;
  color: #526773;
  font-size: .78rem;
  line-height: 1.4;
}
.sv-property-types-grid figcaption strong {
  display: block;
  margin-bottom: .2rem;
  color: #17374d;
  font: 700 .94rem/1.3 'Manrope', Arial, sans-serif;
}
.sv-property-types-grid figcaption span { display: block; }
.sv-property-types-caption {
  width: min(calc(100vw - 4rem), 960px);
  max-width: 960px !important;
  margin: .25rem 0 2.2rem !important;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  color: #526773 !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
}
ol.sv-hbu-flow {
  counter-reset: hbu-test;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(calc(100vw - 4rem), 960px);
  max-width: 960px;
  gap: 1.05rem;
  list-style: none !important;
  margin: 1.2rem 0 2.2rem !important;
  padding: 0 !important;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
ol.sv-hbu-flow > li {
  counter-increment: hbu-test;
  position: relative;
  min-width: 0;
  min-height: 205px;
  margin: 0 !important;
  padding: 3.45rem 1.15rem 1.2rem !important;
  border: 1px solid #d2dde2;
  border-top: 3px solid #244b66;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(24, 51, 67, .055);
}
ol.sv-hbu-flow > li::before {
  content: counter(hbu-test);
  position: absolute;
  top: 1rem;
  left: 1.15rem;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: #244b66;
  color: #fff;
  font: 700 .82rem/1 Arial, sans-serif;
  letter-spacing: .02em;
}
ol.sv-hbu-flow > li:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -1.05rem;
  width: 1.05rem;
  border-top: 2px solid #7da4b5;
}
ol.sv-hbu-flow > li > p {
  max-width: none !important;
  margin: 0 !important;
  color: #40515d !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
ol.sv-hbu-flow > li > p > strong {
  display: block;
  margin-bottom: .45rem;
  color: #17374d;
  font: 700 1.02rem/1.3 'Manrope', Arial, sans-serif;
}
ol.sv-hbu-flow > li > p > .sv-hbu-desc {
  display: block;
  margin-top: .3rem;
}
@media (max-width: 800px) {
  .sv-property-types-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  ol.sv-hbu-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  ol.sv-hbu-flow > li::after { display: none; }
}
@media (max-width: 540px) {
  .sv-property-types-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 1.2rem 0 .6rem; }
  .sv-property-types-grid > figure { min-height: 9.4rem; padding: .75rem .45rem; }
  .sv-property-types-grid img { height: 70px; width: min(100%, 110px); }
  .sv-property-types-grid figcaption { font-size: .72rem; }
  .sv-property-types-grid figcaption strong { font-size: .88rem; }
  .sv-property-types-caption { margin: .25rem 0 1.6rem !important; font-size: .72rem !important; }
  ol.sv-hbu-flow { grid-template-columns: 1fr; gap: .95rem; }
  ol.sv-hbu-flow > li { min-height: 0; padding: 3.25rem 1rem 1.05rem !important; }
  ol.sv-hbu-flow > li:not(:last-child)::after { display: block; top: auto; right: auto; bottom: -.95rem; left: 2.05rem; width: 0; height: .95rem; border-top: 0; border-left: 2px solid #7da4b5; }
}

/* Suppress exported Squarespace paragraph counters inside custom cards. */
ol.sv-hbu-flow > li::marker { content: "" !important; }
ol.sv-hbu-flow > li > p::before,
ol.sv-hbu-flow > li > p::after { content: none !important; display: none !important; }
ol.sv-hbu-flow > li::before { content: counter(hbu-test) !important; }
