.elementor-21601 .elementor-element.elementor-element-ae7ff25{--display:flex;}/* Start custom CSS */:root {
  --tvp-navy:          #0A1628;
  --tvp-navy-mid:      #0d1e38;
  --tvp-navy-light:    #112240;
  --tvp-navy-deep:     #060e1c;
  --tvp-electric:      #00A8E8;
  --tvp-electric-dim:  rgba(0, 168, 232, 0.12);
  --tvp-electric-glow: rgba(0, 168, 232, 0.30);
  --tvp-link:          #0090C8;
  --tvp-white:         #FFFFFF;
  --tvp-off-white:     #F0F4F8;
  --tvp-body-text:     rgba(240, 244, 248, 0.88);
  --tvp-muted-mid:     rgba(240, 244, 248, 0.82);
  --tvp-muted:         rgba(240, 244, 248, 0.65);
  --tvp-ghost:         rgba(240, 244, 248, 0.28);
  --tvp-danger:        #E8514A;
  --tvp-warn:          #E8A83A;
  --tvp-success:       #3AE8A0;
  --tvp-grid-line:     rgba(0, 168, 232, 0.07);
  --tvp-border:        rgba(0, 168, 232, 0.18);
  --tvp-font:          'Noto Sans KR', sans-serif;
  --tvp-base:          18px;
  --tvp-radius:        0px;
  --tvp-radius-img:    0px;
  --tvp-section-py:    96px;
  --tvp-section-py-sm: 64px;
  --tvp-container:     1200px;
}

body.page-id-20307,
body.page-id-21601,
body.page-id-21600,
body.page-id-21599 {
  background-color: var(--tvp-navy) !important;
  color: var(--tvp-off-white);
  font-family: var(--tvp-font);
  font-size: var(--tvp-base);
  font-weight: 300;
  line-height: 1.7;
}

body.page-id-20307::before,
body.page-id-21601::before,
body.page-id-21600::before,
body.page-id-21599::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--tvp-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--tvp-grid-line) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}

body.page-id-20307 .elementor-section-wrap,
body.page-id-21601 .elementor-section-wrap,
body.page-id-21600 .elementor-section-wrap,
body.page-id-21599 .elementor-section-wrap,
body.page-id-20307 .e-con-inner,
body.page-id-21601 .e-con-inner,
body.page-id-21600 .e-con-inner,
body.page-id-21599 .e-con-inner,
body.page-id-20307 .elementor-widget-wrap,
body.page-id-21601 .elementor-widget-wrap,
body.page-id-21600 .elementor-widget-wrap,
body.page-id-21599 .elementor-widget-wrap,
body.page-id-20307 .elementor-container,
body.page-id-21601 .elementor-container,
body.page-id-21600 .elementor-container,
body.page-id-21599 .elementor-container {
  position: relative;
  z-index: 1;
}

body.page-id-20307 [class*="tvp-"],
body.page-id-21601 [class*="tvp-"],
body.page-id-21600 [class*="tvp-"],
body.page-id-21599 [class*="tvp-"] {
  box-sizing: border-box;
}

