/* =========================================================
   MCAIT CLEAN UNIFIED MENU v30
   목적:
   - 모든 페이지의 PC/모바일 메뉴를 동일한 구조와 동일한 디자인으로 고정
   - 기존 햄버거 메뉴, 모바일 드롭다운, 하단 상담바가 다시 나타나지 않도록 차단
   - style.css / 이전 패치 CSS의 header 관련 값을 마지막에 덮어쓰기
   ========================================================= */

/* 공통: 앵커 이동 시 fixed 메뉴에 가리지 않도록 */
html {
  scroll-padding-top: 96px;
}

body {
  padding-top: 82px;
  overflow-x: hidden;
}

/* 과거 모바일/상담 레이어 완전 차단 */
.menu-toggle,
#mobileMenu,
.mobile-nav,
#mcaitQuickContact,
.mcait-quick-contact,
.mcait-quick-panel,
.mcait-quick-toggle {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 모든 페이지 PC 공통 상단 메뉴 */
.site-header,
body .site-header,
header.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  transform: none !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: rgba(255, 255, 255, 0.97) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(12, 55, 118, 0.10) !important;
  box-shadow: 0 10px 26px rgba(7, 26, 58, 0.10) !important;
}

.site-header .nav,
body .site-header .nav,
header .nav {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  min-height: 82px !important;
  margin: 0 auto !important;
  padding: 10px 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  box-sizing: border-box !important;
}

.site-header .brand,
body .site-header .brand {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  text-decoration: none !important;
}

.site-header .brand img,
body .site-header .brand img {
  display: block !important;
  width: auto !important;
  height: 42px !important;
  max-width: 190px !important;
}

.site-header .desktop-nav,
body .site-header .desktop-nav,
header .desktop-nav,
.desktop-nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.site-header .desktop-nav::-webkit-scrollbar,
.desktop-nav::-webkit-scrollbar {
  display: none;
}

.site-header .desktop-nav a,
body .site-header .desktop-nav a,
header .desktop-nav a,
.desktop-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-height: 42px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  color: #243044 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: 0.98rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -0.035em !important;
  box-shadow: none !important;
  transform: none !important;
}

.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus {
  color: #0b4ecf !important;
  background: rgba(11, 78, 207, 0.07) !important;
  border-color: rgba(11, 78, 207, 0.10) !important;
}

.site-header .desktop-nav a.nav-cta,
body .site-header .desktop-nav a.nav-cta,
.desktop-nav a.nav-cta {
  padding: 0 18px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0b7cff 0%, #06b6d4 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px rgba(0, 116, 255, 0.20) !important;
}

.site-header .desktop-nav a.nav-cta:hover,
.site-header .desktop-nav a.nav-cta:focus {
  color: #ffffff !important;
  background: linear-gradient(135deg, #086be0 0%, #059ebb 100%) !important;
}

/* 모든 섹션 앵커 이동 보정 */
#prototype,
section[id],
[id] {
  scroll-margin-top: 96px;
}

/* 모바일 공통 메뉴: 같은 구조, 같은 항목, 모바일 전용 색상 */
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 74px !important;
  }

  body {
    padding-top: 64px !important;
    padding-bottom: 0 !important;
  }

  .site-header,
  body .site-header,
  header.site-header {
    background: linear-gradient(135deg, rgba(10, 42, 92, 0.98) 0%, rgba(7, 76, 154, 0.98) 58%, rgba(5, 122, 174, 0.98) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 0 10px 28px rgba(7, 26, 58, 0.26) !important;
  }

  .site-header .nav,
  body .site-header .nav,
  header .nav {
    width: 100% !important;
    max-width: none !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    gap: 8px !important;
  }

  .site-header .brand,
  body .site-header .brand {
    min-height: 42px !important;
    padding: 0 7px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.10) !important;
  }

  .site-header .brand img,
  body .site-header .brand img {
    height: 27px !important;
    max-width: 88px !important;
  }

  .site-header .desktop-nav,
  body .site-header .desktop-nav,
  header .desktop-nav,
  .desktop-nav {
    gap: 6px !important;
    justify-content: flex-end !important;
  }

  .site-header .desktop-nav a,
  body .site-header .desktop-nav a,
  header .desktop-nav a,
  .desktop-nav a {
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 0.86rem !important;
    font-weight: 850 !important;
    color: #eef6ff !important;
    background: rgba(255, 255, 255, 0.11) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: none !important;
  }

  .site-header .desktop-nav a:hover,
  .site-header .desktop-nav a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.17) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
  }

  .site-header .desktop-nav a.nav-cta,
  body .site-header .desktop-nav a.nav-cta,
  .desktop-nav a.nav-cta {
    min-height: 38px !important;
    padding: 0 12px !important;
    background: #ffffff !important;
    color: #0b4ecf !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14) !important;
  }

  #prototype,
  section[id],
  [id] {
    scroll-margin-top: 74px !important;
  }

  /* 모바일 첫 화면: 너무 높지 않게, 아래 콘텐츠가 보이도록 */
  #top.hero,
  body #top.hero,
  .hero {
    min-height: 420px !important;
    overflow: hidden !important;
  }

  #top.hero .hero-slider,
  body #top.hero .hero-slider,
  .hero-slider {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 0 !important;
  }

  #top.hero .hero-track,
  body #top.hero .hero-track,
  .hero-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 400% !important;
    height: 100% !important;
    animation: mcaitMobileHeroSlideV30 22s infinite ease-in-out !important;
    transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  #top.hero .hero-slide,
  body #top.hero .hero-slide,
  .hero-slide {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 25% !important;
    width: 25% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
  }

  #top.hero .hero-slide img,
  body #top.hero .hero-slide img,
  .hero-slide img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: saturate(0.90) contrast(1.03) brightness(0.74) !important;
  }

  #top.hero .hero-content,
  body #top.hero .hero-content,
  .hero-content {
    padding-top: 52px !important;
    padding-bottom: 36px !important;
  }

  #top.hero .slide-caption,
  body #top.hero .slide-caption,
  .slide-caption {
    display: none !important;
  }
}

