/* ============================================================
   [v9_bom01] 봄봄테마 - 몬스터마켓 통합 디자인 CSS
   - 메인 + 서브(요금/서브히어로) + 게시판 리스트 디자인 통합
   - .v9_bom01-* 네임스페이스 (base 테마 .header/.footer 와 충돌 없음)
   - 폰트(Paperlogy)는 theme.css 상단 @font-face 로 로드
   ============================================================ */

/* ===== [1] 메인 디자인 시스템 (폰트 + 전체) ===== */









/* ============================================================
   [v9_bom01] 색상/값 참고표 (CSS 변수 미사용 — 각 항목에 값 직접 기입)
   아래는 찾아바꾸기 할 때 참고용. 실제 적용값은 각 선택자에 직접 들어가 있음.
   ------------------------------------------------------------
   Primary Red      : #D9272E   (진한 레드 #B01E24)
   Dark Navy        : #1F252B   (더 진한 #161B20 / 카드용 #2A3138)
   Blue 포인트      : #2D5BE3   (진한 블루 #1E3FA8)
   텍스트 dark      : #1A1F25
   텍스트 body      : #949595
   텍스트 muted     : #939BA6
   텍스트 light     : rgba(255,255,255,0.92)
   텍스트 dim       : rgba(255,255,255,0.55)
   배경 white       : #FFFFFF
   배경 soft        : #F4F6F9
   배경 line(보더)  : #E6EAEF
   ease             : cubic-bezier(0.22, 1, 0.36, 1)
   ease-out         : cubic-bezier(0.16, 1, 0.3, 1)
   shadow           : 0 20px 50px rgba(31, 37, 43, 0.12)
   shadow-sm        : 0 8px 24px rgba(31, 37, 43, 0.08)
   ============================================================ */

/* ============================================================
   [v9_bom01] ★ 다이내믹 강화 (스크롤 연동 + 글자 강조)
   ============================================================ */

/* --- (1) 그라데이션 강조 글자 ---
   <em> 또는 .v9_bom01-grad 에 적용. 레드→네이비 흐르는 그라데이션. */