body.page-id-20307 #page,
body.page-id-21601 #page,
body.page-id-21600 #page,
body.page-id-21599 #page,
body.page-id-20307 #content,
body.page-id-21601 #content,
body.page-id-21600 #content,
body.page-id-21599 #content,
body.page-id-20307 #primary,
body.page-id-21601 #primary,
body.page-id-21600 #primary,
body.page-id-21599 #primary,
body.page-id-20307 .site-main,
body.page-id-21601 .site-main,
body.page-id-21600 .site-main,
body.page-id-21599 .site-main,
body.page-id-20307 .site-content,
body.page-id-21601 .site-content,
body.page-id-21600 .site-content,
body.page-id-21599 .site-content,
body.page-id-20307 main,
body.page-id-21601 main,
body.page-id-21600 main,
body.page-id-21599 main,
body.page-id-20307 article,
body.page-id-21601 article,
body.page-id-21600 article,
body.page-id-21599 article,
body.page-id-20307 .entry-content,
body.page-id-21601 .entry-content,
body.page-id-21600 .entry-content,
body.page-id-21599 .entry-content,
body.page-id-20307 .post-inner,
body.page-id-21601 .post-inner,
body.page-id-21600 .post-inner,
body.page-id-21599 .post-inner,
body.page-id-20307 .elementor-section,
body.page-id-21601 .elementor-section,
body.page-id-21600 .elementor-section,
body.page-id-21599 .elementor-section,
body.page-id-20307 .elementor-top-section,
body.page-id-21601 .elementor-top-section,
body.page-id-21600 .elementor-top-section,
body.page-id-21599 .elementor-top-section,
body.page-id-20307 .e-con,
body.page-id-21601 .e-con,
body.page-id-21600 .e-con,
body.page-id-21599 .e-con,
body.page-id-20307 .elementor-widget-container,
body.page-id-21601 .elementor-widget-container,
body.page-id-21600 .elementor-widget-container,
body.page-id-21599 .elementor-widget-container,
body.page-id-20307 .elementor-widget-html,
body.page-id-21601 .elementor-widget-html,
body.page-id-21600 .elementor-widget-html,
body.page-id-21599 .elementor-widget-html {
  background:       transparent !important;
  background-color: transparent !important;
  box-shadow:       none !important;
}

body.page-id-20307 .site-content,
body.page-id-21601 .site-content,
body.page-id-21600 .site-content,
body.page-id-21599 .site-content,
body.page-id-20307 #primary,
body.page-id-21601 #primary,
body.page-id-21600 #primary,
body.page-id-21599 #primary {
  padding: 0 !important;
  margin: 0 !important;
}

body.page-id-20307 mjx-container,
body.page-id-21601 mjx-container,
body.page-id-21600 mjx-container,
body.page-id-21599 mjx-container,
body.page-id-20307 mjx-container *,
body.page-id-21601 mjx-container *,
body.page-id-21600 mjx-container *,
body.page-id-21599 mjx-container * {
  background:       transparent !important;
  background-color: transparent !important;
  color:            #FFFFFF !important;
}

.tvp-container {
  max-width: var(--tvp-container);
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
}

.tvp-section        { padding: var(--tvp-section-py) 0; }
.tvp-section--tight { padding: var(--tvp-section-py-sm) 0; }

.tvp-bg-navy { background-color: var(--tvp-navy)      !important; }
.tvp-bg-deep { background-color: var(--tvp-navy-deep) !important; }
.tvp-bg-mid  { background-color: var(--tvp-navy-mid)  !important; }

.tvp-border-top    { border-top:    1px solid var(--tvp-grid-line); }
.tvp-border-bottom { border-bottom: 1px solid var(--tvp-grid-line); }

.tvp-h1 {
  font-family: var(--tvp-font);
  font-size: clamp(38px, 5.5vw, 72px);
  font-weight: 300;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--tvp-white);
  margin: 0 0 32px 0;
}
.tvp-h1 em     { font-style: normal !important; color: var(--tvp-electric); }
.tvp-h1 strong { font-weight: 400; color: var(--tvp-white); }

.tvp-h2 {
  font-family: var(--tvp-font);
  font-size: clamp(28px, 3.8vw, 48px);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--tvp-white);
  margin: 0 0 24px 0;
}
.tvp-h2 em     { font-style: normal !important; color: var(--tvp-electric); }
.tvp-h2 strong { font-weight: 400; }

.tvp-h3 {
  font-family: var(--tvp-font);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--tvp-white);
  margin: 0 0 12px 0;
}

.tvp-lead {
  font-family: var(--tvp-font);
  font-size: clamp(17px, 1.8vw, 21px);
  font-weight: 300;
  line-height: 1.7;
  color: var(--tvp-muted-mid);
  max-width: 720px;
  margin: 0 0 40px 0;
}

.tvp-body {
  font-family: var(--tvp-font);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--tvp-body-text);
  margin: 0 0 16px 0;
}
.tvp-body strong { font-weight: 400; color: var(--tvp-white); }

.tvp-small {
  font-size: 13px;
  font-weight: 300;
  color: var(--tvp-muted);
  line-height: 1.5;
}