@media screen and (max-width: 390px) {
  html {
    scroll-padding-top: 70px !important;
  }

  body {
    padding-top: 60px !important;
  }

  .site-header .nav,
  body .site-header .nav,
  header .nav {
    min-height: 60px !important;
    padding: 7px 7px !important;
    gap: 5px !important;
  }

  .site-header .brand,
  body .site-header .brand {
    min-height: 39px !important;
    padding: 0 6px !important;
    border-radius: 13px !important;
  }

  .site-header .brand img,
  body .site-header .brand img {
    height: 24px !important;
    max-width: 74px !important;
  }

  .site-header .desktop-nav,
  body .site-header .desktop-nav,
  .desktop-nav {
    gap: 4px !important;
  }

  .site-header .desktop-nav a,
  body .site-header .desktop-nav a,
  .desktop-nav a {
    min-height: 35px !important;
    padding: 0 8px !important;
    font-size: 0.80rem !important;
  }

  .site-header .desktop-nav a.nav-cta,
  body .site-header .desktop-nav a.nav-cta,
  .desktop-nav a.nav-cta {
    padding: 0 9px !important;
  }

  #prototype,
  section[id],
  [id] {
    scroll-margin-top: 70px !important;
  }

  #top.hero,
  body #top.hero,
  .hero {
    min-height: 390px !important;
  }
}

