  :root {
    --teal: #006268;
    --teal-dark: #00494d;
    --gold: #c4a22e;
    --ink: #1c2b2c;
  }

  * { box-sizing: border-box; }

  html, body {
    margin: 0;
    padding: 0;
  }

  body {
    font-family: Georgia, 'Times New Roman', serif;
    color: var(--ink);
    background: #ffffff;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
  }

  .hero {
    display: flex;
    align-items: stretch;
    min-height: 100vh;
    background: #ffffff;
  }

  .hero-content {
    flex: 0 0 46%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 5vw 48px 6vw;
  }

  .hero-image {
    flex: 1 1 54%;
    position: relative;
    overflow: hidden;
  }

  .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    display: block;
  }

  header img {
    max-width: 220px;
    width: 60%;
    height: auto;
    margin-bottom: 36px;
  }

  h1 {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: normal;
    font-size: 2.3rem;
    letter-spacing: 0.02em;
    color: var(--teal-dark);
    margin: 0 0 24px;
  }

  h1::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    background: var(--gold);
    margin: 20px 0 0;
    border-radius: 2px;
  }

  p {
    font-size: 1.08rem;
    color: #33453f;
    margin: 0 0 20px;
    max-width: 46ch;
  }

  .signoff {
    margin-top: 28px;
    font-style: italic;
    color: var(--teal-dark);
  }

  .contact {
    display: inline-block;
    margin-top: 8px;
    padding: 14px 28px;
    background: var(--teal);
    color: #fff;
    text-decoration: none;
    border-radius: 999px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.98rem;
    letter-spacing: 0.02em;
    transition: background 0.2s ease;
    width: fit-content;
  }

  .contact:hover {
    background: var(--teal-dark);
  }

  footer {
    text-align: center;
    padding: 28px 24px 40px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.8rem;
    color: #7a8a86;
    background: #ffffff;
  }

  @media (max-width: 860px) {
    .hero {
      flex-direction: column;
      min-height: 0;
    }

    .hero-content {
      flex: none;
      order: 2;
      padding: 40px 28px 48px;
    }

    .hero-image {
      flex: none;
      order: 1;
      height: 42vh;
      min-height: 260px;
    }

    header img {
      margin-bottom: 28px;
    }

    h1 { font-size: 1.8rem; }
    p { max-width: none; }
  }