@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;600;700;900&display=swap');

#ctt{margin:0;padding:0;background:transparent}
#ctt header h1{position:absolute;font-size:0;line-height:0;overflow:hidden}
#ctt_con{padding:0;line-height:1.6em}
#ctt_con img{max-width:100%;height:auto}

.gls-page{max-width:1536px;margin:0 auto;padding:0;font-family:'Noto Sans KR','Malgun Gothic',sans-serif;color:#333}

/* 상단 */
.gls-header{text-align:center;padding:60px 0 40px}
.gls-header .gls-sub{font-size:16px;color:#2d86d9;font-weight:600;letter-spacing:.1em;margin-bottom:8px}
.gls-header .gls-h1{font-family:'Noto Serif KR',serif;font-size:42px;font-weight:900;color:#0f172a;letter-spacing:-.04em;margin:0 0 20px}
.gls-header .gls-desc{font-size:18px;color:#64748b;line-height:1.7;font-weight:500;max-width:680px;margin:0 auto}

/* 검색바 */
.gls-search{display:flex;justify-content:center;margin-bottom:24px}
.gls-search-input{
  width:100%;max-width:480px;
  padding:14px 22px;border-radius:999px;
  border:2px solid #e2e8f0;background:#f8fafc;
  font-size:16px;font-weight:600;color:#333;outline:none;
  transition:border-color .2s;
}
.gls-search-input::placeholder{color:#94a3b8;font-weight:500}
.gls-search-input:focus{border-color:#2d86d9;background:#fff}

/* 카테고리 필터 */
.gls-cats{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.gls-cat{
  padding:9px 22px;border-radius:999px;
  font-size:14px;font-weight:700;
  border:2px solid #e2e8f0;background:#fff;color:#64748b;
  transition:all .2s;user-select:none;
}
.gls-cat:hover{border-color:#2d86d9;color:#2d86d9}
.gls-cat.active{background:#2d86d9;color:#fff;border-color:#2d86d9}

/* 카드 그리드 */
.gls-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:60px}

.gls-card{
  background:#fff;border:1px solid #e8ecf1;border-radius:16px;
  padding:32px 28px;transition:transform .25s,box-shadow .25s;
}
.gls-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.07)}

.gls-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.gls-card-title{font-family:'Noto Serif KR',serif;font-size:20px;font-weight:900;color:#0f172a;letter-spacing:-.02em}
.gls-card-cat{
  display:inline-block;padding:4px 12px;border-radius:999px;
  font-size:11px;font-weight:800;flex-shrink:0;
}
.cat-basic{background:rgba(45,134,217,.08);color:#2d86d9}
.cat-ritual{background:rgba(139,92,246,.08);color:#7c3aed}
.cat-burial{background:rgba(16,185,129,.08);color:#059669}
.cat-admin{background:rgba(245,158,11,.08);color:#d97706}
.cat-etc{background:rgba(107,114,128,.08);color:#6b7280}

.gls-card-hanja{font-size:14px;color:#94a3b8;font-weight:600;margin-bottom:10px}
.gls-card-desc{font-size:14px;line-height:1.8;color:#475569;font-weight:500;word-break:keep-all}

/* CTA */
.gls-cta{
  background:linear-gradient(135deg,#071223 0%,#0a254f 100%);
  border-radius:16px;padding:46px 54px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
}
.gls-cta .cta-title{font-family:'Noto Serif KR',serif;font-size:24px;font-weight:900;color:#fff;letter-spacing:-.03em;margin:0 0 8px}
.gls-cta .cta-desc{font-size:15px;color:rgba(255,255,255,.7);font-weight:500}
.gls-cta-right{flex-shrink:0;text-align:center}
.gls-cta-phone{font-size:38px;font-weight:900;color:#f59e0b;letter-spacing:-.02em;margin-bottom:12px}
.gls-cta-right a{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 30px;border-radius:8px;
  background:#2d86d9;color:#fff;font-size:15px;font-weight:800;
  text-decoration:none;transition:background .2s;
}
.gls-cta-right a:hover{background:#2474c0}

/* 반응형 */
@media(max-width:1024px){.gls-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .gls-header{padding:40px 20px 30px}.gls-header .gls-h1{font-size:30px}.gls-header .gls-desc{font-size:16px}
  .gls-grid{grid-template-columns:1fr;gap:16px}
  .gls-card{padding:26px 22px}.gls-card-title{font-size:18px}
  .gls-cta{flex-direction:column;text-align:center;padding:36px 24px}
  .gls-cta-phone{font-size:30px}
  .gls-cats{gap:6px}.gls-cat{padding:7px 16px;font-size:13px}
}
