    /* ── 가로 스크롤 전역 차단 ── */
    html,
    body {
        overflow-x: hidden !important;
    }

    /* ── wrap 항상 fluid: min-width 전역 제거 ── */
    .wrap {
        min-width: 0 !important;
    }

    /* ── 주요 컨테이너: 자식 고정폭 요소의 페이지 가로 넘침 억제 ── */
    .fc_container,
    .section_spot {
        overflow-x: hidden !important;
    }

    /* ── 1280px 미만: 헤더·컨테이너·푸터 fluid ── */
    @media screen and (max-width: 1280px) {
        .is_side_menu_open {
            min-width: 0 !important;
        }

        /* 헤더 */
        .header .section_header,
        .header .section_header_wrap,
        .header .section_sub_menu_wrap,
        .header .login_inner {
            width: 99% !important;
            box-sizing: border-box !important;
            padding-left: 16px !important;
            padding-right: 16px !important;
        }

        /* 본문 */
        .content,
        .fc_container,
        .fc_content,
        .fcdeck_container {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }

        /* 푸터 */
        .footer .section_footer,
        .footer .section_notice .text {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            padding-left: clamp(16px, 5vw, 80px) !important;
            padding-right: clamp(16px, 5vw, 80px) !important;
        }

        /* left:50%+margin-left 패턴으로 고정 너비를 가진 섹션 요소들 fluid 처리 */
        .section_spot.is_intro .is_bottom,
        .section_spot .spot_homesite {
            position: relative !important;
            left: 0 !important;
            margin-left: 0 !important;
            width: 100% !important;
            box-sizing: border-box !important;
            padding-left: clamp(16px, 5vw, 80px) !important;
            padding-right: clamp(16px, 5vw, 80px) !important;
        }

        .section_spot.is_intro .intro_box,
        .uio_box {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        /* 절대위치 고정폭 요소 (btn_play_area 등) */
        .section_spot .btn_play_area,
        .section_spot .is_center {
            left: 0 !important;
            margin-left: 0 !important;
            width: 100% !important;
            box-sizing: border-box !important;
        }
    }

    /* ── 900px 미만: 네비 메뉴 축소 ── */
    @media screen and (max-width: 900px) {
        .header .area_navbar {
            padding-right: 80px !important;
        }

        .header .list_sitemenu li a {
            padding: 0 8px !important;
            font-size: 14px !important;
        }
    }

    /* ── 768px 이하: 모바일 레이아웃 ── */
    @media screen and (max-width: 768px) {

        /* ─ 헤더 ─ */
        .header .section_header_wrap,
        .header .section_header {
            width: 100% !important;
            box-sizing: border-box !important;
        }

        .header .section_header {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            min-height: 56px !important;
            padding: 0 16px !important;
            position: relative !important;
        }

        /* area_inner: 데스크톱 padding(28px/24px)·overflow:hidden 해제 */
        .header .area_inner {
            display: flex !important;
            align-items: center !important;
            width: 100% !important;
            justify-content: space-between !important;
            padding: 0 !important;
            overflow: visible !important;
        }

        /* 데스크톱 네비게이션 숨기기 */
        .header .area_navbar {
            display: none !important;
        }

        /* 로고 항상 표시 (main 페이지에서도) */
        .header .area_logo,
        .main .header .area_logo {
            display: block !important;
            flex: 1 !important;
        }

        .header .area_logo .site_name a {
            font-size: 18px !important;
            color: inherit !important;
        }

        /* main 페이지 로고 흰색 */
        .main .header:not(.is-past-swiper) .area_logo .site_name a {
            color: #fff !important;
        }

        /* 스와이퍼 지난 후 로고 검정 */
        #mainHeader.is-past-swiper .area_logo .site_name a {
            color: #000 !important;
        }

        /* 햄버거(전체보기) 버튼 항상 표시 */
        .header .area_global {
            position: static !important;
            top: auto !important;
            display: flex !important;
            align-items: center !important;
            gap: 12px !important;
        }

        .header .btn_view_all {
            display: inline-flex !important;
            align-items: center !important;
            gap: 4px !important;
            font-size: 13px !important;
            color: inherit !important;
            background: none !important;
            border: none !important;
            cursor: pointer !important;
            padding: 4px !important;
        }

        /* 모바일: "전체보기" 텍스트·로그인 숨기고 아이콘만 */
        .header .btn_view_all .btn_label,
        .header .btn_login {
            display: none !important;
        }

        .header .btn_view_all .nicon_drawer {
            font-size: 22px !important;
            line-height: 1 !important;
        }

        /* main 페이지 흰색 */
        .main .header:not(.is-past-swiper) .btn_view_all,
        .main .header:not(.is-past-swiper) .btn_view_all span {
            color: #fff !important;
        }

        /* ─ 사이드 메뉴 너비 조정 ─ */
        .is_side_menu_open .fc_wrap {
            right: 85vw !important;
        }

        .is_side_menu_open .side_menu {
            width: 85vw !important;
        }

        /* ─ 768px 이하: 창 높이 기준 대신 width 에 비례한 높이 ── */
        .section_spot.is_intro .spot_images,
        .section_spot.is_intro .swiper-container,
        .section_spot.is_intro .swiper-slide,
        .section_spot.is_intro .img_cover {
            height: clamp(260px, 100vw, 768px) !important;
        }

        /* ─ 본문 카드/콘텐츠 ─ */
        .fcdeck_container,
        .fcdeck_ct,
        .card,
        .fc_content,
        .content {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        /* ─ 푸터 ─ */
        .footer .section_footer,
        .footer .section_notice,
        .footer .section_notice .text,
        .footer .area_account,
        .footer .area_search {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }

        /* 모바일: area_account float 해제 → 세로 스택 */
        .footer .area_account {
            float: none !important;
            margin-top: 0 !important;
            margin-bottom: 20px !important;
        }

        /* 모바일: area_account가 float 해제되므로 footer_inner padding-right 제거 */
        .footer .footer_inner {
            padding-right: 0 !important;
        }

        /* ─ 소개/uio 박스 ─ */
        .uio_box,
        .intro_box,
        .uio_content {
            width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            padding: 16px !important;
        }

        /* ─ is_bottom 사이트 정보 영역 ─ */
        .section_spot.is_intro .is_bottom {
            left: 0 !important;
            margin-left: 0 !important;
            width: 100% !important;
            box-sizing: border-box !important;
            padding: 0 clamp(16px, 5vw, 80px) !important;
            height: 300px !important;
        }

        /* ─ 플로팅 버튼 ─ */
        .is_side_menu_open .floating_item {
            right: calc(85vw + 16px) !important;
        }
    }