.tvp-disclaimer {
  font-size: 11px;
  font-weight: 300;
  color: var(--tvp-ghost);
  line-height: 1.6;
  margin-top: 12px;
}

.tvp-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--tvp-font);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--tvp-electric);
  margin: 0 0 20px 0;
}
.tvp-label::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--tvp-electric);
  flex-shrink: 0;
}

.tvp-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border: 1px solid var(--tvp-border);
  font-family: var(--tvp-font);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tvp-electric);
  background: var(--tvp-electric-dim);
}
.tvp-badge--danger  { color: var(--tvp-danger);  border-color: rgba(232, 81, 74, 0.28);  background: rgba(232, 81, 74, 0.06); }
.tvp-badge--warn    { color: var(--tvp-warn);    border-color: rgba(232, 168, 58, 0.28); background: rgba(232, 168, 58, 0.06); }
.tvp-badge--success { color: var(--tvp-success); border-color: rgba(58, 232, 160, 0.28); background: rgba(58, 232, 160, 0.06); }
.tvp-badge__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
  animation: tvp-pulse 1.8s ease-in-out infinite;
}

.tvp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 28px;
  font-family: var(--tvp-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  white-space: nowrap;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.tvp-btn--primary { background: var(--tvp-electric); color: var(--tvp-navy); }
.tvp-btn--primary:hover {
  background: #18c2ff;
  transform: translateY(-1px);
  box-shadow: 0 6px 28px var(--tvp-electric-glow);
  color: var(--tvp-navy);
  text-decoration: none;
}
.tvp-btn--outline { background: transparent; color: var(--tvp-electric); border: 1px solid rgba(0, 168, 232, 0.35); }
.tvp-btn--outline:hover { border-color: var(--tvp-electric); background: var(--tvp-electric-dim); color: var(--tvp-electric); text-decoration: none; }
.tvp-btn-group { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }

.tvp-card {
  background: var(--tvp-navy-light);
  border: 1px solid var(--tvp-grid-line);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
}
.tvp-card * { min-width: 0; box-sizing: border-box; }
.tvp-card--electric  { border-top: 2px solid var(--tvp-electric); }
.tvp-card--warn      { border-top: 2px solid var(--tvp-warn); }
.tvp-card--danger    { border-top: 2px solid var(--tvp-danger); }
.tvp-card--highlight {
  background: rgba(0, 168, 232, 0.06);
  border: 1px solid rgba(0, 168, 232, 0.20);
  border-top: 2px solid var(--tvp-electric);
  box-shadow: 0 0 40px rgba(0, 168, 232, 0.07);
}

.tvp-interp {
  background: var(--tvp-navy-mid);
  border: 1px solid rgba(0, 168, 232, 0.12);
  border-left: 3px solid rgba(0, 168, 232, 0.35);
  padding: 18px 22px;
  margin-top: 40px;
  font-family: var(--tvp-font);
  font-size: 12px;
  font-weight: 300;
  color: rgba(240, 244, 248, 0.55);
  line-height: 1.7;
}
.tvp-interp strong { font-weight: 400; color: rgba(240, 244, 248, 0.70); }

.tvp-rule           { border: none; border-top: 1px solid var(--tvp-grid-line); margin: 0; }
.tvp-rule--electric { border-color: rgba(0, 168, 232, 0.20); }

.tvp-img { display: block; width: 100%; height: auto; border: 1px solid rgba(0, 168, 232, 0.15); }
.tvp-img--no-border { border: none; }

.tvp-photo-placeholder {
  width: 100%;
  background: var(--tvp-navy-light);
  border: 1px solid rgba(0, 168, 232, 0.15);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; text-align: center; padding: 48px 24px;
}
.tvp-photo-placeholder__label { font-size: 10px; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tvp-electric); }
.tvp-photo-placeholder__desc  { font-size: 12px; font-weight: 300; color: var(--tvp-muted); max-width: 280px; line-height: 1.5; }

.tvp-feature-list { list-style: none; padding: 0; margin: 20px 0 0 0; }
.tvp-feature-list li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--tvp-grid-line);
  font-size: 16px; font-weight: 300; color: var(--tvp-muted-mid); line-height: 1.55;
}
.tvp-feature-list li:last-child { border-bottom: none; }
.tvp-feature-list li::before {
  content: '2192';
  color: var(--tvp-electric); font-size: 13px; flex-shrink: 0; margin-top: 2px;
}

