a.link {
  color: #5C5B5B;
  border-bottom: 1px solid gray;
}
    :root {
      --me-bg: #ffffff;
      --me-text: #171717;
      --me-muted: #777;
      --me-line: #ded8cf;
      --me-white: #fff;
    }

    body {
      background: var(--me-bg);
      color: var(--me-text);
    font-weight: 400;
}

.page-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 2rem 0;
}

.page-menu a {
  padding: 0.45rem 0.8rem;
  border: 1px solid #ddd;
  border-radius: 999px;
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
}

h2 {
  scroll-margin-top: 90px;
}

    .eng-page {
      padding-top: 4.5rem;
      padding-bottom: 6rem;
    }

    .eng-intro {
      max-width: 1100px;
      margin-bottom: 5rem;
    }

    .eng-label {
      font-size: .9rem;
      color: var(--me-muted);
      letter-spacing: .02em;
      margin-bottom: 1.5rem;
    }

.eng-title {
      font-size: clamp(2.2rem, 5vw, 5rem);
      font-weight: 400;
      line-height: 0.95;
      letter-spacing: -0.04em;
      margin-bottom: 1.5rem;
    }

    .eng-subtitle {
      max-width: 820px;
      font-size: clamp(1.15rem, 2vw, 1.65rem);
      line-height: 1.35;
      color: #333;
      font-weight: 400;
    }

    .eng-system {
      display: grid;
      grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr);
      gap: clamp(2rem, 6vw, 6rem);
      align-items: end;
      padding: 5rem 0;
      border-top: 1px solid var(--me-line);
    }

    .eng-system:last-of-type {
      border-bottom: 1px solid var(--me-line);
    }

    .eng-image {
      background: var(--me-white);
      overflow: hidden;
    }

    .eng-image img {
      display: block;
      width: 100%;
      height: auto;
      transition: transform .35s ease;
    }

    .eng-system:hover .eng-image img {
      transform: scale(1.025);
    }

    .eng-number {
      color: var(--me-muted);
      font-size: .9rem;
      margin-bottom: 1rem;
    }

.eng-system-title {
  font-size: clamp(1.75rem, 2.8vw, 3rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.012em;
  margin-bottom: 1.2rem;
}

    .eng-text {
      max-width: 640px;
      font-size: 1.08rem;
      line-height: 1.6;
      color: #333;
      margin-bottom: 1.8rem;
    }

    .eng-meta {
      list-style: none;
      padding: 0;
      margin: 0 0 2rem 0;
      color: var(--me-muted);
      font-size: .95rem;
      line-height: 1.7;
    }

    .seo-section {
      max-width: 980px;
      padding: 5rem 0 0;
    }

    .seo-section h2 {
      font-size: clamp(2rem, 4vw, 4rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1.05;
      margin-bottom: 1.6rem;
    }

    .seo-section h3 {
      font-size: 1.35rem;
      font-weight: 500;
      margin-top: 2.2rem;
      margin-bottom: .8rem;
    }

    .seo-section p,
    .seo-section li {
      font-size: 1.05rem;
      line-height: 1.7;
      color: #333;
    }

    .keyword-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      margin-top: 2.5rem;
    }

    .keyword-box {
      border-top: 1px solid var(--me-line);
      padding: 3%;
    }

    @media (max-width: 900px) {
      .eng-page {
        padding-top: 3rem;
      }

      .eng-system,
      .keyword-grid {
        grid-template-columns: 1fr;
      }

      .eng-system {
        padding: 3.5rem 0;
      }

      .eng-title {
        letter-spacing: -.04em;
      }
    }