/* 오른쪽에서 왼쪽으로 이동하는 모바일 슬라이드 */
@keyframes mcaitMobileHeroSlideV30 {
  0%, 18% {
    transform: translate3d(0, 0, 0);
  }
  25%, 43% {
    transform: translate3d(-25%, 0, 0);
  }
  50%, 68% {
    transform: translate3d(-50%, 0, 0);
  }
  75%, 93% {
    transform: translate3d(-75%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #top.hero .hero-track,
  body #top.hero .hero-track,
  .hero-track {
    animation: none !important;
  }
}

/* =========================================================
   MCAIT PC MENU UNIFIED v31
   PC 전용 최종 보정: 모든 페이지에서 메뉴 구조/크기/폰트/디자인을 강제 통일
   모바일 규칙은 v30 상태를 유지하고, 여기서는 PC만 보정함
   ========================================================= */

@media screen and (min-width: 769px) {
  html {
    scroll-padding-top: 96px !important;
  }

  body {
    padding-top: 82px !important;
  }

  .site-header,
  body .site-header,
  header.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    transform: none !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: rgba(255, 255, 255, 0.97) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(12, 55, 118, 0.10) !important;
    box-shadow: 0 10px 26px rgba(7, 26, 58, 0.10) !important;
  }

  .site-header .nav,
  body .site-header .nav,
  header .nav {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    min-height: 82px !important;
    margin: 0 auto !important;
    padding: 10px 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    box-sizing: border-box !important;
  }

  .site-header .brand,
  body .site-header .brand {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    text-decoration: none !important;
  }

  .site-header .brand img,
  body .site-header .brand img {
    display: block !important;
    width: auto !important;
    height: 42px !important;
    max-width: 190px !important;
  }

  .site-header .desktop-nav,
  body .site-header .desktop-nav,
  header .desktop-nav,
  .desktop-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .site-header .desktop-nav::-webkit-scrollbar,
  .desktop-nav::-webkit-scrollbar {
    display: none !important;
  }

  /* 구버전 HTML이 서버에 일부 남아 있어도 PC에서는 일반 '문의'를 숨기고 상담하기 하나만 보이게 함 */
  .site-header .desktop-nav a[href="contact.html"]:not(.nav-cta),
  body .site-header .desktop-nav a[href="contact.html"]:not(.nav-cta),
  .desktop-nav a[href="contact.html"]:not(.nav-cta) {
    display: none !important;
  }

  .site-header .desktop-nav a,
  body .site-header .desktop-nav a,
  header .desktop-nav a,
  .desktop-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
    color: #243044 !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    font-family: inherit !important;
    font-size: 0.98rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .site-header .desktop-nav a:hover,
  .site-header .desktop-nav a:focus {
    color: #0b4ecf !important;
    background: rgba(11, 78, 207, 0.07) !important;
    border-color: rgba(11, 78, 207, 0.10) !important;
  }

  .site-header .desktop-nav a.nav-cta,
  body .site-header .desktop-nav a.nav-cta,
  .desktop-nav a.nav-cta {
    display: inline-flex !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 18px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0b7cff 0%, #06b6d4 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(0, 116, 255, 0.20) !important;
  }

  .site-header .desktop-nav a.nav-cta:hover,
  .site-header .desktop-nav a.nav-cta:focus {
    color: #ffffff !important;
    background: linear-gradient(135deg, #086be0 0%, #059ebb 100%) !important;
  }

  .menu-toggle,
  body .menu-toggle,
  #mobileMenu,
  body #mobileMenu,
  .mobile-nav,
  body .mobile-nav,
  #mcaitQuickContact,
  body #mcaitQuickContact,
  .mcait-quick-contact,
  body .mcait-quick-contact {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #prototype,
  body #prototype,
  section[id],
  body section[id],
  [id] {
    scroll-margin-top: 96px !important;
  }
}

/* =========================================================
   MCAIT PC HEADER + HERO STABILITY v32
   PC 전용 보정
   - 메뉴가 클릭/페이지 이동 때 좌우로 미세하게 흔들리는 현상 보정
   - PC 첫 화면 슬라이딩 배너 높이 축소
   - 모바일 규칙은 v31 상태 유지
   ========================================================= */

@media screen and (min-width: 769px) {
  /* 페이지마다 스크롤바 유무가 달라져 중앙 정렬 메뉴가 움직이는 현상 방지 */
  html {
    overflow-y: scroll !important;
    scrollbar-gutter: stable !important;
    scroll-padding-top: 92px !important;
  }

  body {
    padding-top: 82px !important;
    overflow-x: hidden !important;
  }

  .site-header,
  body .site-header,
  header.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    z-index: 2147483000 !important;
    transform: translateZ(0) !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: rgba(255, 255, 255, 0.97) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(12, 55, 118, 0.10) !important;
    box-shadow: 0 10px 26px rgba(7, 26, 58, 0.10) !important;
  }

  .site-header .nav,
  body .site-header .nav,
  header .nav {
    width: 1180px !important;
    max-width: calc(100vw - 40px) !important;
    min-height: 82px !important;
    height: 82px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 10px 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    box-sizing: border-box !important;
  }

  /* 로고 로딩 전후 폭 차이로 메뉴가 밀리는 현상 방지 */
  .site-header .brand,
  body .site-header .brand {
    flex: 0 0 190px !important;
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-decoration: none !important;
  }

  .site-header .brand img,
  body .site-header .brand img {
    display: block !important;
    width: auto !important;
    height: 42px !important;
    max-width: 190px !important;
    object-fit: contain !important;
  }

  .site-header .desktop-nav,
  body .site-header .desktop-nav,
  header .desktop-nav,
  .desktop-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    scrollbar-width: none !important;
  }

  .site-header .desktop-nav::-webkit-scrollbar,
  .desktop-nav::-webkit-scrollbar {
    display: none !important;
  }

  /* 서버에 구버전 HTML 일부가 남아 있어도 PC에서는 일반 문의 링크 숨김 */
  .site-header .desktop-nav a[href="contact.html"]:not(.nav-cta),
  body .site-header .desktop-nav a[href="contact.html"]:not(.nav-cta),
  .desktop-nav a[href="contact.html"]:not(.nav-cta) {
    display: none !important;
  }

  .site-header .desktop-nav a,
  body .site-header .desktop-nav a,
  header .desktop-nav a,
  .desktop-nav a,
  .site-header .desktop-nav a:link,
  .site-header .desktop-nav a:visited,
  .site-header .desktop-nav a:hover,
  .site-header .desktop-nav a:active,
  .site-header .desktop-nav a:focus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    color: #243044 !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    font-family: inherit !important;
    font-size: 0.98rem !important;
    font-weight: 850 !important;
    line-height: 42px !important;
    letter-spacing: -0.035em !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
  }

  .site-header .desktop-nav a:hover,
  .site-header .desktop-nav a:focus {
    color: #0b4ecf !important;
    background: rgba(11, 78, 207, 0.07) !important;
    border-color: rgba(11, 78, 207, 0.10) !important;
  }

  .site-header .desktop-nav a.nav-cta,
  body .site-header .desktop-nav a.nav-cta,
  .desktop-nav a.nav-cta,
  .site-header .desktop-nav a.nav-cta:link,
  .site-header .desktop-nav a.nav-cta:visited,
  .site-header .desktop-nav a.nav-cta:hover,
  .site-header .desktop-nav a.nav-cta:active,
  .site-header .desktop-nav a.nav-cta:focus {
    display: inline-flex !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0b7cff 0%, #06b6d4 100%) !important;
    border: 1px solid transparent !important;
    box-shadow: 0 10px 22px rgba(0, 116, 255, 0.20) !important;
    transform: none !important;
  }

  .site-header .desktop-nav a.nav-cta:hover,
  .site-header .desktop-nav a.nav-cta:focus {
    background: linear-gradient(135deg, #086be0 0%, #059ebb 100%) !important;
  }

  .menu-toggle,
  body .menu-toggle,
  #mobileMenu,
  body #mobileMenu,
  .mobile-nav,
  body .mobile-nav,
  #mcaitQuickContact,
  body #mcaitQuickContact,
  .mcait-quick-contact,
  body .mcait-quick-contact {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #prototype,
  body #prototype,
  section[id],
  body section[id],
  [id] {
    scroll-margin-top: 92px !important;
  }

  /* PC 첫 화면 슬라이딩 배너 높이 축소: 아래쪽 콘텐츠가 보이도록 */
  body #top.hero,
  #top.hero.hero,
  .hero {
    min-height: 620px !important;
    height: calc(100vh - 82px) !important;
    max-height: 680px !important;
    overflow: hidden !important;
  }

  body #top.hero .hero-slider,
  #top.hero .hero-slider,
  .hero-slider {
    height: 100% !important;
  }

  body #top.hero .hero-content,
  #top.hero .hero-content,
  .hero-content {
    padding-top: 72px !important;
    padding-bottom: 58px !important;
  }

  body #top.hero .hero-content h1,
  #top.hero .hero-content h1,
  .hero-content h1 {
    font-size: clamp(3.15rem, 5.4vw, 5.65rem) !important;
    line-height: 1.04 !important;
  }

  body #top.hero .hero-content p,
  #top.hero .hero-content p,
  .hero-content p {
    max-width: 760px !important;
  }
}

/* 노트북처럼 세로 높이가 낮은 PC 화면에서는 더 낮춤 */
@media screen and (min-width: 769px) and (max-height: 820px) {
  body #top.hero,
  #top.hero.hero,
  .hero {
    min-height: 560px !important;
    height: calc(100vh - 82px) !important;
    max-height: 600px !important;
  }

  body #top.hero .hero-content,
  #top.hero .hero-content,
  .hero-content {
    padding-top: 56px !important;
    padding-bottom: 44px !important;
  }

  body #top.hero .hero-content h1,
  #top.hero .hero-content h1,
  .hero-content h1 {
    font-size: clamp(2.85rem, 4.9vw, 4.9rem) !important;
  }
}

/* =========================================================
   MCAIT CONTENT + DESIGN REFINEMENT v33
   반영 범위: 1~5 우선순위
   1. 메뉴 통일 유지
   2. 첫 화면 배너 높이 조정
   3. 제작 예시 대표 6개 정리
   4. 서비스 패키지 구체화
   5. 상담 페이지 단순화
   ========================================================= */

/* PC hero를 조금 더 낮춰 아래 콘텐츠가 보이도록 최종 보정 */
@media screen and (min-width: 769px) {
  body #top.hero,
  #top.hero.hero,
  .hero {
    min-height: 540px !important;
    height: calc(100vh - 82px) !important;
    max-height: 620px !important;
  }

  body #top.hero .hero-content,
  #top.hero .hero-content,
  .hero-content {
    padding-top: 56px !important;
    padding-bottom: 44px !important;
  }

  body #top.hero .hero-content h1,
  #top.hero .hero-content h1,
  .hero-content h1 {
    font-size: clamp(2.9rem, 4.9vw, 5rem) !important;
  }
}

@media screen and (min-width: 769px) and (max-height: 820px) {
  body #top.hero,
  #top.hero.hero,
  .hero {
    min-height: 500px !important;
    max-height: 560px !important;
  }

  body #top.hero .hero-content,
  #top.hero .hero-content,
  .hero-content {
    padding-top: 44px !important;
    padding-bottom: 36px !important;
  }
}

/* 서비스 패키지 카드 */
.mcait-v33-package-grid,
.mcait-v33-service-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mcait-v33-package-card,
.mcait-v33-service-grid article {
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
  box-shadow: 0 16px 34px rgba(7, 26, 58, 0.07) !important;
  padding: 24px !important;
}

.mcait-v33-package-card h3,
.mcait-v33-service-grid article h3 {
  margin-top: 10px !important;
  margin-bottom: 12px !important;
  color: #071a3a !important;
  letter-spacing: -0.04em !important;
}

.mcait-v33-package-card p,
.mcait-v33-service-grid article p {
  color: #475569 !important;
  line-height: 1.68 !important;
}

.mcait-v33-package-card ul,
.mcait-v33-service-grid article ul {
  margin: 16px 0 0 !important;
  padding-left: 18px !important;
  color: #334155 !important;
  line-height: 1.7 !important;
}

/* 대표 제작 예시 */
.mcait-v33-examples .section-head {
  max-width: 860px !important;
}

.mcait-v33-example-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.mcait-v33-example-card {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
  box-shadow: 0 18px 38px rgba(7, 26, 58, 0.08) !important;
}

.mcait-v33-example-card img {
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
}

.mcait-v33-example-card .prototype-mini-text {
  padding: 20px !important;
}

.mcait-v33-example-card .prototype-title-btn {
  text-align: left !important;
  line-height: 1.28 !important;
  letter-spacing: -0.045em !important;
}

.mcait-v33-more-examples {
  margin-top: 28px !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
  border-radius: 22px !important;
  background: #f8fbff !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.mcait-v33-more-examples summary {
  cursor: pointer !important;
  padding: 18px 22px !important;
  font-weight: 850 !important;
  color: #0b4ecf !important;
  list-style: none !important;
}

.mcait-v33-more-examples summary::-webkit-details-marker {
  display: none !important;
}

.mcait-v33-more-examples summary::after {
  content: "＋" !important;
  float: right !important;
}

.mcait-v33-more-examples[open] summary::after {
  content: "－" !important;
}

.mcait-v33-more-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 22px 22px !important;
}

.mcait-v33-more-grid span {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-weight: 750 !important;
  font-size: 0.92rem !important;
}

/* contact 단순화 */
.mcait-v33-contact-layout {
  align-items: start !important;
}

.mcait-v33-contact-card {
  position: sticky !important;
  top: 112px !important;
}

.mcait-v33-contact-card h3 {
  margin-top: 22px !important;
  color: #071a3a !important;
  letter-spacing: -0.04em !important;
}

.mcait-v33-contact-phone {
  margin-top: 22px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(11, 124, 255, 0.09), rgba(6, 182, 212, 0.10)) !important;
}