.tvp-patent-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--tvp-grid-line); font-size: 13px; }
.tvp-patent-row:last-child { border-bottom: none; }
.tvp-patent-row__id { font-weight: 400; color: var(--tvp-white); font-size: 12px; letter-spacing: 0.05em; word-break: break-all; overflow-wrap: break-word; min-width: 0; }
.tvp-patent-row__note { font-size: 11px; font-weight: 300; color: var(--tvp-muted); margin-top: 2px; }
.tvp-status--active  { color: var(--tvp-success); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 400; }
.tvp-status--pending { color: var(--tvp-warn);    font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 400; }

.tvp-metric { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 16px; background: var(--tvp-navy-light); border: 1px solid var(--tvp-grid-line); padding: 14px 18px; margin-bottom: 2px; }
.tvp-metric__label    { font-size: 10px; font-weight: 400; letter-spacing: 0.10em; text-transform: uppercase; color: var(--tvp-muted); }
.tvp-metric__bar-wrap { height: 3px; background: rgba(240, 244, 248, 0.06); border-radius: 2px; overflow: hidden; }
.tvp-metric__bar      { height: 100%; background: linear-gradient(90deg, var(--tvp-electric), rgba(0, 168, 232, 0.40)); border-radius: 2px; transition: width 0.8s ease; }
.tvp-metric__val      { font-size: 11px; font-weight: 400; color: var(--tvp-electric); letter-spacing: 0.06em; white-space: nowrap; }

.no-tel a[href^="tel"] { color: inherit !important; text-decoration: none !important; pointer-events: none !important; font-size: inherit !important; }

@keyframes tvp-pulse  { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes tvp-fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.tvp-fade-up { animation: tvp-fadeUp 0.7s ease forwards; }

.tvp-text-electric { color: var(--tvp-electric); }
.tvp-text-muted    { color: var(--tvp-muted); }
.tvp-text-white    { color: var(--tvp-white); }
.tvp-text-danger   { color: var(--tvp-danger); }
.tvp-text-success  { color: var(--tvp-success); }
.tvp-text-center   { text-align: center; }

.tvp-mt-0  { margin-top: 0; }
.tvp-mt-16 { margin-top: 16px; }
.tvp-mt-24 { margin-top: 24px; }
.tvp-mt-32 { margin-top: 32px; }
.tvp-mt-48 { margin-top: 48px; }
.tvp-mt-64 { margin-top: 64px; }
.tvp-mb-0  { margin-bottom: 0; }
.tvp-mb-8  { margin-bottom: 8px; }
.tvp-mb-16 { margin-bottom: 16px; }
.tvp-mb-32 { margin-bottom: 32px; }

@media (max-width: 1024px) {
  :root { --tvp-section-py: 72px; }
  .tvp-container { padding: 0 24px; }
}

@media (max-width: 767px) {
  :root { --tvp-section-py: 56px; --tvp-section-py-sm: 40px; }
  .tvp-container { padding: 0 20px; }
  .tvp-h1 { font-size: 52px !important; line-height: 1.08 !important; letter-spacing: -0.015em; }
  .tvp-card .tvp-h3 { font-size: 17px !important; }
  .tvp-card .tvp-body,
  .tvp-card .tvp-feature-list li { font-size: 15px !important; }
  .tvp-btn-group { flex-direction: column; align-items: stretch; }
  .tvp-btn { width: 100%; justify-content: center; white-space: normal; text-align: center; line-height: 1.4; }
  .tvp-label { font-size: 9px; letter-spacing: 0.14em; gap: 8px; }
  .tvp-label::before { width: 20px; }
  .tvp-patent-row { flex-direction: column; align-items: flex-start; gap: 6px; }
  .tvp-metric { grid-template-columns: 1fr auto; }
  .tvp-metric__bar-wrap { display: none; }
}

@media (max-width: 390px) {
  .tvp-h1 { font-size: 44px !important; }
}/* End custom CSS */