* {
        box-sizing: border-box;
      }
      body {
        margin: 0;
      }
      .card-stacked__asset {
        height: 100% !important;
      }

      /* Headquarters location block – isolated from theme card-stacked rules */
      .hq-location {
        margin-top: 3.25rem;
        padding-bottom: 3.75rem;
      }
      .hq-location__wrap {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 1.875rem;
      }
      .hq-location__grid {
        display: flex;
        flex-direction: column;
        width: 100%;
      }
      .hq-location__info {
        background: #fff;
        color: #464547;
        padding: 3.75rem 1.875rem;
        font-size: 1.3125rem;
        line-height: 1.5;
      }
      .hq-location__info p {
        margin: 0 0 2.5rem;
      }
      .hq-location__info p:last-child {
        margin-bottom: 0;
      }
      .hq-location__info strong {
        display: block;
        margin-bottom: 0.25rem;
      }
      .hq-location__map-panel {
        position: relative;
        width: 100%;
        height: 400px;
        min-height: 400px;
        overflow: hidden;
        background: #ddd;
      }
      .hq-location__map {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
      }
      .hq-location__map.leaflet-container,
      .hq-location__map .leaflet-container {
        width: 100% !important;
        height: 100% !important;
      }

      @media (min-width: 768px) {
        .hq-location {
          padding-bottom: 5rem;
        }
        .hq-location__map-panel {
          height: 500px;
          min-height: 500px;
        }
      }

      @media (min-width: 992px) {
        .hq-location {
          margin-top: 4rem;
          padding-bottom: 7.5rem;
        }
        .hq-location__wrap {
          padding-right: 0;
        }
        .hq-location__grid {
          flex-direction: row;
          align-items: stretch;
        }
        .hq-location__info {
          flex: 0 0 58%;
          max-width: 58%;
          padding: 5rem 3.125rem 5rem 3.125rem;
          margin-right: -8%;
          margin-bottom: 50px;
          z-index: 1;
        }
        .hq-location__map-panel {
          flex: 0 0 50%;
          max-width: 50%;
          height: auto;
          min-height: 500px;
          margin-top: 50px;
          align-self: stretch;
        }
      }

      @media (min-width: 1200px) {
        .hq-location {
          margin-top: 5rem;
          padding-bottom: 10rem;
        }
        .hq-location__info {
          padding: 5rem;
          padding-right: calc(15% + 80px);
        }
      }