:root{
  --bg:#FAFAF6; --bg-alt:#F0F7F1; --paper:#FFFFFF;
  --ink:#16241C; --ink-soft:#54645A;
  --green:#1F7A55; --green-deep:#12523A; --green-soft:#E3F2E8; --green-line:#CFE6D7;
  --red:#D9563F; --shadow:0 12px 30px rgba(18,82,58,0.08); --maxw:820px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Pretendard','Noto Sans KR',sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
header{position:sticky;top:0;z-index:50;background:rgba(250,250,246,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--green-line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:var(--maxw);margin:0 auto;}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;font-size:18px;color:var(--green-deep);}
.logo .dot{width:9px;height:9px;border-radius:50%;background:var(--red);display:inline-block;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:100px;font-weight:700;cursor:pointer;border:none;white-space:nowrap;}
.btn-primary{background:var(--green);color:#fff;padding:11px 18px;font-size:14px;box-shadow:0 8px 18px rgba(31,122,85,0.28);}
.btn-ghost{background:transparent;color:var(--green-deep);border:1.5px solid var(--green-line);padding:9px 16px;font-size:14px;}
.crumb{font-size:12.5px;color:var(--ink-soft);padding:14px 0 0;}
.crumb a{color:var(--green-deep);font-weight:600;}
.hero{padding:20px 0 8px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green-deep);font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:100px;margin-bottom:14px;border:1px solid var(--green-line);}
h1{font-size:clamp(24px,6vw,34px);line-height:1.35;font-weight:900;letter-spacing:-0.02em;margin:0 0 14px;}
h1 em{font-style:normal;color:var(--green);}
p.lead{font-size:15.5px;color:var(--ink-soft);margin:0 0 22px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.hero-actions .btn-primary{padding:14px 20px;font-size:15px;}
.hero-actions .btn-ghost{padding:13px 18px;font-size:15px;}
section{padding:28px 0;}
.card-grid{display:grid;gap:12px;grid-template-columns:1fr;}
@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr);}}
.card{background:var(--paper);border:1px solid var(--green-line);border-radius:16px;padding:18px;box-shadow:0 4px 12px rgba(18,82,58,0.04);}
.card h3{margin:0 0 6px;font-size:15px;font-weight:800;}
.card p{margin:0;font-size:13.5px;color:var(--ink-soft);}
.contact-card{background:var(--green-deep);color:#fff;border-radius:22px;padding:26px 22px;margin-top:8px;}
.contact-card h2{font-size:19px;font-weight:900;margin:0 0 8px;}
.contact-card p{font-size:13.5px;color:#CFE9D9;margin:0 0 16px;}
.contact-info{display:grid;gap:10px;}
.contact-info a{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.08);padding:12px 14px;border-radius:12px;font-size:14px;font-weight:600;}
.contact-info a:hover{background:rgba(255,255,255,0.15);}
footer{background:#0F3B29;color:#B9E3C9;padding:28px 0 90px;font-size:12.5px;}
footer .flogo{color:#fff;font-weight:900;font-size:15px;margin-bottom:8px;}
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--paper);border-top:1px solid var(--green-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;box-shadow:0 -6px 18px rgba(0,0,0,0.06);}
.sticky-cta .btn{flex:1;padding:14px;font-size:14px;}
.search-box{margin:14px 0 20px;}
.search-box input{width:100%;padding:14px 16px;border-radius:100px;border:1.5px solid var(--green-line);font-size:15px;background:var(--paper);}
.region-list{columns:2;column-gap:14px;}
@media(min-width:560px){.region-list{columns:3;}}
.region-list li{break-inside:avoid;margin-bottom:6px;list-style:none;}
.region-list a{font-size:13.5px;color:var(--ink-soft);}
.region-list a:hover{color:var(--green-deep);}
.count-badge{font-size:12.5px;color:var(--green-deep);font-weight:700;margin-bottom:6px;}
