/* page-specific token overrides */
:root { --radius: 16px; }
body  { line-height: 1.75; }
.nav-inner { max-width: 820px; }

.page-hero {
  background: linear-gradient(135deg, var(--pink-pale), var(--blue-light));
  padding: 52px 24px 44px; text-align: center;
  border-bottom: 2px solid var(--pink-light);
}
.page-hero h1 { font-size: clamp(24px, 4vw, 34px); font-weight: 900; margin-bottom: 8px; }
.page-hero p { color: var(--text-mid); font-size: 13px; }

.terms-body {
  max-width: 820px; margin: 48px auto 80px; padding: 0 24px;
  display: flex; flex-direction: column; gap: 48px;
}

.terms-section h2 {
  font-size: 20px; font-weight: 900; margin-bottom: 16px;
  padding-bottom: 10px; border-bottom: 2px solid var(--border);
}
.terms-section h3 {
  font-size: 15px; font-weight: 800; margin: 20px 0 8px; color: var(--text);
}
.terms-section p {
  font-size: 14px; color: var(--text-mid); margin-bottom: 10px;
}
.terms-section p:last-child { margin-bottom: 0; }
.terms-section ul {
  list-style: none; display: flex; flex-direction: column; gap: 8px;
  margin: 8px 0 10px;
}
.terms-section ul li {
  font-size: 14px; color: var(--text-mid);
  display: flex; align-items: baseline; gap: 8px;
}
.terms-section ul li::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%;
  background: var(--pink); flex-shrink: 0; margin-top: 9px;
}

.highlight-box {
  background: var(--blue-light); border: 2px solid #C8DEFF;
  border-radius: var(--radius); padding: 20px 22px; margin-top: 16px;
}
.highlight-box h4 { font-size: 14px; font-weight: 800; margin-bottom: 8px; }
.highlight-box p  { font-size: 13px; color: var(--text-mid); margin: 0; }

.updated { font-size: 12px; color: var(--text-light); margin-top: 4px; }

@media (max-width: 640px) {
  .page-hero { padding: 36px 16px 28px; }
  .page-hero h1 { font-size: 22px; }
  .terms-body { padding: 0 16px; margin-top: 32px; margin-bottom: 56px; gap: 32px; }
  .terms-section h2 { font-size: 18px; }
  .terms-section p, .terms-section li { font-size: 13px; }
}
