:root {
  --ks-primary: #6d91b6;
  --ks-primary-strong: #315f81;
  --ks-font-body: var(--ks-font-system);
  --ks-font-heading: var(--ks-font-system);
  --ks-text: #25333d;
  --ks-muted: #64727c;
  --ks-line: #dbe2e7;
  --ks-soft: #f4f7f9;
  --ks-white: #fff;
  --ks-focus: var(--ks-primary-strong);
  --ks-shell: 1280px;
  --ks-radius-sm: 8px;
  --ks-radius: 14px;
  --ks-shadow-menu: 0 18px 38px rgba(25, 42, 55, .12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ks-text); background: var(--ks-white); font-family: var(--ks-font-body); font-size: 16px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
a { color: var(--ks-primary-strong); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--ks-focus); outline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img, svg { max-width: 100%; }
.ks-shell { width: min(100% - 40px, var(--ks-shell)); margin-inline: auto; }
.ks-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.ks-skip-link { position: fixed; z-index: 10000; top: 10px; left: 10px; transform: translateY(-160%); padding: 10px 16px; border-radius: 6px; background: #111; color: #fff; font-weight: 700; text-decoration: none; }
.ks-skip-link:focus { transform: translateY(0); }

.ks-header { position: relative; z-index: 100; border-bottom: 1px solid var(--ks-line); background: rgba(255,255,255,.98); }
.ks-header__utility { border-bottom: 1px solid #edf1f3; background: #f8fafb; color: var(--ks-muted); font-size: .875rem; }
.ks-header__utility-inner { min-height: 38px; display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.ks-header__utility a { color: inherit; text-decoration: none; }
.ks-header__utility nav ul { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.ks-header__contact { margin-right: auto; }
.ks-header__main { min-height: 86px; display: flex; align-items: center; gap: 32px; }
.ks-brand { flex: 0 1 310px; margin: 0; font-family: var(--ks-font-heading); font-size: clamp(1.25rem, 2.1vw, 1.75rem); line-height: 1.2; }
.ks-brand a { display: inline-flex; align-items: center; min-height: 48px; color: var(--ks-text); text-decoration: none; }
.ks-brand img { display: block; max-width: 280px; max-height: 60px; object-fit: contain; object-position: left center; }
.ks-mobile-menu-button { position: relative; z-index: 510; display: none; min-width: 48px; min-height: 48px; margin-left: auto; border: 1px solid var(--ks-line); border-radius: var(--ks-radius-sm); background: #fff; padding: 0; align-items: center; justify-content: center; cursor: pointer; }
.ks-mobile-menu-button__icon { width: 22px; display: grid; gap: 4px; }
.ks-mobile-menu-button__icon i { display: block; height: 2px; background: currentColor; }
.ks-gnb__backdrop { display: none; }

.ks-gnb { margin-left: auto; align-self: stretch; display: flex; align-items: stretch; }
.ks-gnb__panel, .ks-gnb__level1 { height: 100%; }
.ks-gnb ul { margin: 0; padding: 0; list-style: none; }
.ks-gnb__level1 { display: flex; align-items: stretch; }
.ks-gnb__level1 > li { position: static; display: flex; align-items: stretch; }
.ks-menu-row { display: flex; align-items: center; }
.ks-gnb__level1 > li > .ks-menu-row > a { position: relative; display: flex; align-items: center; padding: 0 19px; color: var(--ks-text); font-family: var(--ks-font-heading); font-weight: 700; text-decoration: none; white-space: nowrap; }
.ks-gnb__level1 > li > .ks-menu-row > a::after { content: ""; position: absolute; left: 19px; right: 19px; bottom: -1px; height: 3px; transform: scaleX(0); background: var(--ks-primary); transition: transform .18s ease; }
.ks-gnb__level1 > li:is(:hover,.is-open,.is-active) > .ks-menu-row > a::after { transform: scaleX(1); }
.ks-menu-toggle { display: grid; place-items: center; width: 34px; height: 34px; margin-left: -12px; border: 0; border-radius: 6px; background: transparent; cursor: pointer; }
.ks-menu-toggle svg { width: 12px; height: 12px; fill: currentColor; }
.ks-gnb__level2 { visibility: hidden; opacity: 0; pointer-events: none; position: absolute; z-index: 120; top: 100%; min-width: 240px; padding: 10px; border: 1px solid var(--ks-line); border-radius: 0 0 var(--ks-radius) var(--ks-radius); background: #fff; box-shadow: var(--ks-shadow-menu); transform: translateY(-4px); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.ks-gnb--single .ks-gnb__level1 > li > .ks-gnb__level2 { margin-left: 0; }
.ks-gnb--single .ks-gnb__level1 > li:is(:hover,.is-open) > .ks-gnb__level2 { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
.ks-gnb__level2 > li { position: relative; }
.ks-gnb__level2 .ks-menu-row > a, .ks-gnb__level3 a { flex: 1; display: block; padding: 10px 12px; border-radius: 7px; color: var(--ks-text); text-decoration: none; }
.ks-gnb__level2 .ks-menu-row > a:hover, .ks-gnb__level2 .ks-menu-row > a:focus-visible, .ks-gnb__level2 .is-active > .ks-menu-row > a, .ks-gnb__level3 a:hover, .ks-gnb__level3 a:focus-visible, .ks-gnb__level3 .is-active > a { background: var(--ks-soft); color: var(--ks-primary-strong); font-weight: 700; }
.ks-menu-toggle--side { flex: 0 0 34px; margin: 0 2px 0 -4px; }
.ks-gnb__level3 { visibility: hidden; opacity: 0; pointer-events: none; position: absolute; z-index: 140; top: -10px; left: calc(100% + 10px); min-width: 220px; padding: 10px; border: 1px solid var(--ks-line); border-radius: var(--ks-radius); background: #fff; box-shadow: var(--ks-shadow-menu); transform: translateX(-4px); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.ks-gnb__level2 > li:is(:hover,.is-open) > .ks-gnb__level3 { visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(0); }

.ks-gnb--full .ks-gnb__level1::after { content: ""; visibility: hidden; opacity: 0; pointer-events: none; position: absolute; z-index: 105; top: 100%; left: 0; right: 0; height: var(--ks-full-menu-height, 330px); border-top: 1px solid var(--ks-line); border-bottom: 1px solid var(--ks-line); background: #fff; box-shadow: 0 20px 34px rgba(28,43,54,.08); transition: opacity .16s ease, visibility .16s; }
.ks-gnb--full.is-open .ks-gnb__level1::after, .ks-gnb--full:focus-within .ks-gnb__level1::after { visibility: visible; opacity: 1; pointer-events: auto; }
.ks-gnb--full .ks-gnb__level2 { top: 100%; min-width: 0; width: min(220px, 16vw); padding: 22px 8px; border: 0; border-radius: 0; box-shadow: none; background: transparent; transform: none; }
.ks-gnb--full.is-open .ks-gnb__level2, .ks-gnb--full:focus-within .ks-gnb__level2 { visibility: visible; opacity: 1; pointer-events: auto; }

.ks-page-heading { border-bottom: 1px solid var(--ks-line); background: #f7f9fa; }
.ks-page-heading .ks-shell { padding-block: 28px 38px; }
.ks-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 18px; padding: 0; list-style: none; color: var(--ks-muted); font-size: .875rem; }
.ks-breadcrumb li + li::before { content: "/"; margin-right: 7px; color: #a0aab1; }
.ks-breadcrumb a { color: inherit; }
.ks-page-heading__content { padding: 4px 20px 0; text-align: center; }
.ks-page-heading__content::after { display: block; width: min(180px, 42vw); height: 2px; margin: 20px auto 0; background: var(--ks-primary); opacity: .5; content: ""; }
.ks-page-heading__title { margin: 0; color: var(--ks-primary-strong); font-family: var(--ks-font-heading); font-size: clamp(2rem, 3vw, 2.5rem); font-weight: 700; line-height: 1.22; letter-spacing: -.035em; }
.ks-page-heading__summary { max-width: 760px; margin: 12px auto 0; color: var(--ks-text); font-size: 1.0625rem; font-weight: 600; line-height: 1.65; }

.ks-body { min-height: 520px; padding-block: 46px 80px; }
.ks-body--main { width: 100%; max-width: none; padding-block: 0; }
.ks-body--main .ks-content { width: 100%; }
.ks-body--with-lnb { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: clamp(34px,5vw,70px); align-items: start; }
.ks-content { min-width: 0; }
.ks-lnb { position: sticky; top: 20px; }
.ks-lnb nav { border-top: 3px solid var(--ks-primary); }
.ks-lnb h2 { margin: 0; padding: 20px 18px; border-bottom: 1px solid var(--ks-line); font-family: var(--ks-font-heading); font-size: 1.35rem; }
.ks-lnb ul { margin: 0; padding: 0; list-style: none; }
.ks-lnb nav > ul > li { border-bottom: 1px solid var(--ks-line); }
.ks-lnb a { display: block; padding: 13px 16px; color: var(--ks-text); text-decoration: none; }
.ks-lnb li.is-active > a, .ks-lnb a:hover, .ks-lnb a:focus-visible { color: var(--ks-primary-strong); font-weight: 700; background: var(--ks-soft); }
.ks-lnb ul ul { padding: 6px 0 9px; background: #fbfcfd; }
.ks-lnb ul ul a { padding: 8px 16px 8px 30px; font-size: .9375rem; }
.ks-lnb-contact { margin-top: 28px; padding: 18px; border: 1px solid var(--ks-line); border-radius: var(--ks-radius-sm); }
.ks-lnb-contact h3 { display:flex; align-items:center; gap:8px; margin: 0 0 14px; font-family: var(--ks-font-heading); font-size: 1rem; }
.ks-lnb-contact h3 svg { width:18px; height:18px; fill:var(--ks-primary-strong); }
.ks-lnb-contact dl { margin: 0; }
.ks-lnb-contact dl > div + div { margin-top: 11px; }
.ks-lnb-contact dt { display:flex; align-items:center; gap:6px; color: var(--ks-muted); font-size: .8125rem; font-weight: 700; }
.ks-lnb-contact dt svg { flex:0 0 13px; width:13px; height:13px; fill:currentColor; }
.ks-lnb-contact dd { margin: 2px 0 0; font-size: .9rem; }
.ks-lnb-contact__email dd { overflow-x:auto; overflow-y:hidden; }
.ks-lnb-contact__email a { display:inline-block; min-width:max-content; white-space:nowrap; font-size:.82rem; letter-spacing:-.025em; overflow-wrap:normal; word-break:normal; }

.ks-footer { border-top: 1px solid var(--ks-footer-border, #56646C); background: var(--ks-footer-bg, #27343D); color: var(--ks-footer-text, #DCE4E8); }
.ks-footer__main { padding-block: 26px 17px; }
.ks-footer__info { display:grid; gap:2px; margin:0; font-style:normal; color:var(--ks-footer-text, #DCE4E8); font-size:.875rem; line-height:1.55; }
.ks-footer__line { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; margin:0; }
.ks-footer__line--primary { color:var(--ks-footer-text, #DCE4E8); }
.ks-footer__item { display:inline-flex; min-width:0; align-items:baseline; gap:3px; }
.ks-footer__label { color:var(--ks-footer-link, #FFFFFF); font-weight:700; }
.ks-footer__value { min-width:0; }
.ks-footer__info a { color:inherit; }
.ks-footer__separator { color:var(--ks-footer-muted, #B8C4CA); }
.ks-footer__note { margin: 7px 0 0; color: var(--ks-footer-muted, #B8C4CA); font-size: .8375rem; }
.ks-footer__links { margin-top:12px; padding-top:10px; border-top:1px solid var(--ks-footer-border, #56646C); }
.ks-footer__links ul { display:flex; flex-wrap:wrap; gap:5px 0; margin:0; padding:0; list-style:none; }
.ks-footer__links li + li::before { content:"|"; margin:0 10px; color:var(--ks-footer-muted, #B8C4CA); }
.ks-footer a { color: var(--ks-footer-link, #FFFFFF); }
.ks-footer__copyright { padding-block: 10px 13px; border-top: 1px solid var(--ks-footer-border, #56646C); color: var(--ks-footer-muted, #B8C4CA); font-size:.8125rem; line-height:1.45; }

@media screen and (max-width: 1020px) {
  .ks-shell { width: min(100% - 32px, var(--ks-shell)); }
  .ks-header__utility { display: none; }
  .ks-header__main { min-height: 72px; }
  .ks-brand { flex-basis: auto; }
  .ks-mobile-menu-button { display: inline-flex; }
  html.ks-menu-lock,
  html.ks-menu-lock body { overflow: hidden; }

  
  .ks-gnb {
    position: fixed;
    z-index: 500;
    inset: 72px 0 0;
    display: block;
    margin: 0;
    align-self: auto;
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear .24s;
  }
  .ks-gnb.is-mobile-open {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  .ks-gnb__backdrop {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(18, 28, 35, .36);
    opacity: 0;
    cursor: default;
    transition: opacity .2s ease;
  }
  .ks-gnb.is-mobile-open .ks-gnb__backdrop { opacity: 1; }
  .ks-gnb__panel {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(86vw, 380px);
    height: auto;
    margin: 0;
    padding: 0 0 36px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    border-left: 1px solid var(--ks-line);
    box-shadow: -18px 0 42px rgba(20, 36, 48, .18);
    transform: translateX(100%);
    transition: transform .24s cubic-bezier(.2, .72, .2, 1);
  }
  .ks-gnb.is-mobile-open .ks-gnb__panel { transform: translateX(0); }

  .ks-gnb__level1 {
    display: block;
    height: auto;
    padding: 10px 14px 28px;
  }
  .ks-gnb__level1 > li {
    display: block;
    border-bottom: 1px solid var(--ks-line);
  }
  .ks-gnb__level1 > li > .ks-menu-row {
    min-height: 58px;
    border-radius: 9px;
  }
  .ks-gnb__level1 > li > .ks-menu-row > a {
    flex: 1;
    min-height: 58px;
    padding: 0 14px;
  }
  .ks-gnb__level1 > li > .ks-menu-row > a::after,
  .ks-gnb--full .ks-gnb__level1::after { display: none; }
  .ks-gnb__level1 > li.is-active > .ks-menu-row > a,
  .ks-gnb__level1 > li.is-open > .ks-menu-row > a {
    color: var(--ks-primary-strong);
    font-weight: 800;
  }
  .ks-gnb__level1 > li.is-open > .ks-menu-row { background: var(--ks-soft); }
  .ks-menu-toggle {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin: 0 4px 0 0;
  }
  .ks-menu-toggle svg { transition: transform .16s ease; }
  .ks-gnb__level1 > li.is-open > .ks-menu-row > .ks-menu-toggle svg { transform: rotate(180deg); }

  .ks-gnb__level2,
  .ks-gnb--full .ks-gnb__level2,
  .ks-gnb__level3 {
    position: static;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    display: none;
    width: auto;
    min-width: 0;
    margin: 0 4px 10px 14px;
    padding: 7px 8px 9px 12px;
    border: 0;
    border-left: 3px solid var(--ks-primary);
    border-radius: 0 8px 8px 0;
    background: #f7f9fa;
    box-shadow: none;
    transform: none;
    transition: none;
  }
  .ks-gnb li.is-open > .ks-gnb__level2,
  .ks-gnb li.is-open > .ks-gnb__level3 { display: block; }
  .ks-gnb__level2 .ks-menu-row > a,
  .ks-gnb__level3 a {
    min-height: 44px;
    padding: 9px 11px;
  }
  .ks-menu-toggle--side svg { transform: rotate(90deg); }
  .ks-gnb__level2 > li.is-open > .ks-menu-row > .ks-menu-toggle--side svg { transform: rotate(-90deg); }

  .ks-gnb a:focus-visible,
  .ks-gnb button:focus-visible {
    outline: 3px solid var(--ks-primary-strong);
    outline-offset: -3px;
    border-radius: 8px;
  }
  .ks-body--with-lnb { grid-template-columns: 1fr; }
  .ks-lnb { display: none !important; }
  .ks-footer__main { display:block; }
  .ks-footer__line { gap:4px 12px; }
  .ks-footer__separator { display:none; }
}
@media screen and (max-width: 620px) {
  .ks-shell { width: min(100% - 24px, var(--ks-shell)); }
  .ks-brand { font-size: 1.2rem; }
  .ks-brand img { max-width: 210px; max-height: 48px; }
  .ks-page-heading .ks-shell { padding-block: 22px 28px; }
  .ks-page-heading__content { padding-inline: 8px; }
  .ks-page-heading__title { font-size: 1.75rem; }
  .ks-page-heading__summary { margin-top: 10px; font-size: .9875rem; }
  .ks-page-heading__content::after { width: 120px; margin-top: 16px; }
  .ks-body { padding-block: 30px 56px; }
  .ks-body--main { padding-block: 0; }

  
  .ks-footer__main { padding-block:13px 9px; }
  .ks-footer__info { display:block; font-size:.8125rem; line-height:1.38; }
  .ks-footer__line {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:2px 8px;
  }
  .ks-footer__line + .ks-footer__line { margin-top:3px; }
  .ks-footer__item {
    display:inline-flex;
    min-width:0;
    align-items:baseline;
    gap:3px;
    padding:1px 0;
  }
  .ks-footer__colon { display:inline; }
  .ks-footer__label { color:var(--ks-footer-link, #FFFFFF); font-size:inherit; line-height:inherit; }
  .ks-footer__value { min-width:0; color:var(--ks-footer-text, #DCE4E8); overflow-wrap:anywhere; word-break:normal; }
  .ks-footer__item--name {
    flex:0 0 100%;
    margin:0 0 2px;
    padding:0 0 3px;
    border:0;
  }
  .ks-footer__item--name .ks-footer__label,
  .ks-footer__item--name .ks-footer__colon { display:none; }
  .ks-footer__item--name .ks-footer__value { color:var(--ks-footer-link, #FFFFFF); font-size:.9375rem; font-weight:700; line-height:1.35; }
  .ks-footer__item--address { flex:1 1 100%; }
  .ks-footer__item--email { flex:1 1 100%; }
  .ks-footer__item--email .ks-footer__value { font-size:.8125rem; }

  .ks-footer__links { margin-top:8px; padding-top:7px; }
  .ks-footer__links ul { gap:1px 10px; font-size:.8125rem; line-height:1.35; }
  .ks-footer__links li + li::before { content:none; margin:0; }
  .ks-footer__links a { display:inline-flex; align-items:center; min-height:28px; padding:1px 0; }
  .ks-footer__copyright { padding-block:7px 8px; font-size:.7rem; line-height:1.35; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (forced-colors: active) {
  .ks-gnb__level1 > li > .ks-menu-row > a::after { background: CanvasText; }
  .ks-menu-toggle, .ks-mobile-menu-button { border: 1px solid ButtonText; }
}
@media screen and (min-width: 1021px) {
  .ks-gnb__level1 { position: relative; }
  .ks-gnb--single .ks-gnb__level1 > li,
  .ks-gnb--full .ks-gnb__level1 > li { position: relative; }
  .ks-gnb__level2 > li:focus-within > .ks-gnb__level3 { visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(0); }
  .ks-gnb__level2 > li.is-flipped > .ks-gnb__level3 { left: auto; right: calc(100% + 10px); }
}

.ks-footer { background:var(--ks-footer-bg); color:var(--ks-footer-text); border-top-color:var(--ks-footer-border); }
.ks-footer__info, .ks-footer__line--primary, .ks-footer__value { color:var(--ks-footer-text); }
.ks-footer__label, .ks-footer a, .ks-footer__item--name .ks-footer__value { color:var(--ks-footer-link); }
.ks-footer__note, .ks-footer__copyright { color:var(--ks-footer-muted); }
.ks-footer__separator { color:var(--ks-footer-muted); }
.ks-footer__links, .ks-footer__copyright { border-top-color:var(--ks-footer-border); }

html,
body,
.ks-site {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}
.ks-site,
.ks-header,
.ks-body,
.ks-content,
.ks-footer {
  min-width: 0;
}
.ks-content,
.ks-content > * {
  max-width: 100%;
}
.ks-content img,
.ks-content svg,
.ks-content video,
.ks-content canvas,
.ks-content iframe,
.ks-content object,
.ks-content embed {
  max-width: 100%;
}
.ks-content img,
.ks-content video {
  height: auto;
}
.ks-content table {
  max-width: 100%;
}
.ks-content pre,
.ks-content code,
.ks-content textarea {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.ks-content input,
.ks-content select,
.ks-content textarea,
.ks-content button {
  max-width: 100%;
}
.ks-content fieldset {
  min-width: 0;
}
.ks-content .xe_content,
.ks-content .rhymix_content,
.ks-content .xpress-editor,
.ks-content .rx-editor,
.ks-content .cke,
.ks-content .cke_inner,
.ks-content .cke_contents,
.ks-content .editor,
.ks-content .write_editor,
.ks-content .write_comment {
  max-width: 100%;
}
@media screen and (max-width: 620px) {
  .ks-shell {
    width: 100%;
    max-width: 100%;
    padding-inline: 12px;
  }
  .ks-content {
    width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }
  .ks-content table:not(.ks-board-table) {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .ks-content .xe_content,
  .ks-content .rhymix_content {
    overflow-wrap: anywhere;
  }
  .ks-footer,
  .ks-footer__main,
  .ks-footer__info,
  .ks-footer__line,
  .ks-footer__item,
  .ks-footer__value,
  .ks-footer__links,
  .ks-footer__copyright {
    max-width: 100%;
    min-width: 0;
  }
}

.ks-header-search-trigger { display: inline-flex; align-items: center; gap: 6px; }
.ks-header-search-trigger svg { width: 14px; height: 14px; fill: currentColor; }
.ks-header-search { border-bottom: 1px solid var(--ks-line); background: #fff; }
.ks-header-search[hidden] { display: none !important; }
.ks-header-search__inner { padding-top: 22px; padding-bottom: 24px; }
.ks-header-search__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.ks-header-search__heading h2 { margin: 0; font-family: var(--ks-font-heading); font-size: 1.25rem; }
.ks-header-search__close { border: 0; background: transparent; color: var(--ks-muted); padding: 7px 4px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ks-header-search__form label { display: block; margin-bottom: 8px; color: var(--ks-text); font-weight: 700; }
.ks-header-search__controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.ks-header-search__controls input,
.ks-mobile-search__controls input { min-width: 0; width: 100%; border: 1px solid #b7c6cf; border-radius: 8px; background: #fff; color: var(--ks-text); font: inherit; padding: 12px 14px; }
.ks-header-search__controls input:focus-visible,
.ks-mobile-search__controls input:focus-visible { outline: 3px solid rgba(109,145,182,.42); outline: 3px solid color-mix(in srgb, var(--ks-primary) 38%, transparent); outline-offset: 1px; border-color: var(--ks-primary-strong); }
.ks-header-search__controls button,
.ks-mobile-search__controls button { min-width: 88px; border: 1px solid var(--ks-primary-strong); border-radius: 8px; background: var(--ks-primary-strong); color: #fff; font: inherit; font-weight: 700; padding: 11px 18px; cursor: pointer; }
.ks-header-search__controls button:hover,
.ks-mobile-search__controls button:hover { filter: brightness(.94); }
.ks-mobile-search { display: none; }

@media screen and (max-width: 1020px) {
  .ks-header-search { display: none !important; }
  .ks-mobile-search { display: block; padding: 14px 18px 16px; border-bottom: 1px solid var(--ks-line); background: #f8fafb; }
  .ks-mobile-search__controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
  .ks-mobile-search__controls input { padding: 10px 11px; }
  .ks-mobile-search__controls button { min-width: 68px; padding: 9px 12px; }
}

@media (forced-colors: active) {
  .ks-header-search__controls input,
  .ks-mobile-search__controls input,
  .ks-header-search__controls button,
  .ks-mobile-search__controls button { border: 1px solid ButtonText; }
}


/* KCMS 0.1.125: 모바일 문서 페이지 본문 좌우 여백 보정 */
@media screen and (max-width: 620px) {
  .ks-content--document-page {
    box-sizing: border-box;
    padding-inline: 8px;
  }
}


/* KCMS 0.1.126: 모바일 게시물 기본 글자 크기 보강 */
@media screen and (max-width: 760px) {
  .board .read_body,
  .board .read_body .xe_content,
  .board .read_body .rhymix_content,
  .ks-gallery-document__body,
  .ks-gallery-document__body .xe_content,
  .ks-gallery-document__body .rhymix_content {
    font-size: 1.0625rem !important;
    line-height: 1.85;
  }
  .board .feedback .xe_content,
  .board .feedback .rhymix_content,
  .ks-gallery .feedback .xe_content,
  .ks-gallery .feedback .rhymix_content {
    font-size: 1rem;
    line-height: 1.75;
  }
  .board .ks-board-table .title a,
  .board .board_list .title a,
  .ks-gallery-card__body h3,
  .ks-webzine-card__body h4 {
    font-size: 1rem;
    line-height: 1.55;
  }
}
