/* 페이지 본문은 시안의 인라인 스타일을 그대로 쓰고, 여기에는 인라인으로 표현할 수 없는 공통 규칙만 둔다. */

[hidden] { display: none !important; }

:focus-visible { outline: 3px solid #0C6B59; outline-offset: 2px; }

.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 20;
  padding: 10px 16px; border-radius: 10px;
  background: #FFFFFF; color: #132B3A; font-weight: 600; text-decoration: none;
  box-shadow: 0 4px 16px rgba(19, 43, 58, 0.15);
}
.skip-link:focus { top: 12px; }

/* 스팸 방지용 숨김 칸: 사람에게는 보이지 않고 자동 입력기만 채운다 */
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

input:focus, select:focus, textarea:focus { border-color: #0C6B59 !important; outline: none; box-shadow: 0 0 0 3px rgba(12, 107, 89, 0.18); }
[aria-invalid="true"] { border-color: #B42318 !important; }
button:disabled { opacity: 0.6; cursor: progress !important; }

@media (max-width: 760px) {
  .site-header-inner { column-gap: 12px !important; justify-content: space-between; }
  .site-nav {
    order: 3; flex: 1 1 100% !important;
    flex-wrap: nowrap !important; overflow-x: auto; gap: 0 20px !important;
    scrollbar-width: none;
  }
  .site-nav::-webkit-scrollbar { display: none; }
  .site-nav a { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
