:root {
  color-scheme: light;
  --ink: #20343a;
  --muted: #61747d;
  --line: #dbe5e8;
  --surface: #ffffff;
  --canvas: #f3f7f7;
  --accent: #3e7d81;
  --accent-dark: #225a5e;
  --accent-soft: #e3f0ef;
  --warning: #72562a;
}

* { box-sizing: border-box; }
html { background: var(--canvas); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Apple SD Gothic Neo", "Noto Sans KR", "Microsoft YaHei", Arial, sans-serif;
  line-height: 1.68;
}

a { color: var(--accent-dark); text-underline-offset: 3px; }
a:hover { color: var(--accent); }
.wrap { width: min(980px, calc(100% - 32px)); margin: 0 auto; }
.site-header { padding: 28px 0 38px; }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.mark { width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(18, 39, 42, .16)); }
.brand-name { font-size: 22px; font-weight: 750; letter-spacing: -.03em; }
.lang-picker { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.lang-picker button {
  appearance: none; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.75);
  color: var(--muted); font: inherit; font-size: 13px; padding: 6px 10px; cursor: pointer;
}
.lang-picker button:hover, .lang-picker button[aria-pressed="true"] { color: var(--accent-dark); border-color: var(--accent); background: var(--accent-soft); }
.nav { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; font-size: 15px; }
.nav a { color: var(--muted); text-decoration: none; }
.nav a[aria-current="page"], .nav a:hover { color: var(--accent-dark); font-weight: 650; }

.localized { display: none; }
body[data-lang="zh-Hans"] .localized[data-lang="zh-Hans"],
body[data-lang="en"] .localized[data-lang="en"],
body[data-lang="ja"] .localized[data-lang="ja"],
body[data-lang="ko"] .localized[data-lang="ko"] { display: block; }
.localized.inline { display: none; }
body[data-lang="zh-Hans"] .localized.inline[data-lang="zh-Hans"],
body[data-lang="en"] .localized.inline[data-lang="en"],
body[data-lang="ja"] .localized.inline[data-lang="ja"],
body[data-lang="ko"] .localized.inline[data-lang="ko"] { display: inline; }

.hero { padding: 20px 0 46px; }
.eyebrow { margin: 0 0 12px; color: var(--accent-dark); font-size: 15px; font-weight: 700; letter-spacing: .02em; }
h1, h2, h3 { line-height: 1.22; letter-spacing: -.025em; }
h1 { max-width: 760px; margin: 0; font-size: clamp(36px, 7vw, 66px); }
h2 { margin: 0 0 12px; font-size: clamp(25px, 4vw, 34px); }
h3 { margin: 0 0 7px; font-size: 19px; }
.lede { max-width: 680px; color: var(--muted); margin: 18px 0 0; font-size: clamp(18px, 2.6vw, 22px); }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button { display: inline-block; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent); color: #fff; padding: 11px 17px; font-weight: 700; text-decoration: none; }
.button.secondary { background: #fff; color: var(--accent-dark); }

.card, .feature-card { background: var(--surface); border: 1px solid var(--line); box-shadow: 0 10px 32px rgba(33, 66, 78, .055); }
.card { border-radius: 22px; padding: clamp(22px, 4vw, 38px); margin-bottom: 18px; }
.intro-card { margin-bottom: 18px; }
.feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.feature-card { border-radius: 18px; padding: 22px; }
.feature-card p, .pro-card p { color: var(--muted); margin: 0; }
.pro-card { border: 1px solid #bdd8d8; border-radius: 20px; background: linear-gradient(135deg, #f5fbfb, #e3f0ef); padding: 24px; margin: 18px 0; }
.pro-card .eyebrow { margin-bottom: 7px; }
.meta { color: var(--muted); font-size: 14px; border-bottom: 1px solid var(--line); padding-bottom: 16px; margin-bottom: 24px; }
.notice { border-left: 4px solid var(--accent); background: var(--accent-soft); padding: 14px 16px; border-radius: 10px; margin: 18px 0; }
.notice.warning { border-left-color: #b88738; background: #fff6e4; color: var(--warning); }
.faq { padding: 15px 0 17px; border-bottom: 1px solid var(--line); }
.faq:last-child { border-bottom: 0; }
.faq strong { display: block; margin-bottom: 5px; }
.section-title { margin: 42px 0 16px; }
p { margin: 8px 0 14px; }
ul { margin: 8px 0 18px; padding-left: 1.25em; }
li { margin: 7px 0; }
.legal h3 { margin: 28px 0 7px; }
.small { color: var(--muted); font-size: 14px; }
footer { color: var(--muted); font-size: 13px; padding: 8px 0 44px; }

@media (max-width: 620px) {
  .site-header { padding-top: 18px; }
  .topbar { align-items: flex-start; flex-direction: column; gap: 14px; }
  .lang-picker { justify-content: flex-start; }
  .nav { margin-top: 20px; gap: 12px; }
  .hero { padding-bottom: 32px; }
  .feature-grid { grid-template-columns: 1fr; }
  .card { border-radius: 17px; }
}
