/* ═══════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE - 단일 통합 (인라인 스타일까지 강제 override)
   브레이크포인트: 900px / 600px
═══════════════════════════════════════════════════════════════════ */

/* ═══════════ 햄버거 (PC 숨김) ═══════════ */
.nav-hamburger {
    display: none;
    width: 38px; height: 38px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer; padding: 0; position: relative; flex-shrink: 0;
}
.nav-hamburger span {
    display: block; position: absolute; left: 9px;
    width: 20px; height: 2px;
    background: var(--text); border-radius: 2px;
    transition: transform .3s, opacity .3s, top .3s;
}
.nav-hamburger span:nth-child(1) { top: 12px; }
.nav-hamburger span:nth-child(2) { top: 18px; }
.nav-hamburger span:nth-child(3) { top: 24px; }
.nav-hamburger.is-active span:nth-child(1) { top: 18px; transform: rotate(45deg); }
.nav-hamburger.is-active span:nth-child(2) { opacity: 0; }
.nav-hamburger.is-active span:nth-child(3) { top: 18px; transform: rotate(-45deg); }
.mobile-only { display: none; }
.nav-mobile-backdrop { display: none; }


/* ═══════════════════════════════════════════════════════
   ≤ 900px : 모바일/태블릿
═══════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    /* ──── 전역: 가로 스크롤 차단 ──── */
    html, body { overflow-x: hidden !important; max-width: 100vw !important; }
    *, *::before, *::after { box-sizing: border-box; }
    img, iframe, video { max-width: 100% !important; height: auto; }
    table { max-width: 100% !important; }


    /* ──── 인라인 grid 강제 override ──── */
    /* repeat(N, 1fr) 인라인 → 1컬럼 */
    [style*="grid-template-columns:repeat(4"],
    [style*="grid-template-columns: repeat(4"],
    [style*="grid-template-columns:repeat(3"],
    [style*="grid-template-columns: repeat(3"] {
        grid-template-columns: 1fr 1fr !important;
    }
    /* 1fr 1fr / 1fr 2fr / 2fr 1fr 인라인 → 1컬럼 */
    [style*="grid-template-columns:1fr 1fr"],
    [style*="grid-template-columns: 1fr 1fr"],
    [style*="grid-template-columns:1fr 2fr"],
    [style*="grid-template-columns: 1fr 2fr"],
    [style*="grid-template-columns:2fr 1fr"],
    [style*="grid-template-columns: 2fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    /* 복잡한 grid (recruit-process: 1fr auto 1fr auto ...) → 세로 */
    [style*="grid-template-columns:1fr auto"],
    [style*="grid-template-columns: 1fr auto"] {
        grid-template-columns: 1fr !important;
    }
    /* 인라인 큰 padding 축소 (예: padding:10rem 2.5rem 2rem) */
    [style*="padding:10rem"],
    [style*="padding: 10rem"],
    [style*="padding:8rem"],
    [style*="padding: 8rem"] {
        padding: 2rem 1.2rem 1.5rem !important;
    }
    /* 인라인 큰 폰트 축소 (홈/about 등 2.5rem~5rem hero text) */
    [style*="font-size:3rem"],
    [style*="font-size: 3rem"],
    [style*="font-size:3.2rem"],
    [style*="font-size:3.5rem"],
    [style*="font-size:4rem"],
    [style*="font-size:4.5rem"],
    [style*="font-size:5rem"] {
        font-size: 1.6rem !important;
    }
    /* 인라인 white-space:nowrap 해제 (텍스트 짤림 방지) */
    [style*="white-space:nowrap"],
    [style*="white-space: nowrap"] {
        white-space: normal !important;
        word-break: keep-all !important;
    }
    /* 인라인 flex-direction:row + 큰 gap 인 카드 → column */
    [style*="flex-direction:row"][style*="gap:3rem"],
    [style*="flex-direction: row"][style*="gap: 3rem"],
    [style*="flex-direction:row"][style*="gap:2.5rem"] {
        flex-direction: column !important;
        gap: 1rem !important;
        text-align: center !important;
    }


    /* ──── NAV ──── */
    nav { height: 56px !important; padding: 0 5% !important; }
    nav .logo-img { height: 28px !important; }
    .nav-hamburger { display: block !important; }
    .nav-right { display: none !important; }
    .nav-menu .mobile-only { display: block; }
    .nav-menu > li.mobile-expanded > .dropdown { display: block !important; }
    .page { padding-top: 56px !important; }

    /* body 직속으로 옮겨진 nav-menu 는 햄버거 클릭(.mobile-open) 시에만 노출.
       JS 가 페이지 로드 시 body 끝으로 이동하는데, 닫힘 상태에서 footer 아래 가로 메뉴로
       노출되는 것 방지. PC 의 nav 안 메뉴는 영향 없음. */
    body > #navMenu:not(.mobile-open),
    body > .nav-menu:not(.mobile-open) {
        display: none !important;
    }


    /* ──── 페이지 공통 ──── */
    .sub-panel { padding: 1.4rem 4% 2rem !important; }
    .page-header { padding: 0.6rem 4% 0.5rem !important; }
    .page-header h1 { font-size: clamp(1.2rem, 5vw, 1.7rem) !important; white-space: normal !important; word-break: keep-all !important; }
    .breadcrumb { padding: 0.6rem 4% !important; font-size: 0.78rem; }
    .sub-tabs { padding: 0 4% !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .sub-tab { padding: 0.65rem 0.9rem !important; font-size: 0.92rem !important; white-space: nowrap; flex-shrink: 0; }
    .sub-panel-inner { max-width: 100%; padding: 0; }

    /* 폼 컨트롤 iOS 자동 줌 방지 */
    input[type="text"], input[type="search"], input[type="email"],
    input[type="tel"], input[type="number"], input[type="password"],
    select, textarea {
        font-size: 16px !important;
    }


    /* ══════ HOME PAGE ══════ */
    .home-section { padding: 2.2rem 4% !important; }
    .sec-title { font-size: clamp(1.4rem, 5vw, 1.9rem) !important; word-break: keep-all !important; }
    .sec-sub { font-size: 0.92rem !important; word-break: keep-all !important; }
    #home-hero { padding: 1.5rem 4% 2rem !important; }

    /* Hero */
    .hero-layout { padding: 1rem !important; flex-direction: column !important; gap: 1.5rem !important; }
    .hero-inner { width: 100% !important; padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
    .hero-h1 {
        font-size: clamp(1.4rem, 5.5vw, 1.9rem) !important;
        letter-spacing: 0 !important;
        line-height: 1.3 !important;
        word-break: keep-all !important;
        white-space: normal !important;
    }
    .hero-h1 br { display: none !important; }
    .hero-h1 .hl { display: inline !important; }
    .hero-badge { font-size: 0.78rem !important; padding: 0.4rem 0.8rem !important; }
    .hero-chatbot-preview { width: 100% !important; max-width: 100% !important; }
    .hcp-body { max-height: 240px; overflow-y: auto; }
    .hcp-title { font-size: 0.78rem !important; }
    .hcp-online-lbl { font-size: 0.72rem !important; }

    /* hero-desc 짤림 방지 - nowrap 해제, gap 축소 */
    .hero-desc-list {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 0 0.4rem !important;
    }
    .hero-desc-lines {
        display: block !important;
        flex-direction: column !important;
        white-space: normal !important;
        word-break: keep-all !important;
        gap: 0.3rem !important;
        text-align: center !important;
        margin-bottom: 0.6rem !important;
    }
    .hero-desc-plain {
        font-size: 0.88rem !important;
        white-space: normal !important;
        display: inline !important;
    }
    .hero-desc-em {
        font-size: 0.95rem !important;
        white-space: normal !important;
        display: inline !important;
        word-break: keep-all !important;
    }
    .hero-desc-em::after { display: none !important; }

    /* AI Technology + Solution 카드 - 1컬럼 */
    .ai-tech-grid, .sol-summary-grid {
        grid-template-columns: 1fr !important;
        gap: 0.8rem !important;
    }
    .ai-tech-card, .ssol-link-card { padding: 1.2rem !important; }
    .ai-tech-card h3 { font-size: 1.1rem !important; }
    .ai-tech-card p { font-size: 0.88rem !important; }
    .atc-example { font-size: 0.82rem !important; padding: 0.6rem 0.8rem !important; }

    /* AI Ready Lab */
    .ai-sol-layout { grid-template-columns: 1fr !important; }
    .aiready-problem-row { grid-template-columns: 1fr !important; gap: 0.8rem !important; }
    .aiready-step-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
    .aiready-step-card { padding: 1.2rem !important; }
    .aiready-step-card h3 { font-size: 1.05rem !important; word-break: keep-all; }
    .aiready-step-card p { font-size: 0.85rem !important; word-break: keep-all; }
    .aiready-feat-list li {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 0.3rem !important;
        line-height: 1.55 !important;
        font-size: 0.85rem !important;
    }
    .aiready-feat-list strong { word-break: keep-all !important; white-space: normal !important; }
    .aiready-arrow-line { flex-wrap: wrap !important; gap: 0.4rem !important; font-size: 0.85rem !important; padding: 0.8rem !important; }
    .aiready-problem-card { padding: 1rem !important; }
    .aiready-problem-card h3 { font-size: 1rem !important; }
    .aiready-problem-card p { font-size: 0.84rem !important; word-break: keep-all; }

    /* 장비 보러가기 배지 */
    .equip-btn-badge {
        position: static !important;
        display: inline-flex !important;
        flex-direction: row !important;
        gap: 4px !important;
        padding: 3px 8px !important;
        font-size: 0.7rem !important;
        margin-left: 4px !important;
        border-radius: 4px !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        white-space: normal !important;
    }
    .equip-btn-badge > span:last-child { display: none !important; }
    .equip-btn-badge > span:nth-child(2) { font-size: 0.65rem !important; opacity: 0.85 !important; }

    /* AI 챗봇 데모 */
    .chatbot-demo-section { padding: 2rem 4% !important; }
    .cbd-wrap { grid-template-columns: 1fr !important; gap: 1rem !important; height: auto !important; }
    .cbd-left, .cbd-chat {
        width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    }
    .cbd-sol-list {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        overflow: visible !important;
    }
    .cbd-sol { padding: 0.6rem !important; font-size: 0.82rem !important; min-width: 0; }
    .cbd-sol-icon svg { width: 18px !important; height: 18px !important; }
    .cbd-sol-name { font-size: 0.85rem !important; }
    .cbd-sol-desc { font-size: 0.68rem !important; }
    .cbd-suggestions { display: none !important; }
    .cbd-chat { min-height: 360px; }
    .cbd-messages { min-height: 200px; max-height: 280px; }
    .cbd-input-area { padding: 0.6rem !important; }
    .cbd-input { font-size: 0.88rem !important; }

    /* 고객사 슬라이더 - 2개씩 표시하여 카드/로고/이름 가독성 확보 */
    .home-clients-section { padding: 2rem 4% !important; }
    .ci-slider-wrap { padding: 0 0.3rem !important; gap: 0.4rem !important; }
    .ci-slider-viewport { padding: 0 !important; }
    .ci-slider-track { gap: 0.6rem !important; }
    .ci-card {
        flex: 0 0 calc((100% - 0.6rem) / 2) !important;
        padding: 1rem 0.5rem !important;
        min-height: 130px !important;
        overflow: hidden !important;
    }
    .ci-card .ci-logo-box {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        margin: 0 auto 0.5rem !important;
        border-radius: 12px !important;
        padding: 6% 8% !important;
        box-sizing: border-box !important;
    }
    .ci-card .ci-logo-box img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    .ci-card .ci-name {
        font-size: 0.84rem !important;
        line-height: 1.35 !important;
        position: static !important;
        background: transparent !important;
        padding: 0 0.2rem !important;
        text-align: center;
        word-break: keep-all !important;
        margin-top: 0.2rem !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        opacity: 1 !important;
    }
    .ci-card .ci-abbr { font-size: 0.88rem !important; }
    .ci-arrow { width: 30px !important; height: 30px !important; font-size: 0.95rem !important; }

    /* CTA 배너 */
    .home-cta-banner { padding: 2rem 4% !important; }
    .cta-inner { grid-template-columns: 1fr !important; gap: 1rem !important; text-align: center; }
    .cta-right { flex-direction: column !important; gap: 0.5rem !important; }
    .cta-right button { width: 100% !important; }


    /* ══════ ABOUT (회사소개) ══════ */
    .about-greeting { display: block !important; }
    .about-stats {
        grid-template-columns: 1fr 1fr !important;
        gap: 1px !important;
    }
    .about-stats > div { padding: 1.2rem 0.5rem !important; }
    .about-stats > div > div:first-child {
        font-size: 1.8rem !important;
    }
    .about-stats > div > div:nth-child(2) {
        font-size: 0.82rem !important;
    }
    .ceo-row { grid-template-columns: 1fr !important; gap: 1rem !important; text-align: center; }
    .ceo-ava { margin: 0 auto !important; }
    .about-info-grid { grid-template-columns: 1fr 1fr !important; gap: 0.6rem !important; }
    .about-vision-box {
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: 360px;
    }
    .about-vision-box > div:first-child { height: 240px !important; }
    .about-vision-box > div:first-child img {
        height: 240px !important; max-height: 240px !important;
        width: 100% !important; object-fit: cover !important;
    }
    .about-vision-box > div:first-child > div {
        padding: 1.5rem 1.2rem !important;
    }
    .about-vision-box > div:first-child > div .cs-line {
        font-size: 1.4rem !important;
    }

    /* 오시는 길 / Location */
    .location-wrap {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .map-placeholder { min-height: 240px !important; }
    .map-placeholder iframe { min-height: 240px !important; }
    .contact-info-card { padding: 1rem !important; }
    .ci-row { padding: 0.6rem 0 !important; gap: 0.6rem !important; }
    .ci-key { font-size: 0.78rem !important; }
    .ci-val { font-size: 0.85rem !important; word-break: keep-all !important; }
    .greeting-location-section { margin-top: 2rem !important; padding-top: 1.5rem !important; }
    .greeting-location-section h2.sec-title { font-size: 1.4rem !important; }

    /* recruit */
    .recruit-hero {
        flex-direction: column !important;
        padding: 1.5rem !important;
        gap: 1rem !important;
    }
    .recruit-hero > div:first-of-type { flex: 0 1 auto !important; }
    .recruit-hero h2 { font-size: 1.4rem !important; word-break: keep-all !important; }
    .recruit-hero-desc { font-size: 0.92rem !important; word-break: keep-all !important; }
    .recruit-process {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 0.5rem !important;
        align-items: stretch !important;
    }
    .recruit-process > div { margin-bottom: 0 !important; width: 100% !important; }
    .rp-arrow {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        font-size: 1.2rem !important;
        padding: 0.2rem 0 !important;
        transform: none !important;
        color: var(--muted) !important;
    }
    /* → 를 ↓ 로 텍스트 교체 (모바일에서만) */
    .rp-arrow { font-size: 0 !important; }
    .rp-arrow::after { content: '↓'; font-size: 1.4rem; }
    .recruit-benefits, .recruit-faq { grid-template-columns: 1fr !important; }
    .recruit-benefit-grid { grid-template-columns: 1fr 1fr !important; gap: 0.7rem !important; }
    .rb-item { padding: 0.9rem 0.6rem !important; min-height: 90px !important; }
    .rb-icon svg { width: 1.6rem !important; height: 1.6rem !important; }
    .rb-title-only { font-size: 0.82rem !important; word-break: keep-all !important; line-height: 1.35 !important; }
    .recruit-job-grid { grid-template-columns: 1fr !important; gap: 0.8rem !important; }
    .rj-card { padding: 1rem !important; }
    .rj-title { font-size: 1rem !important; }
    .rj-stack { font-size: 0.85rem !important; }
    .rj-list li { font-size: 0.85rem !important; word-break: keep-all !important; }
    .rj-type { font-size: 0.78rem !important; }
    .recruit-section-title { font-size: 0.95rem !important; }

    /* recruit-conduct-card : flex-direction:row 인라인 강제 column */
    .recruit-conduct-grid { grid-template-columns: 1fr !important; gap: 0.8rem !important; }
    .recruit-conduct-card {
        flex-direction: column !important;
        gap: 0.7rem !important;
        padding: 1.2rem 0.9rem !important;
        text-align: center !important;
        align-items: center !important;
    }
    .recruit-conduct-card .rcc-icon svg { width: 56px !important; height: 56px !important; }
    .recruit-conduct-card .rcc-title {
        font-size: 1.3rem !important;
        letter-spacing: 0.1em !important;
        margin-bottom: 0.2rem !important;
    }
    .recruit-conduct-card .rcc-desc {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
        word-break: keep-all !important;
    }
    .recruit-conduct-card > div:last-child { text-align: center !important; }

    /* recruit-vision-wrap */
    .recruit-vision-wrap { grid-template-columns: 1fr !important; padding: 1.5rem !important; gap: 1rem !important; }
    .recruit-vision-left { border-right: none !important; padding-right: 0 !important; border-bottom: 1px solid var(--border); padding-bottom: 1rem; }
    .recruit-vision-title { font-size: 1.6rem !important; }
    .recruit-vision-sub { font-size: 1rem !important; }

    /* 사업실적 타임라인 */
    .ptl-year-block {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 0.4rem !important;
        padding: 1rem 0 !important;
    }
    /* timeline 세로줄/동그라미 점 모바일 숨김 */
    .ptl-year-block::before,
    .ptl-year::after { display: none !important; }
    .ptl-year {
        width: 100% !important;
        text-align: left !important;
        padding: 0.3rem 0 !important;
        justify-content: flex-start !important;
    }
    .ptl-year span:first-child {
        font-size: 1.5rem !important;
        background: transparent !important;
        padding: 0 !important;
    }
    .ptl-year span { font-size: 1.5rem !important; }
    .ptl-list { padding-left: 0 !important; }
    .ptl-list li {
        padding: 0.6rem 0.5rem !important;
        font-size: 0.88rem !important;
        line-height: 1.5 !important;
        flex-wrap: wrap !important;
        gap: 0.3rem !important;
        align-items: flex-start !important;
    }
    .ptl-list li strong {
        white-space: normal !important;
        min-width: 0 !important;
        flex-shrink: 1 !important;
        word-break: keep-all !important;
        display: block !important;
        width: 100% !important;
        font-size: 0.92rem !important;
        margin-bottom: 0.2rem !important;
    }
    .ptl-item-desc {
        font-size: 0.84rem !important;
        word-break: keep-all !important;
        display: block !important;
        width: 100% !important;
        color: var(--muted) !important;
    }
    .ptl-list li::before { display: none !important; }
    .perf-tabs { flex-wrap: wrap; gap: 0.4rem !important; }
    .ptab { flex: 1 1 calc(50% - 0.2rem) !important; font-size: 0.88rem !important; padding: 0.5rem 0.8rem !important; }
    .perf-subtitle { font-size: 0.92rem !important; word-break: keep-all; }
    .perf-year-select { font-size: 0.88rem !important; padding: 0.4rem 0.6rem !important; }


    /* ══════ SOLUTION ══════ */
    .sol-detail-wrap { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
    .sol-info-left, .sol-info-right { width: 100% !important; }
    .sol-product-badge { font-size: 0.72rem !important; }
    .sol-icon-big svg { width: 48px !important; height: 48px !important; }
    .sol-desc { font-size: 0.92rem !important; word-break: keep-all; }
    .sfl-item { font-size: 0.88rem !important; line-height: 1.55 !important; word-break: keep-all; }

    .func-core-grid, .func-grid-wide, .func-sub-grid {
        grid-template-columns: 1fr !important; gap: 0.8rem !important;
    }
    .func-sub-box { padding: 1rem !important; }
    .func-core-item { font-size: 0.88rem !important; word-break: keep-all; }
    .func-core-label { font-size: 0.78rem !important; }
    .sol-effect-row, .sol-effect-grid { grid-template-columns: 1fr 1fr !important; gap: 0.5rem !important; }
    .sol-effect-item { padding: 0.8rem !important; }
    .sol-effect-title { font-size: 1.1rem !important; }
    .sol-video-wrap { grid-template-columns: 1fr !important; gap: 1rem !important; }
    .sol-video-list { flex-direction: row !important; flex-wrap: wrap !important; }
    .sol-vitem { flex: 1 1 calc(50% - 0.3rem) !important; font-size: 0.82rem !important; padding: 0.5rem 0.7rem !important; }
    .wfp-tabs, .wfp-step-tabs { flex-wrap: wrap !important; gap: 0.3rem !important; }
    .wfp-tab { flex: 1 1 calc(50% - 0.2rem) !important; font-size: 0.82rem !important; padding: 0.4rem 0.6rem !important; }
    #equip-accordion { grid-template-columns: 1fr !important; }
    .ea-header { padding: 0.7rem 0.9rem !important; }
    .ea-maker { font-size: 0.92rem !important; word-break: keep-all; }
    .ea-tab { font-size: 0.82rem !important; padding: 0.4rem 0.7rem !important; }
    /* WizFlow 자세히 보기 / 클라우드 / 도입문의 버튼들 */
    .sol-cta-row { flex-direction: column !important; gap: 0.5rem !important; }
    .sol-cta-row button { width: 100% !important; min-width: 0 !important; }


    /* ══════ KNOWLEDGE (지식센터) ══════ */
    .knowledge-grid { grid-template-columns: 1fr 1fr !important; gap: 0.7rem !important; }
    .kc-thumb { height: 110px !important; }
    .kc-body { padding: 0.7rem !important; }
    .kc-title { font-size: 0.92rem !important; line-height: 1.4 !important; word-break: keep-all; }
    .kc-desc {
        font-size: 0.78rem !important; line-height: 1.5 !important;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }
    .kc-tag { font-size: 0.66rem !important; padding: 2px 6px !important; }
    .kc-date { font-size: 0.68rem !important; }
    .kc-meta { gap: 0.4rem !important; }
    /* 비디오 1컬럼 */
    .video-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
    .video-card { max-width: 100% !important; }
    .video-thumb { aspect-ratio: 16/9; }
    .video-thumb iframe { width: 100% !important; height: 100% !important; }
    .video-title { font-size: 0.92rem !important; word-break: keep-all; }
    .video-tag { font-size: 0.7rem !important; }
    .video-date { font-size: 0.78rem !important; }


    /* ══════ SUPPORT / INQUIRY ══════ */
    .inquiry-wrap { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
    .form-row { grid-template-columns: 1fr !important; gap: 0.8rem !important; }
    .form-grid { gap: 1rem !important; }
    .form-input { font-size: 16px !important; padding: 0.7rem 0.9rem !important; }
    .form-label { font-size: 0.85rem !important; }
    .inquiry-info { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0.6rem !important; }
    .inq-card { padding: 0.9rem !important; }
    .inq-card h4 { font-size: 0.9rem !important; margin-bottom: 0.5rem !important; }
    .inq-row { font-size: 0.8rem !important; word-break: break-all; }
    .trust-item { font-size: 0.8rem !important; line-height: 1.5 !important; word-break: keep-all; }
    .inq-form-header { flex-direction: column !important; gap: 0.3rem !important; text-align: center !important; }
    .inq-form-title { font-size: 1.25rem !important; }
    .inq-form-desc { font-size: 0.85rem !important; word-break: keep-all; }
    .agree-section { padding: 0.8rem !important; font-size: 0.82rem !important; }
    .agree-section label > span { font-size: 0.82rem !important; }
    .agree-section textarea { font-size: 0.76rem !important; height: 110px !important; }
    .g-recaptcha { transform: scale(0.85); transform-origin: 0 0; margin-bottom: -10px; }


    /* ══════ 게시판 ══════ */
    .article-list-toolbar { flex-direction: column !important; align-items: stretch !important; gap: 0.6rem !important; }
    .article-list-toolbar > form { width: 100% !important; flex-wrap: wrap !important; gap: 0.4rem !important; }
    .article-list-toolbar select { flex: 0 0 80px !important; }
    .article-list-toolbar input { flex: 1 1 auto !important; min-width: 0 !important; }

    .journal-table { font-size: 0.84rem !important; }
    .journal-table th, .journal-table td { padding: 0.55rem 0.35rem !important; }
    .journal-table tbody td a { font-size: 0.86rem !important; word-break: keep-all; }
    /* 일반 게시판: 파일/조회수 컬럼 숨김 */
    .journal-table th:nth-child(3),
    .journal-table td:nth-child(3),
    .journal-table th:nth-child(5),
    .journal-table td:nth-child(5) { display: none; }
    .journal-wrap { overflow-x: auto; }

    /* 게시글 상세 */
    .av-head { padding: 1.2rem 0 1rem !important; margin-bottom: 1.4rem !important; }
    .av-head h1 { font-size: 1.1rem !important; line-height: 1.4 !important; word-break: keep-all; }
    .av-meta { font-size: 0.82rem !important; gap: 0.8rem !important; flex-wrap: wrap !important; }
    .av-content { font-size: 0.95rem !important; }
    .av-content img { max-width: 100% !important; height: auto !important; }
    .av-content iframe { max-width: 100% !important; }
    .av-content table { display: block !important; overflow-x: auto !important; max-width: 100% !important; }
    .av-attach { padding: 0.7rem 0.9rem !important; }
    .av-attach-item a { font-size: 0.88rem !important; word-break: break-all; }
    .av-actions { flex-direction: column !important; gap: 0.5rem !important; }
    .av-actions > button { width: 100% !important; }
    .av-actions .av-actions-right { display: flex !important; width: 100% !important; gap: 0.5rem !important; }
    .av-actions .av-actions-right button { flex: 1 !important; }
    .av-nav-item { flex-wrap: wrap !important; padding: 0.8rem 0 !important; }
    .av-nav-label { min-width: 56px !important; font-size: 0.78rem !important; }
    .av-nav-link { width: 100% !important; order: 3 !important; font-size: 0.88rem !important; }
    .av-nav-date { font-size: 0.78rem !important; }

    /* 페이지네이션 */
    .pgn { gap: 0.2rem !important; flex-wrap: wrap !important; }
    .pgn-btn { min-width: 30px !important; height: 30px !important; font-size: 0.82rem !important; padding: 0 0.4rem !important; }


    /* ══════ FOOTER ══════ */
    footer {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        padding: 1.5rem 5% 1rem !important;
    }
    .ft-col { display: none !important; }
    footer > div:first-child { grid-column: 1 !important; }
    .ft-desc { font-size: 0.82rem !important; line-height: 1.5 !important; }
    .ft-bottom {
        flex-direction: column !important; align-items: flex-start !important;
        gap: 0.4rem !important; padding: 0.8rem 5% !important;
    }
    .ft-copy { font-size: 0.76rem !important; }
    .ft-links { gap: 0.9rem !important; }
    .ft-links a { font-size: 0.76rem !important; }
    .ft-sns { gap: 0.4rem !important; margin-top: 0.6rem !important; }
    .ft-sns-btn { padding: 0.3rem 0.6rem !important; font-size: 0.76rem !important; }
    .ft-sns-btn svg { width: 14px !important; height: 14px !important; }


    /* ══════ 플로팅 버튼 (아이콘만) ══════ */
    .float-btns { right: 0.9rem !important; bottom: 0.9rem !important; gap: 0.45rem !important; }
    .float-btn { padding: 0.55rem !important; }
    .float-btn .float-btn-text { display: none !important; }
    .float-btn .float-icon { width: 18px !important; height: 18px !important; }
    .float-btn .float-badge-free,
    .float-btn .float-badge-new { display: none !important; }
}


/* ═══════════════════════════════════════════════════════
   ≤ 600px : 작은 모바일
═══════════════════════════════════════════════════════ */
@media (max-width: 600px) {
    .home-section { padding: 1.8rem 4% !important; }
    .sub-panel { padding: 1.1rem 3.5% 1.5rem !important; }
    .page-header { padding: 0.4rem 3.5% 0.3rem !important; }
    .page-header h1 { font-size: clamp(1.1rem, 5vw, 1.4rem) !important; }
    .breadcrumb { padding: 0.4rem 3.5% !important; font-size: 0.72rem !important; }
    .sub-tabs { padding: 0 3.5% !important; }
    .sub-tab { padding: 0.55rem 0.7rem !important; font-size: 0.85rem !important; }

    /* Home */
    .hero-h1 { font-size: clamp(1.2rem, 5vw, 1.6rem) !important; line-height: 1.3 !important; }
    .hero-desc-list { font-size: 0.82rem !important; }

    /* About */
    .about-stats { grid-template-columns: 1fr 1fr !important; }
    .about-stats > div > div:first-child { font-size: 1.5rem !important; }
    .about-stats > div > div:nth-child(2) { font-size: 0.74rem !important; }
    .about-info-grid { grid-template-columns: 1fr !important; }
    .about-vision-box > div:first-child .cs-line { font-size: 1.2rem !important; }
    .recruit-benefit-grid { grid-template-columns: 1fr 1fr !important; }
    .rb-title-only { font-size: 0.76rem !important; }

    /* Home */
    .cbd-sol-list { grid-template-columns: 1fr !important; }
    .aiready-arrow-line { flex-direction: column !important; gap: 0.3rem !important; }
    .aiready-chevron { transform: rotate(90deg) !important; }
    .ci-card { min-height: 120px !important; padding: 0.8rem 0.4rem !important; }
    .ci-card .ci-name { font-size: 0.78rem !important; }

    /* Solution */
    .sol-effect-row, .sol-effect-grid { grid-template-columns: 1fr !important; }
    .sol-vitem { flex: 1 1 100% !important; }
    .wfp-tab { flex: 1 1 100% !important; }

    /* Knowledge */
    .knowledge-grid { grid-template-columns: 1fr !important; }
    .kc-desc { -webkit-line-clamp: 3; }

    /* Support */
    .inquiry-info { grid-template-columns: 1fr !important; }
    .g-recaptcha { transform: scale(0.75); }

    /* 게시판 */
    .av-head h1 { font-size: 1rem !important; }
    .av-meta { flex-direction: column !important; gap: 0.3rem !important; }
    .pgn-btn { min-width: 26px !important; height: 26px !important; font-size: 0.76rem !important; padding: 0 0.3rem !important; }

    /* 사업실적 - 더 작은 폰트 */
    .ptl-list li strong { font-size: 0.88rem !important; }
    .ptl-item-desc { font-size: 0.78rem !important; }
    .ptl-year span { font-size: 1.3rem !important; }

    /* Recruit - 더 작은 카드 */
    .recruit-conduct-card .rcc-title { font-size: 1.15rem !important; letter-spacing: 0.05em !important; }
    .recruit-conduct-card .rcc-desc { font-size: 0.88rem !important; }
    .recruit-conduct-card .rcc-icon svg { width: 48px !important; height: 48px !important; }

    /* Float */
    .float-btns { right: 0.6rem !important; bottom: 0.6rem !important; gap: 0.35rem !important; }
    .float-btn { padding: 0.45rem !important; }
    .float-btn .float-icon { width: 16px !important; height: 16px !important; }

    /* 인라인 큰 값 더 작게 */
    [style*="font-size:3rem"],
    [style*="font-size:3.2rem"],
    [style*="font-size:3.5rem"],
    [style*="font-size:4rem"],
    [style*="font-size:5rem"] {
        font-size: 1.3rem !important;
    }
    [style*="padding:10rem"] { padding: 1.5rem 1rem 1.2rem !important; }

    /* 인라인 font-size:1.99rem (vision box quote) 축소 */
    [style*="font-size:1.99rem"] { font-size: 1.1rem !important; }
    [style*="font-size:1.45rem"] { font-size: 1rem !important; }
    [style*="font-size:1.25rem"] { font-size: 0.92rem !important; }
}
