:root {
  --primary: #1A3159;
  --accent: #4472B8;
  --ink: #1A1A1A;
  --muted: #6B7280;
  --line: #E5E5E5;
}

* { word-break: keep-all; overflow-wrap: break-word; }

body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: #FFFFFF;
}

h1, h2, h3 { font-weight: 800; letter-spacing: -0.01em; }

.eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--accent);
  font-weight: 700;
  text-transform: uppercase;
}

.hairline { border-top: 1px solid var(--line); }
.card-line { border: 1px solid var(--line); }

.prose-block { max-width: 68ch; }

/* 갤러리 라이트박스 */
.lightbox-overlay {
  position: fixed; inset: 0; background: rgba(20,20,20,.92);
  display: none; align-items: center; justify-content: center;
  z-index: 100; padding: 24px;
}
.lightbox-overlay.open { display: flex; }
.lightbox-overlay img { max-width: 92vw; max-height: 88vh; border-radius: 4px; }
.lightbox-close {
  position: absolute; top: 20px; right: 24px; color: #fff;
  font-size: 1.6rem; cursor: pointer; background: none; border: none;
}

/* FAQ 아코디언 */
.faq-item .faq-a { display: none; }
.faq-item.open .faq-a { display: block; }
.faq-q { cursor: pointer; }
.faq-q .faq-mark::after { content: '+'; }
.faq-item.open .faq-q .faq-mark::after { content: '\2212'; }

/* Floating 버튼 */
.floating-wrap { position: fixed; right: 20px; bottom: 24px; z-index: 90; display: flex; flex-direction: column; gap: 10px; }
.floating-top { opacity: 0; pointer-events: none; transition: opacity .2s; }
.floating-top.show { opacity: 1; pointer-events: auto; }

/* Hero 텍스트 그림자(밝은 사진 위 가독성용) */
.hero-shadow-text { text-shadow: 0 2px 8px rgba(0,0,0,.5); }
