/* kisysneo common.css — from kisystem1 design */
:root {
  --bg: #05070a;
  --bg-soft: rgba(15, 23, 42, 0.5);
  --border: #1e293b;
  --text: #e2e8f0;
  --muted: #64748b;
  --blue: #2563eb;
  --blue-400: #60a5fa;
  --blue-500: #3b82f6;
  --cyan: #67e8f9;
  --cyan-400: #22d3ee;
  --max: 80rem;
}

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

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Noto Sans KR", "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; vertical-align: middle; }
button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0; }

.blind,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

#u-skip a {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 8px 12px;
  background: var(--blue);
  color: #fff;
}
#u-skip a:focus { left: 0; }

.container {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) { .container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container { padding: 0 2.5rem; } }

.site-wrap { min-height: 100vh; background: var(--bg); }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  min-height: 6.36rem;
  height: auto;
  overflow: visible;
  background: rgba(5, 7, 10, 0.78);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  transition: background .3s, border-color .3s, backdrop-filter .3s;
}
.site-header.is-scrolled {
  background: rgba(5, 7, 10, 0.9);
  backdrop-filter: blur(12px);
  border-bottom-color: var(--border);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: 6.36rem;
  position: relative;
}
.logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 3px;
  background: #fff;
}
.logo__image {
  display: block;
  width: 249px;
  height: auto;
  object-fit: contain;
  filter: none;
  opacity: 1;
}
.logo__image--footer {
  width: 180px;
  height: auto;
  filter: grayscale(1) contrast(.82);
  opacity: .52;
}
.site-footer .logo {
  background: transparent;
}
.logo__mark {
  width: 2.5rem;
  height: 2.5rem;
  background: var(--blue);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-style: italic;
  font-size: 1.25rem;
  color: #fff;
  letter-spacing: -0.04em;
}
.logo__text {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}
.logo__text span {
  color: var(--blue-500);
  font-weight: 400;
}

