  * { box-sizing: border-box; }

  body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
  }

  .image-space {
    flex: 1 1 60%;
    /* Left side reserved for an image. Swap this background
       for: background: url('your-image.jpg') center/cover no-repeat; */
    background: #e8e8e8;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
  }

  .content-column {
    flex: 1 1 70%;
    display: flex;
    align-items: center;
    padding: 40px;
  }

  .text-box {
    width: 100%;
    background: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 28px;
  }

  .text-box h1 {
    margin: 0;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
  }

  .text-box h1 .arrow {
    font-size: 16px;
    transition: transform 0.2s ease;
  }

  .text-box h1.open .arrow {
    transform: rotate(180deg);
  }

  .text-box p {
    margin: 12px 0 0;
    line-height: 1.6;
    color: #444;
    display: none;
  }

  .text-box p.open {
    display: block;
  }

  @media (max-width: 720px) {
    body { flex-direction: column; }
    .image-space { min-height: 160px; }
    .content-column { max-width: 100%; }
  }