/*
Theme Name: Redevelop
Theme URI: https://ipju.tnvjaos.com
Description: 재개발 부동산 중개·투자 컨설팅 커스텀 테마 (Claude 브랜드 톤)
Version: 1.0.0
Text Domain: redevelop
*/

:root {
    --rd-bg: #FAF9F5;
    --rd-bg-sub: #F0EEE6;
    --rd-accent: #D97757;
    --rd-accent-dark: #BD5D3A;
    --rd-text: #1F1E1D;
    --rd-text-sub: #6B6A66;
    --rd-border: #E5E2D9;
    --rd-radius: 14px;
    --rd-gap: 24px;
    --rd-section-gap: 56px;
    --rd-header-h: 64px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
    background: var(--rd-bg);
    color: var(--rd-text);
    font-size: 16px;
    line-height: 1.65;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2 { font-family: 'Noto Serif KR', 'Pretendard', serif; font-weight: 700; }
h1, h2, h3 { line-height: 1.35; margin: 0 0 16px; }
h1 { font-size: clamp(28px, 5vw, 42px); }
h2 { font-size: clamp(22px, 4vw, 30px); padding-bottom: 10px; border-bottom: 1px solid var(--rd-border); }
h3 { font-size: 18px; }
p { margin: 0 0 12px; }

.rd-container { max-width: 960px; margin: 0 auto; padding: 0 20px; }

/* header */
.rd-header {
    height: var(--rd-header-h);
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--rd-border);
    background: var(--rd-bg);
}
.rd-header-inner { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.rd-logo { font-weight: 700; font-size: 18px; }
.rd-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
}
.rd-btn-primary { background: var(--rd-accent); color: #fff; }
.rd-btn-primary:hover { background: var(--rd-accent-dark); }
.rd-btn-outline { border: 1px solid var(--rd-border); color: var(--rd-text); }

/* hero */
.rd-hero {
    padding: 64px 0 var(--rd-section-gap);
    background: var(--rd-bg-sub);
    border-bottom: 1px solid var(--rd-border);
}
.rd-hero .rd-eyebrow { color: var(--rd-accent-dark); font-weight: 600; font-size: 14px; }
.rd-lead { font-size: 18px; color: var(--rd-text); max-width: 680px; }
.rd-hero .rd-btn-primary { margin-top: 8px; }

/* section */
.rd-section { padding: var(--rd-section-gap) 0; }
.rd-section-sub { background: var(--rd-bg-sub); }
.rd-eyebrow { display: block; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; color: var(--rd-accent-dark); font-weight: 700; margin-bottom: 8px; }
.rd-subtitle { color: var(--rd-text-sub); }
.rd-section-head { margin-bottom: 28px; }

/* table */
.rd-table-wrap { overflow-x: auto; }
table.rd-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid var(--rd-border);
    border-radius: var(--rd-radius);
    overflow: hidden;
}
table.rd-table th, table.rd-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--rd-border);
    font-size: 15px;
}
table.rd-table th { background: var(--rd-bg-sub); font-weight: 700; }
table.rd-table tr:last-child td { border-bottom: none; }
.rd-note { font-size: 13px; color: var(--rd-text-sub); margin-top: 8px; }

/* process steps */
.rd-steps { list-style: none; margin: 0; padding: 0; counter-reset: rd-step; display: grid; gap: 16px; }
.rd-steps li {
    counter-increment: rd-step;
    background: #fff;
    border: 1px solid var(--rd-border);
    border-radius: var(--rd-radius);
    padding: 16px 20px 16px 56px;
    position: relative;
}
.rd-steps li::before {
    content: counter(rd-step);
    position: absolute;
    left: 16px; top: 16px;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--rd-accent);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    display: flex; align-items: center; justify-content: center;
}
.rd-steps h3 { margin: 0 0 4px; font-size: 16px; }
.rd-steps p { margin: 0; color: var(--rd-text-sub); font-size: 14px; }

/* FAQ */
.rd-faq-list { display: grid; gap: 12px; }
.rd-faq-item { background: #fff; border: 1px solid var(--rd-border); border-radius: var(--rd-radius); }
.rd-faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    color: var(--rd-text);
}
.rd-faq-q h3 { margin: 0; font-size: 16px; font-weight: 700; }
.rd-faq-q::after {
    content: '+';
    font-size: 20px;
    color: var(--rd-accent-dark);
    flex-shrink: 0;
    transition: transform .2s;
}
.rd-faq-item.is-open .rd-faq-q::after { transform: rotate(45deg); }
.rd-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; padding: 0 20px; }
.rd-faq-item.is-open .rd-faq-a { max-height: 320px; padding: 0 20px 16px; }
.rd-faq-a p { color: var(--rd-text-sub); font-size: 15px; margin: 0; }