.v9_bom01-hero__title em,
.v9_bom01-grad {
    background: linear-gradient(100deg, #D9272E 0%, #FF5A60 45%, #D9272E 100%);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: v9_bom01_gradFlow 5s ease infinite;
}
@keyframes v9_bom01_gradFlow {
    0%   { background-position: 0% center; }
    50%  { background-position: 100% center; }
    100% { background-position: 0% center; }
}

/* --- (2) 섹션 제목 강조 단어 글로우 ---
   제목 안에서 강조하고 싶은 단어를 <em class="v9_bom01-glow"> 로 감싸면 됨 */
.v9_bom01-glow {
    font-style: normal;
    color: #D9272E;
    position: relative;
    text-shadow: 0 0 24px rgba(217, 39, 46, 0.35);
    animation: v9_bom01_glowPulse 2.6s ease-in-out infinite;
}
@keyframes v9_bom01_glowPulse {
    0%, 100% { text-shadow: 0 0 18px rgba(217, 39, 46, 0.25); }
    50%      { text-shadow: 0 0 30px rgba(217, 39, 46, 0.55); }
}

/* --- (3) 카운트업 숫자 그라데이션 + 등장 팝 --- */
.v9_bom01-stats__num {
    background: linear-gradient(120deg, #1A1F25, #D9272E 130%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.v9_bom01-stats__item.is-visible .v9_bom01-stats__num {
    animation: v9_bom01_numPop .7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes v9_bom01_numPop {
    0%   { transform: scale(.6); opacity: 0; }
    60%  { transform: scale(1.08); }
    100% { transform: scale(1); opacity: 1; }
}

/* --- (4) 스크롤 시차(parallax) 요소 ---
   JS가 --v9p (0~1 진행률)를 부여. transform 으로 미세 이동. */
[data-parallax] { will-change: transform; }
[data-parallax="up"]   { transform: translateY(calc((1 - var(--v9p, .5)) * 60px)); }
[data-parallax="down"] { transform: translateY(calc((var(--v9p, .5) - 1) * 60px)); }
[data-parallax="zoom"] { transform: scale(calc(1 + var(--v9p, 0) * 0.12)); }

/* --- (5) 히어로 스크롤 핀(고정감) 효과 ---
   스크롤 진행에 따라 히어로 내부 텍스트가 살짝 위로 빠지며 흐려짐 */
.v9_bom01-hero__inner {
    transition: none;
}

/* --- (6) 섹션 진입 시 상단 라인 와이프 (구분감) --- */
.v9_bom01-line-wipe {
    position: relative;
}
.v9_bom01-line-wipe::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0; height: 3px;
    background: linear-gradient(90deg, #D9272E, transparent);
    transition: width 1s cubic-bezier(0.22, 1, 0.36, 1) .1s;
}
.v9_bom01-line-wipe.is-visible::before { width: 120px; }

/* --- 모션 최소화 선호 사용자 배려 --- */
@media (prefers-reduced-motion: reduce) {
    .v9_bom01-hero__title em,
    .v9_bom01-grad,
    .v9_bom01-glow,
    .v9_bom01-stats__item.is-visible .v9_bom01-stats__num {
        animation: none !important;
    }
    [data-parallax] { transform: none !important; }
}

/* ============================================================
   [v9_bom01] 기본 리셋
   ============================================================ */
.v9_bom01-wrap *,
.v9_bom01-wrap *::before,
.v9_bom01-wrap *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
/* 브라우저 기본 body margin(8px) 제거 → 화면 100% 채움 */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}
.v9_bom01-wrap {
    font-family:'Paperlogy', sans-serif;
    color: #949595;
    background: #FFFFFF;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
    overflow-x: hidden;
}
.v9_bom01-wrap a {  text-decoration: none; }
.v9_bom01-wrap img { max-width: 100%; display: block; }
.v9_bom01-wrap button { font-family: inherit; background: none; border: none; cursor: pointer;}
.v9_bom01-wrap ul { list-style: none; }

.v9_bom01-container {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
}

/* 공통 섹션 라벨 (— LABEL) */
.v9_bom01-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: #D9272E;
    margin-bottom: 22px;
}
.v9_bom01-eyebrow::before {
    content: '';
    width: 28px;
    height: 2px;
    background: #D9272E;
}
.v9_bom01-eyebrow--light { color: rgba(255,255,255,0.7); }
.v9_bom01-eyebrow--light::before { background: #D9272E; }

/* ============================================================
   [v9_bom01] 1. 헤더 (다크, 히어로 위 오버레이)
   ============================================================ */
.v9_bom01-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: all .4s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-header.is-fixed {
    position: fixed;
    background: rgba(31, 37, 43, 0.92);
    backdrop-filter: blur(16px);
    box-shadow: 0 4px 24px rgba(0,0,0,0.18);
    animation: v9_bom01_dropDown .5s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes v9_bom01_dropDown {
    from { transform: translateY(-100%); }
    to   { transform: translateY(0); }
}
.v9_bom01-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}
/* 로고 */
.v9_bom01-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
}
.v9_bom01-logo__mark {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #D9272E;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
    box-shadow: 0 4px 14px rgba(217, 39, 46, 0.4);
}
.v9_bom01-logo__text {
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.v9_bom01-logo__text em {
    font-style: normal;
    color: #D9272E;
}
/* GNB */
.v9_bom01-gnb {
    display: flex;
    gap: 6px;
}
.v9_bom01-gnb__link {
    display: block;
    padding: 10px 18px;
    font-size: 18px;
    font-weight: 600;
    color: rgba(255,255,255,0.82);
    border-radius: 8px;
    position: relative;
    transition: all .25s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-gnb__link::after {
    content: '';
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 4px;
    height: 2px;
    background: #D9272E;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-gnb__link:hover {
    color: #fff;
}
.v9_bom01-gnb__link:hover::after {
    transform: scaleX(1);
}
/* 헤더 우측 */
.v9_bom01-header__right {
    display: flex;
    align-items: center;
    gap: 18px;
}
.v9_bom01-header__util {
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    transition: color .2s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-header__util:hover { color: #fff; }
.v9_bom01-header__menu-btn {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: all .25s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-header__menu-btn:hover {
    background: #D9272E;
    border-color: #D9272E;
}

/* ============================================================
   [v9_bom01] 2. 메인 히어로 (풀스크린 다크)
   ============================================================ */
.v9_bom01-hero {
    position: relative;
    min-height: 930px;
    display: flex;
    align-items: center;
    background: #1F252B;
    overflow: hidden;
}
.v9_bom01-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 1;
}
.v9_bom01-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(22, 27, 32, 0.96) 0%, rgba(22, 27, 32, 0.82) 38%, rgba(22, 27, 32, 0.45) 70%, rgba(22, 27, 32, 0.3) 100%);
}

/* ----------------------------------------------------------------
   [v9_bom01] 히어로 슬라이더 (이미지 + 유튜브 영상 혼합)
   - 슬라이드는 .v9_bom01-hero__slide 단위로 겹쳐두고
     .is-active 가 붙은 슬라이드만 보이게 페이드 전환합니다.
   ---------------------------------------------------------------- */
.v9_bom01-hero__slides {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.v9_bom01-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
}
/* 이미지 슬라이드 배경 */
.v9_bom01-hero__slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.06);
    transition: transform 7s ease-out;
}
.v9_bom01-hero__slide.is-active .v9_bom01-hero__slide-bg {
    transform: scale(1);   /* 활성 슬라이드 천천히 줌인 (Ken Burns) */
}
/* 유튜브 영상 슬라이드 */
.v9_bom01-hero__slide-video {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.v9_bom01-hero__slide-video iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    /* 16:9 영상을 화면에 꽉 차게 (가로/세로 모두 덮도록) */
    width: 100vw;
    height: 56.25vw;          /* 100vw * 9/16 */
    min-height: 100%;
    min-width: 177.78vh;      /* 100vh * 16/9 */
    transform: translate(-50%, -50%);
    border: 0;
    pointer-events: none;     /* 영상 위로 텍스트 클릭 가능하게 */
}
/* 모든 슬라이드 공통 어둡게 처리 (글자 가독성) */
.v9_bom01-hero__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(22, 27, 32, 0.96) 0%, rgba(22, 27, 32, 0.82) 38%, rgba(22, 27, 32, 0.45) 70%, rgba(22, 27, 32, 0.3) 100%);
}
/* 슬라이드별 텍스트 그룹: 활성 슬라이드 텍스트만 노출 */
.v9_bom01-hero__textset { display: none; }
.v9_bom01-hero__textset.is-active { display: block; }
.v9_bom01-hero__inner {
    position: relative;
    z-index: 3;
    width: 100%;
}
.v9_bom01-hero__tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 18px;
    background: rgba(217, 39, 46, 0.15);
    border: 1px solid rgba(217, 39, 46, 0.4);
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #fff;
    margin-bottom: 30px;
    opacity: 0;
    animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .2s forwards;
}
.v9_bom01-hero__tag i { color: #D9272E; }
.v9_bom01-hero__title {
    font-size: 90px;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.03em;
    color: #fff;
    margin-bottom: 26px;
}
.v9_bom01-hero__title .line {
    display: block;
    overflow: hidden;
}
.v9_bom01-hero__title .line span {
    display: inline-block;
    opacity: 0;
    transform: translateY(100%);
}
.v9_bom01-hero__title .line:nth-child(1) span { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .35s forwards; }
.v9_bom01-hero__title .line:nth-child(2) span { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .5s forwards; }
.v9_bom01-hero__title em {
    font-style: normal;
    color: #D9272E;
}
.v9_bom01-hero__desc {
    font-size: 22px;
    line-height: 1.75;
    color: rgba(255,255,255,0.7);
    max-width: 740px;
    margin-bottom: 38px;
    opacity: 0;
    animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .7s forwards;
}
.v9_bom01-hero__cta {
    display: flex;
    gap: 14px;
    opacity: 0;
    animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .85s forwards;
}

/* 슬라이드 전환 시 활성 텍스트 그룹의 등장 애니메이션 재생 */
.v9_bom01-hero__textset.is-active .v9_bom01-hero__tag  { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .15s forwards; }
.v9_bom01-hero__textset.is-active .v9_bom01-hero__title .line:nth-child(1) span { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .30s forwards; }
.v9_bom01-hero__textset.is-active .v9_bom01-hero__title .line:nth-child(2) span { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .42s forwards; }
.v9_bom01-hero__textset.is-active .v9_bom01-hero__desc { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .55s forwards; }
.v9_bom01-hero__textset.is-active .v9_bom01-hero__cta  { animation: v9_bom01_heroUp .9s cubic-bezier(0.16, 1, 0.3, 1) .68s forwards; }
.v9_bom01-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 30px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    transition: all .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-btn--primary {
    background: #D9272E;
    color: #fff;
    box-shadow: 0 10px 26px rgba(217, 39, 46, 0.4);
}
.v9_bom01-btn--primary:hover {
    background: #B01E24;
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(217, 39, 46, 0.5);
}
.v9_bom01-btn--ghost {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.25);
    color: #fff;
    backdrop-filter: blur(8px);
}
.v9_bom01-btn--ghost:hover {
    background: rgba(255,255,255,0.16);
    transform: translateY(-3px);
}
.v9_bom01-btn i { transition: transform .3s cubic-bezier(0.22, 1, 0.36, 1); }
.v9_bom01-btn:hover i { transform: translateX(4px); }

@keyframes v9_bom01_heroUp {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 히어로 우하단 컨트롤 */
.v9_bom01-hero__ctrl {
    position: absolute;
    bottom: 40px;
    right: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 20px;
}
.v9_bom01-hero__pager {
    display: flex;
    align-items: center;
    gap: 10px;
}
.v9_bom01-hero__pager span {
    width: 26px;
    height: 3px;
    background: rgba(255,255,255,0.25);
    border-radius: 2px;
    cursor: pointer;
    transition: all .35s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-hero__pager span.active {
    background: #D9272E;
    width: 44px;
}
.v9_bom01-hero__arrows {
    display: flex;
    gap: 8px;
}
.v9_bom01-hero__arrows button {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.25);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all .25s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-hero__arrows button:hover {
    background: #D9272E;
    border-color: #D9272E;
}

/* 스크롤 인디케이터 */
.v9_bom01-hero__scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.5);
    font-size: 11px;
    letter-spacing: 0.2em;
}
.v9_bom01-hero__scroll-line {
    width: 1px;
    height: 40px;
    background: rgba(255,255,255,0.25);
    position: relative;
    overflow: hidden;
}
.v9_bom01-hero__scroll-line::after {
    content: '';
    position: absolute;
    top: -40px;
    left: 0;
    width: 1px;
    height: 40px;
    background: #D9272E;
    animation: v9_bom01_scrollMove 1.8s ease-in-out infinite;
}
@keyframes v9_bom01_scrollMove {
    0%   { top: -40px; }
    100% { top: 40px; }
}

