:root {
  --campaign-system-blue: #1263e5;
  --campaign-system-blue-deep: #0b43ad;
  --campaign-system-sky: #56adff;
  --campaign-system-navy: #06142d;
  --campaign-system-ink: #091426;
  --campaign-system-muted: #5b6678;
  --campaign-system-surface: #f5f8fc;
  --campaign-system-line: #cfd8e6;
  --campaign-system-radius: 6px;
  --campaign-system-header: 64px;
}

.campaign-system {
  color: var(--campaign-system-ink);
  font-family: "Noto Sans KR", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.campaign-page--apply,
.campaign-page--declaration,
.campaign-page--cardnews,
.campaign-page--admin {
  background-color: var(--campaign-system-surface);
}

.campaign-shell-header {
  box-sizing: border-box;
  min-height: var(--campaign-system-header);
  font-family: "Noto Sans KR", sans-serif;
}

.site-header.campaign-shell-header,
.reader-nav.campaign-shell-header,
.cn-nav.campaign-shell-header,
.admin-header.campaign-shell-header {
  border-bottom: 1px solid var(--campaign-system-line);
  background: rgba(247, 250, 254, 0.96);
  box-shadow: 0 1px 0 rgba(6, 20, 45, 0.04);
  backdrop-filter: blur(14px);
}

.reader-nav.campaign-shell-header,
.cn-nav.campaign-shell-header,
.admin-header.campaign-shell-header {
  min-height: var(--campaign-system-header);
  padding-inline: clamp(1.25rem, 4vw, 3.6rem);
}

.site-header.campaign-shell-header .site-header__inner {
  min-height: var(--campaign-system-header);
}

.campaign-wordmark {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  gap: 0.36rem;
  color: var(--campaign-system-ink);
  font-family: "Noto Sans KR", sans-serif;
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.campaign-wordmark strong {
  display: inline-flex;
  align-items: center;
  color: var(--campaign-system-blue);
  font: inherit;
  letter-spacing: -0.03em;
}

.site-nav.is-on-field .campaign-wordmark,
.site-nav.is-on-dark .campaign-wordmark {
  color: #f8fbff;
}

.site-nav.is-on-field .campaign-wordmark strong,
.site-nav.is-on-dark .campaign-wordmark strong {
  color: var(--campaign-system-sky);
}

.campaign-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.62rem;
}

.campaign-home-button,
.campaign-primary-button,
.site-nav__action,
.hero__action,
.campaign-system .button,
.campaign-system .submit-button,
.campaign-system .button-secondary,
.campaign-page--cardnews .fit-button {
  box-sizing: border-box;
  border-radius: var(--campaign-system-radius) !important;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.campaign-home-button {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding-inline: 1.05rem !important;
  border: 1px solid var(--campaign-system-ink) !important;
  background: transparent !important;
  color: var(--campaign-system-ink) !important;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.campaign-home-button:hover,
.campaign-home-button:focus-visible {
  border-color: var(--campaign-system-blue) !important;
  background: var(--campaign-system-blue) !important;
  color: #fff !important;
}

.campaign-primary-button {
  min-height: 44px;
  border-color: var(--campaign-system-blue) !important;
  background: var(--campaign-system-blue) !important;
  color: #fff !important;
}

.site-nav__actions {
  gap: 0.62rem;
}

.site-nav__actions .site-nav__action {
  min-height: 44px;
  padding-inline: 1.18rem;
}

.hero__action {
  min-height: 52px;
}

.campaign-page--apply .button,
.campaign-page--apply .submit-button,
.campaign-page--admin button {
  border-radius: var(--campaign-system-radius) !important;
}

.campaign-system a:focus-visible,
.campaign-system button:focus-visible,
.campaign-system input:focus-visible,
.campaign-system select:focus-visible,
.campaign-system textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--campaign-system-sky) 72%, white);
  outline-offset: 3px;
}

@media (max-width: 44rem) {
  .reader-nav.campaign-shell-header,
  .cn-nav.campaign-shell-header,
  .admin-header.campaign-shell-header,
  .site-header.campaign-shell-header .site-header__inner,
  .site-nav.campaign-shell-header .site-nav__inner {
    padding-inline: 1rem;
  }

  .campaign-wordmark {
    min-height: 44px;
    font-size: 0.98rem;
  }

  .site-header__label {
    display: none;
  }

  .campaign-header-actions,
  .site-nav__actions {
    gap: 0.35rem;
  }

  .campaign-home-button,
  .campaign-primary-button,
  .site-nav__actions .site-nav__action {
    min-height: 44px;
    padding-inline: 0.7rem !important;
    font-size: 0.78rem;
  }
}

/* Site-wide audit refinements */
body.campaign-system .campaign-wordmark {
  flex: 0 0 auto;
  white-space: nowrap;
}

.campaign-header-actions,
.site-nav__actions {
  min-width: 0;
}

.campaign-header-actions a,
.site-nav__actions a {
  white-space: nowrap;
}

.reader-nav__watch {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

@media (max-width: 22rem) {
  body.campaign-page--main .site-nav.campaign-shell-header .site-nav__inner {
    width: calc(100% - 2rem);
  }

  body.campaign-page--main .site-nav__actions {
    gap: 0.25rem;
  }

  body.campaign-page--main .site-nav__actions .site-nav__action {
    padding-inline: 0.55rem !important;
    font-size: 0.72rem;
  }
}


/* Final cross-page consistency overrides */
body.campaign-system .campaign-wordmark {
  font-family: "Noto Sans KR", sans-serif !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
}

.reader-nav__back.campaign-home-button::after {
  display: none !important;
  content: none !important;
}

.campaign-secondary-button {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding-inline: 1.05rem !important;
  border: 1px solid var(--campaign-system-ink) !important;
  border-radius: var(--campaign-system-radius) !important;
  background: transparent !important;
  color: var(--campaign-system-ink) !important;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.campaign-secondary-button:hover,
.campaign-secondary-button:focus-visible {
  border-color: var(--campaign-system-blue) !important;
  background: var(--campaign-system-blue) !important;
  color: #fff !important;
}

@media (max-width: 44rem) {
  body.campaign-system .campaign-wordmark {
    font-size: 0.98rem !important;
  }

  .campaign-secondary-button {
    min-height: 44px;
    padding-inline: 0.7rem !important;
    font-size: 0.78rem;
  }
}