.mcait-v33-contact-phone strong,
.mcait-v33-contact-phone span {
  display: block !important;
}

.mcait-v33-contact-phone a {
  display: inline-block !important;
  margin: 8px 0 4px !important;
  color: #0b4ecf !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.mcait-v33-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mcait-v33-steps li {
  padding: 24px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
  box-shadow: 0 14px 30px rgba(7, 26, 58, 0.06) !important;
}

.mcait-v33-steps strong,
.mcait-v33-steps span {
  display: block !important;
}

.mcait-v33-steps strong {
  color: #0b4ecf !important;
  margin-bottom: 8px !important;
}

.mcait-v33-steps span {
  color: #475569 !important;
  line-height: 1.6 !important;
}

@media screen and (max-width: 1024px) {
  .mcait-v33-package-grid,
  .mcait-v33-service-grid,
  .mcait-v33-example-grid,
  .mcait-v33-more-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 768px) {
  .mcait-v33-package-grid,
  .mcait-v33-service-grid,
  .mcait-v33-example-grid,
  .mcait-v33-more-grid,
  .mcait-v33-steps {
    grid-template-columns: 1fr !important;
  }

  .mcait-v33-contact-card {
    position: static !important;
  }

  .mcait-v33-package-card,
  .mcait-v33-service-grid article,
  .mcait-v33-steps li {
    padding: 20px !important;
  }
}