/* 우측 둥근 floating 버튼 */
.v9_bom01-hero__float {
    position: absolute;
    bottom: 36px;
    right: 40px;
    z-index: 5;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
    color: #1F252B;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 20px 50px rgba(31, 37, 43, 0.12);
    transition: all .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-hero__float:hover {
    transform: translateY(-4px) scale(1.05);
}

/* ============================================================
   [v9_bom01] 3. ABOUT 섹션 (좌 텍스트 + 우 카드 4분할)
   ============================================================ */
.v9_bom01-about {
    padding: 130px 0;
    background: #fff;
}
.v9_bom01-about__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}
.v9_bom01-about__title {
    font-size: 60px;
    font-weight: 800;
    line-height: 1.32;
    letter-spacing: -0.03em;
    color: #1A1F25;
    margin-bottom: 28px;
}
.v9_bom01-about__desc {
    font-size: 19px;
    line-height: 1.8;
    color: #949595;
    max-width: 480px;
}
/* 우측 카드 4개 (지그재그 배치) */
.v9_bom01-about__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.v9_bom01-about__card {
    border-radius: 22px;
    padding: 32px 30px;
    min-height: 200px;
    /*display: flex;*/
    flex-direction: column;
    justify-content: space-between;
    transition: all .4s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: pointer;
}
.v9_bom01-about__card:nth-child(1) { background: #2D5BE3; color: #fff; transform: translateY(-24px); }
.v9_bom01-about__card:nth-child(2) { background: #1F252B; color: #fff; }
.v9_bom01-about__card:nth-child(3) { background: #D9272E; color: #fff; transform: translateY(-24px); }
.v9_bom01-about__card:nth-child(4) { background: #F4F6F9; color: #1A1F25; }
.v9_bom01-about__card:hover {
    transform: translateY(-34px);
    box-shadow: 0 20px 50px rgba(31, 37, 43, 0.12);
}
.v9_bom01-about__card:nth-child(2):hover,
.v9_bom01-about__card:nth-child(4):hover {
    transform: translateY(-10px);
}
.v9_bom01-about__card-num {
    font-size: 13px;
    font-weight: 700;
    opacity: 0.6;
    letter-spacing: 0.05em;
}
.v9_bom01-about__card-body h3 {
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
}
.v9_bom01-about__card-body p {
    font-size: 15px;
    line-height: 1.6;
    opacity: 0.85;
}

/* ============================================================
   [v9_bom01] 4. SERVICES 섹션 (핵심 서비스 4컬럼)
   ============================================================ */
.v9_bom01-service {
    padding: 120px 0;
    background: #F4F6F9;
}
.v9_bom01-service__head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 60px;
}
.v9_bom01-service__title {
    font-size: 60px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #1A1F25;
}
.v9_bom01-service__sub {
    font-size: 19px;
    line-height: 1.8;
    color: #949595;
    text-align: right;
}
.v9_bom01-service__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.v9_bom01-service__card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: all .4s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-service__card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(31, 37, 43, 0.12);
}
.v9_bom01-service__thumb {
    aspect-ratio: 4/3;
    overflow: hidden;
    position: relative;
}
.v9_bom01-service__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-service__card:hover .v9_bom01-service__thumb img {
    transform: scale(1.1);
}
.v9_bom01-service__body {
    padding: 28px 26px 32px;
}
.v9_bom01-service__num {
    font-size: 40px;
    font-weight: 800;
    color: #E6EAEF;
    line-height: 1;
    margin-bottom: 16px;
    transition: color .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-service__card:hover .v9_bom01-service__num {
    color: #D9272E;
}
.v9_bom01-service__name {
    font-size: 26px;
    font-weight: 800;
    color: #1A1F25;
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}
.v9_bom01-service__txt {
    font-size: 16px;
    line-height: 1.65;
    color: #949595;
    margin-bottom: 22px;
    min-height: 66px;
}
.v9_bom01-service__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #1A1F25;
    padding-top: 18px;
    border-top: 1px solid #E6EAEF;
    width: 100%;
    transition: color .25s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-service__card:hover .v9_bom01-service__more {
    color: #D9272E;
}
.v9_bom01-service__more i { transition: transform .3s cubic-bezier(0.22, 1, 0.36, 1); }
.v9_bom01-service__card:hover .v9_bom01-service__more i { transform: translateX(5px); }

/* ============================================================
   [v9_bom01] 5. WORKS 섹션 (다크, 구축사례 슬라이더)
   ============================================================ */
.v9_bom01-works {
    padding: 120px 0;
    background: #1F252B;
    overflow: hidden;
}
.v9_bom01-works__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 56px;
    position: relative;
    z-index: 2;
}
.v9_bom01-works__title {
    font-size: 60px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    margin-bottom: 14px;
}
.v9_bom01-works__sub {
    font-size: 19px;
    color: rgba(255,255,255,0.55);
}
.v9_bom01-works__nav {
    display: flex;
    gap: 10px;
}
.v9_bom01-works__nav button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: all .25s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-works__nav button:hover {
    background: #D9272E;
    border-color: #D9272E;
}
/* Swiper (overflow visible 처리) */
.v9_bom01-works__swiper {
    overflow: visible;
}
.v9_bom01-works__slide {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/3.2;
    cursor: pointer;
}
.v9_bom01-works__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-works__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(15, 19, 23, 0.92) 100%);
    z-index: 1;
}
.v9_bom01-works__slide:hover img {
    transform: scale(1.08);
}
.v9_bom01-works__caption {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    padding: 34px;
    color: #fff;
    width: 100%;
}
.v9_bom01-works__cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D9272E;
    margin-bottom: 12px;
}
.v9_bom01-works__name {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 10px;
}
.v9_bom01-works__txt {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255,255,255,0.7);
    max-width: 90%;
    opacity: 0;
    max-height: 0;
    transition: all .4s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-works__slide:hover .v9_bom01-works__txt {
    opacity: 1;
    max-height: 80px;
    margin-top: 6px;
}

/* ============================================================
   [v9_bom01] 6. PROCESS 섹션 (구축 절차)
   ============================================================ */
