/* GNB 메가메뉴·내비 스타일 — header.php 인라인에서 외부화(전 페이지 캐시) */
                        .grand-menu-wrapper .grand-menu-container { position: relative; }
                        .grand-close-wrapper {
                            position: absolute;
                            top: 0;
                            left: 0;
                            right: 0;
                            /* 3 주 컬럼(GEO/SEO/홈페이지) 정중앙 — Tools(우측 별격) 제외 */
                            /* 그리드 max-width 1200px 중 Tools 영역(~320px) + 우측 여백 빼고 3컬럼 정중앙 */
                            max-width: 820px;
                            margin: 0 auto;
                            /* 그리드는 1200px 박스 안에서 중앙 정렬되는데, Tools가 우측에 있으니 X 버튼은 왼쪽으로 약간 이동 */
                            transform: translateX(-54px);
                            pointer-events: none;
                            z-index: 50;
                        }
                        .grand-close-wrapper .grand-close-btn { pointer-events: auto; }
                        .grand-close-btn {
                            position: absolute;
                            top: 0;
                            left: 50%;
                            transform: translateX(-50%) translateY(-50%);
                            margin-top: 5px;
                            width: 32px;
                            height: 32px;
                            padding: 6px;
                            border: 1px solid #eee;
                            border-radius: 50%;
                            background: #fff; /* 완전 불투명 */
                            cursor: pointer;
                            z-index: 50;
                            color: #333;
                            transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
                        }
                        .grand-close-btn:hover {
                            background: #fff;
                            border-color: #00c73c;
                            color: #00c73c;
                            transform: translateX(-50%) translateY(-50%) rotate(90deg) scale(1.1);
                            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
                        }

                        /* 3depth GNB 그룹 스타일 (2026-05-10) */
                        .col-group {
                            list-style: none;
                            margin-top: 14px;
                            padding-top: 10px;
                            border-top: 1px solid #f1f5f9;
                        }
                        .col-group:first-child {
                            margin-top: 0;
                            padding-top: 0;
                            border-top: none;
                        }
                        .col-group-title {
                            font-size: 11px;
                            font-weight: 700;
                            letter-spacing: 0.08em;
                            text-transform: uppercase;
                            color: #94a3b8;
                            margin: 0 0 6px 8px;
                            padding: 0;
                        }
                        .col-group-list {
                            list-style: none;
                            margin: 0;
                            padding: 0;
                            display: grid;
                            grid-template-columns: 1fr;
                            gap: 0;
                        }
                        /* children 2개 이상이면 자동 2컬럼 (CSS :has 셀렉터) */
                        .col-group:has(.col-item-sub:nth-child(2)) .col-group-list {
                            grid-template-columns: 1fr 1fr;
                            gap: 0 16px;
                        }
                        /* :has 미지원 브라우저 — PHP에서 부여하는 명시 클래스 폴백 */
                        .col-group-list.is-2col {
                            grid-template-columns: 1fr 1fr;
                            gap: 0 16px;
                        }
                        .col-item-sub > a {
                            padding-left: 8px !important;
                        }
                        .col-item-sub .item-title {
                            font-size: 13px !important;
                            color: #475569;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                        .col-item-sub .icon-figure {
                            width: 22px !important;
                            height: 22px !important;
                            min-width: 22px;
                        }
                        .col-item-sub .icon-figure img {
                            width: 22px;
                            height: 22px;
                        }
                        .col-item-sub:hover .item-title {
                            color: #10b981;
                        }
                        /* === GEO 컬럼 그룹 (col-group-toggle) — 일반 메뉴 룩 + 우측 ›, hover 시 children 펼침 === */
                        .col-group-toggle { position: relative; }
                        .col-group-toggle > .col-group-toggle-link {
                            position: relative;
                            /* 기본 col-item > a 스타일 자동 상속 (아이콘 + 텍스트) */
                        }
                        .col-group-arrow {
                            position: absolute;
                            right: 12px;
                            top: 50%;
                            transform: translateY(-50%);
                            font-size: 18px;
                            font-weight: 600;
                            color: #94a3b8;
                            line-height: 1;
                            transition: transform 0.2s ease, color 0.15s ease;
                        }
                        .col-group-toggle:hover .col-group-arrow {
                            transform: translateY(-50%) rotate(90deg);
                            color: #10b981;
                        }
                        /* 1컬럼 펼침 영역 — 평소 숨김, hover 시 펼침 */
                        .col-group-children {
                            list-style: none;
                            margin: 0;
                            padding: 0;
                            max-height: 0;
                            overflow: hidden;
                            opacity: 0;
                            transition: max-height 0.3s ease, opacity 0.22s ease, margin 0.2s ease;
                        }
                        .col-group-toggle:hover .col-group-children {
                            max-height: 360px;
                            opacity: 1;
                            margin: 4px 0 6px 0;
                        }
                        /* 펼쳐진 자식 항목 — 들여쓰기로 위계 표현 */
                        .col-item-child > a {
                            padding-left: 24px !important;
                        }
                        .col-item-child .item-title {
                            font-size: 13px !important;
                            color: #475569;
                        }
                        .col-item-child .icon-figure {
                            width: 22px !important;
                            height: 22px !important;
                            min-width: 22px;
                        }
                        .col-item-child .icon-figure img {
                            width: 22px;
                            height: 22px;
                        }
                        .col-item-child:hover .item-title {
                            color: #10b981;
                        }
                        /* 모바일 메뉴 — 3depth 그룹 */
                        .mo-sub-group {
                            list-style: none;
                            margin-top: 10px;
                            padding-top: 8px;
                            border-top: 1px solid #f1f5f9;
                        }
                        .mo-sub-group:first-child {
                            margin-top: 0;
                            padding-top: 0;
                            border-top: none;
                        }
                        .mo-sub-group-title {
                            font-size: 11px;
                            font-weight: 700;
                            letter-spacing: 0.08em;
                            text-transform: uppercase;
                            color: #94a3b8;
                            margin: 0 0 4px 0;
                            padding: 6px 12px 0;
                        }
                        .mo-sub-children {
                            list-style: none;
                            margin: 0;
                            padding: 0;
                        }
                        .mo-sub-child a {
                            padding-left: 24px !important;
                        }
                        .mo-sub-child .mo-icon {
                            width: 20px !important;
                            height: 20px !important;
                        }
                        .mo-sub-child span {
                            font-size: 14px !important;
                            color: #475569;
                        }
