:root {
  --bg: #090909;
  --bg-elevated: #101010;
  --bg-hover: #181818;
  --bg-soft: #131313;
  --surface: #111111;
  --surface-2: #161616;
  --line: #282828;
  --line-soft: #1c1c1c;
  --line-strong: #3a3a3a;
  --text: #f3f3f1;
  --muted: #a2a2a0;
  --muted-2: #727270;
  --accent: #ff343d;
  --accent-hover: #cf222b;
  --accent-pressed: #a91d25;
  --accent-ink: #0a0a0a;
  --light: #f2f1ed;
  --light-text: #0b0b0b;
  --light-muted: #5f5f5b;
  --max: 1220px;
  --gutter: clamp(22px, 4vw, 64px);
  --header: 68px;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --sans:
    system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  background: var(--bg);
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}
body.menu-open {
  overflow: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
textarea {
  font: inherit;
}
button {
  color: inherit;
}
img,
video {
  max-width: 100%;
  display: block;
}
::selection {
  background: var(--accent);
  color: #fff;
}
::-moz-selection {
  background: var(--accent);
  color: #fff;
}
.shell {
  width: min(var(--max), calc(100% - (var(--gutter) * 2)));
  margin-inline: auto;
}
.mono {
  font-family: var(--mono);
}
.red {
  color: var(--accent);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html:lang(ja) body {
  font-family:
    "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
    system-ui, sans-serif;
  line-height: 1.76;
}
html:lang(zh) body {
  font-family:
    "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;
  line-height: 1.8;
  letter-spacing: 0.008em;
}
html:lang(ko) body {
  font-family:
    "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans KR", system-ui,
    sans-serif;
  line-height: 1.72;
}
html:lang(ja) :is(h1, h2, h3, .display, .hero-tagline, .section-title) {
  line-break: strict;
  word-break: normal;
  letter-spacing: -0.022em;
}
html:lang(zh) :is(h1, h2, h3, .display, .hero-tagline, .section-title) {
  line-break: strict;
  word-break: normal;
  letter-spacing: 0;
}
html:lang(ko) :is(h1, h2, h3, .display, .hero-tagline, .section-title) {
  word-break: keep-all;
  overflow-wrap: break-word;
  letter-spacing: -0.018em;
}
html:lang(ja) :is(p, li, .copy),
html:lang(zh) :is(p, li, .copy) {
  line-break: strict;
  word-break: normal;
}
html:lang(ko) :is(p, li, .copy) {
  word-break: keep-all;
  overflow-wrap: break-word;
}