/* =========================================================
   MCAIT CONTACT DB FORM v34
   상담문의 DB 저장형 폼 보정
   ========================================================= */

.mcait-consent-box {
  margin: 18px 0 20px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(15, 48, 122, 0.12) !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
}

.mcait-consent-box label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #334155 !important;
  font-size: 0.94rem !important;
  line-height: 1.55 !important;
  cursor: pointer !important;
}

.mcait-consent-box input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-top: 3px !important;
  flex: 0 0 auto !important;
}

.mcait-hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.mcait-form-notice {
  margin-top: 14px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: rgba(11, 124, 255, 0.08) !important;
  color: #334155 !important;
  line-height: 1.58 !important;
  font-size: 0.94rem !important;
}

.mcait-result-page {
  min-height: 68vh !important;
  display: flex !important;
  align-items: center !important;
}

.mcait-result-card {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 44px !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
  box-shadow: 0 20px 44px rgba(7, 26, 58, 0.10) !important;
  text-align: center !important;
}

.mcait-result-card h1 {
  margin: 12px 0 16px !important;
  color: #071a3a !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  letter-spacing: -0.055em !important;
}

.mcait-result-card p {
  color: #475569 !important;
  line-height: 1.72 !important;
  font-size: 1.05rem !important;
}

.mcait-result-actions {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

@media screen and (max-width: 768px) {
  .mcait-result-card {
    padding: 30px 22px !important;
    border-radius: 22px !important;
  }
}


/* v35: 상담문의 관리자 알림 이메일 기본값을 moonphd@kakao.com으로 반영 */


/* v37: 페이지별 SEO meta, Open Graph, Twitter Card, canonical, JSON-LD 반영 */


/* v38: Naver Search Advisor 콘텐츠 마크업 기준에 맞춘 title/description/OG/Twitter 보정 */


/* =========================================================
   MCAIT PRIVACY POLICY v39
   개인정보처리방침 표/상단 안내문 보정
   ========================================================= */

.legal-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 18px 0 30px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(15, 48, 122, 0.10) !important;
}