.gnb { display: none; }
.gnb__list {
  display: flex;
  align-items: stretch;
  gap: .25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 4.84rem;
}
.gnb__item {
  position: relative;
  display: flex;
  align-items: center;
}
.gnb__link {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1.1rem;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  transition: color .2s;
}
.gnb__item:hover > .gnb__link,
.gnb__item:focus-within > .gnb__link,
.gnb__item.is-active > .gnb__link { color: #fff; }
.site-header .gnb__link { color: #fff !important; }

.gnb__sub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(.35rem);
  min-width: 11.5rem;
  margin: 0;
  padding: .4rem 0;
  list-style: none;
  background: rgba(8, 12, 18, 0.995);
  border: 1px solid var(--border);
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index: 60;
}
.gnb__item.has-sub:hover > .gnb__sub,
.gnb__item.has-sub:focus-within > .gnb__sub {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.gnb__sub-link {
  display: block;
  padding: .66rem 1.21rem;
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  color: #fff;
  white-space: nowrap;
  transition: color .15s, background .15s;
}
.site-header .gnb__sub-link { color: #fff !important; }
.gnb__sub-link:hover { color: #fff; background: rgba(59, 130, 246, 0.12); }
.gnb__sub-link--depth2 {
  padding-left: 1.82rem;
  font-size: .87rem;
  color: rgba(255, 255, 255, 0.9);
}
.gnb__sub2 {
  list-style: none;
  margin: 0;
  padding: .15rem 0 .35rem;
  border-top: 1px solid rgba(148, 163, 184, 0.08);
}

.header-tools { display: none; align-items: center; gap: 1rem; }
.btn-outline-sm {
  padding: .5rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 2px;
  font-size: .65rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(15, 23, 42, 0.3);
  transition: background .2s, border-color .2s, color .2s;
}
.site-header .btn-outline-sm { color: #fff !important; }
.btn-outline-sm:hover {
  background: rgba(59, 130, 246, 0.18);
  border-color: rgba(96, 165, 250, 0.75);
}
.header-lang {
  font-size: .65rem;
  opacity: .5;
  letter-spacing: .04em;
}
.header-divider {
  width: 1.5rem;
  height: 1px;
  background: #334155;
}

.btn-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #e2e8f0;
}
.btn-menu svg { width: 1.75rem; height: 1.75rem; }
.btn-menu .icon-close { display: none; }
.btn-menu.is-open .icon-open { display: none; }
.btn-menu.is-open .icon-close { display: block; }

@media (min-width: 768px) {
  .gnb, .header-tools { display: flex; }
  .btn-menu { display: none; }
}

.mobile-nav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg);
  border-top: 1px solid var(--border);
  box-shadow: 0 20px 40px rgba(0,0,0,.4);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
}
.mobile-nav.is-open { display: block; }
.mobile-nav__group { border-bottom: 1px solid var(--border); }
.mobile-nav__row {
  display: flex;
  align-items: stretch;
}
.mobile-nav__parent {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 1rem .75rem;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #e2e8f0;
}
.mobile-nav__toggle {
  flex: 0 0 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  border-left: 1px solid var(--border);
  font-size: 1.1rem;
  line-height: 1;
}
.mobile-nav__subs {
  display: none;
  background: rgba(15, 23, 42, 0.55);
  border-top: 1px solid var(--border);
}
.mobile-nav__group.is-open .mobile-nav__subs { display: block; }
.mobile-nav__group.is-open .mobile-nav__plus::before { content: "−"; }
.mobile-nav__plus::before { content: "+"; }
.mobile-nav__sub {
  display: block;
  padding: .75rem .75rem .75rem 1.35rem;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  color: #cbd5e1;
  border-bottom: 1px solid rgba(51, 65, 85, 0.5);
}
.mobile-nav__sub:last-child { border-bottom: 0; }
.mobile-nav__sub--depth2 {
  padding-left: 2rem;
  font-size: .72rem;
  color: #94a3b8;
}
.mobile-nav .mobile-cta {
  display: block;
  margin: 1rem .75rem 1.5rem;
  padding: .85rem;
  text-align: center;
  background: var(--blue);
  color: #fff;
  font-weight: 700;
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 2px;
  border-bottom: 0;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-weight: 700;
  border-radius: 2px;
  transition: background .2s, border-color .2s, color .2s;
}
.btn-primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 10px 24px rgba(30, 58, 138, 0.25);
}
.btn-primary:hover { background: #3b82f6; }
a.btn-primary,
a.btn-primary:link,
a.btn-primary:visited,
a.btn-primary:hover,
a.btn-primary:active {
  color: #fff !important;
}
.btn-ghost {
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
  background: rgba(15, 23, 42, 0.28);
}
.hero .btn,
.hero .btn-primary,
.hero .btn-ghost,
.ai-vision .btn,
.ai-vision .btn-primary {
  color: #fff !important;
}
.btn-ghost:hover {
  border-color: var(--blue-400);
  background: rgba(59, 130, 246, 0.12);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--blue-400);
}
.eyebrow::before {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: var(--blue-500);
}
.eyebrow--center {
  justify-content: center;
  color: var(--cyan-400);
}
.eyebrow--center::before,
.eyebrow--center::after {
  content: "";
  width: 1rem;
  height: 1px;
  background: var(--cyan-400);
}

.grad-text {
  background: linear-gradient(90deg, var(--blue-400), var(--cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 6rem 0 4rem;
  background: var(--bg);
}
.hero__slides,
.hero__slide,
.hero__shade {
  position: absolute;
  inset: 0;
}
.hero__slides {
  z-index: 0;
  overflow: hidden;
}
.hero__slide {
  opacity: 0;
  background-position: center;
  background-size: cover;
  transform: scale(1.08);
  animation: heroSlide 36s linear infinite;
  will-change: opacity, transform;
}
.hero__slide--1 {
  background-image: url("../images/ki2004_1.jpeg");
}
.hero__slide--2 {
  background-image: url("../images/ki2004_2.png");
  animation-delay: 6s;
}
.hero__slide--3 {
  background-image: url("../images/ki2004_3.png");
  animation-delay: 12s;
}
.hero__slide--4 {
  background-image: url("../images/ki2004_4.jpg");
  animation-delay: 18s;
}
.hero__slide--5 {
  background-image: url("../images/ki2004_5.jpg");
  animation-delay: 24s;
}
.hero__slide--6 {
  background-image: url("../images/ki2004_6.jpg");
  animation-delay: 30s;
}
.hero__shade {
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3, 7, 18, .96) 0%, rgba(3, 7, 18, .82) 42%, rgba(3, 7, 18, .44) 72%, rgba(3, 7, 18, .68) 100%),
    linear-gradient(0deg, rgba(3, 7, 18, .84), transparent 45%, rgba(3, 7, 18, .38));
}
.hero__grid {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: .16;
  pointer-events: none;
  background-image: radial-gradient(#3b82f6 1px, transparent 1px);
  background-size: 40px 40px;
}
.hero__glow {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(to left, rgba(30, 58, 138, 0.2), transparent);
  pointer-events: none;
  z-index: 1;
}
.hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 2rem;
}
.hero__copy { max-width: 40rem; }
.hero__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2rem, 5vw, 3.75rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #fff;
  word-break: keep-all;
}
.hero__desc {
  margin: 0 0 2rem;
  font-size: 1.05rem;
  color: #94a3b8;
  line-height: 1.7;
  max-width: 36rem;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.hero__visual {
  position: relative;
  width: 400px;
  height: 400px;
  flex-shrink: 0;
  display: none;
  filter: drop-shadow(0 0 40px rgba(14, 165, 233, .18));
}
@media (min-width: 1024px) {
  .hero__visual { display: block; }
}
.hero__ring {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(56, 189, 248, .38);
  border-radius: 50%;
  box-shadow: inset 0 0 42px rgba(14, 165, 233, .08), 0 0 32px rgba(37, 99, 235, .1);
  animation: metricPulse 2.4s ease-in-out infinite;
}
.hero__ring--inner {
  inset: 2.5rem;
  border-color: rgba(34, 211, 238, .24);
  animation-delay: -1.2s;
}
.hero__orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px dashed rgba(125, 211, 252, .28);
  animation: metricRotate 15s linear infinite;
}
.hero__orbit::before,
.hero__orbit::after {
  content: "";
  position: absolute;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: #38bdf8;
  box-shadow: 0 0 14px #0ea5e9;
}
.hero__orbit::before { top: 7%; left: 23%; }
.hero__orbit::after { right: 5%; bottom: 28%; background: #22d3ee; }
.hero__orbit--outer { inset: 1.25rem; }
.hero__orbit--inner {
  inset: 4.4rem;
  border-style: solid;
  border-color: rgba(59, 130, 246, .14);
  animation-duration: 10s;
  animation-direction: reverse;
}
.hero__metric {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 65%;
  height: 65%;
  margin: auto;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8, 47, 73, .88), rgba(2, 6, 23, .78) 68%, transparent 70%);
  backdrop-filter: blur(4px);
}
.hero__metric strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 3rem;
  color: #7dd3fc;
  font-weight: 700;
  line-height: 1;
  margin: .55rem 0 .65rem;
  text-shadow: 0 0 22px rgba(56, 189, 248, .72);
  animation: metricGlow 2s ease-in-out infinite;
}
.hero__metric > span {
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #94a3b8;
}
.hero__metric .hero__metric-status {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: #67e8f9;
  letter-spacing: .12em;
}
.hero__metric-status i {
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: #22d3ee;
  box-shadow: 0 0 10px #22d3ee;
  animation: pulse 1.2s ease-in-out infinite;
}
.hero__metric-bars {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 4px;
  height: 24px;
  margin-top: 1rem;
}
.hero__metric-bars i {
  display: block;
  width: 3px;
  height: 35%;
  background: linear-gradient(to top, #2563eb, #67e8f9);
  box-shadow: 0 0 7px rgba(34, 211, 238, .6);
  animation: metricBars 1.2s ease-in-out infinite alternate;
}
.hero__metric-bars i:nth-child(2) { animation-delay: -.2s; }
.hero__metric-bars i:nth-child(3) { animation-delay: -.5s; }
.hero__metric-bars i:nth-child(4) { animation-delay: -.8s; }
.hero__metric-bars i:nth-child(5) { animation-delay: -.35s; }
.hero__metric-bars i:nth-child(6) { animation-delay: -.65s; }
.hero__metric-bars i:nth-child(7) { animation-delay: -.1s; }
}
.hero__node {
  position: absolute;
  width: .75rem;
  height: .75rem;
  background: var(--blue-500);
}
.hero__node--tl { top: 25%; left: 0; }
.hero__node--br { bottom: 25%; right: 0; background: #22d3ee; }
.hero__scroll {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}
.hero__scroll span {
  font-family: ui-monospace, Menlo, monospace;
  font-size: .65rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: .5rem;
}
.hero__scroll i {
  width: 1px;
  height: 3rem;
  background: linear-gradient(to bottom, #64748b, transparent);
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .45; }
}
@keyframes heroSlide {
  0% { opacity: 0; transform: scale(1.08); }
  2%, 15% { opacity: 1; }
  17%, 100% { opacity: 0; transform: scale(1); }
}
@keyframes metricRotate {
  to { transform: rotate(360deg); }
}
@keyframes metricPulse {
  0%, 100% { opacity: .55; transform: scale(.985); }
  50% { opacity: 1; transform: scale(1.015); }
}
@keyframes metricGlow {
  0%, 100% { filter: brightness(.9); }
  50% { filter: brightness(1.25); }
}
@keyframes metricBars {
  0% { height: 25%; opacity: .45; }
  100% { height: 100%; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__slide { animation: none; opacity: 0; transform: none; }
  .hero__slide--1 { opacity: 1; }
  .hero__ring,
  .hero__orbit,
  .hero__metric strong,
  .hero__metric-status i,
  .hero__metric-bars i { animation: none; }
}

.features {
  background: var(--bg-soft);
  border-top: 1px solid var(--border);
}
.features__grid {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .features__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .features__grid { grid-template-columns: repeat(4, 1fr); }
}
.feature-card {
  padding: 2rem;
  border-bottom: 1px solid var(--border);
  transition: background .2s;
}
.feature-card:hover { background: rgba(23, 37, 84, 0.25); }
@media (min-width: 1024px) {
  .feature-card {
    border-bottom: 0;
    border-right: 1px solid var(--border);
  }
  .feature-card:last-child { border-right: 0; }
}
.feature-card__num {
  font-family: ui-monospace, Menlo, monospace;
  font-size: .7rem;
  color: var(--blue-500);
  margin-bottom: 1rem;
}
.feature-card h3 {
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: .5rem;
  transition: color .2s;
}
.feature-card:hover h3 { color: var(--blue-400); }
.feature-card p {
  font-size: .875rem;
  color: #64748b;
  line-height: 1.6;
}

.stats { padding: 4rem 0 6rem; }
.stats__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .stats__grid { grid-template-columns: repeat(4, 1fr); }
}
.stat-item {
  border-left: 1px solid rgba(59, 130, 246, 0.2);
  padding-left: 1.5rem;
}
.stat-item strong {
  display: block;
  font-family: ui-monospace, Menlo, monospace;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.04em;
  margin-bottom: .35rem;
}
.stat-item span {
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #64748b;
}

.business {
  padding: 6rem 0;
  border-top: 1px solid #0f172a;
}
.section-head {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--border);
}
@media (min-width: 768px) {
  .section-head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.section-head h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.03em;
}
.section-head p {
  max-width: 28rem;
  font-size: .875rem;
  color: #94a3b8;
  line-height: 1.7;
}
.business__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .business__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
  .business__grid { grid-template-columns: repeat(6, 1fr); }
  .business__grid .biz-card:nth-child(1),
  .business__grid .biz-card:nth-child(2),
  .business__grid .biz-card:nth-child(3) { grid-column: span 2; }
  .business__grid .biz-card:nth-child(4),
  .business__grid .biz-card:nth-child(5) { grid-column: span 3; }
}
.biz-card {
  border: 1px solid var(--border);
  background: rgba(15, 23, 42, 0.2);
  padding: 1rem;
  border-radius: 2px;
  transition: background .2s, border-color .2s;
}
.biz-card:hover {
  background: rgba(15, 23, 42, 0.5);
  border-color: #334155;
}
.biz-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 2px;
  margin-bottom: 1.5rem;
  background: #0f172a;
}
.biz-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1);
  transition: transform .7s ease, filter .4s;
}
.biz-card:hover .biz-card__media img {
  transform: scale(1.05);
  filter: grayscale(0);
}
.biz-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(30, 58, 138, 0.4);
  mix-blend-mode: multiply;
  transition: background .3s;
  z-index: 1;
}
.biz-card:hover .biz-card__overlay { background: rgba(30, 58, 138, 0.2); }
.biz-card__body { padding: 0 .5rem .5rem; }
.biz-card__num {
  font-family: ui-monospace, Menlo, monospace;
  font-size: .7rem;
  color: var(--blue-500);
  margin-bottom: .5rem;
}
.biz-card h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: .5rem;
  transition: color .2s;
}
.biz-card:hover h3 { color: var(--blue-400); }
.biz-card h3 svg {
  width: 1.25rem;
  height: 1.25rem;
  color: #475569;
  transform: translateX(-1rem);
  opacity: 0;
  transition: all .25s;
  flex-shrink: 0;
}
.biz-card:hover h3 svg {
  transform: translateX(0);
  opacity: 1;
  color: var(--blue-400);
}
.biz-card p {
  font-size: .875rem;
  color: #64748b;
  line-height: 1.65;
}

