    .legal-page { display: flex; flex-direction: column; min-height: 100vh; }

    .legal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--sp-2) var(--sp-3);
      background: var(--c-surface);
      border-bottom: 1px solid var(--c-border);
    }

    .legal-header .brand-name {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--c-accent);
      letter-spacing: -0.01em;
      text-decoration: none;
    }

    .back-link {
      font-size: 0.85rem;
      color: var(--c-text-muted);
      text-decoration: none;
      transition: color 0.2s ease;
    }
    .back-link:hover { color: var(--c-text); text-decoration: none; }

    .legal-main {
      flex: 1;
      padding: var(--sp-6) var(--sp-3);
    }

    .legal-content {
      max-width: 680px;
      margin: 0 auto;
    }

    .legal-content h1 {
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      margin-bottom: var(--sp-1);
      color: var(--c-text);
    }

    .effective-date {
      font-size: 0.8rem;
      color: var(--c-text-muted);
      margin-bottom: var(--sp-4);
    }

    .legal-content h2 {
      font-size: 1rem;
      font-weight: 600;
      color: var(--c-text);
      margin-top: var(--sp-4);
      margin-bottom: var(--sp-1);
    }

    .legal-content p {
      font-size: 0.9rem;
      color: var(--c-text-muted);
      line-height: 1.7;
      margin-bottom: var(--sp-2);
    }

    .legal-content ul {
      font-size: 0.9rem;
      color: var(--c-text-muted);
      line-height: 1.7;
      margin-bottom: var(--sp-2);
      padding-left: var(--sp-3);
    }

    .legal-content ul li { margin-bottom: 6px; }
    .legal-content a { color: var(--c-accent); }

    .notice-box {
      background: var(--c-surface);
      border: 1px solid var(--c-border);
      border-left: 3px solid var(--c-accent);
      border-radius: var(--r-card);
      padding: var(--sp-3);
      margin-bottom: var(--sp-4);
    }

    .notice-box p {
      margin-bottom: 0;
      font-size: 0.88rem;
    }

    .highlight-box {
      background: rgba(0, 194, 122, 0.06);
      border: 1px solid rgba(0, 194, 122, 0.25);
      border-radius: var(--r-card);
      padding: var(--sp-3);
      margin-bottom: var(--sp-4);
    }

    .highlight-box p {
      margin-bottom: 0;
      font-size: 0.88rem;
      color: var(--c-text);
    }

    @media (min-width: 640px) {
      .legal-main { padding: var(--sp-6); }
    }
