/* ==========================================================
   NLICA style.css  |  6개 페이지 공통 스타일
   base = index 기준, 페이지별 차이는 body 클래스로 분리
   ========================================================== */

/* ---------- BASE (전 페이지 공통) ---------- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      --bg-deep: #06080d;
      --bg-card: #0c1018;
      --bg-card-hover: #111827;
      --surface: #161d2e;
      --border: rgba(100, 180, 255, 0.08);
      --border-hover: rgba(100, 180, 255, 0.18);
      --text-primary: #e8edf5;
      --text-secondary: #8899b4;
      --text-muted: #556680;
      --accent: #3b9eff;
      --accent-glow: rgba(59, 158, 255, 0.15);
      --accent-warm: #64d8cb;
      --accent-purple: #8b7cf6;
      --gradient-brand: linear-gradient(135deg, #3b9eff 0%, #64d8cb 50%, #8b7cf6 100%);
      --font-display: 'Pretendard', -apple-system, sans-serif;
      --font-body: 'Pretendard', -apple-system, sans-serif;
      --font-mono: 'JetBrains Mono', monospace;
    }
    body {
      font-family: var(--font-body);
      background: var(--bg-deep);
      color: var(--text-primary);
      line-height: 1.7;
      overflow-x: hidden;
    }
    nav {
      position: sticky;
      top: 0;
      z-index: 1000;
      padding: 1.25rem 3rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: rgba(6, 8, 13, 0.92);
      backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--border);
    }
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      text-decoration: none;
      color: var(--text-primary);
    }
.nav-logo-image {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
}
    .nav-logo-mark {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: var(--gradient-brand);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-mono);
      font-weight: 700;
      font-size: 0.8rem;
      color: var(--bg-deep);
    }
    .nav-logo-text {
      font-family: var(--font-display);
      font-weight: 800;
      font-size: 1.75rem;
      letter-spacing: 1px;
    }
    .nav-links {
      display: flex;
      gap: 2rem;
      list-style: none;
    }
    .nav-links a {
      color: var(--text-secondary);
      text-decoration: none;
      font-size: 1.3rem;
    }
    .nav-links a.active,
    .nav-links a:hover {
      color: var(--text-primary);
    }
    .nav-contact {
      padding: 0.65rem 1.4rem;
      border: 1px solid var(--border-hover);
      border-radius: 100px;
      color: var(--text-primary);
      text-decoration: none;
      font-size: 0.8rem;
    }
    .hero {
      min-height: 92vh;
      display: flex;
      align-items: center;
      padding: 6rem 3rem;
      position: relative;
    }
    .hero-content {
      max-width: 1300px;
      margin: 0 auto;
      width: 100%;
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 4rem;
      align-items: center;
    }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.45rem 1rem;
      border: 1px solid var(--border-hover);
      border-radius: 100px;
      font-size: 0.75rem;
      color: var(--accent);
      margin-bottom: 2rem;
      background: rgba(59, 158, 255, 0.05);
    }
    .hero-badge .dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--accent);
    }
    h1 {
      font-family: var(--font-display);
      font-size: clamp(3rem, 5vw, 4.5rem);
      font-weight: 400;
      line-height: 1.1;
      margin-bottom: 1.5rem;
    }
    h1 em {
      font-style: italic;
      background: var(--gradient-brand);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .hero-desc {
      font-size: 1.05rem;
      color: var(--text-secondary);
      max-width: 560px;
      margin-bottom: 2rem;
    }
    .hero-actions {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
    }
    .btn-primary, .btn-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.9rem 1.8rem;
      border-radius: 999px;
      text-decoration: none;
      font-size: 0.9rem;
      transition: all 0.3s ease;
    }
    .btn-primary {
      background: var(--accent);
      color: var(--bg-deep);
      font-weight: 600;
    }
    .btn-secondary {
      color: var(--text-primary);
      border: 1px solid var(--border-hover);
    }
    .hero-visual img {
      width: 100%;
      border-radius: 20px;
      border: 1px solid var(--border);
      background: var(--bg-card);
      min-height: 320px;
      object-fit: cover;
    }
    .stats-bar {
      padding: 3rem;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      background: rgba(12,16,24,0.45);
    }
    .stats-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2rem;
    }
    .stat-item { text-align: center; }
    .stat-number {
      font-family: var(--font-mono);
      font-size: 2rem;
      background: var(--gradient-brand);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .stat-label {
      margin-top: 0.5rem;
      font-size: 0.8rem;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 1px;
    }
    .section {
      padding: 6rem 3rem;
    }
    .container {
      max-width: 1200px;
      margin: 0 auto;
    }
    .section-header {
      max-width: 760px;
      margin-bottom: 3rem;
    }
    .section-label {
      display: block;
      margin-bottom: 1rem;
      font-family: var(--font-mono);
      font-size: 0.72rem;
      letter-spacing: 3px;
      color: var(--accent);
      text-transform: uppercase;
    }
    .section-title {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 400;
      line-height: 1.2;
      margin-bottom: 1rem;
    }
    .section-title em {
      color: var(--accent-warm);
      font-style: italic;
    }
    .section-desc {
      color: var(--text-secondary);
      font-size: 1rem;
    }
    .overview-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }
    .card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 2rem;
    }
.card-icon {
      width: 44px;
      height: 44px;
      margin-bottom: 1.2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--border-hover);
      border-radius: 12px;
      color: var(--accent);
      background: rgba(59, 158, 255, 0.05);
    }
    .card-icon svg { width: 22px; height: 22px; }
    .card h3 {
      font-size: 1.1rem;
      margin-bottom: 0.7rem;
    }
    .card p {
      color: var(--text-secondary);
      font-size: 0.94rem;
    }
    footer {
      padding: 3rem;
      border-top: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      max-width: 1400px;
      margin: 0 auto;
    }
    .footer-copy, .footer-info {
      color: var(--text-muted);
      font-size: 0.82rem;
      line-height: 1.7;
    }
    @media (max-width: 1024px) {
      .hero-content,
      .overview-grid,
      .stats-inner {
        grid-template-columns: 1fr;
      }
    }
    @media (max-width: 768px) {
      nav, .hero, .section, .stats-bar, footer { padding-left: 1.5rem; padding-right: 1.5rem; }
      nav { flex-wrap: wrap; gap: 1rem; }
      .nav-links { width: 100%; flex-wrap: wrap; }
      footer { flex-direction: column; }
    }

/* ---------- technology.html 전용 (body.p-tech) ---------- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family:var(--font-body); background:var(--bg-deep); color:var(--text-primary); line-height:1.7; }
body.p-tech nav { position:sticky; top:0; z-index:1000; padding:1.25rem 3rem; display:flex; justify-content:space-between; align-items:center; background:rgba(6,8,13,0.92); border-bottom:1px solid var(--border); }
body.p-tech .nav-logo-image {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
}
body.p-tech .nav-logo { display:flex; align-items:center; gap:.75rem; color:var(--text-primary); text-decoration:none; }
body.p-tech .nav-logo-mark { width:36px; height:36px; border-radius:10px; background:var(--gradient-brand); display:flex; align-items:center; justify-content:center; color:#06080d; font-family:var(--font-mono); font-weight:700; }
body.p-tech .nav-logo-text { font-family:var(--font-display); font-weight:800; letter-spacing:1px; }
body.p-tech .nav-links { list-style:none; display:flex; gap:2rem; }
body.p-tech .nav-links a, body.p-tech .nav-contact { text-decoration:none; color:var(--text-secondary); }
body.p-tech .nav-links a.active, body.p-tech .nav-links a:hover, body.p-tech .nav-contact { color:var(--text-primary); }
body.p-tech .nav-contact { border:1px solid var(--border-hover); border-radius:999px; padding:.65rem 1.4rem; font-size:.82rem; }
body.p-tech .page-hero, body.p-tech .section { padding:6rem 3rem; }
body.p-tech .container { max-width:1200px; margin:0 auto; }
body.p-tech .page-hero h1 { font-family:var(--font-display); font-size:clamp(2.6rem,4.8vw,4.2rem); font-weight:400; line-height:1.1; margin-bottom:1rem; }
body.p-tech .page-hero h1 em { color:var(--accent-warm); font-style:italic; }
body.p-tech .lead { max-width:760px; color:var(--text-secondary); font-size:1.05rem; }
body.p-tech .tech-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:3rem; }
body.p-tech .card { background:var(--bg-card); border:1px solid var(--border); border-radius:18px; padding:2rem; }
body.p-tech .tech-step { display:flex; gap:1rem; margin-bottom:1.8rem; }
body.p-tech .tech-step:last-child { margin-bottom:0; }
body.p-tech .step-num { width:40px; height:40px; flex-shrink:0; border-radius:10px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border-hover); color:var(--accent); font-family:var(--font-mono); }
body.p-tech .tech-step h3 { margin-bottom:.35rem; font-size:1rem; }
body.p-tech .tech-step p, body.p-tech .card p { color:var(--text-secondary); font-size:.94rem; }
body.p-tech .detail-title { font-family:var(--font-display); font-size:2rem; font-weight:400; margin-bottom:1rem; }
body.p-tech .detail-title em { color:var(--accent-warm); font-style:italic; }
body.p-tech .highlight-grid { margin-top:2rem; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
body.p-tech .highlight { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:1.25rem; }
body.p-tech .highlight .num { display:block; color:var(--accent); font-family:var(--font-mono); font-size:1.4rem; margin-bottom:.3rem; }
body.p-tech footer { padding:3rem; border-top:1px solid var(--border); display:flex; justify-content:space-between; max-width:1400px; margin:0 auto; gap:1rem; }
body.p-tech .footer-copy, body.p-tech .footer-info { color:var(--text-muted); font-size:.82rem; line-height:1.7; }
@media (max-width:1024px) {
body.p-tech .tech-layout, body.p-tech .highlight-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
body.p-tech nav, body.p-tech .page-hero, body.p-tech .section, body.p-tech footer { padding-left:1.5rem; padding-right:1.5rem; }
body.p-tech nav { flex-wrap:wrap; gap:1rem; }
body.p-tech .nav-links { width:100%; flex-wrap:wrap; }
body.p-tech footer { flex-direction:column; }
}

/* ---------- comparison.html 전용 (body.p-comp) ---------- */
*, *::before, *::after {margin:0;padding:0;box-sizing:border-box;}
body {font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);line-height:1.7;}
body.p-comp nav {position:sticky;top:0;z-index:1000;padding:1.25rem 3rem;display:flex;justify-content:space-between;align-items:center;background:rgba(6,8,13,.92);border-bottom:1px solid var(--border);}
body.p-comp .nav-logo {display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);}
body.p-comp .nav-logo-mark {width:36px;height:36px;border-radius:10px;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;color:#06080d;font-family:var(--font-mono);font-weight:700;}
body.p-comp .nav-logo-image {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
}
body.p-comp .nav-logo-text {font-family:var(--font-display);font-weight:800;letter-spacing:1px;}
body.p-comp .nav-links {display:flex;gap:2rem;list-style:none;}
body.p-comp .nav-links a, body.p-comp .nav-contact {text-decoration:none;color:var(--text-secondary);}
body.p-comp .nav-links a.active, body.p-comp .nav-links a:hover, body.p-comp .nav-contact {color:var(--text-primary);}
body.p-comp .nav-contact {border:1px solid var(--border-hover);border-radius:999px;padding:.65rem 1.4rem;font-size:.82rem;}
body.p-comp .page {padding:6rem 3rem;}
body.p-comp .container {max-width:1100px;margin:0 auto;}
body.p-comp h1 {font-family:var(--font-display);font-size:clamp(2.6rem,4.8vw,4rem);font-weight:400;line-height:1.15;margin-bottom:1rem;}
body.p-comp h1 em {color:var(--accent-warm);font-style:italic;}
body.p-comp .lead {max-width:760px;color:var(--text-secondary);font-size:1.02rem;margin-bottom:3rem;}
body.p-comp .comparison-table {display:grid;grid-template-columns:1.3fr 1fr 1fr;border:1px solid var(--border);border-radius:18px;overflow:hidden;}
body.p-comp .head {padding:1.2rem 1.4rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.76rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);font-weight:600;}
body.p-comp .head.ours {color:var(--accent);}
body.p-comp .row {display:contents;}
body.p-comp .cell {padding:1.15rem 1.4rem;border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--bg-card);}
body.p-comp .cell.feature {color:var(--text-primary);font-weight:600;}
body.p-comp .cell.ours {background:rgba(100,216,203,.03);color:var(--accent-warm);font-weight:500;}
body.p-comp .notes {margin-top:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;}
body.p-comp .notes p {color:var(--text-secondary);}
body.p-comp footer {padding:3rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;max-width:1400px;margin:0 auto;}
body.p-comp .footer-copy, body.p-comp .footer-info {color:var(--text-muted);font-size:.82rem;line-height:1.7;}
@media (max-width:900px) {
body.p-comp .comparison-table {grid-template-columns:1fr;}
}
@media (max-width:768px) {
body.p-comp nav, body.p-comp .page, body.p-comp footer {padding-left:1.5rem;padding-right:1.5rem;}
body.p-comp nav {flex-wrap:wrap;gap:1rem;}
body.p-comp .nav-links {width:100%;flex-wrap:wrap;}
body.p-comp footer {flex-direction:column;}
}