.ai-vision {
  position: relative;
  padding: 8rem 0;
  overflow: hidden;
  border-top: 1px solid #0f172a;
  text-align: center;
}
.ai-vision__bg {
  position: absolute;
  inset: 0;
  opacity: .2;
  background:
    linear-gradient(to bottom, var(--bg), transparent, var(--bg)),
    url("https://images.unsplash.com/photo-1558494949-ef010cbdcc31?q=80&w=2034&auto=format&fit=crop") center / cover;
  filter: grayscale(1);
  mix-blend-mode: overlay;
}
.ai-vision__inner {
  position: relative;
  z-index: 2;
  max-width: 48rem;
  margin: 0 auto;
}
.ai-vision h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -0.03em;
  margin: 0 0 2rem;
}
.ai-vision p {
  font-size: 1.05rem;
  color: #94a3b8;
  line-height: 1.75;
  margin: 0 auto 2.5rem;
  max-width: 36rem;
}
.ai-vision p strong { color: #e2e8f0; font-weight: 700; }

.page-hero {
  position: relative;
  overflow: hidden;
  padding: 7.5rem 0 2.5rem;
  border-bottom: 1px solid var(--border);
  background:
    radial-gradient(#3b82f6 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30,58,138,.18), transparent 60%),
    var(--bg);
  background-size: 40px 40px, auto, auto;
}
.page-hero__grid {
  position: absolute;
  inset: 0;
  opacity: .08;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(59, 130, 246, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 130, 246, 0.12) 1px, transparent 1px);
  background-size: 72px 72px;
}
.page-hero__glow {
  position: absolute;
  top: -6rem;
  right: 10%;
  width: 22rem;
  height: 22rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.28), rgba(37, 99, 235, 0));
  pointer-events: none;
  filter: blur(8px);
}
.page-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2rem;
}
.page-hero__copy {
  max-width: 44rem;
}
.page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1rem;
  padding: .45rem .8rem;
  border: 1px solid rgba(59, 130, 246, 0.35);
  background: rgba(15, 23, 42, 0.45);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #93c5fd;
}
.page-hero__eyebrow::before {
  content: "";
  width: 1.25rem;
  height: 1px;
  background: currentColor;
}
.page-hero__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 1rem;
}
.page-hero__desc {
  max-width: 40rem;
  margin: 0;
  color: #cbd5e1;
  font-size: .98rem;
  line-height: 1.8;
}
.page-hero__panel {
  position: relative;
  padding: 1.4rem 1.5rem;
  border: 1px solid rgba(59, 130, 246, 0.18);
  background:
    linear-gradient(180deg, rgba(30, 41, 59, 0.88), rgba(2, 6, 23, 0.92));
  box-shadow: 0 20px 50px rgba(2, 6, 23, 0.35);
}
.page-hero__panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--blue-400), var(--cyan));
}
.page-hero__panel-label {
  margin-bottom: .6rem;
  font-size: .68rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #60a5fa;
}
.page-hero__panel-title {
  margin-bottom: .9rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}
.page-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.25rem;
  padding: .85rem 1.15rem;
  border: 1px solid rgba(96, 165, 250, 0.45);
  background: rgba(59, 130, 246, 0.12);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-hero__cta:hover {
  background: rgba(59, 130, 246, 0.22);
}
.page-hero__panel .breadcrumb {
  min-height: 1.5rem;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  color: #94a3b8;
}
.breadcrumb a:hover { color: var(--blue-400); }
.breadcrumb img { display: none; }

#main.page-main { padding: 3rem 0 5rem; }
.page-content {
  color: #cbd5e1;
  line-height: 1.8;
  word-break: keep-all;
}
.page-content table { width: 100%; border-collapse: collapse; }
.page-content img { max-width: 100%; height: auto; }
.renewal-content {
  display: grid;
  gap: 1.75rem;
}
.renewal-section {
  position: relative;
  padding: 1.5rem;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.45), rgba(2, 6, 23, 0.65));
  box-shadow: 0 16px 40px rgba(2, 6, 23, 0.2);
  overflow: hidden;
}
.renewal-section::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgba(59,130,246,.95), rgba(34,211,238,.8), rgba(59,130,246,0));
}
.renewal-section--tone1 {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.52), rgba(2, 6, 23, 0.7));
}
.renewal-section--tone2 {
  background: linear-gradient(180deg, rgba(10, 20, 40, 0.62), rgba(2, 6, 23, 0.72));
}
.renewal-section--tone3 {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.46), rgba(8, 47, 73, 0.36));
}
.renewal-section--headline {
  padding-top: 1.7rem;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.82), rgba(15, 23, 42, 0.72));
}
.renewal-section--lead {
  border-color: rgba(96, 165, 250, 0.24);
  box-shadow: 0 24px 60px rgba(2, 6, 23, 0.26);
}
.renewal-section--lead .renewal-copy > p:first-child {
  font-size: 1.08rem;
  color: #e2e8f0;
}
.renewal-section--media {
  padding: 1.2rem;
}
.renewal-section--table {
  padding: 1.2rem;
}
.renewal-section--empty {
  text-align: center;
  color: #94a3b8;
}
.renewal-section__head {
  display: grid;
  gap: .75rem;
}
.renewal-title {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 2.15rem);
  line-height: 1.2;
  color: #fff;
  letter-spacing: -0.03em;
}
.renewal-copy,
.renewal-list {
  color: #cbd5e1;
}
.renewal-copy > :first-child,
.renewal-list > :first-child,
.renewal-media > :first-child,
.renewal-table > :first-child {
  margin-top: 0;
}
.renewal-copy > :last-child,
.renewal-list > :last-child,
.renewal-media > :last-child,
.renewal-table > :last-child {
  margin-bottom: 0;
}
.renewal-copy p,
.renewal-copy div,
.renewal-copy li {
  line-height: 1.85;
}
.renewal-copy p + p,
.renewal-copy div + p,
.renewal-copy p + div {
  margin-top: 1rem;
}
.renewal-copy .map_title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
}
.renewal-copy .map_add {
  padding: 1rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(2, 6, 23, 0.36);
  line-height: 1.9;
  color: #cbd5e1;
}
.renewal-copy .map_add img {
  display: inline-block;
  margin-right: .35rem;
  vertical-align: middle;
}
.renewal-list ul,
.renewal-list ol {
  margin: 0;
  padding-left: 1.25rem;
}
.renewal-list li + li {
  margin-top: .45rem;
}
.renewal-media {
  overflow-x: auto;
}
.renewal-media img {
  display: block;
  width: auto;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
  border: 1px solid rgba(148, 163, 184, 0.14);
  box-shadow: 0 18px 36px rgba(2, 6, 23, 0.28);
}
.renewal-media iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-height: 320px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  box-shadow: 0 18px 36px rgba(2, 6, 23, 0.28);
}
.renewal-table {
  overflow-x: auto;
}
.renewal-table table {
  min-width: 640px;
  background: rgba(2, 6, 23, 0.45);
}
.renewal-table th,
.renewal-table td {
  padding: .9rem .95rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  color: #cbd5e1;
}
.renewal-table th {
  color: #fff;
  background: rgba(30, 41, 59, 0.75);
}
@media (min-width: 768px) {
  .renewal-content {
    gap: 2rem;
  }
  .renewal-section {
    padding: 2rem;
  }
  .renewal-section--media,
  .renewal-section--table {
    padding: 1.5rem;
  }
}

