html { scroll-behavior: smooth; }
img { max-width: 100%; }
.cf-input { min-height: 48px; padding: 0 14px; border: 1px solid #CFC8B9; border-radius: 0; font-size: 16px; color: #14181F; background: #FFFFFF; width: 100%; box-sizing: border-box; }
.cf-input:focus { outline: 2px solid #04244F; outline-offset: 1px; }
.cf-input[aria-invalid="true"] { border-color: #B42318; }
.cf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-status { margin: 0; padding: 14px 16px; font-size: 15px; line-height: 1.6; }
.cf-status[data-kind="ok"] { background: #EAF3EC; color: #1F5130; }
.cf-status[data-kind="error"] { background: #FBEAEA; color: #8A1C14; }
#cf-submit[disabled] { opacity: 0.6; cursor: wait; }
@media (max-width: 560px) {
  #consult-form { padding: 24px !important; }
}
@media (max-width: 720px) {
  header nav a[href^="#"]:not([href="#contact"]) { display: none !important; }
}
.case-chip { min-height: 44px; padding: 0 18px; border: 1px solid #CFC8B9; background: #FFFFFF; color: #14202E; font-size: 15px; cursor: pointer; font-family: inherit; }
.case-chip .case-chip-count { color: #6B7685; }
.case-chip[aria-pressed="true"] { border-color: #0B1424; background: #0B1424; color: #FFFFFF; font-weight: 600; }
.case-chip[aria-pressed="true"] .case-chip-count { color: rgba(255,255,255,0.7); font-weight: 400; }
.case-chip:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid #C6A579; outline-offset: 2px; }
.case-card[hidden] { display: none !important; }
#contact .cf-input { border-color: #CFD6DF; }
@media (max-width: 560px) {
  #contact a[href="#consult-form"], #contact a[href^="http"][href*="kakao"], #contact a[href="tel:0515058800"][style*="min-height: 64px"] { flex: 1 1 100%; }
}
.col-row { display: grid !important; grid-template-columns: 140px minmax(0, 1fr) auto; gap: 8px 32px; align-items: baseline; padding: 28px 0; border-bottom: 1px solid #E3E7ED; color: #14202E !important; text-decoration: none; }
.col-row:hover .col-title { text-decoration: underline; text-underline-offset: 5px; }
.col-topic { font-size: 15px; color: #8C6A3C; }
.col-title { font-size: 20px; line-height: 1.5; }
.col-date { font-size: 14px; color: #6B7685; white-space: nowrap; }
@media (max-width: 720px) {
  .col-row { grid-template-columns: minmax(0, 1fr) auto; padding: 22px 0; }
  .col-title { grid-column: 1 / -1; grid-row: 2; font-size: 18px; }
}