.v9_bom01-process {
    padding: 130px 0;
    background: #fff;
}
.v9_bom01-process__head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 60px;
}
.v9_bom01-process__title {
    font-size: 60px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.03em;
    color: #1A1F25;
}
.v9_bom01-process__sub {
    font-size: 19px;
    line-height: 1.8;
    color: #949595;
}
.v9_bom01-process__grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 50px;
    align-items: start;
}
/* 좌측 비주얼 카드 */
.v9_bom01-process__left {
    position: relative;
}
.v9_bom01-process__panel {
    background: #F4F6F9;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 0;
}
.v9_bom01-process__panel-pad {
    padding: 42px 44px 36px;
}
.v9_bom01-process__panel-tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D9272E;
    padding: 6px 14px;
    background: rgba(217, 39, 46, 0.08);
    border-radius: 20px;
    margin-bottom: 22px;
}
.v9_bom01-process__panel-title {
    font-size: 40px;
    font-weight: 800;
    color: #1A1F25;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}
.v9_bom01-process__panel-desc {
    font-size: 18px;
    line-height: 1.7;
    color: #949595;
    margin-bottom: 24px;
}
.v9_bom01-process__chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
/* 패널 하단 통합 이미지 (시안 구조) */
.v9_bom01-process__panel-img {
    overflow: hidden;
    aspect-ratio: 16/8;
}
.v9_bom01-process__panel-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-process__panel:hover .v9_bom01-process__panel-img img {
    transform: scale(1.06);
}
.v9_bom01-process__chip {
    padding: 9px 18px;
    background: #fff;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    color: #1A1F25;
    box-shadow: 0 8px 24px rgba(31, 37, 43, 0.08);
}
/* 우측 스텝 리스트 */
.v9_bom01-process__steps {
    display: flex;
    flex-direction: column;
}
.v9_bom01-process__step {
    display: flex;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid #E6EAEF;
    transition: all .3s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: pointer;
}
.v9_bom01-process__step:first-child { padding-top: 0; }
.v9_bom01-process__step:hover {
    padding-left: 12px;
}
.v9_bom01-process__step-num {
    font-size: 40px;
    font-weight: 800;
    color: #E6EAEF;
    line-height: 1;
    flex-shrink: 0;
    width: 64px;
    transition: color .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-process__step:hover .v9_bom01-process__step-num {
    color: #D9272E;
}
.v9_bom01-process__step-cat {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D9272E;
    margin-bottom: 6px;
}
.v9_bom01-process__step-name {
    font-size: 26px;
    font-weight: 800;
    color: #1A1F25;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
}
.v9_bom01-process__step-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #949595;
}

/* ============================================================
   [v9_bom01] 7. STATS 섹션 (실적 카운터)
   ============================================================ */
.v9_bom01-stats {
    padding: 70px 0;
    background: #F4F6F9;
}
.v9_bom01-stats__inner {
    background: #fff;
    border-radius: 20px;
    padding: 56px 40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-shadow: 0 8px 24px rgba(31, 37, 43, 0.08);
}
.v9_bom01-stats__item {
    text-align: center;
    position: relative;
}
.v9_bom01-stats__item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 60px;
    background: #E6EAEF;
}
.v9_bom01-stats__num {
    font-size: 52px;
    font-weight: 800;
    color: #1A1F25;
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 12px;
}
.v9_bom01-stats__num em {
    font-style: normal;
    color: #D9272E;
    -webkit-text-fill-color: #D9272E;
}
.v9_bom01-stats__label {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #939BA6;
}

/* ============================================================
   [v9_bom01] 8. BRAND STORY 섹션
   ============================================================ */
.v9_bom01-story {
    padding: 130px 0;
    background: #fff;
    position: relative;
    overflow: hidden;
}
.v9_bom01-story__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 70px;
    align-items: center;
}
.v9_bom01-story__title {
    font-size: 60px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.03em;
    color: #1A1F25;
    margin-bottom: 26px;
}
.v9_bom01-story__desc {
    font-size: 19px;
    line-height: 1.85;
    color: #949595;
    margin-bottom: 30px;
    max-width: 550px;
}
.v9_bom01-story__pager {
    display: flex;
    gap: 8px;
}
.v9_bom01-story__pager span {
    width: 28px;
    height: 4px;
    border-radius: 2px;
    background: #E6EAEF;
}
.v9_bom01-story__pager span.active {
    background: #2D5BE3;
    width: 44px;
}
/* 우측 비주얼 */
.v9_bom01-story__visual {
    position: relative;
}
.v9_bom01-story__img {
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16/11;
    box-shadow: 0 20px 50px rgba(31, 37, 43, 0.12);
}
.v9_bom01-story__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.v9_bom01-story__float {
    position: absolute;
    left: -30px;
    bottom: -30px;
    background: #fff;
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: 0 20px 50px rgba(31, 37, 43, 0.12);
    max-width: 450px;
    animation: v9_bom01_floaty 4s ease-in-out infinite;
}
@keyframes v9_bom01_floaty {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-12px); }
}
.v9_bom01-story__float-title {
    font-size: 22px;
    font-weight: 800;
    color: #1A1F25;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.v9_bom01-story__float-title i {
    color: #D9272E;
}
.v9_bom01-story__float-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #949595;
}

/* ============================================================
   [v9_bom01] 9. CTA 섹션 (그라데이션 다크)
   ============================================================ */
.v9_bom01-cta {
    padding: 60px 0 120px;
    background: #FFFFFF;
}
.v9_bom01-cta__inner {
    position: relative;
    border-radius: 28px;
    padding: 90px 80px;
    overflow: hidden;
    background: linear-gradient(120deg, #1F252B 0%, #161B20 45%, #1E3FA8 130%);
}
.v9_bom01-cta__inner::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -60px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(45, 91, 227, 0.45), transparent 65%);
    pointer-events: none;
}
.v9_bom01-cta__inner::after {
    content: '';
    position: absolute;
    bottom: -150px;
    left: 10%;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(217, 39, 46, 0.3), transparent 65%);
    pointer-events: none;
}
.v9_bom01-cta__content {
    position: relative;
    z-index: 2;
    max-width: 800px;
}
.v9_bom01-cta__title {
    font-size: 55px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.03em;
    color: #fff;
    margin-bottom: 20px;
}
.v9_bom01-cta__desc {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(255,255,255,0.7);
    margin-bottom: 36px;
}

/* ============================================================
   [v9_bom01] 10. 푸터 (다크)
   ============================================================ */
