: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-family: 'Pretendard', sans-serif; font-weight: 300; letter-spacing: -0.02em; }
h3 { font-weight: 700; }

.eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  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(15,27,43,.94);
  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; }
.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 10px rgba(0,0,0,.55); }

/* Hero 하단 국소 그라데이션(글씨 영역에만, 사진 전체를 덮지 않음) */
.hero-bottom-fade {
  background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0) 55%);
}

/* 번호 라벨(미니멀 테마) */
.step-num {
  font-size: 0.8rem; font-weight: 700; color: var(--accent);
  letter-spacing: 0.05em;
}