/* CTA */
.rd-cta-section { text-align: center; }
.rd-cta-section .rd-btn-primary { margin-top: 8px; }

/* contact */
.rd-contact-card {
    max-width: 720px;
    margin: 40px auto 80px;
    padding: 0 20px;
    display: grid;
    gap: 20px;
}
.rd-contact-row { background: #fff; border: 1px solid var(--rd-border); border-radius: var(--rd-radius); padding: 20px; }
.rd-contact-row h3 { margin-bottom: 4px; }
.rd-contact-row p { color: var(--rd-text-sub); margin: 0; }
.rd-page-hero { padding: 48px 0 24px; background: var(--rd-bg-sub); border-bottom: 1px solid var(--rd-border); }

/* footer */
.rd-footer { border-top: 1px solid var(--rd-border); padding: 32px 0; background: var(--rd-bg-sub); }
.rd-footer p { margin: 0 0 4px; font-size: 13px; color: var(--rd-text-sub); }
.rd-footer-bottom { margin-top: 12px; font-size: 12px; color: var(--rd-text-sub); }

/* guide index (front page) */
.rd-guide-index { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 32px; }
.rd-guide-index li { break-inside: avoid; border-bottom: 1px solid var(--rd-border); padding: 10px 0; }
.rd-guide-index a { font-size: 15px; }
.rd-guide-index a:hover { color: var(--rd-accent-dark); }
@media (max-width: 640px) { .rd-guide-index { columns: 1; } }

/* breadcrumb */
.rd-crumb { padding: 14px 0; font-size: 13px; color: var(--rd-text-sub); border-bottom: 1px solid var(--rd-border); }
.rd-crumb a { color: var(--rd-accent-dark); }
.rd-crumb span { margin: 0 6px; }

/* article (guide pages) */
.rd-article { padding: 40px 0 var(--rd-section-gap); }
.rd-article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 48px; align-items: start; }
.rd-article-head { margin-bottom: 20px; }
.rd-byline { font-family: 'Noto Serif KR', serif; font-style: italic; font-size: 13px; color: var(--rd-text-sub); margin: 0; }
.rd-dropcap:first-letter {
    font-family: 'Noto Serif KR', serif;
    font-size: 52px;
    font-weight: 700;
    float: left;
    line-height: .8;
    padding: 4px 8px 0 0;
    color: var(--rd-accent-dark);
}
.rd-article-main p { font-size: 16.5px; }
.rd-check-list { margin: 0 0 20px; padding: 0; list-style: none; display: grid; gap: 10px; }
.rd-check-list li {
    background: #fff;
    border: 1px solid var(--rd-border);
    border-left: 3px solid var(--rd-accent);
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 15px;
}
.rd-callout {
    background: var(--rd-bg-sub);
    border-left: 3px solid var(--rd-accent-dark);
    border-radius: 0 var(--rd-radius) var(--rd-radius) 0;
    padding: 16px 20px;
    margin: 28px 0;
}
.rd-callout p { font-family: 'Noto Serif KR', serif; font-style: italic; font-size: 14.5px; color: var(--rd-text-sub); margin: 0; }

.rd-article-side { display: grid; gap: 20px; position: sticky; top: 20px; }
.rd-side-card { background: #fff; border: 1px solid var(--rd-border); border-radius: var(--rd-radius); padding: 20px; }
.rd-side-card h3 { margin-bottom: 8px; }
.rd-side-card p { color: var(--rd-text-sub); font-size: 14px; }
.rd-side-card .rd-btn { width: 100%; justify-content: center; margin-top: 8px; }
.rd-related-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rd-related-list a { font-size: 14px; color: var(--rd-accent-dark); }
.rd-related-list a:hover { text-decoration: underline; }

@media (max-width: 860px) {
    .rd-article-grid { grid-template-columns: 1fr; }
    .rd-article-side { position: static; }
}

@media (max-width: 640px) {
    .rd-nav-pc { display: none; }
}
