/* ============================================================
   SMT bio — 새 홈페이지 구조 (시안 기반 재해석)
   시안의 배치·정보구조만 따르고, 이미지는 회사 실사진 + 직접 그린 SVG 사용.
   기존 style.css 위에 덧입히는 파일이라 클래스는 모두 nh- 접두어.
   2026-09-10
   ============================================================ */
  :root{
    --nh-navy:#0a1f47; --nh-navy2:#123a7e; --nh-blue:#1B4A9C; --nh-sky:#3f8fe0;
    --nh-orange:#F26B21; --nh-ink:#16243d; --nh-gray:#5e6b7e; --nh-line:#e5eaf2; --nh-soft:#f4f7fc;
  }
  .nh-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.16em;color:#8fbdf0;margin:0 0 14px}
  .nh-eyebrow-b{color:var(--nh-blue)}
  .nh-h1{font-family:'Sora','Pretendard',sans-serif;font-size:clamp(34px,4.6vw,60px);font-weight:800;
    line-height:1.13;letter-spacing:-.035em;color:#fff;margin:0}
  .nh-h1 em{font-style:normal;color:#ffb98a}

  /* 메인 히어로 문구 — 한 문장 2줄형. 2026-09-17 */
  .nh-h1-sent{font-size:clamp(17px,1.95vw,25px);line-height:1.52;letter-spacing:-.03em;
    font-weight:800;max-width:950px;text-shadow:0 2px 6px rgba(2,10,28,.62),0 3px 22px rgba(2,10,28,.55)}
  .nh-h1-sent .nh-l1,.nh-h1-sent .nh-l2{display:block}
  .nh-h1-sent .nh-l2{margin-top:11px;font-size:.88em;font-weight:700;color:#cfe0f7;letter-spacing:-.026em}
  .nh-h1-sent b{font-family:'Sora','Pretendard',sans-serif;font-weight:800;color:#fff;letter-spacing:-.015em}
  .nh-h1-sent i{font-style:normal;color:#8fc0f4}
  .nh-h1-sent .nh-w{color:#fff}
  .nh-h2{font-family:'Sora','Pretendard',sans-serif;font-size:clamp(26px,3.1vw,40px);font-weight:800;
    line-height:1.25;letter-spacing:-.032em;color:var(--nh-navy);margin:0}
  .nh-h2 b{color:var(--nh-blue)}
  .nh-h2-w{color:#fff} .nh-h2-w em{font-style:normal;color:#ffce9e}
  .nh-h2-en{font-size:clamp(30px,3.6vw,46px);color:var(--nh-blue)}
  .nh-h2-s{font-size:clamp(24px,2.4vw,32px)}
  .nh-lead{margin:18px 0 0;font-size:16.5px;line-height:1.75;color:var(--nh-gray)}

  .nh-btn{display:inline-flex;align-items:center;gap:9px;padding:15px 28px;border-radius:4px;
    font-weight:700;font-size:15.5px;letter-spacing:-.01em;transition:.22s ease;white-space:nowrap}
  .nh-btn-orange{background:var(--nh-orange);color:#fff;box-shadow:0 12px 26px rgba(242,107,33,.28)}
  .nh-btn-orange:hover{background:#d95a15;transform:translateY(-1px)}
  .nh-btn-line{color:#fff;border:1px solid rgba(255,255,255,.62)}
  .nh-btn-line:hover{background:#fff;color:var(--nh-navy)}
  .nh-btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.5);padding:13px 24px;font-size:15px}
  .nh-btn-ghost:hover{background:rgba(255,255,255,.14)}

  /* ---------- HERO ---------- */
  .nh-hero{position:relative;overflow:hidden;color:#fff;padding:96px 0 88px;
    background:linear-gradient(118deg,#06152f 0%,#0d2a5c 34%,#14418c 58%,#08204a 100%)}
  .nh-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    opacity:.86;pointer-events:none;border:0}
  .nh-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(100deg,rgba(4,14,36,.38) 0%,rgba(4,14,36,.24) 44%,rgba(6,22,54,.05) 78%,rgba(6,22,54,.14) 100%)}
  .nh-hero-in{position:relative;z-index:2;max-width:1200px}
  .nh-hero-lead{margin:24px 0 0;font-size:17.5px;line-height:1.72;color:#cfe0f7;max-width:640px}
  .nh-hero-note{margin:22px 0 0;font-size:13.5px;color:#93aed4;letter-spacing:-.01em}

  .nh-hero-aside{position:absolute;top:96px;right:max(24px,calc((100vw - 1200px)/2 + 24px));z-index:2;
    text-align:right;line-height:1.45}
  .nh-hero-aside b{display:block;font-size:19px;font-weight:700;color:#fff;letter-spacing:-.02em}
  .nh-hero-aside span{display:block;margin-top:7px;font-size:11.5px;font-weight:600;
    letter-spacing:.16em;color:#9dc0ea}

  /* 수치 3종 — 박스(테두리/배경) 없이 글자만. 2026-09-15 */
  .nh-stats{display:flex;flex-wrap:wrap;gap:clamp(30px,4.2vw,58px);margin:42px 0 0}
  .nh-stat{min-width:0;padding:0;border:0;background:none}
  .nh-stat b{display:flex;align-items:baseline;gap:7px;font-family:'Sora','Pretendard',sans-serif;
    font-size:clamp(40px,4.4vw,64px);font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1;
    text-shadow:0 2px 6px rgba(2,10,28,.6),0 3px 20px rgba(2,10,28,.6)}
  .nh-stat b i{font-style:normal;font-size:clamp(17px,1.4vw,22px);font-weight:700;color:#8fc0f4;letter-spacing:0}
  .nh-stat span{display:block;margin-top:12px;font-size:14px;line-height:1.5;color:#c7d9f2;
    text-shadow:0 1px 4px rgba(2,10,28,.62),0 2px 14px rgba(2,10,28,.6)}
  .nh-stat span em{font-style:normal;color:#9fc2ea}
  .nh-cta{display:flex;flex-wrap:wrap;gap:13px;margin:34px 0 0}

  /* ---------- 4 플랫폼 ---------- */
  .nh-plat{background:#fff;border-bottom:1px solid var(--nh-line)}
  .nh-plat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:30px;padding-bottom:30px}
  .nh-plat-i{display:flex;align-items:center;gap:15px;padding:12px 22px;border-right:1px solid var(--nh-line)}
  .nh-plat-i:last-child{border-right:none}
  .nh-pic{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
    color:var(--nh-blue)}
  .nh-pic svg{width:34px;height:34px;stroke-width:1.5}
  .nh-pic-nk,.nh-pic-msc,.nh-pic-svf,.nh-pic-cdmo{background:none}
  .nh-plat-i b{display:block;font-size:16px;font-weight:700;color:var(--nh-ink);letter-spacing:-.02em}
  .nh-plat-i i{display:block;margin-top:2px;font-style:normal;font-size:11.5px;font-weight:600;
    letter-spacing:.05em;color:#9aa7b8}
  .nh-plat-i p{margin:7px 0 0;font-size:13px;line-height:1.5;color:var(--nh-gray)}

  /* ---------- 의료기관 파트너십 ---------- */
  .nh-partners{background:linear-gradient(180deg,#f2f7fd 0%,#eaf1fa 100%);padding:82px 0 86px}
  .nh-ph{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
  .nh-quote{margin:0;font-family:'Sora','Pretendard',sans-serif;font-size:17px;font-weight:600;
    line-height:1.7;color:var(--nh-blue);text-align:right;letter-spacing:-.02em;white-space:nowrap}
  .nh-dept{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px}
  .nh-dcard{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e2eaf5;
    box-shadow:0 12px 30px rgba(20,44,90,.07);transition:.25s ease}
  .nh-dcard:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(20,44,90,.13)}
  .nh-dcard{padding:26px 24px 26px;border-top:3px solid var(--nh-blue)}
  .nh-d1{border-top-color:#c2748c} .nh-d2{border-top-color:#5f6fae}
  .nh-d3{border-top-color:#3d7cae} .nh-d4{border-top-color:#6f5cae}
  .nh-dhead{display:flex;align-items:center;gap:13px}
  .nh-di{flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--nh-blue)}
  .nh-d1 .nh-di{color:#c2748c} .nh-d2 .nh-di{color:#5f6fae}
  .nh-d3 .nh-di{color:#3d7cae} .nh-d4 .nh-di{color:#6f5cae}
  .nh-di svg{width:32px;height:32px}
  .nh-dhead b{display:block;font-size:18px;font-weight:700;color:var(--nh-ink);letter-spacing:-.02em}
  .nh-dhead i{display:block;margin-top:2px;font-style:normal;font-size:11.5px;font-weight:600;
    letter-spacing:.05em;color:#9aa7b8}
  .nh-dcard p{margin:16px 0 0;font-size:14.5px;color:var(--nh-gray);line-height:1.6}
  .nh-tag{display:inline-block;margin-top:14px;padding:5px 11px;border-radius:20px;background:var(--nh-soft);
    border:1px solid #e2eaf5;font-size:12px;font-weight:600;color:var(--nh-blue)}

  /* ---------- From Sample to Cell ---------- */
  .nh-flow{background:#fff;padding:86px 0 90px}
  .nh-flow-body{display:grid;grid-template-columns:1fr 380px;gap:44px;align-items:center;margin-top:46px}
  .nh-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;margin:0;padding:0}
  .nh-steps li{position:relative;text-align:center;padding:20px 8px 18px;border-radius:9px;
    background:var(--nh-soft);border:1px solid #e6edf7}
  .nh-steps li::after{content:"›";position:absolute;right:-8px;top:50%;transform:translateY(-50%);
    font-size:19px;color:#b7c6dc;font-weight:700}
  .nh-steps li:nth-child(4)::after,.nh-steps li:last-child::after{content:none}
  .nh-sn{display:block;font-family:'Sora','Pretendard',sans-serif;font-size:17px;font-weight:800;
    color:var(--nh-blue);letter-spacing:-.02em}
  .nh-steps b{display:block;margin-top:7px;font-size:14px;font-weight:700;color:var(--nh-ink)}
  .nh-steps i{display:block;margin-top:3px;font-style:normal;font-size:11.5px;color:#8f9db1}
  .nh-fac{position:relative;margin:0;border-radius:10px;overflow:hidden;box-shadow:0 20px 48px rgba(16,40,86,.18)}
  .nh-fac img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
  .nh-fac figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 18px;
    background:linear-gradient(180deg,rgba(6,20,48,0),rgba(6,20,48,.86))}
  .nh-fac figcaption b{display:block;font-size:19px;font-weight:800;color:#fff;line-height:1.35;letter-spacing:-.02em}
  .nh-fac figcaption span{display:block;margin-top:5px;font-size:11.5px;font-weight:600;
    letter-spacing:.08em;color:#a8c6ea}

  /* ---------- 임상개발 ---------- */
  .nh-clin{position:relative;overflow:hidden;padding:84px 0 88px;color:#fff;
    background:linear-gradient(120deg,#061630 0%,#0c2b5e 46%,#0a2350 100%)}
  .nh-clin::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.20;
    background-image:radial-gradient(rgba(255,255,255,.5) 1.4px,transparent 1.4px);background-size:26px 26px}
  .nh-clin-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
  .nh-clin-p{margin:22px 0 30px;font-size:15.5px;line-height:1.8;color:#c6d8f2}
  .nh-orgs{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
    background:#fff;border-radius:9px;padding:22px 20px;box-shadow:0 18px 44px rgba(2,12,34,.36)}
  .nh-orgs span{font-size:15.5px;font-weight:700;color:var(--nh-navy);letter-spacing:-.02em}
  .nh-orgs em{font-style:normal;color:#b3c1d4;font-size:14px}
  .nh-org-b{font-family:'Sora','Pretendard',sans-serif;color:var(--nh-blue) !important;font-weight:800 !important}
  .nh-phase{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;flex-wrap:wrap}
  .nh-ph-i{width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;gap:5px;
    border:1px solid rgba(255,255,255,.30);background:rgba(9,28,66,.5)}
  .nh-ph-i b{font-size:14.5px;font-weight:700;color:#fff}
  .nh-ph-i span{font-size:12px;color:#a9c4e6;line-height:1.4}
  .nh-ph-done{background:rgba(27,74,156,.62);border-color:rgba(120,175,240,.5)}
  .nh-ph-now{background:var(--nh-blue);border-color:#5a9cea;box-shadow:0 0 0 5px rgba(63,143,224,.20)}
  .nh-ph-ar{color:#7f9dc6;font-size:17px}

  /* ---------- WHY ---------- */
  .nh-why{background:#fff;padding:64px 0 68px;border-top:1px solid var(--nh-line)}
  .nh-why-grid{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:center}
  .nh-why-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 30px;margin:0;padding:0}
  .nh-why-list li{display:flex;align-items:center;gap:14px;text-align:left;padding:4px 0}
  .nh-wi{flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--nh-blue)}
  .nh-wi svg{width:30px;height:30px;stroke-width:1.5}
  .nh-why-list b{display:block;font-size:15px;font-weight:700;color:var(--nh-ink);letter-spacing:-.02em}
  .nh-why-list i{display:block;margin-top:3px;font-style:normal;font-size:11.5px;color:#9aa7b8;letter-spacing:.03em}

  /* ---------- 반응형 ---------- */
  @media (max-width:1180px){
    .nh-hero-aside{display:none}
    .nh-flow-body{grid-template-columns:1fr;gap:34px}
    .nh-fac img{aspect-ratio:16/7}
  }
  @media (max-width:1024px){
    .nh-plat-grid{grid-template-columns:repeat(2,1fr);gap:6px 0}
    .nh-plat-i:nth-child(2){border-right:none}
    .nh-plat-i{padding:14px 16px}
    .nh-dept{grid-template-columns:repeat(2,1fr)}
    .nh-clin-grid{grid-template-columns:1fr;gap:38px}
    .nh-why-grid{grid-template-columns:1fr;gap:26px}
    .nh-why-list{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:760px){
    .nh-hero{padding:64px 0 62px}
    .nh-stats{gap:26px;margin-top:32px}
    .nh-stat{flex:1 1 100%;min-width:0}
    .nh-stat span{margin-top:8px;font-size:13px}
    .nh-plat-grid{grid-template-columns:1fr}
    .nh-plat-i{border-right:none;border-bottom:1px solid var(--nh-line)}
    .nh-plat-i:last-child{border-bottom:none}
    .nh-quote{text-align:left;white-space:normal}
    .nh-dept{grid-template-columns:1fr}
    .nh-steps{grid-template-columns:repeat(2,1fr)}
    .nh-steps li::after{content:none}
    .nh-steps li:nth-child(4)::after{content:none}
    .nh-why-list{grid-template-columns:1fr;gap:18px}
    .nh-phase{gap:8px}
    .nh-ph-i{width:96px;height:96px}
    .nh-btn{padding:13px 22px;font-size:14.5px}
  }

  /* ---------- 언론보도 (첫화면) 2026-09-18 ---------- */
  .nh-press{background:var(--nh-soft);border-top:1px solid var(--nh-line);padding:clamp(56px,6vw,84px) 0}
  .nh-press-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 30px}
  .nh-press-all{flex:none;font-size:13.5px;font-weight:700;color:var(--nh-blue);letter-spacing:-.01em;
    border:1px solid #cfe0f5;background:#fff;border-radius:999px;padding:9px 17px;transition:.18s;white-space:nowrap}
  .nh-press-all:hover{background:var(--nh-blue);border-color:var(--nh-blue);color:#fff}
  .nh-press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .nh-pr{display:flex;flex-direction:column;background:#fff;border:1px solid var(--nh-line);
    border-radius:14px;overflow:hidden;transition:.2s;min-width:0}
  a.nh-pr:hover{transform:translateY(-3px);border-color:#c3d8f2;box-shadow:0 14px 34px rgba(12,40,92,.12)}
  .nh-pr-th{display:block;aspect-ratio:16/10;background:#e8eef7;overflow:hidden}
  .nh-pr-th img{width:100%;height:100%;object-fit:cover;display:block}
  .nh-pr-th-x{display:flex;align-items:center;justify-content:center;font-family:'Sora','Pretendard',sans-serif;
    font-weight:800;font-size:19px;letter-spacing:.06em;color:#9bb4d6}
  .nh-pr-b{display:block;padding:17px 18px 19px}
  .nh-pr-b em{display:block;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.09em;
    color:var(--nh-sky);margin:0 0 9px}
  .nh-pr-b b{display:block;font-size:15px;font-weight:700;line-height:1.48;letter-spacing:-.025em;
    color:var(--nh-navy);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .nh-pr-b i{display:block;font-style:normal;margin-top:11px;font-size:12.5px;color:var(--nh-gray)}
  @media (max-width:900px){
    .nh-press-grid{grid-template-columns:1fr 1fr;gap:14px}
    .nh-press-head{align-items:flex-start;flex-direction:column}
  }
  @media (max-width:560px){ .nh-press-grid{grid-template-columns:1fr} }
