
:root{
  --bg:#fffaf3;
  --surface:#ffffff;
  --surface2:#f7f1e8;
  --ink:#1f2a37;
  --muted:#6f7782;
  --line:#eadfce;
  --accent:#ef7b5b;
  --accent-dark:#c9573a;
  --navy:#24344d;
  --soft:#fff0e9;
  --shadow:0 14px 35px rgba(59,45,31,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
.wrap{width:min(1160px,calc(100% - 36px));margin:auto}

header{
  background:rgba(255,250,243,.95);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(12px);
}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{
  font-size:22px;font-weight:950;letter-spacing:-.7px;color:var(--navy);
  display:flex;align-items:center;gap:10px;
}
.logo:before{
  content:"V";display:grid;place-items:center;width:35px;height:35px;
  background:var(--accent);color:#fff;border-radius:12px;font-size:16px;
  box-shadow:0 6px 14px rgba(239,123,91,.25)
}
.logo span{font-weight:700;color:#9a8773;font-size:11px;letter-spacing:0}
nav{display:flex;gap:22px;font-size:14px;font-weight:800;color:#556170}
nav a:hover{color:var(--accent-dark)}

.hero{
  padding:78px 0 66px;
  background:
    radial-gradient(circle at 85% 15%,rgba(239,123,91,.16),transparent 26%),
    radial-gradient(circle at 8% 55%,rgba(36,52,77,.07),transparent 23%),
    var(--bg);
}
.hero .wrap{position:relative}
.kicker{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12px;font-weight:900;color:var(--accent-dark);
  background:var(--soft);border:1px solid #f6d0c5;border-radius:999px;
  padding:7px 11px;letter-spacing:.02em;
}
.hero h1{
  font-size:clamp(39px,6vw,68px);letter-spacing:-3px;line-height:1.06;
  margin:19px 0 18px;color:var(--navy);max-width:760px;
}
.hero p{font-size:18px;color:var(--muted);margin:0 0 30px;max-width:700px}

.search{
  display:flex;background:#fff;border:2px solid var(--navy);
  border-radius:18px;padding:6px;max-width:760px;box-shadow:var(--shadow);
}
.search input{
  border:0;outline:0;flex:1;padding:14px 16px;font-size:16px;min-width:0;
  background:transparent;color:var(--ink)
}
.search button,.searchbar2 button{
  border:0;background:var(--accent);color:white;border-radius:12px;
  padding:0 24px;font-weight:900;cursor:pointer
}
.search button:hover,.searchbar2 button:hover{background:var(--accent-dark)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;max-width:760px}
.stat{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px 18px;
  box-shadow:0 8px 20px rgba(68,52,38,.04)
}
.stat b{display:block;font-size:27px;color:var(--navy);letter-spacing:-1px}
.stat span{font-size:12px;color:var(--muted);font-weight:700}

section{padding:44px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:19px}
h2{font-size:25px;letter-spacing:-.9px;margin:0;color:var(--navy)}
.sub{color:var(--muted);font-size:14px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:21px;
  box-shadow:0 7px 18px rgba(70,53,35,.035);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#e8beaF}
.card .count{color:var(--accent-dark);font-weight:950;font-size:23px}
.card .label{font-weight:900;margin-top:3px;color:var(--navy)}
.card small{color:var(--muted)}

.list{display:grid;gap:11px}
.item{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px 20px;
  display:flex;justify-content:space-between;gap:18px;align-items:center;
  transition:.16s ease;
}
.item:hover{border-color:#e7baa9;box-shadow:0 9px 22px rgba(66,48,33,.05)}
.item h3{margin:0 0 4px;font-size:17px;letter-spacing:-.4px;color:var(--navy)}
.item p{margin:0;color:var(--muted);font-size:13px}
.pill{
  white-space:nowrap;border-radius:999px;padding:6px 11px;
  background:var(--soft);color:var(--accent-dark);
  border:1px solid #f6d2c7;font-size:12px;font-weight:900
}

.breadcrumb{font-size:13px;color:#8a8178;padding-top:27px}
.breadcrumb a:hover{color:var(--accent-dark)}
.region-title{padding:32px 0 18px}
.region-title h1{margin:10px 0 7px;font-size:40px;letter-spacing:-1.7px;color:var(--navy)}
.region-title p{margin:0;color:var(--muted)}

.detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr);gap:20px;padding:30px 0 46px}
.panel{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;
  box-shadow:0 8px 24px rgba(67,50,35,.045)
}
.panel h1{font-size:34px;letter-spacing:-1.3px;line-height:1.22;margin:12px 0 10px;color:var(--navy)}
.rows{margin-top:24px;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.row dt{color:var(--muted);font-size:14px}
.row dd{margin:0;font-weight:750}
.notice{
  font-size:13px;color:#706a63;background:var(--surface2);
  border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:18px
}

.pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}
.pagination a,.pagination span{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:7px 11px;font-size:13px;font-weight:800
}
.pagination .on{background:var(--navy);color:#fff;border-color:var(--navy)}

.search-page{padding:42px 0}
.search-page h1{font-size:38px;letter-spacing:-1.4px;color:var(--navy)}
.searchbar2{display:flex;gap:8px;margin:20px 0 24px}
.searchbar2 input{
  flex:1;border:2px solid var(--navy);border-radius:14px;
  padding:14px;background:#fff;font-size:16px;outline:none
}
.searchbar2 button{padding:0 24px}

footer{
  border-top:1px solid var(--line);background:#fff6eb;margin-top:44px;
  padding:34px 0;color:#7e7468;font-size:13px
}

@media(max-width:800px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(3,1fr)}
  .nav nav{display:none}
  .hero{padding-top:52px}
  .item{align-items:flex-start}
  .row{grid-template-columns:92px 1fr}
}
@media(max-width:520px){
  .wrap{width:min(100% - 22px,1160px)}
  .hero h1{font-size:42px;letter-spacing:-2.2px}
  .grid{grid-template-columns:1fr 1fr}
  .stats{gap:7px}
  .stat{padding:13px}
  .stat b{font-size:20px}
  .search button{padding:0 16px}
  .panel{padding:20px}
  .panel h1{font-size:28px}
}
