/* PATCH-RENEW-01C: public header foundation. Body and legacy utilities are owned separately. */
:root {
  --ac-paper:#f5f3ec;
  --ac-surface:#fffdf7;
  --ac-ink:#171717;
  --ac-muted:#51514c;
  --ac-cobalt:#234bdf;
  --ac-cobalt-soft:#e5eaff;
  --ac-yellow:#ffe153;
  --ac-on-dark:#ffffff;
  --ac-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --ac-header-height:80px;
  --ac-shell-width:1280px;
  --ac-shell-border:2px;
  --ac-shell-shadow:4px 4px 0 var(--ac-ink);
  --ac-shell-motion:160ms;
  --ac-shell-menu-motion:200ms;
}
/* Compensate only documents using this fixed header; preserve their native anchors. */
html:has([data-ac-shell]) { scroll-padding-top:calc(var(--ac-header-height) + 16px); }
.ac-shell-header,.ac-shell-header *, .ac-shell-header *::before,.ac-shell-header *::after,
.ac-shell-skip-link,.ac-shell-floating-cta,.ac-shell-floating-cta * { box-sizing:border-box; }
.ac-shell-header {
  position:fixed;
  top:0;
  right:0;
  left:0;
  z-index:60;
  height:var(--ac-header-height);
  border-bottom:var(--ac-shell-border) solid var(--ac-ink);
  background:var(--ac-paper);
  color:var(--ac-ink);
  font-family:var(--ac-font-sans);
  font-size:15px;
  font-weight:400;
  line-height:1.6;
  color-scheme:light;
}
.ac-shell-header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:var(--ac-shell-width);
  height:100%;
  margin:0 auto;
  padding:0 28px;
}
.ac-shell-header a { color:inherit; text-decoration:none; }
.ac-shell-header button,.ac-shell-header summary { font-family:inherit; }
.ac-shell-wordmark {
  display:inline-flex;
  align-items:center;
  min-height:48px;
  font-size:28px;
  font-weight:850;
  letter-spacing:-.075em;
  line-height:1;
  white-space:nowrap;
  flex-shrink:0;
}
.ac-shell-wordmark span { color:var(--ac-cobalt); }
.ac-shell-desktop-nav { display:none; align-items:center; gap:10px; margin:0; }
.ac-shell-header details { margin:0; padding:0; }
.ac-shell-disclosure { position:relative; }
.ac-shell-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  min-height:44px;
  margin:0;
  padding:9px 8px;
  border:0;
  border-radius:0;
  color:var(--ac-ink);
  background:transparent;
  font-size:13px;
  font-weight:700;
  line-height:1.6;
  list-style:none;
  cursor:pointer;
  white-space:nowrap;
}
.ac-shell-summary::-webkit-details-marker { display:none; }
.ac-shell-summary::after {
  display:block;
  content:"＋";
  font-size:18px;
  font-weight:400;
  line-height:1;
  transition:transform var(--ac-shell-motion) ease-out;
}
.ac-shell-disclosure[open] > .ac-shell-summary::after,.ac-shell-mobile-menu[open] > .ac-shell-summary::after { transform:rotate(45deg); }
.ac-shell-panel {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:10;
  min-width:248px;
  width:max-content;
  max-width:calc(100vw - 40px);
  margin:0;
  padding:10px;
  border:var(--ac-shell-border) solid var(--ac-ink);
  border-radius:0;
  background:var(--ac-surface);
  color:var(--ac-ink);
  box-shadow:var(--ac-shell-shadow);
  list-style:none;
}
.ac-shell-disclosure:not([open]) > .ac-shell-panel { display:none; }
.ac-shell-header ul,.ac-shell-header ol { margin:0; padding:0; list-style:none; }
.ac-shell-panel.ac-shell-panel { padding:10px; }
.ac-shell-header .ac-shell-link {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:9px 10px;
  border:0;
  color:var(--ac-ink);
  background:transparent;
  font-size:13px;
  font-weight:600;
  line-height:1.7;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.ac-shell-desktop-nav > .ac-shell-link { padding:9px 8px; white-space:nowrap; }
.ac-shell-header .ac-shell-link[aria-current="page"] { color:var(--ac-cobalt); font-weight:750; }
.ac-shell-language .ac-shell-panel { left:auto; right:0; min-width:190px; }
.ac-shell-link small { font-size:11px; font-weight:500; color:var(--ac-muted); }
.ac-shell-actions { display:none; align-items:center; gap:10px; }
.ac-shell-header .ac-shell-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:48px;
  padding:10px 15px;
  border:var(--ac-shell-border) solid var(--ac-ink);
  border-radius:0;
  color:var(--ac-ink);
  background:var(--ac-paper);
  box-shadow:var(--ac-shell-shadow);
  font-size:13px;
  font-weight:700;
  line-height:1.6;
  white-space:nowrap;
  transition:transform var(--ac-shell-motion) ease-out;
}
.ac-shell-header .ac-shell-button-primary { color:var(--ac-on-dark); background:var(--ac-ink); box-shadow:4px 4px 0 var(--ac-cobalt); }
.ac-shell-button span { font-size:20px; line-height:1; font-weight:400; }
.ac-shell-header .ac-shell-button:active { transform:translate(1px,1px); }
.ac-shell-mobile-menu { display:block; position:static; }
.ac-shell-mobile-menu > .ac-shell-summary {
  min-height:48px;
  padding:10px 14px;
  border:var(--ac-shell-border) solid var(--ac-ink);
  box-shadow:var(--ac-shell-shadow);
  background:var(--ac-surface);
  font-size:13px;
  gap:15px;
}
.ac-shell-mobile-panel {
  position:fixed;
  top:calc(var(--ac-header-height) + 10px);
  right:20px;
  left:20px;
  z-index:10;
  max-width:calc(var(--ac-shell-width) - 40px);
  max-height:calc(100vh - var(--ac-header-height) - 32px);
  max-height:calc(100dvh - var(--ac-header-height) - 32px);
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0 auto;
  padding:12px 18px 18px;
  border:var(--ac-shell-border) solid var(--ac-ink);
  background:var(--ac-surface);
  color:var(--ac-ink);
  box-shadow:var(--ac-shell-shadow);
}
.ac-shell-mobile-menu:not([open]) > .ac-shell-mobile-panel { display:none; }
.ac-shell-mobile-panel .ac-shell-link { min-height:48px; padding:11px 0; font-size:15px; }
.ac-shell-mobile-group { display:block; border-bottom:1px solid #cecec3; }
.ac-shell-mobile-group > .ac-shell-summary { min-height:48px; padding:11px 0; font-size:15px; }
.ac-shell-mobile-group > .ac-shell-panel {
  position:static;
  min-width:0;
  width:auto;
  max-width:none;
  margin:0 0 10px;
  padding:3px 12px;
  box-shadow:none;
  border:1px solid #cecec3;
  background:var(--ac-paper);
}
.ac-shell-mobile-group .ac-shell-link { font-size:14px; }
.ac-shell-mobile-panel > .ac-shell-link { border-bottom:1px solid #cecec3; }
.ac-shell-mobile-panel .ac-shell-button { display:flex; width:100%; margin-top:12px; min-height:48px; }
.ac-shell-header a:focus-visible,.ac-shell-header summary:focus-visible,.ac-shell-header button:focus-visible,
.ac-shell-floating-cta a:focus-visible,.ac-shell-skip-link:focus-visible { outline:3px solid var(--ac-cobalt); outline-offset:4px; }
.ac-shell-skip-link {
  position:fixed;
  top:10px;
  left:16px;
  z-index:80;
  padding:10px 16px;
  border:var(--ac-shell-border) solid var(--ac-ink);
  color:var(--ac-ink);
  background:var(--ac-yellow);
  font-family:var(--ac-font-sans);
  font-size:14px;
  font-weight:700;
  line-height:1.6;
  transform:translateY(-160px);
}
.ac-shell-skip-link:focus { transform:none; }
[data-ac-floating-cta].ac-shell-floating-cta { z-index:40; }
[data-ac-floating-cta].ac-shell-floating-cta[hidden] { display:none !important; }
/* Native details still protects the menu layer when enhancement JavaScript is unavailable. */
.ac-shell-header:has(details[open]) ~ [data-ac-floating-cta] { visibility:hidden; pointer-events:none; }
/* Without enhancement, keep keyboard focus in the main/footer clear of fixed CTAs. */
body:has([data-ac-shell]:not([data-ac-initialized="true"])):has(main:focus-visible,main :focus-visible,footer:focus-visible,footer :focus-visible) [data-ac-floating-cta] { visibility:hidden; pointer-events:none; }
.ac-shell-floating-cta,.ac-shell-floating-cta * { animation:none !important; }
.ac-shell-floating-cta a {
  min-height:48px;
  border-radius:0;
  border:var(--ac-shell-border) solid var(--ac-ink);
  box-shadow:var(--ac-shell-shadow);
  font-family:var(--ac-font-sans);
  transform:none !important;
  transition:none !important;
}
.ac-shell-floating-cta a:not([href*="kakao.com"]) { color:var(--ac-on-dark); background:var(--ac-ink); }
.ac-shell-floating-cta a:active { transform:translate(1px,1px) !important; }
.ac-shell-floating-cta svg { flex-shrink:0; }
@media (min-width:1100px) {
  .ac-shell-desktop-nav,.ac-shell-actions { display:flex; }
  .ac-shell-mobile-menu { display:none; }
}
@media (max-width:600px) {
  .ac-shell-header-inner { padding:0 20px; }
  .ac-shell-wordmark { font-size:27px; }
  .ac-shell-mobile-panel { right:16px; left:16px; padding:10px 16px 16px; }
}
@media (max-width:360px) {
  .ac-shell-header-inner { padding:0 18px; gap:12px; }
  .ac-shell-wordmark { font-size:25px; }
  .ac-shell-mobile-menu > .ac-shell-summary { padding:10px 12px; gap:11px; }
}
@media (hover:hover) and (pointer:fine) {
  .ac-shell-header .ac-shell-link:hover { color:var(--ac-cobalt); background:var(--ac-cobalt-soft); }
  .ac-shell-header .ac-shell-summary:hover { color:var(--ac-cobalt); }
  .ac-shell-header .ac-shell-button:hover { transform:translate(1px,1px); }
  .ac-shell-floating-cta a:hover { transform:translate(1px,1px) !important; }
}
@media (prefers-reduced-motion:reduce) {
  html:has([data-ac-shell]) { scroll-behavior:auto !important; }
  .ac-shell-header *, .ac-shell-header *::before,.ac-shell-header *::after,
  .ac-shell-floating-cta,.ac-shell-floating-cta * { animation:none !important; transition:none !important; }
  .ac-shell-header .ac-shell-button:hover,.ac-shell-header .ac-shell-button:active,
  .ac-shell-floating-cta a:hover,.ac-shell-floating-cta a:active,
  .ac-shell-disclosure[open] > .ac-shell-summary::after,.ac-shell-mobile-menu[open] > .ac-shell-summary::after { transform:none !important; }
}
@media print {
  .ac-shell-header,.ac-shell-floating-cta,.ac-shell-skip-link { display:none !important; }
}