.legal-table th,
.legal-table td {
  padding: 16px 18px !important;
  border-bottom: 1px solid rgba(15, 48, 122, 0.10) !important;
  text-align: left !important;
  vertical-align: top !important;
  line-height: 1.65 !important;
}

.legal-table th {
  background: #f1f7ff !important;
  color: #071a3a !important;
  font-weight: 900 !important;
}

.legal-table td {
  color: #334155 !important;
  background: #ffffff !important;
}

.legal-table tr:last-child td {
  border-bottom: 0 !important;
}

.legal-updated {
  margin-top: 34px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
  color: #475569 !important;
  font-weight: 750 !important;
}

@media screen and (max-width: 768px) {
  .legal-table,
  .legal-table thead,
  .legal-table tbody,
  .legal-table tr,
  .legal-table th,
  .legal-table td {
    display: block !important;
    width: 100% !important;
  }

  .legal-table thead {
    display: none !important;
  }

  .legal-table tr {
    border-bottom: 1px solid rgba(15, 48, 122, 0.12) !important;
  }

  .legal-table td {
    border-bottom: 0 !important;
  }

  .legal-table td:nth-child(1)::before {
    content: "수집 항목";
    display: block;
    margin-bottom: 6px;
    color: #0b4ecf;
    font-weight: 900;
  }

  .legal-table td:nth-child(2)::before {
    content: "이용 목적";
    display: block;
    margin-bottom: 6px;
    color: #0b4ecf;
    font-weight: 900;
  }

  .legal-table td:nth-child(3)::before {
    content: "보유 기간";
    display: block;
    margin-bottom: 6px;
    color: #0b4ecf;
    font-weight: 900;
  }
}