/* ---------- applications.html 전용 (body.p-apps) ---------- */
*, *::before, *::after {margin:0;padding:0;box-sizing:border-box;}
body {font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);line-height:1.7;}
body.p-apps nav {position:sticky;top:0;z-index:1000;padding:1.25rem 3rem;display:flex;justify-content:space-between;align-items:center;background:rgba(6,8,13,.92);border-bottom:1px solid var(--border);}
body.p-apps .nav-logo {display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);}
body.p-apps .nav-logo-mark {width:36px;height:36px;border-radius:10px;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;color:#06080d;font-family:var(--font-mono);font-weight:700;}
body.p-apps .nav-logo-image {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
}
body.p-apps .nav-logo-text {font-family:var(--font-display);font-weight:800;letter-spacing:1px;}
body.p-apps .nav-links {display:flex;gap:2rem;list-style:none;}
body.p-apps .nav-links a, body.p-apps .nav-contact {text-decoration:none;color:var(--text-secondary);}
body.p-apps .nav-links a.active, body.p-apps .nav-links a:hover, body.p-apps .nav-contact {color:var(--text-primary);}
body.p-apps .nav-contact {border:1px solid var(--border-hover);border-radius:999px;padding:.65rem 1.4rem;font-size:.82rem;}
body.p-apps .page {padding:6rem 3rem;}
body.p-apps .container {max-width:1200px;margin:0 auto;}
body.p-apps h1 {font-family:var(--font-display);font-size:clamp(2.6rem,4.8vw,4rem);font-weight:400;line-height:1.15;margin-bottom:1rem;}
body.p-apps h1 em {color:var(--accent-warm);font-style:italic;}
body.p-apps .lead {max-width:760px;color:var(--text-secondary);font-size:1.02rem;margin-bottom:3rem;}
body.p-apps .grid {display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
body.p-apps .card {padding:2.3rem;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;}
body.p-apps .tag {display:block;margin-bottom:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-purple);}
body.p-apps .card h3 {font-family:var(--font-display);font-size:1.55rem;font-weight:400;margin-bottom:.75rem;}
body.p-apps .card p {color:var(--text-secondary);font-size:.94rem;}
body.p-apps footer {padding:3rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;max-width:1400px;margin:0 auto;}
body.p-apps .footer-copy, body.p-apps .footer-info {color:var(--text-muted);font-size:.82rem;line-height:1.7;}
@media (max-width:1024px) {
body.p-apps .grid {grid-template-columns:1fr;}
}
@media (max-width:768px) {
body.p-apps nav, body.p-apps .page, body.p-apps footer {padding-left:1.5rem;padding-right:1.5rem;}
body.p-apps nav {flex-wrap:wrap;gap:1rem;}
body.p-apps .nav-links {width:100%;flex-wrap:wrap;}
body.p-apps footer {flex-direction:column;}
}

/* ---------- credentials.html 전용 (body.p-cred) ---------- */
*, *::before, *::after {margin:0;padding:0;box-sizing:border-box;}
body {font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);line-height:1.7;}
body.p-cred nav {position:sticky;top:0;z-index:1000;padding:1.25rem 3rem;display:flex;justify-content:space-between;align-items:center;background:rgba(6,8,13,.92);border-bottom:1px solid var(--border);}
body.p-cred .nav-logo {display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);}
body.p-cred .nav-logo-mark {width:36px;height:36px;border-radius:10px;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;color:#06080d;font-family:var(--font-mono);font-weight:700;}
body.p-cred .nav-logo-image {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
}
body.p-cred .nav-logo-text {font-family:var(--font-display);font-weight:800;letter-spacing:1px;}
body.p-cred .nav-links {display:flex;gap:2rem;list-style:none;}
body.p-cred .nav-links a, body.p-cred .nav-contact {text-decoration:none;color:var(--text-secondary);}
body.p-cred .nav-links a.active, body.p-cred .nav-links a:hover, body.p-cred .nav-contact {color:var(--text-primary);}
body.p-cred .nav-contact {border:1px solid var(--border-hover);border-radius:999px;padding:.65rem 1.4rem;font-size:.82rem;}
body.p-cred .page {padding:6rem 3rem;}
body.p-cred .container {max-width:1200px;margin:0 auto;}
body.p-cred h1 {font-family:var(--font-display);font-size:clamp(2.6rem,4.8vw,4rem);font-weight:400;line-height:1.15;margin-bottom:1rem;}
body.p-cred h1 em {color:var(--accent-warm);font-style:italic;}
body.p-cred .lead {max-width:760px;color:var(--text-secondary);font-size:1.02rem;margin-bottom:3rem;}
body.p-cred .grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
body.p-cred .card {padding:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;}
body.p-cred .icon {
  width:44px; height:44px; margin-bottom:1.2rem;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border-hover); border-radius:12px;
  color:var(--accent); background:rgba(59,158,255,0.05);
}
body.p-cred .icon svg { width:22px; height:22px; }
body.p-cred .card h3 {font-size:1.05rem;margin-bottom:.6rem;}
body.p-cred .card p {color:var(--text-secondary);font-size:.9rem;}
body.p-cred footer {padding:3rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;max-width:1400px;margin:0 auto;}
body.p-cred .footer-copy, body.p-cred .footer-info {color:var(--text-muted);font-size:.82rem;line-height:1.7;}
@media (max-width:1024px) {
body.p-cred .grid {grid-template-columns:1fr;}
}
@media (max-width:768px) {
body.p-cred nav, body.p-cred .page, body.p-cred footer {padding-left:1.5rem;padding-right:1.5rem;}
body.p-cred nav {flex-wrap:wrap;gap:1rem;}
body.p-cred .nav-links {width:100%;flex-wrap:wrap;}
body.p-cred footer {flex-direction:column;}
}

