:root { --ink:#12231c; --muted:#607068; --green:#176b4c; --mint:#e4f6ed; --cream:#f8f5ee; --line:#dce5df; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; }
.hero { min-height:520px; padding:0 24px 88px; background:radial-gradient(circle at 82% 24%,#c7eedb 0 9%,transparent 30%),linear-gradient(135deg,#f7f3e8,#e4f6ed); overflow:hidden; }
.nav { max-width:1120px; margin:auto; padding:26px 0; display:flex; align-items:center; justify-content:space-between; }
.brand { font-size:23px; font-weight:900; text-decoration:none; letter-spacing:-1px; }
.brand span { color:var(--green); }
.blog-link { padding:10px 18px; border:1px solid #a8bdb1; border-radius:999px; background:rgba(255,255,255,.7); font-size:14px; font-weight:700; text-decoration:none; }
.hero-copy { max-width:920px; margin:68px auto 0; text-align:center; }
.eyebrow { margin:0 0 10px; color:var(--green); font-weight:800; font-size:14px; letter-spacing:.08em; }
h1 { margin:0; font-size:clamp(42px,6vw,72px); line-height:1.13; letter-spacing:-.055em; font-weight:700; }
h1 strong { color:var(--green); }
.intro { margin:22px auto 28px; color:#52655c; font-size:18px; }
.search-box { width:min(680px,100%); height:68px; margin:auto; display:flex; align-items:center; gap:14px; padding:0 18px 0 24px; background:#fff; border:1px solid #d4e4da; border-radius:18px; box-shadow:0 18px 50px rgba(34,74,56,.12); }
.search-box > span { font-size:34px; line-height:1; transform:rotate(-15deg); }
.search-box input { min-width:0; flex:1; border:0; outline:0; font:inherit; font-size:17px; color:var(--ink); }
.search-box button { border:0; background:transparent; color:#718178; cursor:pointer; font-weight:700; }
main { max-width:1120px; margin:auto; padding:78px 24px 100px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; }
h2 { margin:0; font-size:32px; line-height:1.25; letter-spacing:-.035em; }
.count { color:var(--muted); font-size:14px; }
.filters { display:flex; gap:9px; overflow:auto; padding:26px 0 30px; scrollbar-width:none; }
.chip { flex:0 0 auto; padding:10px 17px; border:1px solid var(--line); border-radius:999px; background:#fff; color:#506158; font:inherit; font-size:14px; font-weight:750; cursor:pointer; }
.chip.active { color:#fff; border-color:var(--green); background:var(--green); }
.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.card { padding:28px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 8px 30px rgba(25,57,42,.06); }
.card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.category,.status { padding:5px 10px; border-radius:999px; font-size:12px; font-weight:800; }
.category { color:var(--green); background:var(--mint); }
.status.live { color:#176b4c; background:#eef8f3; }
.status.soon { color:#85661c; background:#fff7da; }
.card h3 { margin:20px 0 10px; font-size:23px; line-height:1.35; letter-spacing:-.025em; }
.summary { min-height:52px; margin:0; color:var(--muted); }
.target { margin:20px 0; padding-top:16px; border-top:1px solid #edf1ee; font-size:14px; color:#53645c; }
.target strong { margin-right:5px; color:var(--ink); }
.actions { display:flex; gap:8px; }
.button { flex:1; display:flex; min-height:46px; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border-radius:12px; font-size:13px; font-weight:800; text-decoration:none; text-align:center; }
.primary { color:#fff; background:var(--green); }
.secondary { color:var(--green); border:1px solid #b8d1c4; background:#fff; }
.disabled { color:#84928b; background:#eef1ef; }
.empty { padding:70px 20px; border:1px dashed #c7d3cc; border-radius:20px; text-align:center; color:var(--muted); }
.empty strong { color:var(--ink); font-size:20px; }
.notice { margin-top:58px; display:flex; gap:18px; padding:26px 28px; border-radius:20px; background:var(--cream); }
.notice-icon { flex:0 0 34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#b38827; font-weight:900; }
.notice h2 { font-size:18px; }
.notice p { margin:5px 0 0; color:var(--muted); font-size:14px; }
footer { padding:42px 24px; border-top:1px solid var(--line); text-align:center; color:var(--muted); }
footer p { margin:5px 0; }
.fine { font-size:12px; }
@media (max-width:720px) {
  .hero { min-height:470px; padding:0 18px 64px; }
  .hero-copy { margin-top:48px; text-align:left; }
  h1 { font-size:42px; }
  .intro { margin-left:0; font-size:16px; }
  .search-box { height:62px; border-radius:15px; }
  main { padding:58px 18px 76px; }
  .section-heading { align-items:start; flex-direction:column; }
  h2 { font-size:27px; }
  .cards { grid-template-columns:1fr; }
  .card { padding:23px; }
  .summary { min-height:0; }
  .actions { flex-direction:column; }
  .notice { padding:22px; }
}
@media (prefers-reduced-motion:no-preference) {
  .card { transition:transform .2s ease,box-shadow .2s ease; }
  .card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(25,57,42,.1); }
}