/* =========================================================
   MCAIT MCF EXAMPLES v40
   제작예시 섹션: AI MCF 개념 설명 추가
   ========================================================= */

.mcait-mcf-section-head {
  max-width: 960px !important;
}

.mcait-mcf-section-head p {
  font-size: 1.05rem !important;
  line-height: 1.76 !important;
}

.mcait-mcf-section-head strong {
  color: #0b4ecf !important;
  font-weight: 900 !important;
}

.mcait-mcf-explainer {
  display: grid !important;
  grid-template-columns: 1.05fr 1.35fr !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin: 0 0 28px !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(11, 124, 255, 0.10), rgba(6, 182, 212, 0.10)) !important;
  border: 1px solid rgba(11, 124, 255, 0.16) !important;
  box-shadow: 0 18px 38px rgba(7, 26, 58, 0.07) !important;
}

.mcait-mcf-explainer-main {
  padding: 20px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.72) !important;
}

.mcait-mcf-explainer-main h3 {
  margin: 10px 0 12px !important;
  color: #071a3a !important;
  font-size: clamp(1.45rem, 2.4vw, 2.05rem) !important;
  letter-spacing: -0.055em !important;
  line-height: 1.22 !important;
}

.mcait-mcf-explainer-main p {
  margin: 0 !important;
  color: #475569 !important;
  line-height: 1.72 !important;
}

.mcait-mcf-flow {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mcait-mcf-flow li {
  padding: 18px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
}

.mcait-mcf-flow strong,
.mcait-mcf-flow span {
  display: block !important;
}

.mcait-mcf-flow strong {
  margin-bottom: 7px !important;
  color: #0b4ecf !important;
  font-weight: 900 !important;
}

.mcait-mcf-flow span {
  color: #334155 !important;
  line-height: 1.55 !important;
  font-size: 0.95rem !important;
}

.mcait-mcf-note {
  margin: 24px 0 26px !important;
  padding: 20px 22px !important;
  border-radius: 22px !important;
  background: #071a3a !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(7, 26, 58, 0.14) !important;
}

.mcait-mcf-note strong {
  display: inline-flex !important;
  margin-bottom: 8px !important;
  color: #7dd3fc !important;
  font-weight: 900 !important;
}

.mcait-mcf-note p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  line-height: 1.7 !important;
}

.mcait-mcf-note b {
  color: #ffffff !important;
  font-weight: 900 !important;
}

