/* marquee 코어 — 메인 style.css 미로드라 sub02 자체 정의 */
@keyframes marqueeX {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes marqueeX_r {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(100%);
    }
}

/* con01 신호등 모션 — 모바일 호버 대체(3개 오버레이 순차 점등) */
@keyframes con01Signal {
    0% {
        opacity: 0;
    }

    4% {
        opacity: 1;
    }

    29% {
        opacity: 1;
    }

    33% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.image_sd {
    animation: marqueeX 20s infinite linear;
}

.image_sd_r {
    animation: marqueeX_r 20s infinite linear;
}

/* content.php .container 래퍼 무력화 */
.container {
    display: none !important;
}

/* sub-hero 타이틀 = Montserrat ExtraBold (library.css 수정금지 → 페이지서 바인딩) */
.sub-hero__title {
    font-family: var(--font-montserrat);
    font-weight: 800;
}

/* sticky 탭바 동작용 — 조상 overflow:hidden 체인 해제 (이 페이지 한정, 스크롤러=html).
   ★ basic_css.php 가 <body> 안 인라인 <style> 로 body/#content_wrap{overflow:hidden} 을 출력함 →
     head 의 이 룰보다 소스순서가 뒤라 명시도 동일 시 인라인이 이김 → !important 로 강제 무력화(PC·모바일 공통).
   ★ .sub02 자신에 overflow(hidden/clip 무관) 를 주면 sticky 의 스크롤 컨테이너가 되어 탭바가 안 붙음 → 항상 visible.
   각 con 섹션은 자체 overflow:hidden 로 bleed 클리핑하므로 래퍼 visible 안전 */
.sub02,
#content_wrap,
body {
    overflow: visible !important;
}

/* ===== con01: 인트로 — 좋은치킨의 기준 치킨마루! ===== */
.sub02 .con01 {
    height: 89.6rem;
    background: #fff8e4;
    overflow: hidden;
    /* margin-top: -3.5rem; */

    & .con01__deco {
        left: 0;
        top: 61.7rem;
        width: 100%;
        z-index: 1;
    }

    /* 트랙(원본 1벌 + 복제 absol left:100%) → translateX 마퀴 */
    & .con01__deco-track {
        width: 287.7rem;
    }

    /* 데코 img → 전역 section img{width:100%} 오버라이드 */
    & .con01__deco img {
        width: 287.7rem;
        max-width: none;
    }

    & .con01__head {
        left: 23.15rem;
        top: 16.9rem;
        z-index: 6;
    }

    & .con01__title {
        margin-top: 2.9rem;
        font-size: 7.5rem;
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1;
        color: #000000;

        & span {
            color: #0d0e28;
        }
    }

    & .con01__plate-img--gold {
        left: 73.85rem;
        top: 18.4rem;
        z-index: 2;
    }

    & .con01__plate-img--spicy {
        left: 114.75rem;
        top: 18.4rem;
        z-index: 2;
    }

    & .con01__pair--balance {
        left: 129.65rem;
        top: 9.1rem;
        z-index: 3;
    }

    & .con01__pair--price {
        left: 53.95rem;
        top: 42.9rem;
        z-index: 4;
    }

    & .con01__pair--oil {
        left: 140.75rem;
        top: 50rem;
        z-index: 5;
    }

    & .con01__hover-img--balance,
    & .con01__hover-img--price,
    & .con01__hover-img--oil {
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
    }

    & .con01__pair--balance:hover .con01__hover-img--balance,
    & .con01__pair--price:hover .con01__hover-img--price,
    & .con01__pair--oil:hover .con01__hover-img--oil {
        opacity: 1;
    }
}

/* ===== con02: 일상 속 치킨마루 (브랜드 인트로 카피) ===== */
.con02 {
    height: 131.9rem;
    background: #ffffff;

    & .con02__head {
        padding-top: 14.3rem;
    }

    & .con02__chip {
        width: 17.6rem;
        height: 8rem;
        background: #0d0e28;
        border-radius: 3.8rem;
    }

    & .con02__title {
        margin-top: 1.8rem;
        font-size: var(--displayS);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.154;
        color: #000;
    }

    & .con02__sub {
        margin-top: 0.8rem;
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.299;
        color: #000;
    }

    & .con02__box {
        margin-top: 3.3rem;
        width: 167.7rem;
        height: 57.1rem;
        background: #ffcd30;
        border-radius: 4rem;

        & .con02__photo {
            left: 0.4rem;
            top: -10.4rem;
            z-index: 2;
        }

        & .con02__box-copy {
            left: 125.9rem;
            top: 24rem;
            z-index: 3;
            font-size: var(--displayS);
            font-weight: 800;
            letter-spacing: -0.03em;
            line-height: 1.154;
            color: #000;
            text-align: right;

            & span {
                color: #0d0e28;
            }
        }
    }

    & .con02__deco {
        & .con02__wordmark {
            left: 15.2rem;
            top: 101rem;
            z-index: 3;
            font-family: var(--font-paytone);
            font-size: 21.5rem;
            letter-spacing: 0em;
            line-height: 0.383;
            text-transform: uppercase;
            color: #ffcd30;
        }

        & .con02__pill {
            left: 66.5rem;
            top: 93.9rem;
            z-index: 4;
            width: 59rem;
            height: 25.1rem;
            background: #0d0e28;
            border-radius: 12.45rem;

            & .con02__pill-desc {
                font-size: var(--bodyXL);
                letter-spacing: -0.06em;
                line-height: 1.299;
                color: #fff;
                margin-top: 4rem;

                & span {
                    color: #fdd000;
                }
            }
        }

        & .con02__pill-icon {
            left: 90.4rem;
            top: 92rem;
            z-index: 5;
        }
    }
}

/* ===== con03: 브랜드 스토리 — 믿고 선택하는 이유 (2상태 신호등 컷) ===== */
.con03 {
    height: 83.8rem;
    background: #0d0e28;
    overflow: hidden;

    & .con03__bg {
        left: -16.25rem;
        top: -17rem;
        z-index: 1;
        mix-blend-mode: overlay;
        opacity: 0.2;
    }

    & .con03__bg img {
        width: 214rem;
        max-width: none;
    }

    & .con03__wordmark {
        left: 0;
        right: 0;
        top: 11rem;
        z-index: 2;
    }

    & .con03__wordmark-line {
        left: 0;
        right: 0;
        top: 0.3rem;
        height: 0.1rem;
        background: #ffcd30;
        opacity: 0.1;
    }

    & .con03__wordmark-text {
        position: relative;
        z-index: 1;
        padding: 0 2rem;
        background: #0d0e28;
        letter-spacing: 1.8em;
        line-height: 1;
        color: #ffcd30;
        text-transform: uppercase;
    }

    /* 공용 고정 타이틀: 흐름 static — state 전환과 무관하게 항상 표시 */
    & .con03__title {
        position: relative;
        z-index: 5;
        margin-top: 20.6rem;
        font-size: 6.5rem;
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.2;
        color: #ffffff;

        & span {
            color: #ffcd30;
        }
    }

    & .con03__cols {
        position: relative;
        z-index: 3;
        margin-top: 5.6rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: start;
        justify-items: center;
        padding: 0 25.65rem;
    }

    & .con03__slot {
        display: grid;
        justify-items: center;

        & > * {
            grid-area: 1 / 1;
        }
    }

    & .con03__info,
    & .con03__pic {
        transition: opacity .55s ease, transform .55s ease;
        will-change: opacity, transform;
    }

    & .con03__info--2,
    & .con03__pic--2 {
        opacity: 0;
        transform: translateY(2rem);
        pointer-events: none;
    }

    &.is-state-2 .con03__info--1,
    &.is-state-2 .con03__pic--1 {
        opacity: 0;
        transform: translateY(-2rem);
        pointer-events: none;
    }

    &.is-state-2 .con03__info--2,
    &.is-state-2 .con03__pic--2 {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    & .con03__slot--mid .con03__logo {
        margin-top: -0.5rem;
    }

    & .con03__slot--right .con03__pic {
        margin-top: -2.3rem;
    }

    & .con03__year {
        font-family: var(--font-paytone);
        font-size: 9.8rem;
        letter-spacing: 0;
        line-height: 1.2;
        color: #ffcd30;
    }

    & .con03__dot {
        margin-top: 3.2rem;
        width: 1.3rem;
        height: 1.3rem;
        border-radius: 50%;
        background: #fdd000;
    }

    & .con03__sub {
        margin-top: 4.6rem;
        font-family: var(--font-paperlogy);
        font-weight: 600;
        letter-spacing: -0.03em;
        line-height: 1.4;
        color: #ffffff;
    }

    & .con03__desc {
        margin-top: 0.8rem;
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.3;
        color: #ffffff;
    }

    & .con03__logo {
        width: 30.6rem;
        height: 30.6rem;
        border-radius: 50%;
        background: #000000;
        border: 0.9rem solid #fdd000;
    }

    & .con03__pic {
        position: relative;
        width: 34.8rem;
        overflow: hidden;
        border-radius: 2rem;

        & img {
            position: absolute;
        }
    }

    & .con03__pic--1 {
        height: 35.7rem;

        & img {
            left: -0.1rem;
            top: -21.9rem;
        }
    }

    & .con03__label {
        font-weight: 600;
        letter-spacing: -0.03em;
        line-height: 1.4;
        color: #ffffff;
    }

    & .con03__count {
        align-items: baseline;

        & strong {
            font-family: var(--font-paytone);
            font-size: 9rem;
            letter-spacing: 0;
            line-height: 1;
            color: #ffcd30;
        }

        & span {
            font-size: 7.8rem;
            font-weight: 900;
            letter-spacing: -0.03em;
            line-height: 1.1;
            color: #ffcd30;
        }
    }

    & .con03__info--2 .con03__dot {
        margin-top: 5.7rem;
    }

    & .con03__pic--2 {
        height: 35.6rem;

        & img {
            left: -0.3rem;
            top: -28.8rem;
        }
    }
}

/* ===== con04: 치킨마루 바로가기 3블록 (메뉴/창업/매장) — 하단 치킨 bleed ===== */
.con04 {
    height: 106.2rem;
    background: #0d0e28;
    overflow: visible;

    & .con04__inner {
        margin: 0 3.2rem;
        padding-top: 12rem;
        border-radius: 1.9rem;
        overflow: hidden;
        background: #fff;
    }

    & .con04__title {
        font-size: var(--displayS);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.02;
        color: #0e0f2b;
    }

    & .con04__sub {
        margin-top: 2.7rem;
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.3;
        color: #000;
    }

    & .con04__box {
        margin-top: 3.6rem;
        width: 100%;
        height: 50.3rem;
        overflow: hidden;
    }

    & .con04__card {
        flex: 1;
        align-items: center;
        padding-top: 17.5rem;
        overflow: hidden;
    }

    & .con04__card--2,
    & .con04__card--3 {
        border-left: 0.1rem solid rgba(255, 255, 255, 0.102);
    }

    & .con04__card--up {
        padding-top: 13.4rem;
    }

    /* 배경이미지(absol 겹침 z0) — 완성형 webp 자체가 딤 처리됨, 추가 오버레이 없음 */
    & .con04__card-bg {
        z-index: 0;

        & img {
            object-fit: cover;
        }
    }

    & .con04__eyebrow,
    & .con04__card-title,
    & .con04__btns {
        position: relative;
        z-index: 1;
    }

    & .con04__eyebrow {
        font-size: var(--bodyXL);
        font-weight: 400;
        letter-spacing: -0.06em;
        line-height: 1;
        color: #fff;
    }

    & .con04__card-title {
        margin-top: 1.6rem;
        font-size: var(--titleXS);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1;
        color: #fff;

        & .accent {
            color: #ffcd30;
        }
    }

    & .con04__btns {
        margin-top: 4.6rem;
    }

    & .con04__btn--pill {
        width: 18.9rem;
        height: 5.2rem;
        background: #ffcd30;
        border-radius: 2.45rem;
        font-size: var(--bodyL);
        font-weight: 700;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #000;
        transition: background 0.2s ease;
    }

    & .con04__btn--pill:hover {
        background: #f5c01a;
    }

    & .con04__chicken {
        left: 52.65rem;
        bottom: 0;
        z-index: 10;

        & img {
            width: 81.6rem;
            height: 31.7rem;
            border-radius: 3rem;
        }
    }
}

/* ===== con05: BRAND IDENTITY — 심벌마크 가이드 + 컬러 팔레트 ===== */
.con05 {
    box-sizing: border-box;
    height: 103.2rem;
    padding-top: 12.4rem;
    background: #ebecf6;

    & .con05__title {
        margin-top: 1.8rem;
        font-family: var(--font-paytone);
        font-size: 8rem;
        text-transform: uppercase;
        letter-spacing: 0em;
        line-height: 1;
        color: #000000;
    }

    & .con05__desc {
        margin-top: 0.5rem;
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #000000;
    }

    & .con05__cards {
        margin-top: 3.4rem;
    }

    & .con05__card {
        width: 70.8rem;
        height: 34.5rem;
        background: #ffffff;
        border: 1px solid #dcdcdc;
        border-radius: 3rem;
        overflow: hidden;
    }

    & .con05__color {
        margin-top: 3.8rem;
    }

    & .con05__color-label {
        margin-right: 10.2rem;
        font-family: var(--font-paytone);
        font-size: var(--titleXS);
        text-transform: uppercase;
        letter-spacing: 0em;
        line-height: 1;
        color: #000000;
    }

    & .con05__swatch {
        width: 38.2rem;
        height: 13.8rem;
        border-radius: 2rem;
        font-family: var(--font-paytone);
        font-size: var(--bodyXL);
        letter-spacing: 0em;
        line-height: 1.4;
    }

    & .con05__swatch--y {
        background: #ffcd00;
        color: #000000;
    }

    & .con05__swatch--o {
        background: #ff9e18;
        color: #000000;
    }

    & .con05__swatch--d {
        background: #393332;
        color: #ffffff;
    }
}

/* ===== con06: 치킨마루 수상내역 ("걸어온 길" 그룹) ===== */
.con06 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 108.6rem;
    background: #ffffff;
    overflow: hidden;
    /* 상단 탭바는 공통 sticky .tabnav--hero 가 담당 — con06 자체 탭바 없음 */

    & .con06__title-wrap {
        margin-top: 14.5rem;
    }

    & .con06__title-dot {
        margin-bottom: 1.6rem;
        width: 2.6rem;
        height: 2.6rem;
        border-radius: 50%;
        background: #ffcd30;
    }

    & .con06__title {
        font-size: 6.5rem;
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.154;
        color: #000000;

        & span {
            color: #0d0e28;
        }
    }

    & .con06__dark {
        margin-top: 3.5rem;
        height: 70.4rem;
        background: #0c0d25;
        overflow: hidden;
    }

    & .con06__dark-bg img {
        width: 100%;
        max-width: none;
    }

    /* 트로피 군 = 래퍼(dark 기준 absol)로 묶음. 트로피=static(래퍼 크기 결정), 데코=래퍼 기준 absol 오프셋 */
    & .con06__trophy-wrap {
        position: absolute;
        left: 66.4rem;
        top: 28.2rem;
        z-index: 5;
    }

    & .con06__trophy {
        position: relative;
        z-index: 5;
    }

    & .con06__glow {
        left: -34.4rem;
        top: -68.7rem;
        z-index: 6;
        mix-blend-mode: lighten;
    }

    & .con06__wordmark {
        left: -1.1rem;
        top: -15rem;
        z-index: 3;
    }

    & .con06__halo {
        left: -5.7rem;
        top: -20.1rem;
        z-index: 4;
        opacity: 0.7;
    }

    /* 수상 뱃지 8개 = 완성형(아이콘+캡션 baked). 좌/우 grid 2×2, gap 은 baked 뱃지 기준 */
    & .con06__awards {
        z-index: 6;
        display: grid;
        grid-template-columns: repeat(2, auto);
        justify-items: center;
    }

    & .con06__awards--left {
        left: 20.7rem;
        top: 18.7rem;
        column-gap: 5.5rem;
        row-gap: 7.4rem;
    }

    & .con06__awards--right {
        left: 138.3rem;
        top: 18.8rem;
        column-gap: 5.3rem;
        row-gap: 5.1rem;
    }
}

/* ===== con07: 치킨마루가 걸어온 길 — 연혁 타임라인(2005~2025) ("걸어온 길" 그룹) ===== */
/* ★ 평탄화: .con07__head 만 흐름, 나머지 전부 .con07(rltv) 직속 absol. absol>absol 0건 */
.con07 {
    box-sizing: border-box;
    height: 131.7rem;
    overflow: hidden;
    background: #ffffff;

    /* 헤더 (유일한 흐름 블록): 마크 → 타이틀 → 설명, 중앙 세로흐름. pt 로 margin-collapse 방지 */
    & .con07__head {
        padding-top: 11.8rem;
    }

    & .con07__title {
        margin-top: 2.5rem;
        font-size: var(--displayS);
        letter-spacing: -0.03em;
        line-height: 1.154;
        color: #000000;
    }

    & .con07__title--accent {
        color: #0d0e28;
    }

    & .con07__desc {
        margin-top: 1rem;
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #000000;
    }

    & .con07__years {
        left: 23.45rem;
        top: 41.9rem;
    }

    & .con07__years-main {
        font-family: var(--font-paytone);
        font-size: 7.7rem;
        letter-spacing: 0em;
        line-height: 1.154;
        color: #000000;
        cursor: pointer;
        opacity: 0.25;
        transition: opacity 0.3s ease;
    }

    & .con07__years-main.is-active {
        opacity: 1;
    }

    & .con07__years-sub {
        margin-top: -0.5rem;
        font-family: var(--font-paytone);
        font-size: var(--titleXS);
        letter-spacing: 0em;
        line-height: 1.154;
        color: #000000;
        cursor: pointer;
        opacity: 0.2;
        transition: opacity 0.3s ease;
    }

    & .con07__years-sub.is-active {
        opacity: 1;
    }

    & .con07__hist-window {
        position: absolute;
        left: 85rem;
        top: 37.1rem;
        width: 81rem;
        height: 62rem;
        overflow: hidden;
    }

    & .con07__hist {
        position: relative;
        z-index: 1;
        will-change: transform;
        padding-top: 10rem;
    }

    & .con07__hist::before {
        content: "";
        position: absolute;
        left: 10.15rem;
        top: 0;
        width: 1px;
        height: 100%;
        background: #000000;
        opacity: 0.1;
        z-index: 0;
    }

    & .con07__empty {
        margin-left: 30.45rem;
        font-size: var(--bodyXL);
        letter-spacing: -0.06em;
        color: #888;
        white-space: nowrap;
    }

    & .con07__year-group {
        min-height: 16.5rem;   /* 활성 연도 뱃지(15.7rem+border 0.4) 수용 — 항목 적은 연도에서 큰 뱃지가 다음 연도 노드(점)와 겹치는 문제 방지 */
    }
    & .con07__year-group + .con07__year-group {
        margin-top: 4rem;
    }

    & .con07__year-badge {
        left: 10.15rem;
        top: 0;
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 50%;
        background: #0d0e28;
        transform: translateX(-50%);
        transition: width .35s ease, height .35s ease, background .35s ease, border .35s ease;
        z-index: 2;
    }

    & .con07__year-num {
        font-family: var(--font-paytone);
        font-size: var(--titleS);
        line-height: 0.98;
        color: #0d0e28;
        white-space: nowrap;
        opacity: 0;
        transition: opacity .35s ease;
    }

    & .con07__year-group.is-active .con07__year-badge {
        width: 15.7rem;
        height: 15.7rem;
        background: #ffcd30;
        border: 0.2rem solid #0d0e28;
    }

    & .con07__year-group.is-active .con07__year-num {
        opacity: 1;
    }

    & .con07__year-items {
        margin-left: 30.45rem;
    }

    & .con07__hist-date {
        font-family: var(--font-paytone);
        font-size: var(--bodyL);
        letter-spacing: 0em;
        line-height: 2.222;
        color: #0c0d25;
    }

    & .con07__hist-body {
        margin-left: 5.6rem;
        max-width: 41.4rem;
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 2.222;
        color: #000000;
        white-space: normal;
        word-break: keep-all;
    }

    & .con07__deco-band {
        left: -38.85rem;
        top: 68.2rem;
        width: 115.3rem;
        height: 35.9rem;
        border-radius: 17.8rem;
        background: #ffcd30;
        z-index: 1;
        overflow: hidden;
    }

    /* 마키 트랙 = 원본 1벌 + 복제(absol left:100%) 1벌, marqueeX 무한 */
    & .con07__deco-track {
        flex-shrink: 0;
        animation: marqueeX 18s infinite linear;
    }

    & .con07__deco-track img {
        flex-shrink: 0;
    }

    & .con07__deco-track .absol {
        left: 100%;
        top: 0;
    }

    & .con07__deco-img {
        left: -44.05rem;
        top: 49.7rem;
        z-index: 3;
        pointer-events: none; /* 순수 데코 — 위에 겹치는 탭버튼 클릭 통과 */
    }
}

/* ===== con08: 사회공헌 활동 — 타이틀 + centeredSlides 영상 슬라이더 ("사회공헌 활동" 그룹) ===== */
.con08 {
    height: 101.5rem;
    background: url(/images/sub02/b_con08_01.webp) center/cover no-repeat;
    overflow: hidden;
}

.con08 {
    & .con08__inner {
        /* 첫 자식 margin collapse 차단 */
        padding-top: 15.6rem;
    }

    & .con08__label {
        letter-spacing: -0.03em;
        line-height: 1.2;
        color: #000000;
        font-weight: 700;
    }

    & .con08__title {
        margin-top: 1.5rem;
        font-size: var(--displayS);
        font-family: var(--font-paperlogy);
        letter-spacing: -0.03em;
        line-height: 1.1;
        color: #000000;
        font-weight: 800;

        & span {
            color: #0e0f29;
        }
    }

    & .con08__desc {
        margin-top: 2.6rem;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #000000;
        font-weight: 500;
    }

    & .con08__panel {
        margin-top: 4.8rem;
        width: 94.59%;
        height: 70.4rem;
        border-radius: 6rem 6rem 0 0;
        background-color: #ffffff;
    }

    & .con08__slider {
        padding-top: 8.7rem;
    }

    & .con08__slide {
        width: 73.3rem;
    }

    & .con08__media {
        width: 73.3rem;
        height: 40.2rem;
        border-radius: 3rem;
        overflow: hidden;
    }

    & .con08__video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    & .con08__slide::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 3rem;
        background-color: rgba(0, 0, 0, 0.5);
        pointer-events: none;
    }

    & .swiper-slide-active::after {
        display: none;
    }

    & .con08__arrow {
        top: 50%;
        width: 5.2rem;
        height: 5.2rem;
        transform: translateY(-50%);
        z-index: 3;
        cursor: pointer;
    }

    & .con08__arrow--prev {
        left: 50%;
        margin-left: -46.35rem;
    }

    & .con08__arrow--next {
        right: 50%;
        margin-right: -46.35rem;
    }

    & .con08__arrow-ico {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    & .con08__arrow--next .con08__arrow-ico {
        transform: scaleX(-1);
    }

    & .con08__caption {
        margin-top: 2.2rem;
        font-size: var(--subheadM);
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: #000000;
        font-weight: 600;
    }
}

/* ===== con09: 사회공헌 — 보도자료 리스트 + 더보기 ===== */
.con09 {
    justify-content: flex-start;
    background: #ffffff;
    overflow: hidden;
    padding-bottom: 12rem;

    & .con09__list {
        width: 144.2rem;
        z-index: 1;
    }

    & .con09__empty {
        padding: 6rem 0;
        font-size: var(--bodyXL);
        letter-spacing: -0.06em;
        color: #888;
    }

    /* 카드 = 고정 슬롯. align-start 로 썸네일 stretch 방지 */
    & .con09__item {
        box-sizing: border-box;
        height: 50.9rem;
        padding-top: 10.6rem;
        column-gap: 9.6rem;
        align-items: flex-start;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    & .con09__item:last-child {
        border-bottom: none;
    }

    & .con09__item.is-hidden {
        display: none;
    }

    /* 썸네일 좌컬럼 — 실사진/placeholder 동일 고정 슬롯. 등록 이미지 크기 무관(작든 크든)
       object-fit:cover 로 슬롯 채움(data-resized=false → ImgResize skip 이라 CSS 가 먹음) */
    & .con09__thumb {
        width: 52.6rem;
        height: 30.1rem;
        border-radius: 2rem;
        overflow: hidden;
    }

    & .con09__thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    & .con09__thumb--placeholder {
        width: 52.6rem;
        height: 30.1rem;
        border-radius: 2rem;
        background: #cbcbca;
    }

    & .con09__body {
        flex: 1;
        padding-top: 3.9rem;
    }

    & .con09__title {
        margin-top: 2.3rem;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: #000000;
    }

    & .con09__desc {
        margin-top: 4.6rem;
        letter-spacing: -0.06em;
        line-height: 1.84;
        color: #000000;
        white-space: normal;
        word-break: keep-all;
    }

    & .con09__date {
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #000000;
    }

    & .con09__arrow {
        right: 0;
        top: 41.8rem;
    }

    & .con09__more {
        margin-top: 3.5rem;
        width: 19.4rem;
        height: 8rem;
        border-radius: 2rem;
        background: #0d0e28;
        z-index: 1;
    }

    & .con09__more-text {
        letter-spacing: -0.05em;
        line-height: 1.4;
        color: #ffffff;
    }
}

/* ===== con10: 제휴 및 제안 (문의 폼 + 파일첨부 + 개인정보 동의) ===== */
.con10 {
    height: 124.4rem;
    background: #ebecf6 url("/images/sub02/b_con09_03.webp") no-repeat center top / cover;

    & .con10__inner {
        padding-top: 14.1rem;
    }

    & .con10__title {
        margin-top: 1.1rem;
        font-size: var(--displayS);
        font-family: var(--font-paperlogy);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.15;
        color: #0e142e;
    }

    & .con10__form {
        margin-top: 4rem;
        width: 78.1rem;
        gap: 1.2rem;
    }

    & .con10__field {
        height: 8.2rem;
        background: #ffffff;
        border: 1px solid #b2b5da;
        border-radius: 2rem;
    }

    & .con10__field--area {
        height: 17.2rem;
    }

    & .con10__field-label {
        width: 18.1rem;
        font-size: var(--headS);
        font-family: var(--font-paperlogy);
        font-weight: 800;
        letter-spacing: 0.15em;
        line-height: 1;
        white-space: nowrap;
        text-align: center;
        color: #0e142e;
    }

    & .con10__field--area .con10__field-label {
        letter-spacing: -0.02em;
    }

    & .con10__field-div {
        flex-shrink: 0;
        width: 2px;
        height: 3rem;
        background: #0e142e;
        opacity: 0.2;
    }

    & .con10__field-div--tall {
        height: 11.9rem;
    }

    & .con10__field-input {
        flex: 1;
        height: 100%;
        margin-left: 2.6rem;
        font-family: inherit;
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #1d1d1f;
        background: transparent;
        border: 0;
    }

    & .con10__field-input:focus {
        outline: none;
    }

    & .con10__field-textarea {
        height: 11.9rem;
        font-family: inherit;
        resize: none;
        white-space: normal;
        word-break: keep-all;
    }

    & .con10__upload {
        margin-left: 2.6rem;
        gap: 1.4rem;
        cursor: pointer;
    }

    & .con10__upload-icon {
        flex-shrink: 0;
        width: 4.9rem;
        height: 4.9rem;
        border-radius: 50%;
        background: #ffcd30;
    }

    & .con10__upload-text {
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #1d1d1f;
    }

    & .con10__agree {
        margin-top: 2.9rem;
        gap: 6.9rem;
    }

    & .con10__agree-label {
        cursor: pointer;
    }

    & .con10__agree-check {
        appearance: none;
        flex-shrink: 0;
        width: 1.6rem;
        height: 1.6rem;
        border: 0.1rem solid #b2b5da;
        border-radius: 50%;
        background: #fff;
        cursor: pointer;
        transition:
            background 0.2s ease,
            border-color 0.2s ease;
    }

    & .con10__agree-check:checked {
        border-color: #0d0e28;
        background: radial-gradient(circle, #0d0e28 0 42%, #fff 48%);
    }

    & .con10__agree-text,
    & .con10__agree-view {
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #1d1d1f;
    }

    & .con10__agree-view {
        background: transparent;
        border: 0;
        text-decoration: underline;
        cursor: pointer;
    }

    & .con10__submit {
        margin-top: 2.4rem;
        width: 17.1rem;
        height: 6.2rem;
        font-size: var(--bodyXL);
        font-family: var(--font-paperlogy);
        font-weight: 600;
        letter-spacing: -0.05em;
        line-height: 1.4;
        color: #ffffff;
        background: #0d0e28;
        border: 0;
        border-radius: 1.5rem;
        cursor: pointer;
    }
}

/* ===== con11: 오시는 길 (카카오맵 + 좌측 다크 정보카드 + 닭다리 데코) ===== */
.con11 {
    height: 120.3rem;
    box-sizing: border-box;
    background: #ffffff;

    & .con11__head {
        margin-top: 9.5rem;
    }

    & .con11__title {
        margin-top: 1.3rem;
        font-size: var(--displayS);
        font-family: var(--font-paperlogy);
        letter-spacing: -0.03em;
        line-height: 1.154;
        color: #000000;
    }

    /* map-wrap: 다크밴드 + 지도 (full-bleed). z-index 로 stacking context 생성 → 카카오맵 내부 z 를 가둬 카드 아래로 */
    & .con11__map-wrap {
        margin-top: 7.7rem;
        z-index: 1;
        pointer-events: none;
    }

    & .con11__band {
        left: -11.35rem;
        top: 0;
        width: 213.2rem;
        height: 72.4rem;
        background: #393332;
        border-radius: 3rem;
    }

    & .con11__map {
        position: relative;
        width: 100%;
        height: 99.1rem;
    }

    /* card: 네이비 정보카드 (지도 위 겹침). z-index 2 > map-wrap 1 → 지도 위로 */
    & .con11__card {
        left: 11.15rem;
        top: 24rem;
        width: 52rem;
        height: 41.9rem;
        background: #0d0e28;
        border-radius: 2rem;
        z-index: 2;
    }

    & .con11__card-inner {
        padding-top: 8.8rem;
        padding-left: 8.6rem;
    }

    & .con11__addr {
        margin-top: 2.6rem;
        font-family: var(--font-family);
        font-weight: 400;
        letter-spacing: -0.06em;
        line-height: 1.444;
        color: #ffffff;
    }

    & .con11__divider {
        margin-top: 3.9rem;
        width: 35.2rem;
        height: 1px;
        background: #ffffff;
        opacity: 0.102;
    }

    & .con11__tel {
        margin-top: 4.4rem;
        gap: 1rem;
    }

    & .con11__tel-item {
        gap: 1rem;
    }

    & .con11__tel-icon {
        width: 1.8rem;
        height: 1.8rem;
    }

    & .con11__tel-num {
        font-size: var(--headM);
        font-family: var(--font-paytone);
        line-height: 1.154;
        color: #ffcd30;
    }

    & .con11__deco {
        left: 35.2rem;
        top: -1.4rem;
    }
}

/* con11 카카오맵 핀 = 완성형 이미지(b_con10_05, 꼬리 포함) — JS CustomOverlay 주입 */
.con11__pin {
    display: block;
    width: 14.6rem;
    height: auto;
}

/* ============================================================
 * 모바일 (≤599px) — PC 좌우/자유배치 → 상하 스택.
 *   sub-hero / tabnav 공통은 mobile_style.css 가 처리.
 *   폰트는 토큰 유지(모바일 :root 자동 vw 재매핑), raw rem 폰트만 토큰/vw 재지정.
 *   absol → 흐름 전환 시 좌표 리셋(left/top/right/bottom:auto + transform:none).
 *   이미지 크기는 img 직접 width:Nvw !important + height:auto (ImgResize 인라인 이김).
 * ============================================================ */

.con10__submit.is-loading {
    position: relative;
    color: transparent;
    pointer-events: none;
}

.con10__submit.is-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4rem;
    height: 2.4rem;
    margin: -1.2rem 0 0 -1.2rem;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: con10-spin 0.6s linear infinite;
}

@keyframes con10-spin {
    to {
        transform: rotate(360deg);
    }
}

@media screen and (max-width:599px) {
    /* ★ .sub02 에 overflow 를 주지 않음 — hidden/clip 모두 sticky(.tabnav--hero) 의 스크롤 컨테이너가 되어
       탭바 고정을 깨뜨림. 가로 bleed 는 각 con 섹션 자체 overflow:hidden 이 처리함. */

    /* 탭바: 공통 mobile_style.css 의 가로스크롤 1줄 → sub02 만 flex-wrap 다줄.
       height 고정(13vw)·overflow-x:auto·list nowrap/max-content 3종을 함께 풀어야 wrap 됨. */
    .sub02 .tabnav--hero {
        height: auto;
        overflow-x: visible;
        overflow-y: visible;
        padding: 2.5vw 3vw;
        margin-top: -7vw;
        margin-bottom: -14vw;
    }

    /* ★ width 70vw = 3+2 개행 강제. 100% 면 첫 줄에 4개가 들어가 4+1 로 깨짐.
       탭 3개(약 60vw) 는 들어가고 4개(약 81vw) 는 밀리는 폭. justify-c 라 두 줄 모두 중앙정렬 유지. */
    .sub02 .tabnav__list {
        flex-wrap: wrap;
        flex-shrink: 1;
        width: 70vw;
        min-width: 0;
        gap: 2.5vw 5vw;
        padding: 0;
    }

    .sub02 .con01,
    .sub02 .con02,
    .sub02 .con03,
    .sub02 .con04,
    .sub02 .con05,
    .sub02 .con06,
    .sub02 .con07,
    .sub02 .con08,
    .sub02 .con09,
    .sub02 .con10,
    .sub02 .con11 {
        height: auto;
        min-height: 0;
    }

    /* ===== con01: 인트로 — PC 겹침 구도 유지(반반 접시 중심 + 강점 배지 접시 위 겹침 + CHICKEN MARU 띠 배경) =====
       ★ 1열 나열 금지: PC 의 중심 접시 + 배지 겹침 레이어 구도를 모바일 폭으로 압축 재현.
       ★ 셀렉터에 .con01 끼움: PC 가 .sub02 .con01 .X (중첩 3클래스)라 명시도로 안 밀림. */
    .sub02 .con01 {
        position: relative;
        min-height: 130vw;
        padding: 16vw 0 0;
    }

    .sub02 .con01 .con01__head {
        position: relative;
        left: auto;
        top: auto;
        align-items: center;
        text-align: center;
        z-index: 6;
    }

    .sub02 .con01 .con01__title {
        font-size: var(--titleXL);
        white-space: normal;
    }

    .sub02 .con01 .con01__plate-img--gold,
    .sub02 .con01 .con01__plate-img--spicy {
        position: absolute;
        top: 46vw;
        margin: 0;
        z-index: 2;
    }

    .sub02 .con01 .con01__plate-img--gold {
        right: 50%;
        left: auto;
    }

    .sub02 .con01 .con01__plate-img--spicy {
        left: 50%;
        right: auto;
    }

    .sub02 .con01 .con01__plate-img--gold img,
    .sub02 .con01 .con01__plate-img--spicy img {
        width: auto !important;
        height: 76vw !important;
    }

    .sub02 .con01 .con01__pair--balance,
    .sub02 .con01 .con01__pair--price,
    .sub02 .con01 .con01__pair--oil {
        position: absolute;
        left: auto;
        top: auto;
        margin: 0;
        z-index: 5;
    }

    .sub02 .con01 .con01__pair--balance {
        right: 3vw;
        top: 36vw;
    }

    .sub02 .con01 .con01__pair--price {
        left: 3vw;
        top: 82vw;
    }

    .sub02 .con01 .con01__pair--oil {
        right: 4vw;
        top: 106vw;
    }

    .sub02 .con01 .con01__box--balance img,
    .sub02 .con01 .con01__box--price img,
    .sub02 .con01 .con01__box--oil img {
        width: 34vw !important;
        height: auto !important;
    }

    /* 호버 오버레이: 모바일은 호버 불가 → 신호등 모션(balance→price→oil 순차 점등 6s 루프)으로 자동 전환 */
    .sub02 .con01 .con01__hover-img--balance img,
    .sub02 .con01 .con01__hover-img--price img,
    .sub02 .con01 .con01__hover-img--oil img {
        width: 34vw !important;
        height: auto !important;
    }

    .sub02 .con01 .con01__hover-img--balance,
    .sub02 .con01 .con01__hover-img--price,
    .sub02 .con01 .con01__hover-img--oil {
        animation: con01Signal 6s infinite;
    }

    .sub02 .con01 .con01__hover-img--balance {
        animation-delay: 0s;
    }

    .sub02 .con01 .con01__hover-img--price {
        animation-delay: 2s;
    }

    .sub02 .con01 .con01__hover-img--oil {
        animation-delay: 4s;
    }

    .sub02 .con01 .con01__deco {
        top: auto;
        bottom: 8vw;
        width: 100%;
        z-index: 1;
    }

    .sub02 .con01 .con01__deco-track {
        width: 200vw;
    }

    .sub02 .con01 .con01__deco img {
        width: 200vw !important;
        max-width: none;
        height: auto !important;
    }

    /* ===== con02: 일상 속 치킨마루 ===== */
    .sub02 .con02 {
        padding: 14vw 5vw 16vw;
    }

    .sub02 .con02 .con02__head {
        padding-top: 0;
    }

    .sub02 .con02 .con02__title,
    .sub02 .con02 .con02__sub {
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con02 .con02__box {
        width: 90vw;
        height: 85vw;
        margin-top: 8vw;
        border-radius: 6vw;
    }

    .sub02 .con02 .con02__photo {
        left: 0;
        top: 0;
        width: 100%;
        /* transform: translateX(-50%); */
    }

    .sub02 .con02 .con02__photo::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.3);
        pointer-events: none;
    }

    .sub02 .con02 .con02__photo img {
        width: 100% !important;
        /* height: auto !important; */
    }

    .sub02 .con02 .con02__box-copy {
        left: 50%;
        bottom: 24vw;
        top: auto;
        transform: translateX(-50%);
        text-align: center;
        white-space: normal;
        color: #fff;
    }

    .sub02 .con02 .con02__box-copy span {
        color: var(--bg-color);
    }

    .sub02 .con02 .con02__deco {
        position: relative;
        margin-top: 10vw;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .sub02 .con02 .con02__wordmark {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        font-size: 12vw;
        line-height: 0.9;
        text-align: center;
        white-space: nowrap;
        z-index: 1;
    }

    .sub02 .con02 .con02__pill {
        position: static;
        left: auto;
        right: auto;
        top: auto;
        transform: none;
        margin-top: -4vw;
        width: 86vw;
        height: auto;
        padding: 17vw 6vw 7vw;
        box-sizing: border-box;
        border-radius: 8vw;
        z-index: 2;
    }

    .sub02 .con02 .con02__pill .con02__pill-desc {
        margin-top: 0;
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con02 .con02__pill-icon {
        position: absolute;
        left: 50%;
        top: 2vw;
        right: auto;
        transform: translateX(-50%);
        z-index: 3;
    }

    .sub02 .con02 .con02__pill-icon img {
        width: 18vw !important;
        height: auto !important;
    }

    /* ===== con03: 브랜드 스토리 — 슬롯 짝묶음(제자리 cross-fade, 타이틀 고정) ===== */
    .sub02 .con03 {
        padding: 14vw 0;
        overflow: hidden;
    }

    .sub02 .con03 .con03__wordmark {
        top: 6vw;
    }

    .sub02 .con03 .con03__wordmark-text {
        letter-spacing: 0.8em;
    }

    .sub02 .con03 .con03__title {
        margin-top: 10vw;
        font-size: var(--titleXL);
        white-space: normal;
    }

    .sub02 .con03 .con03__cols {
        display: flex;
        flex-direction: column;
        padding: 0 3vw;
        gap: 5vw;
        margin-top: 8vw;
        align-items: center;
    }

    .sub02 .con03 .con03__slot {
        align-items: center;
    }

    .sub02 .con03 .con03__slot--mid .con03__logo,
    .sub02 .con03 .con03__slot--right .con03__pic {
        margin-top: 0;
    }

    .sub02 .con03 .con03__year {
        font-size: 8vw;
    }

    .sub02 .con03 .con03__dot,
    .sub02 .con03 .con03__info--2 .con03__dot {
        margin-top: 2vw;
        width: 1.5vw;
        height: 1.5vw;
    }

    .sub02 .con03 .con03__sub {
        margin-top: 2vw;
        font-size: var(--bodyM);
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con03 .con03__desc {
        margin-top: 1vw;
        font-size: var(--bodyXS);
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con03 .con03__logo {
        width: 38vw;
        height: 38vw;
        border-width: 0.3vw;
    }

    .sub02 .con03 .con03__logo-img img {
        width: 70% !important;
        height: auto !important;
    }

    .sub02 .con03 .con03__pic {
        width: 91vw;
        height: 91vw;
        overflow: hidden;
        border-radius: 2vw;
    }

    .sub02 .con03 .con03__pic img {
        position: static;
        left: auto;
        top: auto;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }

    .sub02 .con03 .con03__count strong {
        font-size: 9vw;
    }

    .sub02 .con03 .con03__count span {
        font-size: 7vw;
    }

    /* ===== con04: 3블록 바로가기 + 하단 치킨 bleed ===== */
    .sub02 .con04 {
        padding-bottom: 26vw;
        overflow: visible;
    }

    .sub02 .con04 .con04__inner {
        margin: 0 4vw;
        padding: 14vw 5vw 5vw;
        border-radius: 4vw;
    }

    .sub02 .con04 .con04__title,
    .sub02 .con04 .con04__sub {
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con04 .con04__box {
        height: auto;
        margin-top: 8vw;
        border-radius: 4vw;
    }

    .sub02 .con04 .con04__cards {
        flex-direction: column;
    }

    .sub02 .con04 .con04__card,
    .sub02 .con04 .con04__card--up {
        padding: 12vw 6vw;
        height: auto;
        min-height: auto;
    }

    .sub02 .con04 .con04__card--2,
    .sub02 .con04 .con04__card--3 {
        border-left: 0;
        border-top: 0.1rem solid rgba(255, 255, 255, 0.102);
    }

    .sub02 .con04 .con04__card-title {
        white-space: normal;
    }

    .sub02 .con04 .con04__btn--pill {
        width: auto;
        min-width: 42vw;
        height: auto;
        padding: 3.6vw 6vw;
        border-radius: 50vw;
    }

    .sub02 .con04 .con04__chicken {
        left: 50%;
        top: auto;
        bottom: 0;
        transform: translateX(-50%);
    }

    .sub02 .con04 .con04__chicken img {
        width: 72vw !important;
        height: auto !important;
        border-radius: 4vw;
    }

    /* ===== con05: BRAND IDENTITY ===== */
    .sub02 .con05 {
        padding: 14vw 5vw 16vw;
    }

    .sub02 .con05 .con05__mark img {
        width: 24vw !important;
        height: auto !important;
    }

    .sub02 .con05 .con05__title {
        font-size: var(--titleXL);
    }

    .sub02 .con05 .con05__desc {
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con05 .con05__cards {
        flex-direction: column;
        width: 100%;
        gap: 5vw;
    }

    .sub02 .con05 .con05__card {
        width: 100%;
        height: 48vw;
        border-radius: 5vw;
    }

    .sub02 .con05 .con05__color {
        flex-direction: column;
        align-items: center;
        gap: 5vw;
        margin-top: 8vw;
        width: 100%;
    }

    .sub02 .con05 .con05__color-label {
        margin-right: 0;
    }

    .sub02 .con05 .con05__swatches {
        flex-direction: column;
        width: 100%;
        gap: 4vw;
    }

    .sub02 .con05 .con05__swatch {
        width: 100%;
        height: auto;
        padding: 6vw;
        border-radius: 3vw;
        box-sizing: border-box;
    }

    /* ===== con06: 수상내역 — PC 구도 유지(트로피 중심 + 인증 뱃지 8개 둘러쌈) ===== */
    .sub02 .con06 .con06__title-wrap {
        margin-top: 18vw;
    }

    .sub02 .con06 .con06__title {
        font-size: var(--titleXL);
        white-space: normal;
    }

    .sub02 .con06 .con06__dark {
        position: relative;
        height: 140vw;
        min-height: 0;
        margin-top: 8vw;
        overflow: hidden;
    }

    .sub02 .con06 .con06__awards--left,
    .sub02 .con06 .con06__awards--right {
        left: 50%;
        transform: translateX(-50%);
        width: 96vw;
        grid-template-columns: repeat(4, 1fr);
        column-gap: 2vw;
        row-gap: 0;
        z-index: 6;
    }

    .sub02 .con06 .con06__awards--left {
        top: 4vw;
    }

    .sub02 .con06 .con06__awards--right {
        top: 40vw;
    }

    .sub02 .con06 .con06__award-icon img {
        width: 100% !important;
        height: auto !important;
    }

    .sub02 .con06 .con06__trophy-wrap {
        left: 50%;
        top: 94vw;
        transform: translateX(-50%);
        z-index: 5;
    }

    .sub02 .con06 .con06__trophy img {
        width: 62vw !important;
        height: auto !important;
    }

    .sub02 .con06 .con06__glow,
    .sub02 .con06 .con06__halo,
    .sub02 .con06 .con06__wordmark {
        left: 50%;
        bottom: auto;
    }

    .sub02 .con06 .con06__glow {
        top: -2vw;
        transform: translate(-50%, -50%);
        z-index: 6;
        mix-blend-mode: lighten;
    }

    .sub02 .con06 .con06__glow img {
        width: 106vw !important;
        height: auto !important;
    }

    .sub02 .con06 .con06__halo {
        top: -2vw;
        transform: translate(-50%, -50%);
        z-index: 4;
        opacity: 0.7;
    }

    .sub02 .con06 .con06__halo img {
        width: 64vw !important;
        height: auto !important;
    }

    .sub02 .con06 .con06__wordmark {
        top: -12vw;
        transform: translateX(-50%);
        z-index: 3;
    }

    .sub02 .con06 .con06__wordmark img {
        width: 56vw !important;
        height: auto !important;
    }

    /* ===== con07: 연혁 타임라인 — 연도 그룹 헤더(축 노드) + 좌측 레일 리스트 ===== */
    .sub02 .con07 {
        padding-bottom: 28vw;
    }

    .sub02 .con07 .con07__head {
        padding-top: 16vw;
    }

    .sub02 .con07 .con07__title {
        font-size: var(--titleXL);
        white-space: normal;
    }

    .sub02 .con07 .con07__desc {
        white-space: normal;
        word-break: keep-all;
    }

    /* 연도 범위 라벨: 유지(디자이너 확인 전까지) — absol → 흐름 중앙 */
    .sub02 .con07 .con07__years {
        position: relative;
        left: auto;
        top: auto;
        align-items: center;
        margin-top: 10vw;
    }

    /* 대형 디스플레이 연도 — 폰트 토큰 최대(titleXL 60px)도 PC 7.7rem 보다 작아 raw vw 예외 */
    .sub02 .con07 .con07__years-main {
        font-size: 11vw;
    }

    .sub02 .con07 .con07__years-sub {
        font-size: var(--titleXS);
    }

    /* 중앙축 뱃지/선/점 = 모바일 숨김(.pc-flex 유틸 토글). 다년도 리스트 맥락은 연도 그룹 헤더(●)가 대체 */

    /* 윈도우 무력화: 모바일은 PC 클립/pin 미적용 → 트랙(.con07__hist)을 con07 직속 흐름처럼 */
    .sub02 .con07 .con07__hist-window {
        display: contents;
    }

    .sub02 .con07 .con07__hist {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        margin: 8vw 6vw 0;
        padding-left: 9vw;
        gap: 6vw;
        border-left: 2px solid rgba(13, 14, 40, 0.15);
    }

    .sub02 .con07 .con07__hist::before {
        content: none;
    }

    .sub02 .con07 .con07__year-group {
        position: relative;
    }

    .sub02 .con07 .con07__year-badge {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
        height: auto;
        background: none;
        border: 0;
        transform: none;
        margin-bottom: 3vw;
        font-family: var(--font-paytone);
        font-size: var(--headL);
        line-height: 1.1;
        color: #0d0e28;
    }

    .sub02 .con07 .con07__year-badge::before {
        content: "";
        position: absolute;
        left: -9vw;
        top: 0.95em;
        transform: translate(-50%, -50%);
        width: 3.4vw;
        height: 3.4vw;
        border-radius: 50%;
        background: #ffcd30;
        border: 1px solid #0d0e28;
    }

    .sub02 .con07 .con07__year-num {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        opacity: 1;
    }

    .sub02 .con07 .con07__year-items {
        margin-left: 0;
        display: flex;
        flex-direction: column;
        gap: 4vw;
    }

    .sub02 .con07 .con07__hist-item {
        gap: 4vw;
    }

    .sub02 .con07 .con07__hist-date {
        line-height: 1.6;
    }

    .sub02 .con07 .con07__hist-body {
        margin-left: 0;
        max-width: none;
        line-height: 1.6;
    }

    /* 데코 밴드: 하단 중앙 (사용자 지시). 안에 CHICKEN MARU 마키 유지(overflow:hidden 은 PC 규칙 상속) */
    .sub02 .con07 .con07__deco-band {
        left: 50%;
        right: auto;
        top: auto;
        bottom: 6vw;
        transform: translateX(-50%);
        width: 88vw;
        height: 16vw;
        border-radius: 8vw;
        z-index: 1;
    }

    /* 마키 워드마크: 모바일 크기 보정(ImgResize 인라인 이김) */
    .sub02 .con07 .con07__deco-track img {
        width: auto !important;
        height: 7vw !important;
    }

    /* 포크치킨: 모바일 숨김(.pc-flex 유틸 토글, 사용자 지시) */

    /* ===== con08: 사회공헌 영상 슬라이더 — centeredSlides 구도 유지 ===== */
    .sub02 .con08 .con08__inner {
        padding-top: 16vw;
    }

    .sub02 .con08 .con08__title {
        white-space: normal;
    }

    .sub02 .con08 .con08__desc {
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con08 .con08__panel {
        width: 92vw;
        height: auto;
        margin-top: 8vw;
        padding-bottom: 10vw;
        border-radius: 6vw 6vw 0 0;
    }

    .sub02 .con08 .con08__slider {
        padding-top: 10vw;
    }

    .sub02 .con08 .con08__slide {
        width: 78vw;
    }

    .sub02 .con08 .con08__media {
        width: 100%;
        height: auto;
        aspect-ratio: 733 / 402;
        border-radius: 3vw;
    }

    .sub02 .con08 .con08__arrow {
        width: 10vw;
        height: 10vw;
    }

    .sub02 .con08 .con08__arrow--prev {
        margin-left: -44vw;
    }

    .sub02 .con08 .con08__arrow--next {
        margin-right: -44vw;
    }

    .sub02 .con08 .con08__caption {
        white-space: normal;
        word-break: keep-all;
    }

    /* ===== con09: 보도자료 리스트 — 항목 내부 좌우(썸네일/본문) → 상하 ===== */
    .sub02 .con09 {
        padding-bottom: 12vw;
    }

    .sub02 .con09 .con09__list {
        width: 90vw;
        gap: 3vw;
    }

    .sub02 .con09 .con09__item {
        height: auto;
        flex-direction: column;
        padding-top: 8vw;
        column-gap: 0;
        row-gap: 4vw;
    }

    .sub02 .con09 .con09__thumb {
        width: 100%;
        height: auto;
        aspect-ratio: 526 / 301;
    }

    .sub02 .con09 .con09__thumb--placeholder {
        width: 100%;
        height: 51vw;
    }

    .sub02 .con09 .con09__thumb img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }

    .sub02 .con09 .con09__body {
        padding-top: 0;
    }

    .sub02 .con09 .con09__title {
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con09 .con09__desc {
        white-space: normal;
    }

    .sub02 .con09 .con09__arrow {
        position: relative;
        right: auto;
        top: auto;
        margin-left: auto;
    }

    .sub02 .con09 .con09__more {
        margin-top: 6vw;
    }

    /* ===== con10: 제휴/제안 문의 폼 — 세로 폼 구조 유지(폭/높이/라벨폭만 모바일화) ===== */
    .sub02 .con10 .con10__inner {
        padding-top: 16vw;
        padding-bottom: 16vw;
    }

    .sub02 .con10 .con10__title {
        white-space: normal;
    }

    .sub02 .con10 .con10__form {
        width: 90vw;
        gap: 3vw;
    }

    .sub02 .con10 .con10__field {
        height: auto;
        min-height: 14vw;
        padding: 2vw 4vw;
        box-sizing: border-box;
        border-radius: 3vw;
    }

    .sub02 .con10 .con10__field--area {
        height: auto;
        min-height: 32vw;
    }

    .sub02 .con10 .con10__field-label {
        flex-shrink: 0; /* 라벨 고정폭 보호 → 좁은 폰에서 라벨 쪼그라듦(필드별 폭 불일치) 방지 */
        width: 28vw;
        letter-spacing: 0.05em;
    }

    /* 위 3클래스 오버라이드가 PC 의 --area 예외까지 덮으므로 재지정 */
    .sub02 .con10 .con10__field--area .con10__field-label {
        letter-spacing: -0.02em;
    }

    .sub02 .con10 .con10__field-input {
        min-width: 0; /* input 고유폭 무시 → overflow 제거 */
        margin-left: 4vw;
    }

    .sub02 .con10 .con10__field-textarea {
        height: auto;
        min-height: 24vw;
    }

    .sub02 .con10 .con10__field-div {
        width: 1px;
    }

    .sub02 .con10 .con10__field-div--tall {
        height: 22vw;
        width: 1px;
    }

    .sub02 .con10 .con10__upload {
        margin-left: 4vw;
    }

    .sub02 .con10 .con10__agree {
        gap: 4vw;
        margin-top: 5vw;
    }

    .sub02 .con10 .con10__agree-check {
        width: 4vw;
        height: 4vw;
    }

    .sub02 .con10 .con10__submit {
        width: 40vw;
        height: auto;
        padding: 3.5vw 0;
        margin-top: 5vw;
        border-radius: 2.5vw;
    }

    /* ===== con11: 오시는 길 — 모바일은 겹침 해제, 지도 → 정보창 세로 스택 ===== */
    .sub02 .con11 .con11__head {
        margin-top: 16vw;
    }

    .sub02 .con11 .con11__title {
        white-space: normal;
    }

    .sub02 .con11 .con11__map-wrap {
        margin-top: 8vw;
    }

    .sub02 .con11 .con11__band {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 4vw;
    }

    .sub02 .con11 .con11__map {
        height: 80vw;
        border-radius: 4vw;
    }

    /* 정보카드: 겹침 해제 → 지도 아래 흐름 배치(relative 유지로 닭다리 데코 기준 보존) */
    .sub02 .con11 .con11__card {
        position: relative;
        left: auto;
        top: -16vw;
        transform: none;
        margin: 6vw auto 0;
        width: 86vw;
        height: auto;
        border-radius: 3vw;
    }

    .sub02 .con11 .con11__card-inner {
        padding: 8vw 7vw;
    }

    .sub02 .con11 .con11__addr {
        white-space: normal;
        word-break: keep-all;
    }

    .sub02 .con11 .con11__divider {
        width: 100%;
    }

    .sub02 .con11 .con11__deco {
        left: auto;
        right: 4vw;
        top: -6vw;
    }

    .sub02 .con11 .con11__deco img {
        width: 18vw !important;
        height: auto !important;
    }

    .con11__pin {
        width: 23.6rem;
    }
}