/* hwakryul.com */
/* Colors: #0d0b0f, #1a1520, #d4c8b0, #a09080, #c4a882, #5b8fb9, #e8c86e, #7abf85, #8b3a3a */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'IBM Plex Serif', serif; font-weight: 400; font-size: 18px; line-height: 1.75; background: #0d0b0f; color: #d4c8b0; overflow-x: hidden; }
.hero { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px; background: #0d0b0f; }
.hero-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 6rem); color: #d4c8b0; letter-spacing: 0.04em; opacity: 0; animation: flicker 2.5s ease forwards; }
@keyframes flicker { 0% { opacity: 0; } 30% { opacity: 0.85; } 50% { opacity: 0.7; } 100% { opacity: 1; } }
.hero-hangul { font-family: 'Noto Serif KR', serif; font-weight: 300; font-size: clamp(1.5rem, 3vw, 2.5rem); color: #a09080; letter-spacing: 0.12em; margin-top: 12px; opacity: 0; animation: fadeIn 1.5s 1.5s ease forwards; }
@keyframes fadeIn { to { opacity: 0.4; } }
.section { padding: 100px 40px; }
.gallery { display: flex; flex-direction: column; align-items: center; gap: 60px; }
.panel { max-width: 560px; width: 100%; padding: 40px; }
.panel-heading { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(1.5rem, 3vw, 2.2rem); color: #c4a882; margin-bottom: 16px; }
.panel-text { color: #d4c8b0; font-size: 17px; margin-bottom: 16px; }
.panel-aside { font-family: 'Noto Serif KR', serif; font-weight: 300; font-size: 14px; color: #a09080; opacity: 0.4; letter-spacing: 0.12em; }
.tail { text-align: center; padding: 160px 40px; background: #0d0b0f; }
.tail-text { font-family: 'Noto Serif KR', serif; font-weight: 300; font-size: 16px; color: #a09080; opacity: 0.6; margin-bottom: 24px; }
.tail-number { font-family: 'IBM Plex Mono', monospace; font-weight: 300; font-size: clamp(1.5rem, 4vw, 3rem); color: #c4a882; letter-spacing: 0.08em; }
.site-footer { text-align: center; padding: 48px 40px; background: #0d0b0f; }
.site-footer p { font-family: 'IBM Plex Mono', monospace; font-weight: 300; font-size: 12px; color: #a09080; opacity: 0.3; }
@media (max-width: 768px) { .section { padding: 60px 24px; } .panel { padding: 24px; } }