/* ---------- contact.html 전용 (body.p-contact) ---------- */
*, *::before, *::after {margin:0;padding:0;box-sizing:border-box;}
body {font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);line-height:1.7;}
body.p-contact nav {position:sticky;top:0;z-index:1000;padding:1.25rem 3rem;display:flex;justify-content:space-between;align-items:center;background:rgba(6,8,13,.92);border-bottom:1px solid var(--border);}
body.p-contact .nav-logo {display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);}
body.p-contact .nav-logo-mark {width:36px;height:36px;border-radius:10px;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;color:#06080d;font-family:var(--font-mono);font-weight:700;}
body.p-contact .nav-logo-image {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
}
body.p-contact .nav-logo-text {font-family:var(--font-display);font-weight:800;letter-spacing:1px;}
body.p-contact .nav-links {display:flex;gap:2rem;list-style:none;}
body.p-contact .nav-links a, body.p-contact .nav-contact {text-decoration:none;color:var(--text-secondary);}
body.p-contact .nav-links a:hover, body.p-contact .nav-contact, body.p-contact .nav-links a.active {color:var(--text-primary);}
body.p-contact .nav-contact {border:1px solid var(--border-hover);border-radius:999px;padding:.65rem 1.4rem;font-size:.82rem;}
body.p-contact .page {padding:7rem 3rem;}
body.p-contact .container {max-width:900px;margin:0 auto;text-align:center;}
body.p-contact h1 {font-family:var(--font-display);font-size:clamp(2.6rem,4.8vw,4rem);font-weight:400;line-height:1.15;margin-bottom:1rem;}
body.p-contact h1 em {font-style:italic;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
body.p-contact .lead {max-width:700px;margin:0 auto 2.5rem;color:var(--text-secondary);font-size:1.04rem;}
body.p-contact .panel {background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:3rem 2rem;}
body.p-contact .actions {display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;}
body.p-contact .btn-primary, body.p-contact .btn-secondary {display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.8rem;border-radius:999px;text-decoration:none;font-size:.92rem;}
body.p-contact .btn-primary {background:var(--accent);color:#06080d;font-weight:600;}
body.p-contact .btn-secondary {border:1px solid var(--border-hover);color:var(--text-primary);}
body.p-contact .info {margin-top:2rem;color:var(--text-muted);font-size:.92rem;}
body.p-contact footer {padding:3rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;max-width:1400px;margin:0 auto;}
body.p-contact .footer-copy, body.p-contact .footer-info {color:var(--text-muted);font-size:.82rem;line-height:1.7;}
@media (max-width:768px) {
body.p-contact nav, body.p-contact .page, body.p-contact footer {padding-left:1.5rem;padding-right:1.5rem;}
body.p-contact nav {flex-wrap:wrap;gap:1rem;}
body.p-contact .nav-links {width:100%;flex-wrap:wrap;}
body.p-contact footer {flex-direction:column;}
}
/* ---------- 한/영 전환 버튼 (전 페이지 공통) ---------- */
.nav-right {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.lang-switch {
  display: flex;
  align-items: center;
  border: 1px solid var(--border-hover);
  border-radius: 100px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}
.lang-switch button {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  padding: 0.5rem 0.85rem;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
  line-height: 1;
}
.lang-switch button:hover { color: var(--text-secondary); }
.lang-switch button.active {
  color: var(--bg-deep);
  background: var(--accent);
  font-weight: 600;
}
html[lang="en"] .ko-only { display: none; }
html[lang="ko"] .en-only { display: none; }

@media (max-width: 900px) {
  .nav-right { gap: 0.5rem; }
  .lang-switch button { padding: 0.45rem 0.7rem; font-size: 0.68rem; }
}

/* ---------- contact.html 문의 폼 (인라인 스타일에서 이관) ---------- */
body.p-contact .form-stack { display:flex; flex-direction:column; gap:2.5rem; }
body.p-contact .form-fields { display:flex; flex-direction:column; gap:1.8rem; text-align:left; }
body.p-contact .form-group label {
  display:block; margin-bottom:0.8rem;
  font-weight:600; color:var(--text-primary); font-size:1.1rem;
}
body.p-contact .form-group input,
body.p-contact .form-group textarea {
  width:100%; background:#eef1f4; border:1px solid #ccd1d9;
  padding:1.2rem; color:#1a1a1a; border-radius:12px;
  outline:none; font-size:1rem; font-family:var(--font-body);
  transition:border-color .3s, box-shadow .3s;
}
body.p-contact .form-group textarea { resize:none; line-height:1.6; }
body.p-contact .form-group input:focus,
body.p-contact .form-group textarea:focus {
  border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow);
}
body.p-contact .privacy { margin-top:2rem; text-align:left; }
body.p-contact .privacy > label {
  display:block; margin-bottom:1rem;
  font-weight:600; color:var(--text-primary); font-size:1.1rem;
}
body.p-contact .privacy-box {
  background:#e9ecef; color:#333; padding:1.5rem; border-radius:12px;
  border:1px solid #ccd1d9; height:180px; overflow-y:scroll;
  font-size:0.9rem; line-height:1.7; margin-bottom:1.5rem;
}
body.p-contact .privacy-box .privacy-head {
  font-weight:700; margin-bottom:0.8rem; font-size:1rem; color:#111;
}
body.p-contact .privacy-agree {
  display:flex; align-items:center; gap:1rem;
  color:var(--text-primary); cursor:pointer; font-size:1rem; font-weight:400;
}
body.p-contact .privacy-agree input {
  width:24px; height:24px; cursor:pointer; accent-color:var(--accent); flex-shrink:0;
}
body.p-contact .btn-submit {
  border:none; cursor:pointer; width:100%; justify-content:center;
  padding:1.5rem; font-size:1.2rem; font-weight:700; border-radius:12px;
  background:var(--accent); color:var(--bg-deep);
  font-family:var(--font-body); transition:opacity .3s;
}
body.p-contact .btn-submit:hover { opacity:0.88; }

/* ============ 개편 시안 추가 컴포넌트 ============ */
.sec { padding:5.5rem 3rem; border-top:1px solid var(--border); }
.sec-inner { max-width:1200px; margin:0 auto; }
.eyebrow { font-family:var(--font-mono); font-size:.72rem; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--accent-purple); display:block; margin-bottom:1rem; }
.sec h2 { font-family:var(--font-display); font-size:clamp(1.9rem,3vw,2.6rem);
  font-weight:400; line-height:1.3; margin-bottom:1rem; }
.sec h2 em { font-style:normal; color:var(--accent-warm); }
.sec .lead2 { max-width:820px; color:var(--text-secondary); font-size:1rem; margin-bottom:3rem; }

/* 두 지표 */
.idx2 { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.idx2 .box { background:var(--bg-card); border:1px solid var(--border);
  border-radius:18px; padding:2.2rem; }
.idx2 .tag2 { font-family:var(--font-mono); font-size:.7rem; letter-spacing:1.5px;
  color:var(--accent); display:block; margin-bottom:1rem; }
.idx2 h3 { font-family:var(--font-display); font-size:1.9rem; font-weight:400; }
.idx2 h3 small { font-size:.85rem; color:var(--text-muted); margin-left:.6rem; font-weight:300; }
.idx2 .q2 { color:var(--text-primary); font-size:.98rem; margin:.9rem 0 1.3rem; line-height:1.75; }
.idx2 ul { list-style:none; }
.idx2 li { color:var(--text-secondary); font-size:.9rem; line-height:1.7;
  padding:.7rem 0 .7rem 1rem; border-top:1px solid var(--border); position:relative; }
.idx2 li:before { content:""; position:absolute; left:0; top:1.25rem;
  width:4px; height:4px; border-radius:50%; background:var(--accent-purple); }
.stage2 { display:inline-block; margin-top:1.2rem; font-family:var(--font-mono);
  font-size:.68rem; letter-spacing:.5px; border:1px solid var(--border-hover);
  color:var(--text-muted); padding:.4rem .8rem; border-radius:100px; }

/* 검증 */
.val2 { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem; align-items:center; }
.auroc2 { background:var(--bg-card); border:1px solid var(--border);
  border-radius:18px; padding:3rem 2rem; text-align:center; }
.auroc2 .k2 { font-family:var(--font-mono); font-size:.75rem; letter-spacing:2px; color:var(--text-muted); }
.auroc2 .v2 { font-family:var(--font-display); font-size:4.5rem; font-weight:300;
  color:var(--accent-warm); line-height:1.1; margin:.4rem 0 .2rem; }
.auroc2 .ci2 { font-size:.85rem; color:var(--text-secondary); }
.bar2 { height:4px; background:rgba(255,255,255,.08); border-radius:2px; margin-top:1.8rem; position:relative; }
.bar2 i { position:absolute; inset:0 auto 0 0; width:70%; border-radius:2px;
  background:linear-gradient(90deg,rgba(100,216,203,.2),var(--accent-warm)); }
.barlab2 { display:flex; justify-content:space-between; font-family:var(--font-mono);
  font-size:.68rem; color:var(--text-muted); margin-top:.6rem; }
.spec2 { display:grid; grid-template-columns:1fr 1fr; }
.spec2 > div { padding:1.1rem .2rem; border-top:1px solid var(--border); }
.spec2 .sk { font-family:var(--font-mono); font-size:.68rem; letter-spacing:1.2px;
  color:var(--accent); margin-bottom:.35rem; }
.spec2 .sv { font-size:.95rem; }
.note2 { color:var(--text-muted); font-size:.85rem; line-height:1.8; margin-top:1.6rem; }

/* 파이프라인 5단계 */
.flow2 { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.flow2 .st { background:var(--bg-card); border:1px solid var(--border);
  border-radius:16px; padding:1.6rem 1.2rem; }
.flow2 .stn { font-family:var(--font-mono); font-size:.7rem; letter-spacing:1.4px;
  color:var(--accent); display:block; margin-bottom:1rem; }
.flow2 h4 { font-size:.98rem; font-weight:600; margin-bottom:.5rem; line-height:1.45; }
.flow2 p { color:var(--text-secondary); font-size:.82rem; line-height:1.65; }

/* 적응증 pill */
.pills2 { display:flex; flex-wrap:wrap; gap:.8rem; }
.pill2 { border:1px solid var(--border); background:var(--bg-card);
  border-radius:100px; padding:.8rem 1.4rem; font-size:.95rem; }
.pill2 span { color:var(--text-muted); font-size:.82rem; margin-left:.6rem; }

/* 하드웨어 2단 */
.hw2 { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.hw2 .box { background:var(--bg-card); border:1px solid var(--border);
  border-radius:18px; padding:2.2rem; }
.hw2 .box.now { border-color:var(--border-hover); background:rgba(59,158,255,.05); }
.hw2 .ph2 { font-family:var(--font-mono); font-size:.7rem; letter-spacing:1.5px;
  color:var(--accent); display:block; margin-bottom:.9rem; }
.hw2 h3 { font-family:var(--font-display); font-size:1.4rem; font-weight:400; margin-bottom:1.1rem; }
.hw2 li { list-style:none; color:var(--text-secondary); font-size:.9rem;
  line-height:1.7; padding:.45rem 0 .45rem 1rem; position:relative; }
.hw2 li:before { content:""; position:absolute; left:0; top:1rem;
  width:4px; height:4px; border-radius:50%; background:var(--accent); }

/* IP 표 */
.ip2 { border-top:1px solid var(--border); }
.ip2 .row2 { display:grid; grid-template-columns:170px 1fr 190px; gap:1.5rem;
  padding:1.3rem 0; border-bottom:1px solid var(--border); align-items:baseline; }
.ip2 .a2 { font-weight:600; font-size:.95rem; }
.ip2 .b2 { color:var(--text-secondary); font-size:.9rem; line-height:1.7; }
.ip2 .c2 { font-family:var(--font-mono); font-size:.75rem; color:var(--accent-warm); text-align:right; }

/* 클로징 */
.closing { padding:6rem 3rem; border-top:1px solid var(--border); text-align:center; }
.closing h2 { font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:300; line-height:1.5; }
.closing h2 em { font-style:normal; color:var(--accent); }
.closing p { color:var(--text-secondary); margin-top:1.2rem; }
.closing .acts { display:flex; gap:1rem; justify-content:center; margin-top:2.2rem; }
.closing .btn-primary, .closing .btn-secondary {
  display:inline-flex; align-items:center; padding:.9rem 1.8rem; border-radius:100px;
  text-decoration:none; font-size:.92rem; }

@media (max-width:900px){
  .idx2, .val2, .hw2 { grid-template-columns:1fr; }
  .flow2 { grid-template-columns:1fr 1fr; }
  .spec2 { grid-template-columns:1fr; }
  .ip2 .row2 { grid-template-columns:1fr; gap:.4rem; }
  .ip2 .c2 { text-align:left; }
}

/* ---------- 회사소개(about) ---------- */
body.p-about .page { padding:6rem 3rem; }
body.p-about .container { max-width:1100px; margin:0 auto; }
body.p-about h1 { font-family:var(--font-display); font-size:clamp(2.6rem,4.8vw,4rem);
  font-weight:400; line-height:1.15; margin-bottom:1rem; }
body.p-about h1 em { color:var(--accent-warm); font-style:italic; }
body.p-about .lead { max-width:820px; color:var(--text-secondary);
  font-size:1.02rem; margin-bottom:3rem; }
body.p-about .factrow { border-top:1px solid var(--border); }
body.p-about .factrow .r { display:grid; grid-template-columns:170px 1fr; gap:1.5rem;
  padding:1.3rem 0; border-bottom:1px solid var(--border); align-items:baseline; }
body.p-about .factrow .k { font-weight:600; font-size:.95rem; }
body.p-about .factrow .v { color:var(--text-secondary); font-size:.95rem; line-height:1.7; }
body.p-about .certs { display:flex; flex-wrap:wrap; gap:.7rem; }
body.p-about .cert { border:1px solid var(--border); background:var(--bg-card);
  border-radius:100px; padding:.65rem 1.3rem; font-size:.9rem; color:var(--text-primary); }
body.p-about .team { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
body.p-about .team .card { background:var(--bg-card); border:1px solid var(--border);
  border-radius:18px; padding:2rem; }
body.p-about .team .role { font-family:var(--font-mono); font-size:.7rem; letter-spacing:1.4px;
  color:var(--accent); display:block; margin-bottom:1rem; }
body.p-about .team h3 { font-family:var(--font-display); font-size:1.3rem;
  font-weight:400; margin-bottom:1rem; }
body.p-about .team li { list-style:none; color:var(--text-secondary); font-size:.88rem;
  line-height:1.7; padding:.4rem 0 .4rem 1rem; position:relative; }
body.p-about .team li:before { content:""; position:absolute; left:0; top:.95rem;
  width:4px; height:4px; border-radius:50%; background:var(--accent-purple); }
body.p-about footer { padding:3rem; border-top:1px solid var(--border); display:flex;
  justify-content:space-between; gap:1rem; max-width:1400px; margin:0 auto; }
body.p-about .footer-copy, body.p-about .footer-info {
  color:var(--text-muted); font-size:.82rem; line-height:1.7; }
body.p-about .nav-logo-text { font-family:var(--font-display); font-weight:800; letter-spacing:1px; }
@media (max-width:900px){
  body.p-about .team { grid-template-columns:1fr; }
  body.p-about .factrow .r { grid-template-columns:1fr; gap:.3rem; }
}
