:root {
  --navy: #0d47a1;
  --blue: #1e88e5;
  --sky: #e3f2fd;
  --orange: #f59e0b;
  --footer: #0a2e6b;
  --footer-text: #adc4e3;
  --text: #1f2a37;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 90px; }

@media (max-width: 1200px) { html { scroll-padding-top: 72px; } }
@media (max-width: 767px) { html { scroll-padding-top: 76px; } }

body {
  margin: 0;
  font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
  background: #fff;
  color: var(--text);
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }

img { max-width: 100%; }

.site-main { width: 100%; overflow: hidden; background: #fff; }

.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* 로고 */
.site-logo { display: inline-flex; align-items: center; gap: 10px; color: inherit; }
.site-logo-icon { display: block; width: 52px; height: auto; flex: 0 0 auto; }
.site-logo-text { display: flex; flex-direction: column; line-height: 1.15; }
.site-logo-text strong { font-size: 23px; font-weight: 800; letter-spacing: -1px; white-space: nowrap; }
.site-logo-text small { font-size: 13px; font-weight: 500; letter-spacing: 2px; opacity: .85; }
.logo-light { color: #fff; }

@media (max-width: 767px) {
  .site-logo-icon { width: 40px; }
  .site-logo-text strong { font-size: 18px; }
  .site-logo-text small { font-size: 11px; }
}
