html,body{max-width:100%;overflow-x:hidden}

.intro-layout>*{min-width:0}

@media (max-width: 1080px) {
  .site-navigation { gap: 18px; }
  .site-navigation a { font-size: 13px; }
  /* 태블릿에서도 이미지가 문구 영역을 침범하지 않도록 축소 */
  .home-hero__art { width: 52%; opacity: .72; }
  .conflict-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .conflict-card { grid-template-columns: 88px 1fr; padding: 23px; }
  .conflict-card__icon { width: 80px; height: 80px; transform: scale(.82); transform-origin: left center; }
  .analysis-dashboard article { padding: 24px; }
}

@media (max-width: 820px) {
  .home-container,
  .site-header__inner,
  .site-footer__inner { width: min(100% - 28px, 680px); }
  .site-header { height: 68px; }
  .site-brand strong { font-size: 19px; }
  .site-brand__mark { transform: scale(.85); transform-origin: left center; }
  .mobile-nav-button { display: block; }
  .site-navigation {
    position: absolute;
    top: 68px;
    right: 0;
    left: 0;
    height: auto;
    display: none;
    padding: 10px 20px 18px;
    border-bottom: 2px solid #0b3b70;
    background: #eef5fc;
    box-shadow: 0 14px 26px rgba(0, 32, 70, .16);
  }
  .site-header.is-open .site-navigation { display: block; }
  .site-navigation a { height: 50px; font-size: 16px; }
  .site-navigation a::after { display: none; }
  /* 모바일 펼침메뉴: 메뉴별 배경과 구분선을 또렷하게 표시 */
  .site-navigation > a {
    margin-bottom: 2px;
    padding-right: 14px;
    padding-left: 14px;
    border-bottom: 1px solid #afc6df;
    border-radius: 5px;
    background: #e1edf9;
  }
  .site-navigation > a:hover,
  .site-navigation > a:focus-visible,
  .site-navigation > a.is-active {
    background: #d3e5f7;
  }

  .home-hero,
  .home-hero__inner { min-height: 560px; }
  .home-hero__art {
    top: 245px;
    right: -11%;
    width: 100%;
    height: 315px;
    opacity: .72;
    transform: none;
    background-position: 58% center;
    background-size: cover;
  }
  .home-hero__art::after {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, #073361 0%, rgba(7,51,97,.72) 18%, transparent 43%);
    content: "";
  }
  .home-hero__inner { align-items: flex-start; }
  .home-hero__copy { width: 100%; padding-top: 42px; text-align: center; }
  .home-hero__eyebrow { margin-bottom: 15px; font-size: 12px; }
  .home-hero h1 { font-size: 34px; line-height: 1.42; }
  .home-hero__copy > p:not(.home-hero__eyebrow) { margin-top: 16px; font-size: 16px; line-height: 1.75; }
  .home-hero__actions { justify-content: center; }

  .conflict-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
  .conflict-card { min-height: 150px; }
  .analysis-dashboard { grid-template-columns: 1fr; }
  .analysis-dashboard article + article { border-top: 1px solid rgba(164, 204, 245, .18); border-left: 0; }
  .analysis-dashboard__file .document-preview { height: 150px; }
  .service-tabs { grid-template-columns: repeat(2, 1fr); }
  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 18px;
    justify-items: center;
    text-align: center;
  }
  .site-footer__links { justify-content: center; }
}

@media (max-width: 640px) {
  .conflict-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .intro-wrap{width:calc(100% - 24px);padding:22px 0 40px}
  .intro-layout{gap:18px}
  .intro-card{width:100%;min-width:0;padding:27px 18px;overflow:hidden}
  .intro-card h2{font-size:27px}
  .intro-card p{font-size:16px;line-height:1.85;overflow-wrap:anywhere;word-break:keep-all}
  .org-box{min-height:0;padding:0}
  .org-box img{max-width:100%;height:auto}
  .side-menu a{font-size:16px}
  .home-container { width: calc(100% - 28px); }
  .home-hero,
  .home-hero__inner { min-height: 535px; }
  .home-hero__art { top: 270px; right: -18%; height: 265px; background-position: 56% center; }
  .home-hero__copy { padding-top: 34px; }
  .home-hero__eyebrow { font-size: 11px; letter-spacing: 1.5px; }
  .home-hero h1 { font-size: 29px; line-height: 1.4; letter-spacing: -1.3px; }
  .home-hero__copy > p:not(.home-hero__eyebrow) { font-size: 15px; }
  .home-hero__copy > p:not(.home-hero__eyebrow) br { display: none; }
  .home-hero__actions { gap: 14px; margin-top: 25px; }
  .button { min-height: 50px; padding: 0 20px; font-size: 15px; }
  .conflict-section { padding: 24px 0; }
  .conflict-card { min-height: 132px; grid-template-columns: 88px minmax(0,1fr); gap: 15px; padding: 18px; }
  .conflict-card__icon {
    width:96px;
    height:96px;
    justify-self:start;
    transform:scale(.82) !important;
    transform-origin:left center;
  }
  .conflict-card__copy{min-width:0}
  .conflict-card__copy strong { font-size: 20px; }
  .conflict-card__copy span { font-size: 15px; line-height: 1.65; }
  .analysis-showcase { padding-top: 30px; }
  .section-heading h2 { font-size: 27px; line-height: 1.4; }
  .section-heading p { font-size: 15px; line-height: 1.7; }
  .analysis-dashboard article { padding: 24px 18px; }
  .analysis-dashboard h3 { font-size: 19px; }
  .analysis-summary p,
  .analysis-dashboard__result li,
  .analysis-status { font-size: 14px; }
  .analysis-steps { margin-top: 28px; }
  .analysis-steps div { width: 74px; }
  .analysis-steps b { width: 50px; height: 50px; font-size: 16px; }
  .analysis-steps i { margin-top: 24px; }
  .analysis-steps span { font-size: 12px; white-space: normal; line-height: 1.45; }
  .analysis-showcase__cta { align-items: stretch; flex-direction: column; gap: 10px; }
  .analysis-showcase__cta .button { width: 100%; }
  .free-label { font-size: 15px; line-height: 1.7; text-align: center; }
  .consult-card,
  .locked-card { padding: 24px 18px; }
  .consult-card__heading { align-items: flex-start; margin-bottom: 22px; }
  .consult-card h2,
  .locked-card h2 { font-size: 25px; }
  .field-help,
  .consult-notice { font-size: 15px; }
  .consult-card textarea { min-height: 210px; padding: 16px; font-size: 16px; }
  .consult-card input[type="file"] { font-size: 14px; }
  .form-actions .button { width: 100%; }
  .service-tabs { gap: 8px; }
  .service-tab { font-size: 15px; }
  .recommend-buttons { flex-wrap: wrap; }
  .site-footer__inner { padding: 28px 0; }
  .site-footer p,
  .site-footer__links { font-size: 14px; line-height: 1.75; }
  .site-footer__links { flex-wrap: wrap; }
  .site-footer__copyright { font-size: 12px; }
}
