/* nk-curve-section: L8 좌측 사이드바 목차+본문 / HD4 좌측라벨+우측 전화 / HR3 좌텍스트+우SVG / CT1 풀폭밴드 / FT2 2단 / CF3 단계진행형 */
.nk-curve-section {
    --nk-primary: #26564A;
    --nk-bg: #F3F9F7;
    --nk-accent: #A85A2E;
    font-family: 'Noto Sans KR', sans-serif;
    background: var(--nk-bg);
    color: #1e3a32;
}

.nk-curve-section h1,
.nk-curve-section h2 {
    font-family: 'Archivo', 'Noto Sans KR', sans-serif;
}

/* HD4: 좌측 라벨 + 우측 전화 CTA */
.nk-curve-section .nk-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid #cfe5dd;
    margin-bottom: 2rem;
}

.nk-curve-section .nk-hd-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--nk-primary);
}

.nk-curve-section .nk-hd-call {
    color: var(--nk-accent);
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: underline;
}

.nk-curve-section .nk-hd-call:focus-visible {
    outline: 2px solid var(--nk-accent);
    outline-offset: 2px;
}

/* HR3: 좌측 텍스트 / 우측 SVG 도식 */
.nk-curve-section .nk-hero {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.nk-curve-section .nk-hero-text {
    flex: 1 1 320px;
}

.nk-curve-section .nk-hero-eyebrow {
    font-size: 0.8rem;
    color: var(--nk-accent);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 0.4rem;
}

.nk-curve-section .nk-hero h1 {
    font-size: 2.1rem;
    color: var(--nk-primary);
    margin: 0 0 0.6rem;
}

.nk-curve-section .nk-hero-sub {
    color: #3a5c52;
    font-size: 1rem;
    margin: 0;
}

.nk-curve-section .nk-hero-svg {
    flex: 0 1 200px;
    width: 200px;
    height: 140px;
}

/* L8: 좌측 사이드바 목차 + 우측 본문 */
.nk-curve-section .nk-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
}

@media (min-width: 768px) {
    .nk-curve-section .nk-layout {
        grid-template-columns: 220px 1fr;
    }
    .nk-curve-section .nk-toc {
        position: sticky;
        top: 1rem;
    }
}

.nk-curve-section .nk-toc {
    background: #ffffff;
    border: 1px solid #cfe5dd;
    border-radius: 0.5rem;
    padding: 0.5rem 0.9rem;
}

.nk-curve-section .nk-toc summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--nk-primary);
    padding: 0.6rem 0;
}

.nk-curve-section .nk-toc nav {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.4rem 0 0.9rem;
}

.nk-curve-section .nk-toc a {
    color: #3a5c52;
    font-size: 0.85rem;
    text-decoration: none;
    border-left: 2px solid transparent;
    padding-left: 0.5rem;
}

.nk-curve-section .nk-toc a:hover,
.nk-curve-section .nk-toc a:focus-visible {
    color: var(--nk-accent);
    border-left-color: var(--nk-accent);
}

.nk-curve-section .nk-toc a:focus-visible {
    outline: 2px solid var(--nk-accent);
    outline-offset: 2px;
}

.nk-curve-section .nk-body {
    margin-bottom: 1.5rem;
}

.nk-curve-section .nk-body p {
    line-height: 1.85;
    margin: 0 0 1.1rem;
}

.nk-curve-section .nk-body p:last-child {
    margin-bottom: 0;
}

/* CF3: 단계진행형 */
.nk-curve-section .nk-step {
    background: #ffffff;
    border: 1px solid #cfe5dd;
    border-left: 4px solid var(--nk-accent);
    border-radius: 0.4rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    scroll-margin-top: 1rem;
}

.nk-curve-section .nk-step h2 {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.2rem;
    color: var(--nk-primary);
    margin: 0 0 0.75rem;
}

.nk-curve-section .nk-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: var(--nk-primary);
    color: #ffffff;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.nk-curve-section .nk-step p {
    line-height: 1.85;
    margin: 0 0 0.75rem;
}

.nk-curve-section .nk-step-check {
    font-size: 0.85rem;
    color: #7f3711;
    background: #f7ece3;
    border-radius: 0.3rem;
    padding: 0.6rem 0.8rem;
    margin: 0 !important;
}

.nk-curve-section .nk-figure {
    margin: 2rem auto;
    text-align: center;
}

.nk-curve-section .nk-figure img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    display: block;
    margin: 0 auto;
}

.nk-curve-section .nk-figure figcaption {
    font-size: 0.85rem;
    color: #3a5c52;
    margin-top: 0.5rem;
}

.nk-curve-section .nk-link {
    color: var(--nk-accent);
    font-weight: 700;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: inherit;
}

.nk-curve-section .nk-link:focus-visible {
    outline: 2px solid var(--nk-accent);
    outline-offset: 2px;
}

/* CT1: 풀폭 컬러 밴드 + 중앙 버튼 */
.nk-curve-section .nk-cta-band {
    background: var(--nk-primary);
    text-align: center;
    padding: 2.25rem 1rem;
    border-radius: 0.5rem;
    margin: 2.5rem 0;
}

.nk-curve-section .nk-cta-btn {
    display: inline-block;
    background: #ffffff;
    color: var(--nk-primary);
    font-weight: 800;
    padding: 0.85rem 2.25rem;
    border-radius: 999px;
    text-decoration: none;
}

.nk-curve-section .nk-cta-btn:focus-visible {
    outline: 3px solid var(--nk-accent);
    outline-offset: 3px;
}

/* FT2: 2단 */
.nk-curve-section .nk-ft {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
    border-top: 1px solid #cfe5dd;
    padding-top: 1.75rem;
}

.nk-curve-section .nk-ft-title {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--nk-primary);
    margin-bottom: 0.6rem;
}

.nk-curve-section .nk-hd-tags {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.nk-curve-section .nk-tag {
    background: rgba(168, 90, 46, 0.12);
    color: #7a3f1c;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
}

.nk-curve-section .nk-ft-note {
    font-size: 0.82rem;
    color: #3a5c52;
    line-height: 1.6;
    margin: 0.3rem 0 0;
}

@media (max-width: 640px) {
    .nk-curve-section .nk-ft {
        grid-template-columns: 1fr;
    }
}
