  :root {
      --primary-color: #222222;
      --bg-color: #ffffff;
      --text-color: #4a4a4a;
      --border-color: #e0e0e0;
  }

  .sub_content {
      max-width: 1200px;
      margin: 0 auto;
      padding: 80px 20px;
  }

  .unit_title_txt {
      text-align: center;
      margin-bottom: 80px;
      font-weight: 800;
      position: relative;
  }

  .title_deco_left,
  .title_deco_right {
      position: absolute;
      top: 0;
      width: 50%;
      height: 100%;
      background-image: url('../img/sec1_bg_02.png');
      background-repeat: no-repeat;
      background-size: auto 70%;
      z-index: -1;
  }

  .title_deco_left {
      left: 0;
      background-position: right 20%;
      /* Positioned right before flip */
      transform: scaleX(-1);
  }

  .title_deco_right {
      right: 0;
      background-position: right 80%;
  }

  .unit_title_txt h2 {
      font-size: 40px;
      font-weight: 400;
      color: var(--primary-color);
      margin: 0;
      letter-spacing: -0.5px;
      font-weight: 800;
  }

  .unit_title_txt h2 b {
      color: #0d695b;
      font-weight: 900;
      font-size: 60px;
  }

  .unit_title_txt span {
      display: block;
      font-size: 0.7rem;
      color: #888;
      margin-top: 15px;
      text-transform: uppercase;
      letter-spacing: 2px;
      font-weight: 400;
  }

  .unit_title_txt::after {
      content: "";
      display: block;
      width: 1px;
      height: 40px;
      background-color: var(--primary-color);
      margin: 30px auto 0;
  }

  /* Layout for Unit Plan & Key Map */
  .unit_details_wrap {
      display: flex;
      gap: 60px;
      margin-bottom: 20px;
      align-items: flex-start;
  }

  .unit_plan_section {
      flex: 1;
  }

  .key_map_section {
      max-width: 250px;
      flex: 1;
  }

  .section_title {
      font-family: var(--font-heading);
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--primary-color);
      padding-bottom: 15px;
      border-bottom: 2px solid var(--primary-color);
      text-transform: uppercase;
      letter-spacing: 1px;
  }

  .unit_info_list {
      margin-bottom: 0;
      /* Reset margin as it's now inside a wrapper */
      border-top: none;
      /* Title has the border */
  }

  .key_map_img {
      width: 100%;
      height: auto;
      display: block;
      /* Placeholder bg */
      /* Placeholder height */
      object-fit: cover;
  }

  .info_row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 25px 0;
      border-bottom: 1px solid var(--border-color);
      transition: background-color 0.3s ease;
  }

  .info_row:hover {
      background-color: #fafafa;
  }

  .info_row dt {
      font-size: 1rem;
      color: var(--text-color);
      margin: 0;
      font-weight: 400;
      padding-left: 10px;
  }

  .info_row dd {
      font-size: 1.1rem;
      font-weight: 300;
      color: var(--primary-color);
      margin: 0;
      padding-right: 10px;
      font-family: var(--font-heading);
  }

  .info_row dd span {
      font-size: 0.9rem;
      color: #888;
      margin-left: 5px;
      font-family: var(--font-body);
  }

  .info_row.highlight {
      border-bottom: 1px solid var(--primary-color);
  }

  .info_row.highlight dt,
  .info_row.highlight dd {
      font-weight: 700;
  }

  .unit_img {
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px solid var(--border-color);
      max-width: 100%;
      height: auto;
      display: block;
  }

  .unit_title_sec {
      font-size: 16px;
      font-weight: 700;
      margin: 20px 0;
  }

  @media (max-width: 768px) {
      .unit_details_wrap {
          flex-direction: column;
          gap: 40px;
      }

      .unit_plan_section {
          width: 100%;
      }

      .key_map_section {
          margin: 0 auto;
          /* Center on mobile */
          width: 100%;
          max-width: 100%;
      }

      .unit_title_txt h2 {
          font-size: 1.5rem;
      }

      .info_row {
          padding: 20px 0;
      }

      .key_map_img {
        width: 60%;
        margin: 0 auto;
        padding-top: 0.8rem;
      }
  }