/* 일반페이지 리뉴얼 v2: 광일시스템 산업자동화 콘셉트 */
.ki-renewal {
  --ki-line: rgba(96, 165, 250, .24);
  --ki-panel: rgba(9, 17, 31, .72);
  position: relative;
  display: grid;
  gap: clamp(3rem, 7vw, 6.5rem);
  padding: clamp(.5rem, 2vw, 1.5rem) 0;
}
.ki-renewal::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.05rem;
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--ki-line) 6%, var(--ki-line) 94%, transparent);
  pointer-events: none;
}
.ki-block {
  position: relative;
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
}
.ki-block__index {
  position: relative;
  z-index: 1;
  width: 2.2rem;
  height: 2.2rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(96, 165, 250, .38);
  background: #070d18;
  color: #60a5fa;
  font: 700 .64rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
  box-shadow: 0 0 0 5px #05070a, 0 0 24px rgba(37, 99, 235, .16);
}
.ki-block__inner {
  min-width: 0;
}
.ki-block__heading {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  align-items: center;
  gap: .9rem;
  margin: 0 0 1.5rem;
}
.ki-block__line {
  height: 2px;
  background: linear-gradient(90deg, #3b82f6, #22d3ee);
  box-shadow: 0 0 16px rgba(34, 211, 238, .32);
}
.ki-block__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2.7vw, 2.15rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.035em;
}
.ki-block__body {
  max-width: 62rem;
  color: #b8c5d6;
  font-size: clamp(.94rem, 1.3vw, 1.04rem);
  line-height: 1.9;
}
.ki-block__body > :first-child { margin-top: 0; }
.ki-block__body > :last-child { margin-bottom: 0; }
.ki-block__body p + p,
.ki-block__body div + p,
.ki-block__body p + div {
  margin-top: 1.15rem;
}
.ki-block--lead .ki-block__inner {
  position: relative;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-left: 2px solid #3b82f6;
  background:
    linear-gradient(110deg, rgba(30, 58, 138, .19), transparent 56%),
    rgba(15, 23, 42, .34);
}
.ki-block--lead .ki-block__inner::after {
  content: "";
  position: absolute;
  right: 1.2rem;
  bottom: 1.2rem;
  width: 4rem;
  height: 4rem;
  border-right: 1px solid rgba(34, 211, 238, .28);
  border-bottom: 1px solid rgba(34, 211, 238, .28);
  pointer-events: none;
}
.ki-block--lead .ki-block__body {
  color: #d5deea;
  font-size: clamp(1rem, 1.55vw, 1.15rem);
}
.ki-block--media .ki-block__inner,
.ki-block--map .ki-block__inner,
.ki-block--table .ki-block__inner {
  min-width: 0;
}
.ki-block--map .ki-block__media {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.ki-block--map .ki-block__media::before,
.ki-block--map .ki-block__media::after {
  display: none;
}
.ki-block--map .ki-map,
.ki-block__media > .ki-map,
.page-content > .ki-map,
.ki-location > .ki-map {
  width: 100%;
  margin: 0;
}
.ki-block__media {
  position: relative;
  overflow: hidden;
  padding: clamp(.65rem, 1.5vw, 1rem);
  border: 1px solid rgba(96, 165, 250, .16);
  background:
    linear-gradient(145deg, rgba(30, 58, 138, .12), transparent 45%),
    rgba(3, 8, 17, .82);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}
.ki-block__media::before,
.ki-block__media::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 2.4rem;
  height: 2.4rem;
  pointer-events: none;
}
.ki-block__media::before {
  top: .45rem;
  left: .45rem;
  border-top: 1px solid #3b82f6;
  border-left: 1px solid #3b82f6;
}
.ki-block__media::after {
  right: .45rem;
  bottom: .45rem;
  border-right: 1px solid #22d3ee;
  border-bottom: 1px solid #22d3ee;
}
.ki-block__media img {
  display: block;
  width: auto;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
}
.ki-block__media iframe {
  display: block;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(320px, 52vw, 600px);
  border: 0 !important;
}
.ki-block__media:has(.ki-map),
.ki-block__media:has(iframe) {
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.ki-block__media:has(.ki-map)::before,
.ki-block__media:has(.ki-map)::after,
.ki-block__media:has(iframe)::before,
.ki-block__media:has(iframe)::after {
  display: none;
}
.ki-data-table {
  width: 100%;
  overflow-x: auto;
  border-top: 2px solid #3b82f6;
  background: rgba(3, 8, 17, .62);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .2);
}
.ki-data-table table {
  width: 100% !important;
  min-width: 680px;
  border-collapse: collapse !important;
  background: transparent !important;
}
.ki-data-table th,
.ki-data-table td {
  height: auto !important;
  padding: 1rem 1.15rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, .13) !important;
  background: transparent !important;
  color: #b8c5d6 !important;
  text-align: left;
  vertical-align: middle;
}
.ki-data-table th,
.ki-data-table tr:first-child td {
  color: #f8fafc !important;
  font-weight: 700;
  background: rgba(30, 41, 59, .68) !important;
}
.ki-data-table tr {
  transition: background .2s ease;
}
.ki-data-table tr:hover {
  background: rgba(37, 99, 235, .08);
}
.ki-smart-list ul,
.ki-smart-list ol {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: ki-list;
}
.ki-smart-list li {
  position: relative;
  min-height: 3.35rem;
  padding: .85rem 1rem .85rem 3.2rem;
  border: 1px solid rgba(148, 163, 184, .12);
  background: rgba(15, 23, 42, .42);
  color: #cbd5e1;
  counter-increment: ki-list;
}
.ki-smart-list li::before {
  content: counter(ki-list, decimal-leading-zero);
  position: absolute;
  top: .95rem;
  left: 1rem;
  color: #60a5fa;
  font: 700 .65rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.ki-quote {
  padding: 1.25rem 1.5rem;
  border-left: 2px solid #22d3ee;
  background: rgba(8, 47, 73, .18);
  color: #dbeafe;
}
.ki-block--empty {
  display: block;
  padding: 3rem 1.5rem;
  border: 1px dashed rgba(148, 163, 184, .2);
  color: #94a3b8;
  text-align: center;
}
.ki-block__body .map_title {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}
.ki-block__body .map_add {
  display: grid;
  gap: .5rem;
  padding: 1.25rem;
  border: 1px solid rgba(96, 165, 250, .14);
  background: rgba(15, 23, 42, .45);
  color: #cbd5e1;
}
.ki-block__body .map_add img {
  display: inline-block;
  width: auto;
  margin-right: .35rem;
  vertical-align: middle;
}

/* 사업분야 전용 반응형 네트워크 다이어그램 */
.ki-business-map {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 4vw, 3.5rem);
  border: 1px solid rgba(96, 165, 250, .18);
  background:
    radial-gradient(circle at 50% 48%, rgba(37, 99, 235, .17), transparent 30%),
    linear-gradient(rgba(59, 130, 246, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 130, 246, .045) 1px, transparent 1px),
    #060b14;
  background-size: auto, 42px 42px, 42px 42px, auto;
}
.ki-business-map::before {
  content: "";
  position: absolute;
  top: -12rem;
  right: -10rem;
  width: 28rem;
  height: 28rem;
  border: 1px solid rgba(34, 211, 238, .1);
  border-radius: 50%;
  box-shadow: 0 0 90px rgba(37, 99, 235, .12);
  pointer-events: none;
}
.ki-business-map__intro {
  position: relative;
  z-index: 2;
  max-width: 48rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.ki-business-map__intro p {
  margin: 0 0 .75rem;
  color: #60a5fa;
  font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
}
.ki-business-map__intro strong {
  display: block;
  color: #fff;
  font-size: clamp(1.55rem, 3.2vw, 2.65rem);
  line-height: 1.25;
  letter-spacing: -.04em;
}
.ki-business-map__intro span {
  display: block;
  max-width: 40rem;
  margin-top: 1rem;
  color: #94a3b8;
  font-size: .95rem;
  line-height: 1.75;
}
.ki-business-map__stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
}
.ki-business-map__links {
  display: none;
}
.ki-business-card {
  position: relative;
  display: grid;
  grid-template-columns: 2.65rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid rgba(148, 163, 184, .13);
  background: linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(5, 11, 22, .95));
  box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.ki-business-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96, 165, 250, .42);
  background: linear-gradient(135deg, rgba(22, 40, 72, .94), rgba(5, 11, 22, .98));
}
.ki-business-card__num {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgba(96, 165, 250, .38);
  color: #60a5fa;
  font: 700 .65rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.ki-business-card strong {
  display: block;
  margin: .05rem 0 .45rem;
  color: #f8fafc;
  font-size: 1rem;
  line-height: 1.35;
}
.ki-business-card p {
  margin: 0;
  color: #8fa0b5;
  font-size: .8rem;
  line-height: 1.65;
}
.ki-business-core {
  position: relative;
  order: -1;
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 12rem;
  margin-bottom: .65rem;
  border: 1px solid rgba(96, 165, 250, .36);
  background:
    radial-gradient(circle, rgba(14, 61, 99, .96) 0 43%, transparent 44%),
    radial-gradient(circle, transparent 0 53%, rgba(96, 165, 250, .5) 54% 55%, transparent 56%),
    radial-gradient(circle, transparent 0 64%, rgba(34, 211, 238, .22) 65% 66%, transparent 67%);
  box-shadow: inset 0 0 50px rgba(37, 99, 235, .12), 0 20px 50px rgba(0, 0, 0, .28);
  text-align: center;
}
.ki-business-core span,
.ki-business-core small {
  color: #60a5fa;
  font: 700 .58rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
}
.ki-business-core strong {
  display: block;
  margin: .35rem 0;
  color: #fff;
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -.04em;
}
@media (min-width: 900px) {
  .ki-business-map__stage {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, .9fr) minmax(0, 1fr);
    grid-template-rows: 12rem 15rem 12rem;
    gap: 1.4rem 2.25rem;
    min-height: 44rem;
  }
  .ki-business-map__links {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
  }
  .ki-business-map__links path {
    fill: none;
    stroke: rgba(96, 165, 250, .36);
    stroke-width: 1.5;
    stroke-dasharray: 7 8;
    vector-effect: non-scaling-stroke;
  }
  .ki-business-card {
    z-index: 2;
    align-self: center;
  }
  .ki-business-card--top {
    grid-column: 2;
    grid-row: 1;
  }
  .ki-business-card--left {
    grid-column: 1;
    grid-row: 2;
  }
  .ki-business-card--right {
    grid-column: 3;
    grid-row: 2;
  }
  .ki-business-card--bottom-left {
    grid-column: 1;
    grid-row: 3;
  }
  .ki-business-card--bottom-right {
    grid-column: 3;
    grid-row: 3;
  }
  .ki-business-core {
    order: 0;
    z-index: 3;
    grid-column: 2;
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
    margin: 0;
    border-radius: 50%;
    aspect-ratio: 1;
  }
}

