:root { --fs-body: 14px; --fs-large: 20px; --ink: oklch(53.9% 0.011 222.2); }
@media (max-width: 768px) { :root { --fs-body: 12px; --fs-large: 18px; } }
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scrollbar-width: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body {
  background: #fff;
  font-family: 'neue-haas-unica', system-ui, -apple-system, sans-serif;
  font-size: var(--fs-body);
  color: var(--ink);
  letter-spacing: 0.015em;
  line-height: 140%;
  text-wrap: balance;
  font-synthesis: none;
}
a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px; background: #fff;
}
.header-left { display: flex; align-items: center; gap: 4px; }
header a, header span { white-space: nowrap; min-height: 44px; display: flex; align-items: center; margin: -12px 0; }
.header-name { font-weight: 600; text-decoration: none; }
main {
  display: flex; flex-direction: column; gap: 8px;
  padding: 39px 8px 8px; min-height: calc(100svh - 39px);
  animation: fadeIn 200ms ease;
}
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.ptb { display: flex; flex-direction: column; gap: 16px; max-width: 700px; width: 100%; padding: 8px 0 16px 0; }
.lead { opacity: 0.8; font-size: var(--fs-large); line-height: 126%; letter-spacing: 0.01em; }
.section { display: flex; flex-direction: column; gap: 0; }
.title { font-weight: 600; }
.body { opacity: 0.8; white-space: pre-wrap; }
.privacy { align-self: flex-start; color: oklch(53.9% 0.011 222.2 / 0.5); }
