:root {
  --ixc-ink: #050505;
  --ixc-paper: #fff;
  --ixc-mist: #f5f5f7;
  --ixc-soft: #ececf2;
  --ixc-purple: #512483;
  --ixc-purple-light: #9b68ff;
  --ixc-line: rgba(5, 5, 5, 0.14);
  --ixc-line-invert: rgba(255, 255, 255, 0.18);
  --ixc-edge: clamp(1.5rem, 6vw, 8.5rem);
  --ixc-header: clamp(4.75rem, 5.4vw, 6.2rem);
  --ixc-radius: 0.58rem;
  --ixc-shadow: 0 1.5rem 5rem rgba(0, 0, 0, 0.14);
}

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

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--ixc-ink);
  background: var(--ixc-paper);
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  word-break: keep-all;
  overflow-wrap: break-word;
}

body.menu-open {
  overflow: hidden;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

.wp-site-blocks {
  overflow-x: clip;
}

.screen-reader-text {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  white-space: nowrap;
}

.screen-reader-text:focus {
  z-index: 100000;
  top: 1rem;
  left: 1rem;
  clip: auto;
  width: auto;
  height: auto;
  padding: 0.7rem 1rem;
  color: #fff;
  background: var(--ixc-purple);
}

.ixc-eyebrow {
  margin: 0 0 clamp(1rem, 1.6vw, 1.8rem);
  color: var(--ixc-purple-light);
  font-size: clamp(0.82rem, 0.18vw + 0.76rem, 1rem);
  font-weight: 880;
  line-height: 1.25;
  text-transform: uppercase;
}

.ixc-lead,
.ixc-section p {
  color: #555b66;
  font-size: clamp(1.05rem, 0.52vw + 0.95rem, 1.46rem);
  line-height: 1.82;
}

.ixc-page-title,
.ixc-article-title {
  max-width: 12ch;
  margin: 0;
  color: inherit;
  font-size: clamp(3.8rem, 7.7vw, 9.6rem);
  font-weight: 680;
  line-height: 1.04;
  letter-spacing: 0;
}

.ixc-article-shell,
.ixc-archive-shell {
  padding: calc(var(--ixc-header) + clamp(4rem, 8vw, 8rem)) var(--ixc-edge) clamp(7rem, 10vw, 12rem);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 1ms;
    animation-iteration-count: 1;
    scroll-behavior: auto;
    transition-duration: 1ms;
  }
}

@media (max-width: 48rem) {
  :root {
    --ixc-edge: clamp(1.25rem, 6vw, 2rem);
  }

  .ixc-page-title,
  .ixc-article-title {
    max-width: 9.5ch;
    font-size: clamp(3rem, 14vw, 5.6rem);
  }
}
