/* ============================================================
   No Hype Sage — 공통 CSS
   폰트: EB Garamond (제목) + Inter (본문)
   색상: #DFFF00 (형광 옐로우), #000000, #FFFFFF
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500&family=Inter:wght@300;400;500;600&display=swap');

/* ===== RESET ===== */
.nhs-page * { box-sizing: border-box; }
.nhs-page { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: #FFFFFF; color: #000000; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.nhs-page a { text-decoration: none; color: inherit; }
.nhs-page button { font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.nhs-page img { max-width: 100%; height: auto; display: block; }

/* Astra 테마 전역 간섭 차단 */
.nhs-header, .nhs-header * { box-sizing: border-box; margin: 0; padding: 0; list-style: none; font-style: normal; text-decoration: none; }
.nhs-header a { color: inherit; text-decoration: none; }
.nhs-header ul, .nhs-header ol { list-style: none; margin: 0; padding: 0; }
.nhs-header nav { display: flex; }

/* ===== HEADER ===== */
.nhs-header { background: #FFFFFF; border-bottom: 0.5px solid #E5E5E5; position: relative; width: 100%; }
.nhs-top-row { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 16px 32px; max-width: 1400px; margin: 0 auto; height: 76px; }
.nhs-symbol { width: 44px; height: 44px; min-width: 44px; background: #DFFF00; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nhs-symbol-text { font-size: 8px; font-weight: 600; color: #000000; line-height: 1.05; text-align: center; letter-spacing: 0.02em; padding: 3px; text-transform: uppercase; font-family: 'Inter', sans-serif; }
.nhs-wordmark-wrap { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; white-space: nowrap; }
.nhs-wordmark { font-family: 'EB Garamond', Georgia, serif; font-size: 30px; font-weight: 400; color: #000000; letter-spacing: -0.02em; line-height: 1; text-align: center; margin: 0; pointer-events: auto; display: block; }
.nhs-header-right { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.nhs-sub-btn { background: #000000; color: #FFFFFF; padding: 11px 22px; border-radius: 0; font-size: 12px; font-weight: 600; border: 1px solid #000000; letter-spacing: 0.02em; transition: background 0.2s, color 0.2s; min-height: 44px; white-space: nowrap; font-family: 'Inter', sans-serif; cursor: pointer; display: inline-flex; align-items: center; }
.nhs-sub-btn:hover { background: #DFFF00; color: #000000; }
.nhs-menu-row { display: flex; align-items: center; justify-content: center; gap: 36px; padding: 0 32px 20px; max-width: 1400px; margin: 0 auto; height: 50px; }
.nhs-menu-item { font-family: 'EB Garamond', Georgia, serif; font-size: 15px; font-weight: 400; color: #555555; letter-spacing: -0.01em; padding: 8px 12px; transition: background 0.2s, color 0.2s; display: inline-flex; align-items: center; height: 36px; line-height: 1; }
.nhs-menu-item:hover { background: #DFFF00; color: #000000; }
.nhs-menu-item.active { background: #DFFF00; color: #000000; font-weight: 500; }

/* 햄버거 */
.nhs-hamburger { display: none; width: 48px; height: 48px; flex-direction: column; justify-content: center; align-items: center; gap: 5px; background: transparent; border: none; padding: 0; }
.nhs-hamburger span { display: block; width: 22px; height: 2px; background: #000000; }
.nhs-mobile-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 998; }
.nhs-mobile-overlay.open { display: block; }
.nhs-mobile-drawer { display: none; position: fixed; top: 0; right: 0; width: 280px; max-width: 80vw; height: 100vh; background: #FFFFFF; z-index: 999; padding: 24px; flex-direction: column; gap: 4px; transform: translateX(100%); transition: transform 0.3s ease; }
.nhs-mobile-drawer.open { display: flex; transform: translateX(0); }
.nhs-drawer-close { align-self: flex-end; background: transparent; border: none; font-size: 32px; line-height: 1; color: #000000; padding: 8px 12px; margin-bottom: 16px; min-height: 48px; min-width: 48px; }
.nhs-drawer-item { font-family: 'EB Garamond', Georgia, serif; font-size: 22px; font-weight: 400; color: #000000; padding: 16px 12px; border-bottom: 0.5px solid #E5E5E5; min-height: 56px; display: flex; align-items: center; }
.nhs-drawer-item:hover, .nhs-drawer-item.active { background: #DFFF00; }
.nhs-drawer-item:last-of-type { border-bottom: none; }
.nhs-drawer-sub-btn { margin-top: 20px; background: #000000; color: #FFFFFF; padding: 16px 24px; border-radius: 0; font-size: 14px; font-weight: 600; border: 1px solid #000000; text-align: center; min-height: 52px; display: flex; align-items: center; justify-content: center; }

/* ===== NEWSLETTER ===== */
.nhs-newsletter { padding: 4.5rem 2rem; background: #DFFF00; }
.nhs-news-inner { max-width: 640px; margin: 0 auto; text-align: center; }
.nhs-news-title { font-family: 'EB Garamond', Georgia, serif; font-size: 38px; font-weight: 500; margin: 0 0 16px; letter-spacing: -0.02em; color: #000000; line-height: 1.15; }
.nhs-news-sub { font-size: 15px; color: #000000; margin: 0 0 2rem; line-height: 1.6; opacity: 0.75; }
.nhs-news-form { display: flex; gap: 10px; justify-content: center; max-width: 480px; margin: 0 auto; }
.nhs-news-input { flex: 1; padding: 14px 18px; border: 1px solid #000000; border-radius: 0; background: #FFFFFF; color: #000000; font-size: 16px; outline: none; font-family: inherit; min-width: 0; min-height: 48px; }
.nhs-news-btn { background: #FFFFFF; color: #000000; padding: 14px 28px; border-radius: 0; font-size: 14px; font-weight: 600; border: 1px solid #000000; white-space: nowrap; min-height: 48px; cursor: pointer; }
.nhs-news-btn:hover { background: #000000; color: #FFFFFF; }

/* ===== FOOTER ===== */
.nhs-footer { font-family: 'EB Garamond', Georgia, serif; padding: 2.5rem 2rem; font-size: 15px; color: #888888; text-align: center; background: #FFFFFF; border-top: 0.5px solid #E5E5E5; }
.nhs-footer a { color: #888888; border-bottom: 1px solid #E5E5E5; }
.nhs-footer a:hover { color: #000000; border-color: #000000; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .nhs-top-row { padding: 16px 24px; }
  .nhs-menu-row { padding: 4px 24px 16px; gap: 28px; }
}

@media (max-width: 768px) {
  .nhs-top-row { padding: 14px 18px; }
  .nhs-symbol { width: 42px; height: 42px; }
  .nhs-symbol-text { font-size: 7.5px; padding: 2px; }
  .nhs-wordmark { font-size: 22px; }
  .nhs-header-right .nhs-sub-btn { display: none !important; }
  .nhs-hamburger { display: flex !important; }
  .nhs-menu-row { display: none !important; }
  .nhs-newsletter { padding: 3rem 1.25rem; }
  .nhs-news-title { font-size: 26px; }
  .nhs-news-form { flex-direction: column; }
  .nhs-news-input, .nhs-news-btn { width: 100%; }
  .nhs-footer { font-size: 14px; padding: 2rem 1.25rem; }
}
