:root{--green-900:#1d3b25;--green-700:#2e6b3f;--green-600:#3a7d4c;--green-100:#e4f0e6;--green-50:#f3f8f3;--cream:#fdfbf6;--ink:#26302a;--ink-soft:#5b6a60;--line:#dce5dd;--warn-bg:#fdf3e4;--warn-ink:#7a5a1e}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,Noto Sans Hebrew,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.65;display:flex;flex-direction:column;min-height:100vh}a{color:var(--green-700)}.site-header{background:var(--green-700);color:#fff}.site-nav{max-width:960px;margin:0 auto;padding:.7rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:.02em}.nav-links{display:flex;gap:1.1rem}.nav-links a{color:#eaf5ec;text-decoration:none;font-size:.95rem}.nav-links a:hover{text-decoration:underline}.lang-select{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.3rem .5rem;font-size:.9rem;cursor:pointer}.site-main{flex:1 1;width:100%;max-width:960px;margin:0 auto;padding:1.6rem 1.2rem 3rem}.site-footer{border-top:1px solid var(--line);background:var(--green-50);padding:1.2rem;text-align:center;font-size:.88rem;color:var(--ink-soft)}.site-footer p{margin:.25rem 0}.footer-free{color:var(--green-700);font-weight:600}h1{font-size:1.7rem;margin:.5rem 0 1rem}h1,h2{color:var(--green-900)}h2{font-size:1.2rem;margin:1.8rem 0 .6rem}.muted{color:var(--ink-soft);font-size:.92rem}.card{background:#fff;padding:1rem 1.2rem}.card,.notice{border:1px solid var(--line);border-radius:10px;margin:.8rem 0}.notice{background:var(--green-100);padding:.8rem 1.1rem}.notice-warn{background:var(--warn-bg);color:var(--warn-ink);border:1px solid #f0dfc0;border-radius:10px;padding:.8rem 1.1rem;margin:.8rem 0}.btn{display:inline-block;background:var(--green-700);color:#fff;border:none;border-radius:8px;padding:.65rem 1.3rem;font-size:1rem;text-decoration:none;cursor:pointer}.btn:hover{background:var(--green-600)}.btn-secondary{background:#fff;color:var(--green-700);border:1.5px solid var(--green-700)}.btn-secondary:hover{background:var(--green-50)}.btn[aria-disabled=true]{background:#a8bfae;cursor:default}.hero{background:linear-gradient(160deg,var(--green-50),var(--green-100));border:1px solid var(--line);border-radius:14px;padding:2.2rem 1.8rem;margin-bottom:1.6rem}.hero h1{margin-top:0}.hero-vision{max-width:44rem;font-size:1.02rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem;align-items:center}.flow-steps{counter-reset:step;list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.7rem}.flow-steps li{counter-increment:step;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;padding-inline-start:3.2rem;position:relative}.flow-steps li:before{content:counter(step);position:absolute;inset-inline-start:1rem;top:.85rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--green-700);color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}.map-layout{display:grid;grid-template-columns:1fr 300px;gap:1rem;align-items:start}@media (max-width:760px){.map-layout{grid-template-columns:1fr}}.map-canvas{width:100%;height:480px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--green-50)}.filter-row{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.6rem 0 .8rem}.filter-row label{display:inline-flex;align-items:center;gap:.35rem;font-size:.92rem;cursor:pointer}.angel-card h3{margin:0 0 .3rem;color:var(--green-900)}.service-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0}.service-tag{background:var(--green-100);border-radius:999px;padding:.15rem .65rem;font-size:.85rem}.listing-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.listing-table td,.listing-table th{text-align:start;padding:.6rem .9rem;border-bottom:1px solid var(--line);font-size:.95rem}.listing-table th{background:var(--green-50);color:var(--green-900)}.listing-table tr:last-child td{border-bottom:none}.price-absent{color:var(--ink-soft);font-style:italic}.stat-list{list-style:none;padding:0;margin:.4rem 0}.stat-list li{padding:.35rem 0;border-bottom:1px dashed var(--line)}.stat-list li:last-child{border-bottom:none}.placeholder{color:var(--ink-soft);background:var(--green-50);border:1px dashed var(--line);border-radius:10px;padding:.8rem 1.1rem}