/* ==================================================
   responsive.css - 태블릿(991px 이하) / 모바일(767px 이하)
   ================================================== */
@media (max-width:991px){
  .inner{padding:0 20px}
  #gnb ul{gap:24px}
  .sec{padding:64px 0}
  .cards,.cards.c4{grid-template-columns:repeat(2,1fr)}
  .visual h2{font-size:38px}
  .onai .wrap{grid-template-columns:1fr}
  .notice-contact .wrap{grid-template-columns:1fr}
  .biz .row{grid-template-columns:1fr}
  .sub-sec{padding:56px 0}
  .feat{grid-template-columns:repeat(2,1fr)}
  .contact-wrap{grid-template-columns:1fr;gap:36px}
  #footer .inner{gap:32px}
}

@media (max-width:767px){
  .inner{padding:0 16px}
  #header .inner{height:60px}
  .logo-ico{height:32px}
  .logo-txt b{font-size:19px}
  .ham{display:flex;margin-left:auto}
  body.nav-open .ham span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .ham span:nth-child(2){opacity:0}
  body.nav-open .ham span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* 슬라이드 메뉴 : transform 사용 (가로 스크롤 방지) */
  #gnb{position:fixed;top:0;right:0;width:260px;max-width:80vw;height:100%;background:#fff;z-index:110;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:80px 24px 24px;transform:translateX(100%);transition:transform .25s;box-shadow:-8px 0 24px rgba(0,0,0,.08)}
  body.nav-open #gnb{transform:translateX(0)}
  #gnb ul{flex-direction:column;gap:0}
  #gnb ul a{padding:16px 0;font-size:16px;border-bottom:1px solid var(--line)}
  #gnb ul li.on a,#gnb ul a:hover{border-bottom-color:var(--line)}

  .sec{padding:48px 0}
  .sec-head{margin-bottom:24px}
  .sec-head h2{font-size:24px}
  .cards,.cards.c4,.cards.c2{grid-template-columns:1fr;gap:14px}
  .btn{min-height:46px;width:100%}
  .btn-sm{width:auto;min-height:38px}
  .btn-group{flex-direction:row;gap:8px}
  .btn-group .btn{flex:1;padding:0 12px;font-size:14px}

  /* 메인 : 텍스트 → 이미지 → 카드 (모바일 시안) */
  .visual{padding:36px 0 96px}
  .visual .inner{grid-template-columns:1fr;gap:8px}
  .visual h2{font-size:26px}
  .visual p{font-size:14px;margin-top:12px}
  .visual .btn-group{margin-top:20px}
  .visual.has-photo{padding:36px 0 150px;background-image:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 45%,rgba(255,255,255,0) 100%),var(--photo);background-position:center,72% bottom}
  .services{margin-top:-64px;padding-bottom:40px}
  .services .card{display:grid;grid-template-columns:48px 1fr;gap:0 14px;text-align:left;padding:18px;align-items:center}
  .services .card .ico{width:46px;height:46px;margin:0;grid-row:1/3}
  .services .card h3{margin:0 0 2px;font-size:16px}
  .services .card p{font-size:13px}
  .onai{padding:16px 0 56px}
  .onai h2{font-size:22px}
  .onai .desc{font-size:14px}
  .biz .card .th{height:110px}
  .box{padding:20px 16px}

  /* 서브 */
  .sub-hero{min-height:200px}
  .sub-hero .inner{padding-top:40px;padding-bottom:40px}
  .sub-hero h2{font-size:24px}
  .sub-hero p{font-size:13.5px}
  .sub-hero.light .inner{grid-template-columns:1fr}
  .sub-hero.light .pic{display:none}
  .sub-hero.light.has-photo{background-size:cover;background-position:72% center}
  .sub-hero.light.has-photo::before{background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.75) 55%,rgba(255,255,255,.35) 100%)}
  .sub-sec{padding:40px 0}
  .sec-title{font-size:22px}
  .intro p{font-size:14.5px}
  .area{grid-template-columns:1fr;gap:6px;margin-top:28px}
  .area li{display:grid;grid-template-columns:56px 1fr;gap:0 14px;text-align:left;padding:12px 0;align-items:center;border-top:1px solid var(--line)}
  .area .ring{width:48px;height:48px;margin:0;grid-row:1/3;box-shadow:none}
  .area .ring svg{width:24px;height:24px}
  .area li strong{margin-bottom:2px;font-size:16px}
  .banner{min-height:200px}
  .banner h2{font-size:19px}
  .feat{grid-template-columns:1fr;gap:10px}
  .feat li{display:grid;grid-template-columns:44px 1fr;gap:0 14px;text-align:left;padding:14px 16px;align-items:center}
  .feat .fi{width:40px;height:40px;margin:0;grid-row:1/3}
  .feat .fi svg{width:22px;height:22px}
  .feat li h3{font-size:15.5px;margin-bottom:2px}
  .feat li p{font-size:12.5px}
  .cta-band{padding:40px 0}
  .cta-band h2{font-size:21px}
  .biz-list{grid-template-columns:1fr;gap:0}
  .biz-list li{display:grid;grid-template-columns:96px 1fr;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:12px 0;gap:14px;overflow:visible}
  .biz-list .th{height:64px;border-radius:8px}
  .biz-list .tx{padding:0}
  .biz-list h3{font-size:16px;margin-bottom:2px}
  .biz-list p{font-size:12.5px}
  .map{height:220px}
  .inq-form .two{grid-template-columns:1fr}

  .form-tbl,.form-tbl tbody,.form-tbl tr,.form-tbl th,.form-tbl td{display:block;width:100%}
  .form-tbl th{border-bottom:0;padding:12px 0 6px;background:none}
  .form-tbl td{padding:0 0 16px}
  .inp.w-half{max-width:none}
  .form-btns{flex-direction:column}
  .list-tbl th,.list-tbl td{padding:12px 6px;font-size:14px}
  .list-tbl .hide-m{display:none}
  .search-form,.search-form .inp{width:100%}
  .view-head h3{font-size:19px}
  .view-body{padding:24px 4px}
  .view-btns{flex-direction:column}

  #footer{padding:32px 0}
  #footer .inner{flex-direction:column;align-items:flex-start;gap:18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
