:root {
    --primary: #2E4155;
    --accent: #4A7CB0;
    --ink: #1A1A1A;
    --muted: #6B7280;
    --border: #E5E5E5;
}
body {
    word-break: keep-all;
    overflow-wrap: break-word;
}
.font-serif-kr {
    font-family: 'Nanum Myeongjo', serif;
}
.hairline {
    border-color: var(--border);
}
.prose-p {
    max-width: 68ch;
}
.eyebrow {
    font-size: 12px;
    letter-spacing: 0.2em;
    color: var(--accent);
    font-weight: 700;
}
details.faq-item summary {
    cursor: pointer;
    list-style: none;
}
details.faq-item summary::-webkit-details-marker {
    display: none;
}
details.faq-item[open] .faq-icon {
    transform: rotate(45deg);
}
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(0, 0, 0, .85);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.lightbox.open {
    display: flex;
}
.lightbox img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 2px;
}
