:root {
  --color-bg: #ffffff;
  --color-bg-soft: #f5f6fa;
  --color-text: #16181d;
  --color-text-muted: #5a5f6b;
  --color-ink: #0c0e13;
  --color-accent: #3a5ddb;
  --color-accent-dark: #2944a8;
  --color-border: #e6e8ef;
  --font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-base); color: var(--color-text); background: var(--color-bg); line-height: 1.65; }
.wrap { max-width: 640px; margin: 0 auto; padding: 0 24px; }
a { color: var(--color-accent-dark); }

.tool-header { background: var(--color-ink); color: #fff; padding: 18px 0; }
.tool-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tool-header .logo { display: flex; align-items: center; gap: 8px; font-size: 1.1rem; font-weight: 800; font-family: var(--font-base); letter-spacing: -0.01em; color: #fff; text-decoration: none; flex-shrink: 0; }
.tool-header .logo img { display: block; height: 28px; width: auto; }
.tool-header .logo span { color: var(--color-accent); }
.tool-header p { margin: 0; font-size: 0.8rem; color: rgba(255,255,255,0.6); }

.intro { padding: 48px 0 16px; }
.intro h1 { font-size: 1.7rem; margin: 0 0 12px; letter-spacing: -0.01em; }
.intro p { color: var(--color-text-muted); margin: 0; }

.form-embed { padding: 8px 0 60px; }
.form-embed iframe { display: block; width: 100%; border: none; overflow: hidden; }

.btn-cta { display: inline-block; padding: 13px 26px; border-radius: 6px; font-weight: 700; background: var(--color-accent); color: #fff; text-decoration: none; border: none; cursor: pointer; font-size: 0.98rem; }
.btn-cta:hover { background: var(--color-accent-dark); }

.hint { color: var(--color-text-muted); font-size: 0.82rem; margin: 14px 0 0; }

.tool-footer { background: var(--color-ink); color: rgba(255,255,255,0.55); padding: 24px 0; font-size: 0.82rem; text-align: center; }

@media (max-width: 560px) {
  .tool-header .wrap { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* Mobile line-wrap fix: Korean text wraps at word boundaries, not mid-syllable */
body { word-break: keep-all; overflow-wrap: break-word; }