.v9_bom01-footer {
    background: #161B20;
    color: rgba(255,255,255,0.6);
    padding: 70px 0 36px;
}
.v9_bom01-footer__top {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 50px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.v9_bom01-footer__brand { flex: 1 1 240px; min-width: 220px; }
.v9_bom01-footer__col { flex: 1 1 0; min-width: 0; margin-right: 0; }
.v9_bom01-footer__top > .v9_bom01-footer__col:last-child { flex: 1 1 220px; min-width: 200px; margin-left: 0; margin-right: 0; }
.v9_bom01-footer__brand .v9_bom01-logo {
    margin-bottom: 20px;
}
.v9_bom01-footer__brand p {
    font-size: 13px;
    line-height: 1.8;
    color: rgba(255,255,255,0.5);
    max-width: 280px;
    margin-bottom: 18px;
}
.v9_bom01-footer__sns {
    display: flex;
    gap: 8px;
}
.v9_bom01-footer__sns a {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,0.06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    transition: all .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-footer__sns a:hover {
    background: #D9272E;
    transform: translateY(-3px);
}
.v9_bom01-footer__col h4 {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
}
.v9_bom01-footer__col ul li {
    margin-bottom: 12px;
}
.v9_bom01-footer__col ul li a {
    font-size: 15px;
    color: rgba(255,255,255,0.55);
    transition: color .2s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-footer__col ul li a:hover {
    color: #D9272E;
}
.v9_bom01-footer__contact-phone {
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    letter-spacing: -0.01em;
}
.v9_bom01-footer__contact-time {
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    margin-bottom: 16px;
}
.v9_bom01-footer__contact-mail {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
}
.v9_bom01-footer__bottom {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 14px;
    font-size: 15px;
    color: rgba(255,255,255,0.4);
}
.v9_bom01-footer__info {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    min-width: 0;
}
.v9_bom01-footer__info span {
    margin-right: 14px;
    white-space: nowrap;
}
.v9_bom01-footer__links {
    display: flex;
    gap: 18px;
    flex: 0 0 auto;
}
.v9_bom01-footer__links a {
    color: rgba(255,255,255,0.5);
    transition: color .2s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-footer__links a:hover { color: #fff; }

/* ============================================================
   [v9_bom01] 11. 스크롤 등장 애니메이션 (강화판)
   ------------------------------------------------------------
   공통 transition 변수 :
     - 길이 1.1s, ease 곡선 통일
     - will-change 로 GPU 가속 힌트
   타입 :
     reveal      : 아래에서 위로 (기본)
     reveal-x    : 왼쪽 → 오른쪽
     reveal-r    : 오른쪽 → 왼쪽
     reveal-zoom : 작게 → 원래 크기 (스케일)
     reveal-rot  : 살짝 회전 + 상승
     reveal-blur : 블러 + 상승 (포커스 인)
     reveal-clip : 아래쪽 클립패스 와이프 (이미지용)
     reveal-flip : Y축 약간 회전하며 등장 (카드용)
   ============================================================ */
html.v9-js .v9_bom01-reveal,
html.v9-js .v9_bom01-reveal-x,
html.v9-js .v9_bom01-reveal-r,
html.v9-js .v9_bom01-reveal-zoom,
html.v9-js .v9_bom01-reveal-rot,
html.v9-js .v9_bom01-reveal-blur,
html.v9-js .v9_bom01-reveal-clip,
html.v9-js .v9_bom01-reveal-flip {
    opacity: 0;
    will-change: transform, opacity, filter, clip-path;
    transition:
        opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- 아래에서 위로 --- */
html.v9-js .v9_bom01-reveal      { transform: translateY(60px); }
/* --- 좌 → 우 --- */
html.v9-js .v9_bom01-reveal-x    { transform: translateX(-60px); }
/* --- 우 → 좌 --- */
html.v9-js .v9_bom01-reveal-r    { transform: translateX(60px); }
/* --- 스케일 (작게 → 크게) --- */
.v9_bom01-reveal-zoom { transform: scale(0.85); }
/* --- 회전 + 상승 --- */
html.v9-js .v9_bom01-reveal-rot  { transform: translateY(50px) rotate(-4deg); }
/* --- 블러 + 상승 --- */
.v9_bom01-reveal-blur { transform: translateY(40px); filter: blur(14px); }
/* --- 클립 와이프 (이미지) --- */
.v9_bom01-reveal-clip { clip-path: inset(0 0 100% 0); transform: translateY(20px); }
/* --- 플립 (카드) --- */
.v9_bom01-reveal-flip { transform: perspective(1200px) rotateX(18deg) translateY(50px); transform-origin: center bottom; }

/* --- 활성화 (is-visible) : 모든 타입 공통 도착점 --- */
.v9_bom01-reveal.is-visible,
.v9_bom01-reveal-x.is-visible,
.v9_bom01-reveal-r.is-visible,
.v9_bom01-reveal-zoom.is-visible,
.v9_bom01-reveal-rot.is-visible,
.v9_bom01-reveal-blur.is-visible,
.v9_bom01-reveal-flip.is-visible {
    opacity: 1;
    transform: translate(0) scale(1) rotate(0) perspective(1200px) rotateX(0);
    filter: blur(0);
}
.v9_bom01-reveal-clip.is-visible {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
}

/* --- stagger delay (공통 속성 셀렉터로 모든 타입 적용) --- */
[data-delay="50"]  { transition-delay: .05s; }
[data-delay="100"] { transition-delay: .1s; }
[data-delay="150"] { transition-delay: .15s; }
[data-delay="200"] { transition-delay: .2s; }
[data-delay="250"] { transition-delay: .25s; }
[data-delay="300"] { transition-delay: .3s; }
[data-delay="350"] { transition-delay: .35s; }
[data-delay="400"] { transition-delay: .4s; }
[data-delay="450"] { transition-delay: .45s; }
[data-delay="500"] { transition-delay: .5s; }
[data-delay="600"] { transition-delay: .6s; }

/* ============================================================
   [v9_bom01] 11-1. 제목 단어별 순차 등장 (split text)
   - JS가 .v9_bom01-split 안의 텍스트를 <span class="word"> 로 쪼갬
   ============================================================ */
.v9_bom01-split .word {
    display: inline-block;
    opacity: 0;
    transform: translateY(110%) rotate(4deg);
    transition: opacity .7s cubic-bezier(0.22, 1, 0.36, 1), transform .7s cubic-bezier(0.22, 1, 0.36, 1);
}
.v9_bom01-split .word-inner {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    padding-bottom: 0.12em;   /* 글자 디센더 잘림 방지 */
}
.v9_bom01-split.is-visible .word {
    opacity: 1;
    transform: translateY(0) rotate(0);
}

/* ============================================================
   [v9_bom01] 11-2. 스크롤 진행 연동 요소
   ------------------------------------------------------------
   --v9p : 0 → 1 (요소가 뷰포트 통과하는 진행률, JS가 주입)
   ============================================================ */
/* 배경 거대 텍스트 드리프트 */
.v9_bom01-bgtext {
    position: absolute;
    z-index: 0;
    font-size: 200px;
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
    color: rgba(255,255,255,0.03);
    white-space: nowrap;
    pointer-events: none;
    transform: translateX(calc(var(--v9p, 0) * -180px));
}
.v9_bom01-works { position: relative; }
.v9_bom01-bgtext--works {
    top: 30px;
    left: 0;
    transform: translateX(calc(var(--v9p, 0) * -220px + 60px));
}

/* 패럴랙스 부유 도형 */
.v9_bom01-floaty-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    transform: translateY(calc(var(--v9p, 0) * -120px));
}

/* 섹션 진입 시 좌측 라인 그려지기 */
.v9_bom01-eyebrow::before {
    transition: width .8s cubic-bezier(0.22, 1, 0.36, 1) .15s;
}
.v9_bom01-eyebrow.is-line-start::before { width: 0; }

/* ============================================================
   [v9_bom01] 12. 반응형
   ============================================================ */
@media (max-width: 1024px) {
    .v9_bom01-gnb { display: none; }
    .v9_bom01-hero__title { font-size: 44px; }
    .v9_bom01-about__grid,
    .v9_bom01-story__grid,
    .v9_bom01-process__grid { grid-template-columns: 1fr; gap: 40px; }
    .v9_bom01-service__list { grid-template-columns: 1fr 1fr; }
    .v9_bom01-cta__title { font-size: 34px; }
    .v9_bom01-footer__top { grid-template-columns: 1fr 1fr; gap: 30px; }
    .v9_bom01-process__head,
    .v9_bom01-service__head { grid-template-columns: 1fr; gap: 16px; }
    .v9_bom01-service__sub,
    .v9_bom01-process__sub { text-align: left; }
}
@media (max-width: 768px) {
    .v9_bom01-container { padding: 0 22px; }
    .v9_bom01-hero { min-height: 640px; }
    .v9_bom01-hero__title { font-size: 34px; }
    .v9_bom01-hero__cta { flex-direction: column; }
    .v9_bom01-btn { justify-content: center; }
    .v9_bom01-about { padding: 80px 0; }
    .v9_bom01-about__title,
    .v9_bom01-service__title,
    .v9_bom01-works__title,
    .v9_bom01-process__title,
    .v9_bom01-story__title { font-size: 30px; }
    .v9_bom01-about__cards { gap: 12px; }
    .v9_bom01-about__card { transform: none !important; min-height: 160px; padding: 24px; }
    .v9_bom01-service__list { grid-template-columns: 1fr; }
    .v9_bom01-stats__inner { grid-template-columns: 1fr 1fr; gap: 40px 0; }
    .v9_bom01-stats__item:nth-child(2)::after { display: none; }
    .v9_bom01-stats__num { font-size: 40px; }
    .v9_bom01-cta__inner { padding: 50px 28px; }
    .v9_bom01-cta__title { font-size: 28px; }
    .v9_bom01-footer__top { grid-template-columns: 1fr; gap: 30px; }
    .v9_bom01-footer__bottom { flex-direction: column; align-items: flex-start; }
    .v9_bom01-hero__scroll { display: none; }
    .v9_bom01-story__float { position: static; margin-top: 20px; max-width: none; }
    .v9_bom01-works__head { flex-direction: column; align-items: flex-start; gap: 20px; }
}


/* ===== [2] 서브 공통 + 요금 플랜 =====
   [v9_bom01-SUB] 서브 공통 - 축소형 다크 히어로 (page hero)
   메인 히어로의 다크 네이비 톤을 그대로 축소 적용.
   ============================================================ */
.v9_bom01-phero {
    position: relative;
    background: #1F252B;
    overflow: hidden;
    padding: 150px 0 70px;   /* 헤더(80px) 영역 고려한 상단 여백 */
}
/* 우상단 레드 글로우 (메인 히어로 분위기 차용) */
.v9_bom01-phero::before {
    content: '';
    position: absolute;
    top: -120px; right: -80px;
    width: 460px; height: 460px;
    background: radial-gradient(circle, rgba(217,39,46,0.28) 0%, rgba(217,39,46,0) 70%);
    pointer-events: none;
}
/* 배경 거대 워터마크 텍스트 */
.v9_bom01-phero__bgtext {
    position: absolute;
    right: 40px; bottom: -30px;
    font-size: 150px;
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
    color: rgba(255,255,255,0.04);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}
.v9_bom01-phero__inner { position: relative; z-index: 2; }
.v9_bom01-phero__title {
    font-size: 50px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.18;
    margin-bottom: 18px;
}
.v9_bom01-phero__title em {
    font-style: normal;
    color: #D9272E;
}
.v9_bom01-phero__desc {
    font-size: 17px;
    color: rgba(255,255,255,0.62);
    max-width: 620px;
    line-height: 1.7;
}
/* 빵부스러기 (breadcrumb) */
.v9_bom01-crumb {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(255,255,255,0.45);
    margin-bottom: 26px;
}
.v9_bom01-crumb a { color: rgba(255,255,255,0.45); transition: color .2s cubic-bezier(0.22,1,0.36,1); }
.v9_bom01-crumb a:hover { color: #fff; }
.v9_bom01-crumb i { font-size: 9px; opacity: 0.6; }
.v9_bom01-crumb .now { color: #D9272E; }

/* ============================================================
   [v9_bom01-SUB] 본문 공통 섹션
   ============================================================ */
.v9_bom01-sec { padding: 100px 0; }
.v9_bom01-sec--soft { background: #F4F6F9; }
.v9_bom01-sec__head { text-align: center; margin-bottom: 56px; }
.v9_bom01-sec__head .v9_bom01-eyebrow { justify-content: center; }
.v9_bom01-sec__title {
    font-size: 38px;
    font-weight: 800;
    color: #1A1F25;
    letter-spacing: -0.03em;
    line-height: 1.25;
}
.v9_bom01-sec__title em { font-style: normal; color: #D9272E; }
.v9_bom01-sec__lead {
    margin-top: 16px;
    font-size: 16px;
    color: #949595;
    line-height: 1.75;
    max-width: 680px;
    margin-left: auto; margin-right: auto;
}

/* ============================================================
   [v9_bom01-SUB] 요금 플랜 카드
   ============================================================ */
.v9_bom01-plans {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    align-items: stretch;
}
.v9_bom01-plan {
    position: relative;
    background: #fff;
    border: 1px solid #E6EAEF;
    border-radius: 18px;
    padding: 40px 34px 38px;
    display: flex;
    flex-direction: column;
    transition: transform .4s cubic-bezier(0.22,1,0.36,1), box-shadow .4s cubic-bezier(0.22,1,0.36,1), border-color .4s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-plan:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(31, 37, 43, 0.12);
    border-color: transparent;
}
/* 추천 플랜 (가운데) - 다크 강조 */
.v9_bom01-plan--featured {
    background: #1F252B;
    border-color: #1F252B;
    transform: translateY(-18px);
}
.v9_bom01-plan--featured:hover { transform: translateY(-26px); }
.v9_bom01-plan__badge {
    position: absolute;
    top: -13px; left: 50%; transform: translateX(-50%);
    background: #D9272E;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 7px 18px;
    border-radius: 100px;
    box-shadow: 0 8px 20px rgba(217,39,46,0.4);
    white-space: nowrap;
}
.v9_bom01-plan__name {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D9272E;
    margin-bottom: 8px;
}
.v9_bom01-plan--featured .v9_bom01-plan__name { color: #FF5A60; }
.v9_bom01-plan__for {
    font-size: 19px;
    font-weight: 700;
    color: #1A1F25;
    margin-bottom: 22px;
}
.v9_bom01-plan--featured .v9_bom01-plan__for { color: #fff; }
.v9_bom01-plan__price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding-bottom: 24px;
    border-bottom: 1px solid #E6EAEF;
    margin-bottom: 24px;
}
.v9_bom01-plan--featured .v9_bom01-plan__price { border-color: rgba(255,255,255,0.12); }
.v9_bom01-plan__price-num {
    font-size: 44px;
    font-weight: 800;
    color: #1A1F25;
    letter-spacing: -0.03em;
    line-height: 1;
}
.v9_bom01-plan--featured .v9_bom01-plan__price-num { color: #fff; }
.v9_bom01-plan__price-unit { font-size: 15px; font-weight: 600; color: #939BA6; }
.v9_bom01-plan__price-sub {
    font-size: 13px;
    color: #939BA6;
    margin-bottom: 24px;
}
.v9_bom01-plan__list { flex: 1; margin-bottom: 30px; }
.v9_bom01-plan__list li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font-size: 15px;
    color: #5b6168;
    padding: 9px 0;
    line-height: 1.5;
}
.v9_bom01-plan--featured .v9_bom01-plan__list li { color: rgba(255,255,255,0.78); }
.v9_bom01-plan__list li i {
    color: #D9272E;
    font-size: 13px;
    margin-top: 4px;
    flex-shrink: 0;
}
.v9_bom01-plan__list li.is-off { color: #C2C7CE; }
.v9_bom01-plan--featured .v9_bom01-plan__list li.is-off { color: rgba(255,255,255,0.32); }
.v9_bom01-plan__list li.is-off i { color: #D4D8DE; }
.v9_bom01-plan__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 15px 0;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    transition: all .3s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-plan__btn--line {
    background: #fff;
    border: 1px solid #D9272E;
    color: #D9272E;
}
.v9_bom01-plan__btn--line:hover { background: #D9272E; color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(217,39,46,0.35); }
.v9_bom01-plan__btn--fill {
    background: #D9272E;
    color: #fff;
    box-shadow: 0 10px 26px rgba(217,39,46,0.4);
}
.v9_bom01-plan__btn--fill:hover { background: #B01E24; transform: translateY(-2px); box-shadow: 0 16px 34px rgba(217,39,46,0.5); }

/* ============================================================
   [v9_bom01-SUB] 구축범위 비교표
   ============================================================ */
.v9_bom01-scope { overflow-x: auto; }
.v9_bom01-scope__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(31, 37, 43, 0.08);
}
.v9_bom01-scope__table thead th {
    background: #1F252B;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 22px 20px;
    text-align: center;
}
.v9_bom01-scope__table thead th:first-child {
    text-align: left;
    background: #161B20;
    width: 28%;
}
.v9_bom01-scope__table thead th em {
    display: block;
    font-style: normal;
    font-size: 12px;
    font-weight: 600;
    color: #FF5A60;
    margin-top: 4px;
    letter-spacing: 0.05em;
}
.v9_bom01-scope__table tbody td {
    padding: 18px 20px;
    text-align: center;
    font-size: 15px;
    color: #5b6168;
    border-bottom: 1px solid #EEF1F5;
}
.v9_bom01-scope__table tbody td:first-child {
    text-align: left;
    font-weight: 700;
    color: #1A1F25;
    background: #FAFBFC;
}
.v9_bom01-scope__table tbody tr:last-child td { border-bottom: none; }
.v9_bom01-scope__table tbody tr:hover td { background: #FFF5F5; }
.v9_bom01-scope__table tbody tr:hover td:first-child { background: #FFECEC; }
.v9_bom01-scope__yes { color: #D9272E; font-size: 16px; }
.v9_bom01-scope__no  { color: #D0D4DA; font-size: 14px; }
.v9_bom01-scope__txt { font-size: 14px; color: #5b6168; }

/* ============================================================
   [v9_bom01-SUB] 안내 노트 박스 + FAQ
   ============================================================ */
.v9_bom01-note {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 50px;
}
.v9_bom01-note__item {
    background: #fff;
    border: 1px solid #E6EAEF;
    border-radius: 14px;
    padding: 30px 28px;
}
.v9_bom01-note__icon {
    width: 50px; height: 50px;
    border-radius: 12px;
    background: #FFECEC;
    color: #D9272E;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
}
.v9_bom01-note__item h4 { font-size: 18px; font-weight: 700; color: #1A1F25; margin-bottom: 10px; }
.v9_bom01-note__item p { font-size: 14px; color: #949595; line-height: 1.7; }

.v9_bom01-faq { max-width: 880px; margin: 0 auto; }
.v9_bom01-faq__item {
    background: #fff;
    border: 1px solid #E6EAEF;
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    transition: border-color .3s cubic-bezier(0.22,1,0.36,1), box-shadow .3s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-faq__item.is-open { border-color: #D9272E; box-shadow: 0 12px 30px rgba(217,39,46,0.1); }
.v9_bom01-faq__q {
    display: flex; align-items: center; gap: 16px;
    width: 100%;
    padding: 24px 28px;
    text-align: left;
    font-size: 17px;
    font-weight: 700;
    color: #1A1F25;
}
.v9_bom01-faq__q .q-mark {
    width: 28px; height: 28px; flex-shrink: 0;
    border-radius: 8px;
    background: #D9272E; color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 800;
}
.v9_bom01-faq__q .q-arrow { margin-left: auto; color: #C2C7CE; transition: transform .35s cubic-bezier(0.22,1,0.36,1); }
.v9_bom01-faq__item.is-open .q-arrow { transform: rotate(180deg); color: #D9272E; }
.v9_bom01-faq__a {
    max-height: 0; overflow: hidden;
    transition: max-height .4s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-faq__a-inner {
    padding: 0 28px 26px 72px;
    font-size: 15px; color: #6b7178; line-height: 1.8;
}

/* ============================================================
   [v9_bom01-SUB] 하단 CTA (다크)
   ============================================================ */
.v9_bom01-subcta {
    background: #1F252B;
    position: relative;
    overflow: hidden;
    padding: 90px 0;
}
.v9_bom01-subcta::before {
    content: '';
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%,-50%);
    width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(217,39,46,0.18) 0%, rgba(217,39,46,0) 65%);
    pointer-events: none;
}
.v9_bom01-subcta__inner { position: relative; z-index: 2; text-align: center; }
.v9_bom01-subcta__title { font-size: 36px; font-weight: 800; color: #fff; letter-spacing: -0.03em; margin-bottom: 16px; }
.v9_bom01-subcta__title em { font-style: normal; color: #D9272E; }
.v9_bom01-subcta__desc { font-size: 16px; color: rgba(255,255,255,0.6); margin-bottom: 34px; }
.v9_bom01-subcta__btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   [v9_bom01-SUB] 반응형
   ============================================================ */
@media (max-width: 1024px) {
    .v9_bom01-gnb { display: none; }
    .v9_bom01-plans { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .v9_bom01-plan--featured { transform: none; }
    .v9_bom01-plan--featured:hover { transform: translateY(-8px); }
    .v9_bom01-note { grid-template-columns: 1fr; }
    .v9_bom01-footer__top { grid-template-columns: 1fr 1fr; gap: 30px; }
}
@media (max-width: 768px) {
    .v9_bom01-container { padding: 0 22px; }
    .v9_bom01-phero { padding: 120px 0 56px; }
    .v9_bom01-phero__title { font-size: 34px; }
    .v9_bom01-phero__bgtext { font-size: 80px; }
    .v9_bom01-sec { padding: 64px 0; }
    .v9_bom01-sec__title { font-size: 28px; }
    .v9_bom01-subcta__title { font-size: 26px; }
    .v9_bom01-footer__top { grid-template-columns: 1fr; gap: 30px; }
    .v9_bom01-footer__bottom { flex-direction: column; align-items: flex-start; }
    .v9_bom01-faq__q { font-size: 15px; padding: 20px; }
    .v9_bom01-faq__a-inner { padding: 0 20px 22px 20px; }
}



/* ===== [3] 게시판 리스트 ===== */

/* ===== 게시판 리스트/페이저 ===== */
.v9_bom01-board__bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; flex-wrap: wrap;
    margin-bottom: 34px;
}
.v9_bom01-board__tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.v9_bom01-board__tab {
    padding: 10px 22px; border-radius: 100px;
    font-size: 15px; font-weight: 700; color: #6b7178;
    background: #F4F6F9; border: 1px solid transparent;
    transition: all .25s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-board__tab:hover { color: #1A1F25; border-color: #E6EAEF; }
.v9_bom01-board__tab.is-active { background: #D9272E; color: #fff; box-shadow: 0 8px 20px rgba(217,39,46,0.35); }
.v9_bom01-board__search { position: relative; }
.v9_bom01-board__search input {
    width: 280px; max-width: 100%;
    padding: 13px 46px 13px 18px;
    border: 1px solid #E6EAEF; border-radius: 100px;
    font-family: inherit; font-size: 14px; color: #1A1F25;
    outline: none; transition: border-color .25s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-board__search input:focus { border-color: #D9272E; }
.v9_bom01-board__search button {
    position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
    width: 34px; height: 34px; border-radius: 50%;
    background: #D9272E; color: #fff; font-size: 13px;
    display: flex; align-items: center; justify-content: center;
}

/* 리스트 (테이블형) */
.v9_bom01-board__list { border-top: 2px solid #1F252B; }
.v9_bom01-board__row {
    display: grid;
    grid-template-columns: 80px 1fr 130px 120px 90px;
    align-items: center;
    gap: 16px;
    padding: 22px 16px;
    border-bottom: 1px solid #EEF1F5;
    transition: background .25s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-board__row--head {
    font-size: 14px; font-weight: 700; color: #939BA6;
    padding: 16px; border-bottom: 1px solid #E6EAEF;
    text-align: center;
}
.v9_bom01-board__row--head .col-subj { text-align: left; }
.v9_bom01-board__row:not(.v9_bom01-board__row--head):hover { background: #FFF5F5; }
.v9_bom01-board__num { text-align: center; font-size: 14px; color: #B4B9C0; font-weight: 700; }
.v9_bom01-board__num .pin { display:inline-flex; width:30px; height:24px; align-items:center; justify-content:center; background:#D9272E; color:#fff; font-size:11px; border-radius:6px; }
.v9_bom01-board__subj { min-width: 0; }
.v9_bom01-board__subj a {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 17px; font-weight: 600; color: #1A1F25;
    transition: color .2s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-board__subj a:hover { color: #D9272E; }
.v9_bom01-board__cat {
    flex-shrink: 0;
    font-size: 12px; font-weight: 700; letter-spacing: 0.03em;
    padding: 4px 11px; border-radius: 6px;
}
.v9_bom01-board__cat--notice { background:#FFECEC; color:#D9272E; }
.v9_bom01-board__cat--update { background:#E9EEFF; color:#2D5BE3; }
.v9_bom01-board__cat--event  { background:#E7F7EE; color:#1Fa463; }
.v9_bom01-board__new { display:inline-block; width:16px; height:16px; line-height:16px; text-align:center; background:#D9272E; color:#fff; font-size:9px; font-weight:800; border-radius:50%; }
.v9_bom01-board__meta { text-align: center; font-size: 14px; color: #939BA6; }
.v9_bom01-board__hit  { text-align: center; font-size: 14px; color: #B4B9C0; }

/* 페이지네이션 */
.v9_bom01-pager {
    display: flex; align-items: center; justify-content: center;
    gap: 6px; margin-top: 44px;
}
.v9_bom01-pager a {
    min-width: 42px; height: 42px; padding: 0 6px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px; font-size: 15px; font-weight: 700; color: #6b7178;
    border: 1px solid #E6EAEF; background: #fff;
    transition: all .25s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-pager a:hover { border-color: #D9272E; color: #D9272E; }
.v9_bom01-pager a.is-active { background: #D9272E; border-color: #D9272E; color: #fff; box-shadow: 0 8px 18px rgba(217,39,46,0.3); }
.v9_bom01-pager a.nav { color: #B4B9C0; }

/* 반응형 */
@media (max-width: 1024px) { .v9_bom01-gnb { display:none; } .v9_bom01-footer__top { grid-template-columns:1fr 1fr; gap:30px; } }
@media (max-width: 768px) {
    .v9_bom01-container { padding: 0 22px; }
    .v9_bom01-phero { padding: 120px 0 56px; }
    .v9_bom01-phero__title { font-size: 34px; }
    .v9_bom01-phero__bgtext { font-size: 80px; }
    .v9_bom01-sec { padding: 60px 0; }
    .v9_bom01-board__row, .v9_bom01-board__row--head { grid-template-columns: 1fr; gap: 8px; text-align: left; padding: 18px 6px; }
    .v9_bom01-board__row--head { display: none; }
    .v9_bom01-board__num, .v9_bom01-board__meta, .v9_bom01-board__hit { text-align: left; font-size: 13px; }
    .v9_bom01-board__subj a { font-size: 16px; }
    .v9_bom01-board__search input { width: 100%; }
    .v9_bom01-footer__top { grid-template-columns: 1fr; gap: 30px; }
    .v9_bom01-footer__bottom { flex-direction: column; align-items: flex-start; }
}



/* ============================================================
   [v9_bom01] GNB 드롭다운 + 모바일 메뉴 (그누보드 헤더 연동분)
   ============================================================ */
.v9_bom01-gnb__list { display:flex; gap:6px; }
.v9_bom01-gnb__item { position:relative; }
.v9_bom01-gnb__item > .v9_bom01-gnb__link { display:block; padding:10px 18px; font-size:17px; font-weight:600; color:rgba(255,255,255,0.82); border-radius:8px; position:relative; transition:all .25s cubic-bezier(0.22,1,0.36,1); }
.v9_bom01-gnb__item > .v9_bom01-gnb__link::after { content:''; position:absolute; left:18px; right:18px; bottom:4px; height:2px; background:#D9272E; transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(0.22,1,0.36,1); }
.v9_bom01-gnb__item:hover > .v9_bom01-gnb__link { color:#fff; }
.v9_bom01-gnb__item:hover > .v9_bom01-gnb__link::after { transform:scaleX(1); }
/* 2depth 드롭다운 */
.v9_bom01-gnb__sub { position:absolute; top:100%; left:0; min-width:180px; background:rgba(31,37,43,0.97); backdrop-filter:blur(16px); border-radius:10px; padding:10px; box-shadow:0 16px 40px rgba(0,0,0,0.25); opacity:0; visibility:hidden; transform:translateY(10px); transition:all .3s cubic-bezier(0.22,1,0.36,1); z-index:120; }
.v9_bom01-gnb__item:hover .v9_bom01-gnb__sub { opacity:1; visibility:visible; transform:translateY(0); }
.v9_bom01-gnb__sub li a { display:block; padding:10px 14px; font-size:14px; color:rgba(255,255,255,0.7); border-radius:7px; transition:all .2s cubic-bezier(0.22,1,0.36,1); }
.v9_bom01-gnb__sub li a:hover { background:rgba(217,39,46,0.18); color:#fff; }

/* 전체메뉴(사이트맵) 토글 버튼 - 항상 우측에 노출 */
@media (max-width: 1024px) {
    .v9_bom01-gnb { display:none; }
}

/* to_top 버튼 (테마 기본 .to_top 재활용 시 디자인 보정) */
.v9_bom01-wrap ~ .to_top .d_btn,
.to_top .d_btn { background:#D9272E; color:#fff; }

/* ============================================================
   [v9_bom01] 서브페이지 공통 보정 (sub.head.php 연동)
   ============================================================ */
/* 게시판용 서브 히어로는 헤더 고정바와 겹치지 않게 상단여백만 확보 */
.v9_bom01-phero--board { padding: 130px 0 56px; }
/* 게시판 스킨이 서브히어로 바로 아래 올 때 상단 패딩 축소 */
.v9_bom01-sub-main .v9_bom01-board { padding-top: 50px; }
/* page_html(요금 등)은 자체 phero가 헤더여백 포함하므로 추가보정 불필요 */
.v9_bom01-sub-main { min-height: 60vh; }

/* [SAFE] reveal 강제 표시 — JS 타이밍 무관하게 무조건 보이게 */
.v9_bom01-reveal,.v9_bom01-reveal-x,.v9_bom01-reveal-r,.v9_bom01-reveal-zoom,.v9_bom01-reveal-rot,.v9_bom01-reveal-blur,.v9_bom01-reveal-clip,.v9_bom01-reveal-flip{opacity:1 !important;transform:none !important;filter:none !important;clip-path:none !important;}

/* ============================================================
   [v9_bom01] GNB 현재위치 강조 + 서브 히어로 서브메뉴
   ============================================================ */
/* GNB 현재 대메뉴 강조 (hover 와 동일한 활성 표시) */
.v9_bom01-gnb__item.is-active > .v9_bom01-gnb__link { color:#fff; }
.v9_bom01-gnb__item.is-active > .v9_bom01-gnb__link::after { transform:scaleX(1) !important; }

/* 서브 히어로 안의 서브메뉴 (GNB 하위 재사용) */
.v9_bom01-submenu { margin-top:26px; }
.v9_bom01-submenu__list { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0; list-style:none; }
.v9_bom01-submenu__list li a {
    display:inline-block;
    padding:10px 22px;
    font-size:15px; font-weight:600;
    color:rgba(255,255,255,0.7);
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:999px;
    transition:all .25s cubic-bezier(0.22,1,0.36,1);
}
.v9_bom01-submenu__list li a:hover {
    color:#fff; border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.12);
}
/* 현재 페이지 강조 */
.v9_bom01-submenu__list li.is-current a {
    color:#fff; background:#D9272E; border-color:#D9272E;
    box-shadow:0 8px 20px rgba(217,39,46,0.35);
}
@media (max-width:768px){
    .v9_bom01-submenu__list li a { padding:8px 16px; font-size:14px; }
}