@media screen and (max-width: 960px) {
  .mcait-mcf-explainer {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 640px) {
  .mcait-mcf-explainer {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  .mcait-mcf-flow {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   MCAIT MCF PROTOTYPES v41
   더 많은 제작 예시: 제목 목록이 아니라 25개 프로토타입 갤러리로 확장
   ========================================================= */

.mcait-v41-full-prototypes {
  margin-top: 30px !important;
}

.mcait-v41-full-prototypes summary {
  font-size: 1.02rem !important;
}

.mcait-v41-prototype-intro {
  margin: 0 22px 20px !important;
  padding: 18px 20px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
}

.mcait-v41-prototype-intro strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #0b4ecf !important;
  font-weight: 900 !important;
}

.mcait-v41-prototype-intro p {
  margin: 0 !important;
  color: #475569 !important;
  line-height: 1.7 !important;
}

.mcait-v41-more-prototype-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  padding: 0 22px 24px !important;
}

.mcait-v41-more-card {
  display: block !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 48, 122, 0.10) !important;
  box-shadow: 0 14px 30px rgba(7, 26, 58, 0.06) !important;
}

.mcait-v41-more-card img {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
}

.mcait-v41-more-card .prototype-mini-text {
  padding: 18px !important;
}

.mcait-v41-more-card .prototype-title-btn {
  text-align: left !important;
  line-height: 1.28 !important;
}

.mcait-v41-more-card p {
  color: #475569 !important;
  line-height: 1.62 !important;
}

@media screen and (max-width: 1024px) {
  .mcait-v41-more-prototype-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 640px) {
  .mcait-v41-more-prototype-grid {
    grid-template-columns: 1fr !important;
    padding: 0 14px 18px !important;
  }

  .mcait-v41-prototype-intro {
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
}


/* =========================================================
   MCAIT AI MCF 100 DASHBOARD v42
   75개 추가 프로토타입 + 100개 템플릿 대시보드 미리보기
   ========================================================= */

.mcait-v42-dashboard-cta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin:28px 0!important;padding:24px!important;border-radius:26px!important;background:linear-gradient(135deg,#071a3a 0%,#0b4ecf 100%)!important;color:#fff!important;box-shadow:0 20px 44px rgba(7,26,58,.18)!important}
.mcait-v42-dashboard-cta h3{margin:8px 0 10px!important;color:#fff!important;font-size:clamp(1.5rem,2.6vw,2.2rem)!important;letter-spacing:-.055em!important}
.mcait-v42-dashboard-cta p{margin:0!important;color:rgba(255,255,255,.86)!important;line-height:1.7!important}
.mcait-v42-dashboard-cta .mcait-card-label{background:rgba(255,255,255,.14)!important;color:#7dd3fc!important}
.mcait-v42-dashboard-page .page-hero h1{max-width:920px!important}
.mcait-v42-dashboard-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-bottom:22px!important}
.mcait-v42-dashboard-summary article{padding:24px!important;border-radius:24px!important;background:#fff!important;border:1px solid rgba(15,48,122,.10)!important;box-shadow:0 14px 32px rgba(7,26,58,.07)!important;text-align:center!important}
.mcait-v42-dashboard-summary strong{display:block!important;color:#0b4ecf!important;font-size:clamp(2.2rem,4vw,3.4rem)!important;line-height:1!important;font-weight:950!important}
.mcait-v42-dashboard-summary span{display:block!important;margin-top:10px!important;color:#334155!important;font-weight:850!important}
.mcait-v42-flow{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0 0 28px!important;padding:18px!important;border-radius:22px!important;background:#f8fbff!important;border:1px solid rgba(15,48,122,.10)!important}
.mcait-v42-flow span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 16px!important;border-radius:999px!important;background:#fff!important;color:#0b4ecf!important;font-weight:900!important;border:1px solid rgba(11,124,255,.14)!important}
.mcait-v42-category{margin:22px 0!important;border:1px solid rgba(15,48,122,.10)!important;border-radius:26px!important;background:#f8fbff!important;overflow:hidden!important}
.mcait-v42-category summary{cursor:pointer!important;padding:20px 24px!important;font-weight:950!important;color:#071a3a!important;font-size:1.14rem!important;list-style:none!important}
.mcait-v42-category summary::-webkit-details-marker{display:none!important}
.mcait-v42-category summary span{float:right!important;color:#0b4ecf!important;font-size:.92rem!important}
.mcait-v42-template-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;padding:0 22px 24px!important}
.mcait-v42-template-card{border-radius:24px!important;background:#fff!important;border:1px solid rgba(15,48,122,.10)!important;overflow:hidden!important;box-shadow:0 16px 34px rgba(7,26,58,.07)!important}
.mcait-v42-template-card img{display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;background:#eaf4ff!important}
.mcait-v42-template-body{padding:20px!important}
.mcait-v42-template-body h3{margin:10px 0!important;color:#071a3a!important;line-height:1.25!important;letter-spacing:-.045em!important}
.mcait-v42-template-body p{color:#475569!important;line-height:1.64!important}
.mcait-v42-template-body dl{margin:16px 0 0!important;display:grid!important;gap:10px!important}
.mcait-v42-template-body dl div{padding:12px!important;border-radius:14px!important;background:#f8fbff!important}
.mcait-v42-template-body dt{margin-bottom:5px!important;color:#0b4ecf!important;font-weight:900!important}
.mcait-v42-template-body dd{margin:0!important;color:#334155!important;line-height:1.55!important;font-size:.93rem!important}
@media screen and (max-width:1080px){.mcait-v42-template-grid,.mcait-v42-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media screen and (max-width:720px){.mcait-v42-dashboard-cta{display:block!important}.mcait-v42-dashboard-cta .btn{margin-top:18px!important}.mcait-v42-template-grid,.mcait-v42-dashboard-summary{grid-template-columns:1fr!important}.mcait-v42-category summary span{float:none!important;display:block!important;margin-top:6px!important}}