/* 조직도 전용 반응형 다이어그램 */
.ki-org-chart {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 4vw, 3.5rem);
  border: 1px solid rgba(96, 165, 250, .18);
  background:
    linear-gradient(rgba(59, 130, 246, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 130, 246, .04) 1px, transparent 1px),
    radial-gradient(circle at 50% 18%, rgba(37, 99, 235, .16), transparent 28%),
    #060b14;
  background-size: 42px 42px, 42px 42px, auto, auto;
}
.ki-org-chart__intro {
  max-width: 48rem;
  margin-bottom: clamp(2.75rem, 6vw, 5rem);
}
.ki-org-chart__intro p {
  margin: 0 0 .75rem;
  color: #60a5fa;
  font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
}
.ki-org-chart__intro strong {
  display: block;
  color: #fff;
  font-size: clamp(1.55rem, 3.2vw, 2.65rem);
  line-height: 1.25;
  letter-spacing: -.04em;
}
.ki-org-chart__intro span {
  display: block;
  max-width: 40rem;
  margin-top: 1rem;
  color: #94a3b8;
  font-size: .95rem;
  line-height: 1.75;
}
.ki-org-chart__tree {
  position: relative;
}
.ki-org-ceo {
  position: relative;
  z-index: 2;
  width: min(100%, 17rem);
  margin: 0 auto;
  padding: 1.35rem 1.5rem;
  border: 1px solid rgba(96, 165, 250, .48);
  background:
    linear-gradient(135deg, rgba(30, 64, 175, .52), rgba(8, 47, 73, .7)),
    #0b1627;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .28), 0 0 38px rgba(37, 99, 235, .13);
  text-align: center;
}
.ki-org-ceo span,
.ki-org-division__title span {
  display: block;
  margin-bottom: .45rem;
  color: #93c5fd;
  font: 700 .62rem/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .15em;
}
.ki-org-ceo strong {
  color: #fff;
  font-size: 1.45rem;
  letter-spacing: -.03em;
}
.ki-org-chart__trunk {
  width: 1px;
  height: 2.4rem;
  margin: 0 auto;
  background: linear-gradient(#60a5fa, rgba(96, 165, 250, .2));
}
.ki-org-groups {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.ki-org-division {
  position: relative;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .13);
  background: rgba(7, 13, 24, .72);
}
.ki-org-division::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 2px;
  background: linear-gradient(90deg, #3b82f6, #22d3ee);
}
.ki-org-division__title {
  padding: .45rem .35rem 1.1rem;
}
.ki-org-division__title strong {
  color: #fff;
  font-size: 1.1rem;
}
.ki-org-teams {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
}
.ki-org-team {
  position: relative;
  min-width: 0;
  padding: 1.05rem;
  border: 1px solid rgba(148, 163, 184, .12);
  background: linear-gradient(145deg, rgba(15, 23, 42, .9), rgba(5, 11, 22, .94));
  transition: transform .22s ease, border-color .22s ease;
}
.ki-org-team:hover {
  transform: translateY(-3px);
  border-color: rgba(96, 165, 250, .38);
}
.ki-org-team > strong {
  display: block;
  color: #f8fafc;
  font-size: .95rem;
}
.ki-org-team p {
  margin: .65rem 0 0;
  color: #8092a8;
  font-size: .78rem;
  line-height: 1.55;
}
.ki-org-team ul {
  display: grid;
  gap: .45rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}
.ki-org-team li {
  position: relative;
  padding: .55rem .65rem .55rem 1.45rem;
  border-left: 1px solid rgba(96, 165, 250, .34);
  background: rgba(30, 41, 59, .45);
  color: #aebdd0;
  font-size: .76rem;
}
.ki-org-team li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: .65rem;
  width: .28rem;
  height: .28rem;
  border-radius: 50%;
  background: #60a5fa;
  transform: translateY(-50%);
}
.ki-org-team--accent {
  border-color: rgba(34, 211, 238, .24);
  background: linear-gradient(145deg, rgba(8, 47, 73, .42), rgba(5, 11, 22, .94));
}
@media (min-width: 680px) {
  .ki-org-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .ki-org-chart__trunk {
    height: 3.2rem;
  }
  .ki-org-groups {
    position: relative;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .ki-org-groups::before {
    content: "";
    position: absolute;
    top: -1.6rem;
    left: 25%;
    right: 25%;
    height: 1px;
    background: rgba(96, 165, 250, .34);
  }
  .ki-org-division::after {
    content: "";
    position: absolute;
    top: -1.6rem;
    left: 50%;
    width: 1px;
    height: 1.6rem;
    background: rgba(96, 165, 250, .34);
  }
  .ki-org-division {
    padding: 1.25rem;
  }
}
@media (min-width: 768px) {
  .ki-renewal::before { left: 1.25rem; }
  .ki-block {
    grid-template-columns: 2.6rem minmax(0, 1fr);
    gap: 1.75rem;
  }
  .ki-block__index {
    width: 2.6rem;
    height: 2.6rem;
  }
  .ki-smart-list ul,
  .ki-smart-list ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .ki-block:nth-child(even) .ki-block__inner {
    margin-left: clamp(1rem, 4vw, 4rem);
  }
  .ki-block--media .ki-block__inner {
    max-width: 68rem;
  }
}
@media (min-width: 960px) {
  .page-hero__inner {
    grid-template-columns: minmax(0, 1fr) 20rem;
    align-items: end;
  }
  .page-hero {
    padding: 8.25rem 0 3rem;
  }
}

.site-footer {
  border-top: 1px solid #0f172a;
  padding: 4rem 0 2rem;
  background: var(--bg);
}
.site-footer__top {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-bottom: 3rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--border);
}
@media (min-width: 768px) {
  .site-footer__top {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.site-footer__brand p {
  margin-top: 1.25rem;
  font-size: .875rem;
  color: #64748b;
  line-height: 1.7;
  max-width: 24rem;
}
.site-footer__meta {
  font-size: .8rem;
  color: #64748b;
  line-height: 1.8;
}
.site-footer__meta a:hover { color: var(--blue-400); }
.site-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  font-size: .65rem;
  color: #475569;
}
@media (min-width: 768px) {
  .site-footer__bottom { flex-direction: row; }
}
.site-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  font-family: ui-monospace, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-footer__links a:hover { color: #94a3b8; }

.family-select {
  width: 100%;
  max-width: 16rem;
  padding: .75rem 1rem;
  background: #000;
  border: 1px solid var(--border);
  border-radius: 2px;
  color: #94a3b8;
  font-size: .65rem;
  font-family: ui-monospace, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.only-pc { display: none; }
@media (min-width: 640px) {
  .only-pc { display: inline; }
}

/* 제품정보 게시판 (board_book) */
.prod-board { padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.prod-board__admin {
  margin-bottom: 1rem;
  font-size: .8rem;
}
.prod-board__admin a { color: #93c5fd; }
.prod-board__notice {
  margin-bottom: 1.5rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(148, 163, 184, .16);
  background: rgba(15, 23, 42, .5);
  color: #cbd5e1;
  font-size: .9rem;
  line-height: 1.8;
}
.prod-board__toolbar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border);
}
.prod-cate {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  flex: 1 1 auto;
  min-width: 0;
}
.prod-cate__item {
  padding: .55rem 1.05rem;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 4px;
  background: #e8edf5;
  color: #0f172a;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.2;
  transition: color .2s, background .2s, border-color .2s, box-shadow .2s;
}
.page-content a.prod-cate__item,
.page-content a.prod-cate__item:visited {
  color: #0f172a;
}
.prod-cate__item:hover {
  color: #020617;
  border-color: rgba(30, 58, 138, .45);
  background: #fff;
}
.page-content a.prod-cate__item:hover {
  color: #020617;
}
.prod-cate__item.is-active {
  color: #fff;
  background: #0b1a3d;
  border-color: #0b1a3d;
  box-shadow: 0 8px 20px rgba(11, 26, 61, .35);
}
.page-content a.prod-cate__item.is-active,
.page-content a.prod-cate__item.is-active:hover,
.page-content a.prod-cate__item.is-active:visited {
  color: #fff;
}
.prod-board__count {
  margin: 0 0 1.25rem;
  color: #94a3b8;
  font-size: .9rem;
}
.prod-board__count strong { color: #fff; }
.prod-board__count--below { margin-top: -.15rem; }
.prod-search {
  display: flex;
  flex: 0 0 auto;
  gap: .45rem;
  align-items: center;
}
.prod-search__input {
  width: min(16rem, 100%);
  padding: .65rem .9rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 4px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: .88rem;
}
.prod-search__input::placeholder { color: #94a3b8; }
.prod-search__btn {
  padding: .65rem 1.2rem;
  border: 0;
  border-radius: 4px;
  background: #0b1a3d;
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.prod-search__btn:hover { background: #12275a; }
@media (min-width: 960px) {
  .prod-board__toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
  }
  .prod-cate { max-width: calc(100% - 18rem); }
  .prod-search__input { width: 14rem; }
}
.prod-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.prod-grid__empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 3.5rem 1rem;
  border: 1px dashed rgba(148, 163, 184, .2);
  color: #94a3b8;
  text-align: center;
}
.prod-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 4px;
  background: rgba(15, 23, 42, .55);
  transition: border-color .25s, background .25s, transform .25s;
}
.prod-card:hover {
  border-color: rgba(96, 165, 250, .4);
  background: rgba(15, 23, 42, .8);
  transform: translateY(-3px);
}
.prod-card__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 11.5rem;
  height: 12.5rem;
  padding: 1.1rem 1.25rem;
  overflow: hidden;
  /* 밝은·어두운 제품컷이 섞여도 어색하지 않도록 중성 라이트 패널 */
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  border-bottom: 1px solid rgba(148, 163, 184, .22);
}
.prod-card__thumb img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 9.5rem;
  object-fit: contain;
  image-rendering: auto;
}
.prod-card__thumb-empty {
  color: #94a3b8;
  font: 700 .74rem/1 ui-monospace, Menlo, monospace;
  letter-spacing: .12em;
}
.prod-card__body {
  flex: 1 1 auto;
  padding: 1.1rem 1.15rem 1.25rem;
}
.prod-card__title {
  margin: 0 0 .5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.02em;
  word-break: break-word;
}
.prod-card__title a { color: #fff; }
.prod-card__title a:hover { color: #7dd3fc; }
.prod-card__meta {
  margin: 0;
  color: #94a3b8;
  font-size: .82rem;
}
.prod-card__admin {
  display: flex;
  gap: .6rem;
  align-items: center;
  padding: .7rem 1.15rem;
  border-top: 1px solid rgba(148, 163, 184, .12);
  font-size: .78rem;
}
.prod-card__admin a { color: #93c5fd; }
.prod-board__paging {
  margin-top: clamp(1.75rem, 4vw, 2.75rem);
  text-align: center;
}
.prod-board__tools {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: flex-end;
  margin-top: 1.25rem;
}
.prod-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: .55rem 1.15rem;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 4px;
  background: rgba(15, 23, 42, .65);
  color: #e2e8f0;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.prod-btn:hover {
  border-color: rgba(96, 165, 250, .5);
  color: #fff;
}
.prod-btn--primary {
  border-color: #0b1a3d;
  background: #0b1a3d;
  color: #fff;
}
.prod-btn--primary:hover {
  background: #12275a;
  border-color: #12275a;
  color: #fff;
}
.prod-btn--danger {
  border-color: rgba(248, 113, 113, .45);
  color: #fecaca;
}
.prod-btn--danger:hover {
  background: rgba(127, 29, 29, .35);
  color: #fff;
}
@media (min-width: 640px) {
  .prod-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .prod-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* 제품 상세 (board_book view) */
.prod-view {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
  box-sizing: border-box;
}
.prod-view__header {
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.prod-view__eyebrow {
  margin: 0 0 .7rem;
  color: #60a5fa;
  font: 700 .72rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.prod-view__title {
  margin: 0 0 .85rem;
  color: #fff;
  font-size: clamp(1.55rem, 3.4vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.3;
  word-break: keep-all;
}
.prod-view__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  color: #94a3b8;
  font-size: .86rem;
}
.prod-view__fields {
  display: grid;
  gap: .65rem;
  margin: 0 0 1.5rem;
}
.prod-view__field {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: .75rem;
  padding: .75rem .9rem;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 4px;
  background: rgba(15, 23, 42, .45);
}
.prod-view__field dt {
  margin: 0;
  color: #93c5fd;
  font-size: .84rem;
  font-weight: 700;
}
.prod-view__field dd {
  margin: 0;
  color: #e2e8f0;
  font-size: .9rem;
  line-height: 1.6;
  word-break: break-word;
}
.prod-view__hero {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 0 clamp(1.5rem, 4vw, 2.25rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 0;
  border-radius: 0;
  background: var(--bg);
  box-sizing: border-box;
}
.prod-view__hero img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(28rem, 70vw);
  object-fit: contain;
}
.prod-view__body {
  width: 100%;
  color: #cbd5e1;
  font-size: .98rem;
  line-height: 1.9;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.prod-view__body img,
.prod-view__body table,
.prod-view__body iframe {
  max-width: 100% !important;
  height: auto !important;
}
.prod-view__body table {
  width: 100% !important;
}
.prod-view__link {
  margin: 1.25rem 0 0;
  color: #94a3b8;
  font-size: .9rem;
  word-break: break-all;
}
.prod-view__link a { color: #93c5fd; }
.prod-view__files {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(148, 163, 184, .14);
}
.prod-view__files-title {
  margin: 0 0 .75rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}
.prod-view__file-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}
.prod-view__file-list li {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .85rem;
  align-items: baseline;
  padding: .7rem .85rem;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 4px;
  background: rgba(15, 23, 42, .4);
}
.prod-view__file-list a { color: #93c5fd; font-weight: 700; }
.prod-view__file-list span { color: #94a3b8; font-size: .82rem; }
.prod-view__comment {
  margin-top: 1.5rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 4px;
  background: rgba(15, 23, 42, .4);
  color: #e2e8f0;
}
.prod-view__comment summary {
  cursor: pointer;
  font-weight: 700;
}
.prod-view__comment-body { margin-top: 1rem; }
.prod-view__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
  padding-top: 1.25rem;
  border-top: 1px solid rgba(148, 163, 184, .16);
}
.prod-view__actions-left,
.prod-view__actions-right {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
@media (max-width: 640px) {
  .prod-view__field { grid-template-columns: 1fr; gap: .25rem; }
}

/* 일반 게시판 / FAQ (board_basic, board_faq) */
.brd-board {
  width: 100%;
  max-width: 100%;
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
  box-sizing: border-box;
}
.brd-board__admin {
  margin-bottom: .9rem;
  font-size: .8rem;
}
.brd-board__admin a { color: #93c5fd; }
.brd-board__notice {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(148, 163, 184, .16);
  background: rgba(15, 23, 42, .5);
  color: #cbd5e1;
  font-size: .9rem;
  line-height: 1.8;
}
.brd-board__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.brd-board__count {
  margin: 0;
  color: #94a3b8;
  font-size: .9rem;
}
.brd-board__count strong { color: #fff; }
.brd-cate { display: flex; flex-wrap: wrap; gap: .5rem; }
.brd-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 1.15rem;
}
.brd-tabs__item {
  padding: .5rem 1rem;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 4px;
  background: #e8edf5;
  color: #334155;
  font-size: .86rem;
  font-weight: 700;
}
.brd-tabs__item:hover { background: #fff; color: #0f172a; }
.brd-tabs__item.is-active {
  background: #0b1a3d;
  border-color: #0b1a3d;
  color: #fff;
}
.brd-select,
.brd-search__input {
  padding: .6rem .8rem;
  border: 1px solid rgba(148, 163, 184, .3);
  border-radius: 4px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: .88rem;
}
.brd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: .55rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 4px;
  background: rgba(15, 23, 42, .65);
  color: #e2e8f0;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.brd-btn:hover {
  border-color: rgba(96, 165, 250, .5);
  color: #fff;
}
.brd-btn--primary {
  border-color: #0b1a3d;
  background: #0b1a3d;
  color: #fff;
}
.brd-btn--primary:hover {
  background: #12275a;
  border-color: #12275a;
  color: #fff;
}
.brd-btn--danger {
  border-color: rgba(248, 113, 113, .45);
  color: #fecaca;
}
.brd-btn--danger:hover {
  background: rgba(127, 29, 29, .35);
  color: #fff;
}
.brd-btn--xs {
  min-height: 1.9rem;
  padding: .3rem .65rem;
  font-size: .76rem;
}
.brd-table {
  width: 100%;
  border-top: 1px solid rgba(148, 163, 184, .22);
}
.brd-table__head {
  display: none;
}
.brd-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: .45rem .75rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}
.brd-col--num {
  display: flex;
  gap: .45rem;
  align-items: center;
  color: #94a3b8;
  font-size: .84rem;
}
.brd-check input { vertical-align: middle; }
.brd-subject {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  word-break: keep-all;
}
.brd-subject:hover { color: #7dd3fc; }
.brd-badge {
  display: inline-flex;
  align-items: center;
  margin-right: .35rem;
  padding: .15rem .45rem;
  border-radius: 3px;
  background: rgba(37, 99, 235, .18);
  color: #93c5fd;
  font-size: .72rem;
  font-weight: 700;
  vertical-align: middle;
}
.brd-badge--secret { background: rgba(248, 113, 113, .15); color: #fca5a5; }
.brd-badge--reply { background: rgba(34, 211, 238, .12); color: #67e8f9; }
.brd-col--name,
.brd-col--date,
.brd-col--hit,
.brd-col--file {
  color: #94a3b8;
  font-size: .84rem;
}
.brd-col--name::before,
.brd-col--date::before,
.brd-col--hit::before,
.brd-col--file::before {
  content: attr(data-label) " ";
  color: #64748b;
  font-weight: 700;
}
.brd-file {
  color: #93c5fd;
  font-weight: 700;
}
.brd-file--empty { color: #64748b; font-weight: 400; }
.brd-board__footer {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
.brd-paging {
  text-align: center;
  color: #cbd5e1;
}
.brd-paging a,
.brd-paging b,
.brd-paging strong,
.brd-paging span {
  display: inline-block;
  margin: 0 .15rem;
  padding: .35rem .55rem;
  color: #cbd5e1;
  font-size: .88rem;
}
.brd-paging a:hover { color: #fff; }
.brd-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}
.brd-search {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}
.brd-search__input { min-width: 10rem; flex: 1 1 10rem; max-width: 18rem; }

@media (min-width: 900px) {
  .brd-table__head {
    display: grid;
    grid-template-columns: 4.5rem minmax(0,1fr) 6.5rem 4rem 6.5rem 4rem;
    gap: .75rem;
    padding: .85rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, .22);
    color: #94a3b8;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .02em;
  }
  .brd-table[data-has-file="0"] .brd-table__head,
  .brd-table[data-has-file="0"] .brd-row {
    grid-template-columns: 4.5rem minmax(0,1fr) 6.5rem 6.5rem 4rem;
  }
  .brd-row {
    grid-template-columns: 4.5rem minmax(0,1fr) 6.5rem 4rem 6.5rem 4rem;
    align-items: center;
    padding: .95rem 0;
  }
  .brd-col--name::before,
  .brd-col--date::before,
  .brd-col--hit::before,
  .brd-col--file::before { content: none; }
  .brd-col--name,
  .brd-col--date,
  .brd-col--hit,
  .brd-col--file,
  .brd-col--num { text-align: center; }
  .brd-col--subject { text-align: left; }
  .brd-board__footer {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .brd-paging { grid-column: 1 / -1; }
  .brd-search { grid-column: 1 / -1; }
}

/* 게시판 상세 */
.brd-view {
  width: 100%;
  max-width: 100%;
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
  box-sizing: border-box;
}
.brd-view__header {
  margin-bottom: 1.35rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.brd-view__eyebrow {
  margin: 0 0 .65rem;
  color: #60a5fa;
  font: 700 .72rem/1.4 ui-monospace, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brd-view__title {
  margin: 0 0 .8rem;
  color: #fff;
  font-size: clamp(1.4rem, 3vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.35;
  word-break: keep-all;
}
.brd-view__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  color: #94a3b8;
  font-size: .86rem;
}
.brd-view__body {
  color: #cbd5e1;
  font-size: .98rem;
  line-height: 1.9;
  word-break: keep-all;
}
.brd-view__body img,
.brd-view__body table,
.brd-view__figure img {
  max-width: 100% !important;
  height: auto !important;
}
.brd-view__figure {
  margin: 0 0 1.25rem;
  text-align: center;
}
.brd-view__figure figcaption {
  margin-top: .65rem;
  color: #94a3b8;
  font-size: .9rem;
}
.brd-view__link {
  margin: 1.15rem 0 0;
  color: #94a3b8;
  font-size: .9rem;
  word-break: break-all;
}
.brd-view__link a { color: #93c5fd; }
.brd-view__files {
  margin-top: 1.5rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(148, 163, 184, .14);
}
.brd-view__files-title {
  margin: 0 0 .7rem;
  color: #fff;
  font-size: 1rem;
}
.brd-view__file-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .5rem;
}
.brd-view__file-list li {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .8rem;
  padding: .7rem .85rem;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 4px;
  background: rgba(15, 23, 42, .4);
}
.brd-view__file-list a { color: #93c5fd; font-weight: 700; }
.brd-view__file-list span { color: #94a3b8; font-size: .82rem; }
.brd-view__comment {
  margin-top: 1.35rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 4px;
  background: rgba(15, 23, 42, .4);
  color: #e2e8f0;
}
.brd-view__comment summary { cursor: pointer; font-weight: 700; }
.brd-view__comment-body { margin-top: 1rem; }
.brd-view__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: clamp(1.5rem, 4vw, 2.25rem);
  padding-top: 1.15rem;
  border-top: 1px solid rgba(148, 163, 184, .16);
}
.brd-view__actions-left,
.brd-view__actions-right {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

/* FAQ */
.faq-list {
  display: grid;
  gap: .75rem;
}
.faq-item {
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 4px;
  background: rgba(15, 23, 42, .45);
  overflow: hidden;
}
.faq-item__head {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  padding: .35rem .55rem .35rem .75rem;
}
.faq-item__q {
  flex: 1 1 auto;
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  width: 100%;
  padding: .75rem .35rem;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.faq-item__mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 4px;
  background: #0b1a3d;
  color: #93c5fd;
  font-size: .82rem;
  font-weight: 800;
}
.faq-item__mark--a {
  background: rgba(34, 211, 238, .14);
  color: #67e8f9;
}
.faq-item__title {
  flex: 1 1 auto;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  word-break: keep-all;
}
.faq-item__chevron {
  flex: 0 0 auto;
  width: .55rem;
  height: .55rem;
  margin-top: .55rem;
  border-right: 2px solid #94a3b8;
  border-bottom: 2px solid #94a3b8;
  transform: rotate(45deg);
  transition: transform .2s;
}
.faq-item.is-open .faq-item__chevron {
  margin-top: .75rem;
  transform: rotate(225deg);
}
.faq-item__admin {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  padding: .55rem .25rem 0 0;
}
.faq-item__answer {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: 0 1.1rem 1.15rem 1.35rem;
  border-top: 1px solid rgba(148, 163, 184, .12);
}
.faq-item__answer[hidden] { display: none !important; }
.faq-item.is-open .faq-item__answer { padding-top: 1rem; }
.faq-item__body {
  flex: 1 1 auto;
  color: #cbd5e1;
  font-size: .95rem;
  line-height: 1.85;
  word-break: keep-all;
}
.faq-item__body img { max-width: 100%; height: auto; }

/* 인사말 */
.ki-greeting {
  display: grid;
  gap: clamp(1.5rem, 3.5vw, 2.5rem);
}
.ki-greeting__head {
  max-width: 52rem;
}
.ki-greeting__layout {
  display: grid;
  gap: clamp(1.75rem, 4vw, 3rem);
  align-items: start;
}
.ki-greeting__eyebrow {
  margin: 0 0 1rem;
  color: #60a5fa;
  font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
}
.ki-greeting__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 3.2vw, 2.15rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.03em;
  word-break: keep-all;
}
.ki-greeting__title em {
  font-style: normal;
  color: #7dd3fc;
}
.ki-greeting__hello {
  margin: 0 0 1.25rem;
  color: #e2e8f0;
  font-size: 1.05rem;
  font-weight: 700;
}
.ki-greeting__body {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.ki-greeting__body p {
  margin: 0;
  color: #cbd5e1;
  font-size: .97rem;
  line-height: 1.95;
  word-break: keep-all;
}
.ki-greeting__sign {
  margin: 2rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  color: #94a3b8;
  font-size: .95rem;
}
.ki-greeting__sign span {
  color: #fff;
  font-weight: 700;
}
.ki-greeting__figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 3px;
  background: rgba(15, 23, 42, .55);
}
.ki-greeting__figure img {
  display: block;
  width: 100%;
  height: auto;
}
.ki-greeting__figure--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 18rem;
  border-style: dashed;
  color: #64748b;
  font: 700 .78rem/1.8 ui-monospace, Menlo, monospace;
  text-align: center;
}
@media (min-width: 900px) {
  .ki-greeting__layout {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1.28fr);
  }
  .ki-greeting__media { position: sticky; top: 6rem; }
}

/* 공장자동화 제품군 카드 */
.ki-fa-intro {
  padding: clamp(1.5rem, 4vw, 2.75rem);
  margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgba(96, 165, 250, .2);
  border-radius: 4px;
  background: linear-gradient(135deg, #0d1c3d, #081328);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.22, 1, .36, 1);
}
.ki-fa-intro.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.ki-fa-intro__eyebrow {
  margin: 0 0 .85rem;
  color: #60a5fa;
  font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
}
.ki-fa-intro__title {
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -.03em;
}
.ki-fa-intro__desc {
  margin: 0;
  max-width: 62rem;
  color: #cbd5e1;
  font-size: .95rem;
  line-height: 1.85;
  word-break: keep-all;
}
.ki-fa-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ki-fa-card {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.1rem, 2.5vw, 1.6rem);
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 3px;
  background: rgba(15, 23, 42, .5);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.22, 1, .36, 1), border-color .25s, background .25s;
}
.ki-fa-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.ki-fa-card:hover {
  border-color: rgba(96, 165, 250, .38);
  background: rgba(15, 23, 42, .75);
}
.ki-fa-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8.5rem;
  overflow: hidden;
  border: 1px dashed rgba(148, 163, 184, .25);
  border-radius: 3px;
  background: rgba(226, 232, 240, .06);
  color: #64748b;
  font: 700 .72rem/1.7 ui-monospace, Menlo, monospace;
  text-align: center;
}
.ki-fa-card__media--empty {
  border-style: dashed;
}
.ki-fa-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ki-fa-card__media:has(img) {
  border-style: solid;
  background: none;
}
.ki-fa-card__media--zoom {
  cursor: zoom-in;
}
.ki-fa-card__media--zoom img {
  pointer-events: none;
}

.ki-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(2, 6, 23, .88);
  backdrop-filter: blur(8px);
}
.ki-lightbox.is-open { display: flex; }
.ki-lightbox__img {
  display: block;
  max-width: min(92vw, 1100px);
  max-height: 86vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .55);
  transform: scale(.96);
  opacity: 0;
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), opacity .28s ease;
}
.ki-lightbox.is-open .ki-lightbox__img {
  transform: scale(1);
  opacity: 1;
}
.ki-lightbox__close,
.ki-lightbox__nav {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 163, 184, .28);
  background: rgba(15, 23, 42, .72);
  color: #fff;
  cursor: pointer;
}
.ki-lightbox__close {
  top: 1.1rem;
  right: 1.1rem;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  font-size: 1.4rem;
  line-height: 1;
}
.ki-lightbox__nav {
  top: 50%;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
}
.ki-lightbox__nav--prev { left: 1rem; }
.ki-lightbox__nav--next { right: 1rem; }
.ki-lightbox__close:hover,
.ki-lightbox__nav:hover {
  background: rgba(37, 99, 235, .55);
  border-color: rgba(96, 165, 250, .55);
}
@media (max-width: 720px) {
  .ki-lightbox__nav--prev { left: .35rem; }
  .ki-lightbox__nav--next { right: .35rem; }
}
.ki-fa-card__num {
  display: block;
  margin-bottom: .5rem;
  color: #60a5fa;
  font: 700 .72rem/1 ui-monospace, Menlo, monospace;
  letter-spacing: .12em;
}
.ki-fa-card__title {
  margin: 0 0 .75rem;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -.02em;
}
.ki-fa-card__desc {
  margin: 0;
  color: #94a3b8;
  font-size: .9rem;
  line-height: 1.85;
  word-break: keep-all;
}
@media (min-width: 768px) {
  .ki-fa-card {
    grid-template-columns: 13rem minmax(0, 1fr);
    align-items: stretch;
  }
}

/* 콘텐츠 탭 (적용분야 등) */
.ki-tabs {
  margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
}
.ki-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
  padding: .15rem 0 1.15rem;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.ki-tabs__btn {
  padding: .78rem 1.45rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: #e8edf5;
  color: #334155;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: color .2s, background .2s, border-color .2s, box-shadow .2s;
}
.ki-tabs__btn:hover {
  color: #0f172a;
  border-color: rgba(30, 58, 138, .35);
}
.ki-tabs__btn.is-active {
  color: #fff;
  background: #0b1a3d;
  border-color: #0b1a3d;
  box-shadow: 0 10px 24px rgba(11, 26, 61, .35);
}
.ki-tabs__panel { display: none; }
.ki-tabs__panel.is-active { display: block; animation: kiTabFade .35s ease; }
.ki-tabs__empty {
  padding: 3rem 1rem;
  border: 1px dashed rgba(148, 163, 184, .2);
  color: #94a3b8;
  text-align: center;
}
@keyframes kiTabFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 연혁 타임라인 */
.ki-history {
  padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(2.5rem, 6vw, 5rem);
}
.ki-history__intro {
  margin-bottom: clamp(2.25rem, 5vw, 3.75rem);
  text-align: center;
}
.ki-history__title {
  margin: 0;
  color: #dbeafe;
  font-size: clamp(1.75rem, 3.6vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -.03em;
  word-break: keep-all;
}
.ki-history__empty {
  padding: 3rem 1rem;
  border: 1px dashed rgba(148, 163, 184, .2);
  color: #94a3b8;
  text-align: center;
}
.ki-history__timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 3.5vw, 2.75rem);
  max-width: 56rem;
  margin: 0 auto;
}
.ki-history__line {
  position: absolute;
  top: .4rem;
  bottom: .4rem;
  left: 11px;
  width: 2px;
  background: rgba(148, 163, 184, .35);
}
.ki-history__item {
  position: relative;
  padding-left: 2.75rem;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s ease, transform .75s cubic-bezier(.22, 1, .36, 1);
}
.ki-history__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.ki-history__dot {
  position: absolute;
  top: .55rem;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #dc2626;
  box-shadow: 0 0 0 6px rgba(220, 38, 38, .22);
  z-index: 1;
}
.ki-history__card {
  padding: 0;
  border: 0;
  background: transparent;
}
.ki-history__year {
  margin-bottom: .45rem;
  color: #f8fafc;
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.ki-history__list {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.ki-history__list li {
  display: flex;
  gap: .65rem;
  align-items: baseline;
  font-size: .95rem;
  line-height: 1.7;
  color: #cbd5e1;
  word-break: keep-all;
}
.ki-history__month {
  flex: 0 0 auto;
  min-width: 2rem;
  color: #94a3b8;
  font: 700 .78rem/1.8 ui-monospace, Menlo, monospace;
}
.ki-history__text { flex: 1 1 auto; }

@media (min-width: 900px) {
  .ki-history__line {
    left: 50%;
    transform: translateX(-50%);
  }
  .ki-history__timeline { gap: 0; }
  .ki-history__item {
    width: 50%;
    padding: 0 0 clamp(2rem, 3.5vw, 3rem);
  }
  .ki-history__item--left {
    margin-right: auto;
    padding-right: 3.25rem;
    text-align: right;
    transform: translateX(-36px);
  }
  .ki-history__item--right {
    margin-left: 50%;
    padding-left: 3.25rem;
    transform: translateX(36px);
  }
  .ki-history__item.is-visible { transform: translateX(0); }
  .ki-history__item--left .ki-history__dot {
    left: auto;
    right: -8px;
  }
  .ki-history__item--right .ki-history__dot {
    left: -8px;
  }
  .ki-history__item--left .ki-history__list li {
    flex-direction: row-reverse;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ki-history__item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .ki-tabs__panel.is-active { animation: none; }
}

/* 찾아오시는 길 - 구글 지도 반응형 */
.ki-location {
  display: grid;
  gap: clamp(1.5rem, 4vw, 2.5rem);
}
.ki-map {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 4px;
  background: rgba(15, 23, 42, .55);
  box-shadow: 0 18px 40px rgba(2, 6, 23, .28);
}
.ki-map__frame {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 280px;
  background: #0b1220;
}
.ki-map__frame iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.ki-map--empty .ki-map__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: .9rem;
  text-align: center;
  padding: 1.5rem;
}
.ki-map__info-title {
  margin: 0 0 .9rem;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
}
.ki-map__info-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .65rem;
  color: #cbd5e1;
  font-size: .95rem;
  line-height: 1.7;
}
.ki-map__info-list strong {
  display: inline-block;
  min-width: 3.5rem;
  margin-right: .5rem;
  color: #93c5fd;
}
.ki-location__body .map_title,
.ki-location__body .ki-map__info-title {
  margin-top: 0;
}
@media (max-width: 640px) {
  .ki-map__frame { aspect-ratio: 4 / 3; min-height: 220px; }
}

/* 온라인 문의 */
.ki-inquiry {
  max-width: 52rem;
  margin: 0 auto;
  padding: 0 0 clamp(2rem, 5vw, 3.5rem);
}
.ki-inquiry__lead {
  margin: 0 0 1.75rem;
  color: #94a3b8;
  font-size: .95rem;
  line-height: 1.8;
  word-break: keep-all;
}
.ki-inquiry__lead strong { color: #e2e8f0; }
.ki-inquiry__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.15rem 1.25rem;
  width: 100%;
}
.ki-inquiry__field {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-width: 0;
  width: 100%;
}
.ki-inquiry__field--full {
  grid-column: 1 / -1;
  width: 100%;
}
.ki-inquiry__field--half { width: 100%; }
@media (min-width: 640px) {
  .ki-inquiry__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ki-inquiry__field--half {
    grid-column: auto;
  }
  .ki-inquiry__field--full {
    grid-column: 1 / -1;
  }
}
.ki-inquiry__label {
  color: #cbd5e1;
  font-size: .86rem;
  font-weight: 700;
}
.ki-inquiry__label em {
  color: #f87171;
  font-style: normal;
}
.ki-inquiry__control { width: 100%; }
.ki-inquiry__input,
.ki-inquiry__select,
.ki-inquiry__textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .85rem 1rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: .92rem;
  transition: border-color .2s, box-shadow .2s;
}
.ki-inquiry__input::placeholder,
.ki-inquiry__textarea::placeholder { color: #94a3b8; }
.ki-inquiry__input:focus,
.ki-inquiry__select:focus,
.ki-inquiry__textarea:focus {
  outline: none;
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .18);
}
.ki-inquiry__textarea {
  min-height: 11rem;
  resize: vertical;
  line-height: 1.7;
}
.ki-inquiry__tel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}
.ki-inquiry__tel .ki-inquiry__input { width: 5.5rem; flex: 1 1 4.5rem; }
.ki-inquiry__tel-sep { color: #64748b; }
.ki-inquiry__checks {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.1rem;
  color: #e2e8f0;
  font-size: .9rem;
}
.ki-inquiry__privacy {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(148, 163, 184, .16);
}
.ki-inquiry__privacy-box {
  max-height: 10rem;
  overflow: auto;
  margin: .85rem 0 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  background: rgba(15, 23, 42, .55);
  color: #cbd5e1;
  font-size: .82rem;
  line-height: 1.7;
}
.ki-inquiry__agree {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  color: #e2e8f0;
  font-size: .92rem;
  cursor: pointer;
}
.ki-inquiry__agree input { margin-top: .2rem; }
.ki-inquiry__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}
.ki-inquiry__submit,
.ki-inquiry__cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 3rem;
  padding: .9rem 1.75rem;
  border-radius: 4px;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}
.ki-inquiry__submit {
  border: 1px solid #0b1a3d;
  background: #0b1a3d;
  color: #fff;
}
.ki-inquiry__submit:hover {
  background: #12275a;
  border-color: #12275a;
  transform: translateY(-1px);
}
.ki-inquiry__cancel {
  border: 1px solid rgba(148, 163, 184, .4);
  background: transparent;
  color: #cbd5e1;
}
.ki-inquiry__cancel:hover {
  border-color: rgba(148, 163, 184, .7);
  color: #fff;
}
