:root,
.editor-styles-wrapper {
  --color-bg: #f6f8fb;
  --color-surface: #ffffff;
  --color-text: #0f172a;
  --color-text-muted: #5b6778;
  --color-primary: #123b5d;
  --color-accent: #2563eb;
  --color-accent-soft: #eaf1ff;
  --color-secondary: #0f766e;
  --color-border: #dce3ec;
  --color-warning-soft: #fff7e6;
  --em-bg: #f6f8fb;
  --em-surface: #ffffff;
  --em-surface-subtle: #f9fafb;
  --em-ink: #101828;
  --em-text: #344054;
  --em-muted: #667085;
  --em-border: #e4e7ec;
  --em-border-strong: #d0d5dd;
  --em-brand: #143a5a;
  --em-brand-strong: #0b2439;
  --em-accent: #2563eb;
  --em-positive: #137a52;
  --em-negative: #b42318;
  --em-warning: #b54708;
  --color-ink: var(--color-text);
  --color-navy: var(--color-primary);
  --color-paper: var(--color-bg);
  --color-muted: var(--color-text-muted);
  --color-positive: var(--color-secondary);
  --color-negative: #b42318;
  --container: 1200px;
  --article-measure: 744px;
  --toc-width: 260px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --shadow-soft: 0 16px 44px rgb(15 23 42 / 6%);
  --font-sans: Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: var(--font-sans);
  --space-section: clamp(72px, 8vw, 112px);
  --transition-fast: 180ms ease;
}

html {
  color-scheme: light;
  scroll-padding-top: 112px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
.editor-styles-wrapper {
  color: var(--color-text);
  background: var(--color-bg);
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}

body {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

body.ast-main-header-nav-open {
  overflow: hidden;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

img {
  height: auto;
}

:where(h1, h2, h3, h4, h5, h6) {
  color: var(--color-primary);
  font-family: var(--font-sans);
  font-weight: 800;
  letter-spacing: -0.035em;
  text-wrap: balance;
  word-break: keep-all;
}

:where(p, li, dt, dd, figcaption) {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

:where(time, data, td, dd, .easymoney-data-card__value) {
  font-variant-numeric: tabular-nums;
}

a {
  color: var(--color-accent);
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

a:hover {
  color: #174ea6;
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
  border-radius: 4px;
}

:where(button, input, textarea, select) {
  font: inherit;
}

:where(input[type="search"], input[type="text"], input[type="email"], textarea, select) {
  min-height: 44px;
  border: 1px solid #b8c4d3;
  border-radius: 10px;
  color: var(--color-text);
  background: var(--color-surface);
}

:where(button, input[type="submit"]) {
  min-height: 44px;
}

.screen-reader-text:focus,
.skip-link:focus {
  z-index: 100001;
  top: 12px;
  left: 12px;
  min-height: 44px;
  padding: 10px 16px;
  color: #ffffff;
  background: var(--color-primary);
}

.easymoney-eyebrow {
  margin: 0 0 0.75rem;
  color: var(--color-secondary);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.easymoney-section {
  width: 100%;
  padding: var(--space-section) max(20px, 4vw);
  color: var(--color-text);
  background: var(--color-surface);
}

.easymoney-section > * {
  width: min(100%, var(--container));
  margin-inline: auto;
}

.easymoney-section > h2,
.easymoney-section > .easymoney-eyebrow,
.easymoney-section > .easymoney-section-intro {
  text-align: left;
}

.easymoney-section h2 {
  margin: 0 0 0.8rem;
  color: var(--color-primary);
  font-size: clamp(32px, 3vw, 42px);
  line-height: 1.22;
}

.easymoney-section-intro {
  max-width: 680px;
  margin-bottom: 2.5rem;
  color: var(--color-text-muted);
  font-size: 18px;
  line-height: 1.7;
}

.easymoney-section--paper,
.easymoney-section--tint {
  background: var(--color-bg);
}

.easymoney-section--navy {
  color: #e8eef5;
  background: var(--color-primary);
}

.easymoney-section--navy :where(h1, h2, h3, p, li, strong) {
  color: inherit;
}

.easymoney-empty-state,
.easymoney-query-empty {
  width: 100%;
  padding: clamp(28px, 5vw, 48px);
  border: 1px dashed #a9b7c8;
  border-radius: var(--radius-md);
  color: var(--color-text-muted);
  background: var(--color-surface);
  text-align: center;
}

:where([id^="article-section-"], [id^="policy-section-"]) {
  scroll-margin-top: 120px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
