@media (max-width: 1024px) {
  .nav-wrap { height: 68px; }
  .menu-toggle { display: inline-flex; }
  .gnb { display: none; position: absolute; left: 0; right: 0; top: 110px; max-height: calc(100vh - 110px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: #fff; border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .gnb.is-open { display: block; }
  .gnb > ul { display: block; width: min(100% - 40px, 1180px); margin: 0 auto; padding: 12px 0; }
  .gnb > ul > li > a { height: auto; padding: 12px 0; font-size: 15px; }
  .gnb ul ul { display: block; position: static; min-width: 0; padding: 0 0 10px 14px; box-shadow: none; border: 0; }
  .gnb ul ul a { padding: 7px 0; }
  .main-visual__inner { grid-template-columns: 1fr; gap: 28px; }
  .main-visual__card { width: min(100%, 440px); justify-self: center; }
  .home-service-overview__inner { grid-template-columns: 1fr; }
  .home-service-overview h2 { white-space: normal; }
  .home-panels__grid { grid-template-columns: repeat(2, 1fr); }
  .home-icons__grid { grid-template-columns: repeat(4, 1fr); }
  .home-info__grid { grid-template-columns: 1fr; }
  .home-process { grid-template-columns: repeat(5, minmax(110px, 1fr)); overflow-x: auto; }
  .home-process li { grid-template-rows: 72px auto 40px; }
  .home-process li img { width: min(96px, 100%); height: 72px; }
  .home-media__grid { grid-template-columns: repeat(2, 1fr); }
  .home-media-card img { height: min(26vw, 198px); }
  .home-trust__inner { grid-template-columns: 1fr; }
  .home-social__inner { grid-template-columns: 1fr; }
  .home-social__links { grid-template-columns: repeat(2, 1fr); }
  .orig-feature__grid { grid-template-columns: repeat(2, 1fr); }
  .orig-icons__grid { grid-template-columns: repeat(4, 1fr); }
  .orig-media__grid { grid-template-columns: repeat(3, 1fr); }
  .ransom-layout { grid-template-columns: 1fr; }
  .process-intro { grid-template-columns: 1fr; }
  .process-intro__image { height: 260px; }
  .mobile-intro { grid-template-columns: 1fr; }
  .mobile-intro__image { height: 260px; }
  .data-detail-intro { grid-template-columns: 1fr; }
  .data-detail-intro__image { height: 260px; }
  .about-intro { grid-template-columns: 1fr; }
  .about-intro__image { height: 260px; }
  .mrt-intro { grid-template-columns: 1fr; }
  .mrt-intro__image { height: 260px; }
  .mrt-photo-grid--3, .mrt-photo-grid--5 { grid-template-columns: repeat(2, 1fr); }
  .mrt-cta { align-items: flex-start; flex-direction: column; }
  .about-info-grid, .equipment-list { grid-template-columns: 1fr; }
  .hero__inner { grid-template-columns: 1fr; min-height: auto; }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .footer-main { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 760px) {
  .wrap { width: min(100% - 28px, 1180px); }
  .topbar { font-size: 12px; }
  .topbar__inner { min-height: 32px; flex-wrap: nowrap; gap: 8px; padding: 0; }
  .topbar__inner > span:first-child { display: none; }
  .topbar__tel { font-size: 15px; line-height: 1; }
  .topbar__hours { width: auto; min-width: 0; margin-left: auto; overflow: hidden; color: #c8d5e4; font-size: 12px; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
  .nav-wrap { height: 60px; }
  .brand { min-width: 210px; height: 44px; gap: 8px; }
  .brand__logo { width: 36px; height: 36px; }
  .brand__text { height: 36px; }
  .brand strong { font-size: 16px; }
  .brand em { font-size: 10px; margin-top: 3px; }
  .menu-toggle { display: inline-flex; }
  .gnb { display: none; position: absolute; left: 0; right: 0; top: 92px; max-height: calc(100vh - 92px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: #fff; border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .gnb.is-open { display: block; }
  .gnb > ul { display: block; width: min(100% - 28px, 1180px); margin: 0 auto; padding: 12px 0; }
  .gnb > ul > li > a { height: auto; padding: 12px 0; }
  .gnb ul ul { display: block; position: static; min-width: 0; padding: 0 0 10px 14px; box-shadow: none; border: 0; }
  .gnb ul ul a { padding: 7px 0; }
  .hero__inner { padding: 54px 0; }
  .hero p { font-size: 17px; }
  .hero__panel dl { grid-template-columns: 1fr; gap: 4px; }
  .section { padding: 58px 0; }
  .main-visual__inner { min-height: auto; padding: 54px 0 78px; }
  .main-visual p { font-size: 17px; line-height: 1.58; overflow-wrap: anywhere; }
  .main-visual__card { width: 100%; max-width: none; padding: 22px; }
  .main-visual__card a { max-width: none; }
  .home-service-overview { margin-top: -36px; }
  .home-service-overview__inner { padding: 22px; }
  .home-service-overview h2 { font-size: 20px; }
  .home-panels { padding-top: 28px; }
  .home-panels__grid, .home-media__grid { grid-template-columns: 1fr; }
  .home-media-card img { height: min(56vw, 210px); }
  .home-trust { padding: 44px 0; }
  .home-trust__head { margin-bottom: 18px; }
  .home-trust__head h2 { font-size: 25px; }
  .home-trust__head p { font-size: 14px; }
  .home-trust-card { grid-template-columns: 1fr; gap: 14px; padding: 14px; }
  .home-trust-card img { height: 170px; }
  .home-trust-card strong { font-size: 21px; }
  .home-trust-card span { font-size: 14px; }
  .home-icons__grid { grid-template-columns: repeat(2, 1fr); }
  .home-process { grid-template-columns: 1fr; overflow: visible; }
  .home-process li { grid-template-rows: 76px auto 38px; min-height: 168px; padding-top: 16px; }
  .home-process li img { width: 112px; height: 76px; }
  .home-process span { min-height: 38px; }
  .home-contact__inner { display: block; }
  .home-contact .btns { margin-top: 18px; }
  .home-social__links { grid-template-columns: 1fr; }
  .orig-feature__grid, .orig-media__grid, .orig-social__grid { grid-template-columns: 1fr; }
  .orig-icons__grid { grid-template-columns: repeat(2, 1fr); }
  .orig-feature__item { min-height: 210px; }
  .grid--3, .grid--2 { grid-template-columns: 1fr; }
  .card { padding: 20px; }
  .info-table th, .info-table td { display: block; width: 100%; }
  .location-guide, .location-parking { padding: 20px; }
  .location-route li { padding-right: 14px; }
  .btn { width: 100%; }
  .home-call--kakao strong { font-size: 26px; }
  .home-call--kakao .btn { width: min(100%, 240px); }
  .rd-board { width: min(100% - 28px, 1100px); }
  .rd-board__head, .rd-actions, .rd-search { flex-direction: column; align-items: stretch; }
  .rd-btn { width: 100%; }
  .rd-board-title h1, .rd-board-visual h1 { font-size: 30px; }
  .rd-board-title, .rd-board-visual { min-height: auto; padding: 42px 0; }
  .ransom-summary, .ransom-section { padding: 22px; }
  .ransom-summary h2 { font-size: 24px; }
  .process-intro__copy { padding: 22px; }
  .process-intro__copy h2 { font-size: 25px; }
  .process-intro__image { height: 210px; }
  .process-warning, .process-timeline article { grid-template-columns: 1fr; }
  .process-timeline article span { width: 44px; height: 44px; }
  .mobile-intro__copy, .mobile-section { padding: 22px; }
  .mobile-intro__copy h2 { font-size: 24px; }
  .mobile-intro__image { height: 210px; }
  .pre-register__head, .pre-register__section { padding: 20px; }
  .pre-register__head h2 { font-size: 25px; }
  .pre-register__phone, .pre-register__zipcode, .pre-register__passwords, .pre-register__files, .pre-register__type { grid-template-columns: 1fr; }
  .pre-register__type label { min-height: auto; padding: 15px; }
  .pre-register__check { padding: 14px; }
  .rd-pre-view th, .rd-pre-view td { display: block; width: 100%; }
  .data-detail-intro__copy, .data-detail-section { padding: 22px; }
  .data-detail-intro__copy h2 { font-size: 24px; }
  .data-detail-intro__image { height: 210px; }
  .about-intro__copy, .about-section { padding: 22px; }
  .about-intro__copy h2 { font-size: 24px; }
  .about-intro__image { height: 210px; }
  .mrt-intro__copy, .mrt-section { padding: 22px; }
  .mrt-intro__copy h2, .mrt-cta h2 { font-size: 24px; }
  .mrt-intro__image { height: 210px; }
  .mrt-photo-grid--3, .mrt-photo-grid--5 { grid-template-columns: 1fr; }
  .mrt-photo-grid img, .mrt-photo-grid--5 img { height: 190px; }
  .mrt-cta { padding: 22px; }
  .site-footer { padding-top: 28px; }
  .footer-main { gap: 16px; }
  .footer-logo { margin-bottom: 2px; }
  .footer-logo img { width: 34px; height: 34px; }
  .footer-logo strong { font-size: 17px; }
  .footer-logo em { font-size: 10px; }
  .footer-info ul { gap: 0; }
  .footer-info li { grid-template-columns: 100px minmax(0, 1fr); gap: 8px; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 12px; line-height: 1.45; }
  .footer-info li strong { font-size: 12px; }
  .footer-biz { display: block; margin: 2px 0 0; }
  .footer-hours { gap: 3px; padding: 12px; }
  .footer-hours strong { font-size: 14px; }
  .footer-hours span { font-size: 12px; }
  .footer-top { display: none; }
  .footer-bottom { margin-top: 18px; padding: 12px 0; font-size: 12px; }
  .footer-bottom nav { display: none; }
}
