body {
    margin: 0 auto;
    -ms-overflow-style: none;
    /* 인터넷 익스플로러 */
    scrollbar-width: none;
    /* 파이어폭스 */
}

body::-webkit-scrollbar {
    display: none;
}


.w-1180 {
    width: 1180px;
    padding: 0 1.5rem;
    margin: 0 auto;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 8rem;
}

.section-anchor {
    position: relative;
    top: -8rem;
    height: 0;
    visibility: hidden;
    pointer-events: none;
}

/* header */
.header-wp {
    position: sticky;
    position: fixed;
    top: 2rem;
    height: 6.5rem;
    z-index: 9999;
    left: 0;
    right: 0;
    width: 100%;
}

.header-wp .w-1180 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 6.5rem;
}

.header-logo {
    display: block;
    width: 15rem;
    height: 6.5rem;
    background: url(../images/logo.png?v=20261007) no-repeat left -1rem center / contain;
}

.header-gnb {
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

.header-gnb li {
    margin-left: 0;
    display: inline-block;
    height: 6.5rem;
    position: relative;
}

.header-gnb li.active:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -.5rem;
    right: 0;
    width: 0;
    height: .3rem;
    background-color: #fff;
    opacity: 1;
    width: calc(100% + 1rem);
}

.header-gnb a {
    display: block;
    color: var(--font-color);
    color: #FFF;
    font-size: 2rem;
    font-weight: 700;
    line-height: 6.5rem;
}

.header-gnb li.active a {
    color: #FFF;
}

.header-gnb li:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -.5rem;
    right: 0;
    width: 0;
    height: .3rem;
    background-color: var(--main-color);
    transition: var(--transition);
    opacity: 0;
}

.header-gnb li:hover:after,
.header-gnb li:focus:after {
    opacity: 1;
    width: calc(100% + 1rem);
}


.header-gnb li:hover a,
.header-gnb li:focus a {
    color: var(--main-color);
}

.header-gnb a {
    color: var(--black-color);
}

.header-gnb li.active a {
    color: var(--main-color);
}

.header-gnb li.is-current > a {
    color: #fff;
    background-color: var(--main-color);
    border-radius: .7rem;
    padding: 1.2rem 1.4rem;
}

.header-gnb li.is-current > a {
    color: #fff;
    background-color: var(--main-color);
    border-radius: .8rem;
    padding: 0 1.4rem;
    height: 4rem;
    line-height: 4rem;
    margin-top: 1.25rem;
}

.header-gnb li.is-current > a {
    color: #fff;
    background-color: var(--main-color);
    border-radius: .8rem;
    padding: 0 1.4rem;
}

.header-gnb li.active:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -.5rem;
    right: 0;
    width: 0;
    height: .3rem;
    background-color: var(--main-color);
    opacity: 1;
    width: calc(100% + 1rem);
}


.header-ham {
    display: none;
    width: 3.6rem;
    height: 3.6rem;
    background: url(../images/ic_ham.png) no-repeat center center / 3rem;
}

.header-close {
    display: none;
    width: 3.6rem;
    height: 3.6rem;
    background: url(../images/ic_x.png) no-repeat center center / 3rem;
}

.m-cate {
    display: none;
}

.down {
    background-color: rgba(255, 255, 255, .8);
    backdrop-filter: blur(3px);
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    top: 0;
}

.down .header-gnb a {
    font-size: 1.6rem;
}


/* =========================================================
   Quick contact bar
========================================================= */
.quick-contact-bar {
    position: fixed;
    z-index: 9000;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    transition:
        transform .28s ease,
        opacity .28s ease,
        visibility .28s ease;
}

.quick-contact-bar.is-visible {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.quick-contact-desktop {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 7.2rem;
    background-color: var(--main-color);
    box-shadow: 0 -.4rem 1.8rem rgba(0, 0, 0, .08);
    padding: 0 4rem;
    gap: 5rem;
}

.quick-kakao-link {
    flex: 0 0 auto;
    min-width: 19rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #fff;
    background-color: #FEE500;
    border-radius: 2.4rem;
    padding: 0 2rem;
     font-size: calc(1.4rem + 2pt);
    font-weight: 800;
    white-space: nowrap;
    transition:
        background-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

    .quick-contact-desktop .quick-kakao-link,
    .quick-contact-desktop .quick-kakao-link:link,
    .quick-contact-desktop .quick-kakao-link:visited,
    .quick-contact-desktop .quick-kakao-link span {
        color: #353535 !important;
        font-weight: 800;
    }

.quick-kakao-link:hover,
.quick-kakao-link:focus {
    color: #353535;
    background-color: #e5cd00;
    transform: translateY(-2px);
    box-shadow: 0 .6rem 1.4rem rgba(0, 0, 0, .18);
}

.quick-kakao-link:hover span,
.quick-kakao-link:focus span {
    color: #353535 !important;
}

.quick-kakao-icon {
    font-size: 1.8rem;
    line-height: 1;
}

.quick-contact-form {
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem 0;
}

.quick-input {
    width: 18rem;
    height: 4.8rem;
    padding: 0 1.6rem;
    border: 0;
    border-radius: .7rem;
    background-color: #fff;
    color: var(--font-color);
    font-size: calc(1.4rem + 2pt);
    outline: none;
}

.quick-input-phone {
    width: 22rem;
}

.quick-input-area {
    width: 14rem;
}

.quick-input::placeholder {
    color: #aaa;
    font-size: calc(1.4rem + 2pt);
}

.quick-input:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .12);
}

.quick-agree {
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-shrink: 0;
    color: #222;
    font-size: calc(1.25rem + 2pt);
    cursor: pointer;
    white-space: nowrap;
}

.quick-agree input {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    accent-color: #333;
}

.quick-submit-btn {
    height: 4.8rem;
    padding: 0 1.2rem 0 2rem;
    border: 0;
    border-radius: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background-color: #353535;
    color: #fff;
    font-size: calc(1.4rem + 2pt);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition:
        background-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.quick-submit-btn:hover,
.quick-submit-btn:focus {
    background-color: #181818;
    transform: translateY(-2px);
    box-shadow: 0 .6rem 1.4rem rgba(0, 0, 0, .18);
}

.quick-submit-plus {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #333;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
}

.quick-contact-mobile {
    display: none;
}

@media all and (min-width:768px) {
    body {
        padding-bottom: 7.2rem;
    }
}


/* footer */
.footer-bg .w-1180 {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.footer-bg {
    background-color: var(--main-color);
    height: 6.5rem;
}

.privacy-ul {
    width: 70%;
}

.privacy-ul a {
    color: #FFF;
    display: block;
    font-size: 1.6rem;
    cursor: pointer;
}

.privacy-ul li {
    display: inline-block;
    margin-right: 4rem;
}

.privacy-ul li:first-child {
    position: relative;
}

.privacy-ul li:first-child::after {
    position: absolute;
    right: -2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.2rem;
    background-color: #FFF;
    content: '';
}

.sns-ul {
    width: 30%;
    text-align: right;
}

.sns-ul a {
    display: block;
    height: 3.6rem;
    width: 3.6rem;
    border-radius: 100%;
    cursor: pointer;
    background-color: var(--main-color);
    transition: var(--transition);
    position: absolute;
    left: 0;
    top: 0;
}

.sns-ul li {
    display: inline-block;
    margin-right: 4rem;
    height: 3.6rem;
    width: 3.6rem;
    border-radius: 100%;
    cursor: pointer;
    background: url(../images/ic_w_arright.png) no-repeat right -.8rem center / 2.5rem;
    position: relative;
}

.sns-ul li:last-child {
    margin-right: 0;
}

.sns-ul li.sns-ka a {
    background: url(../images/ic_kakaotalk.png) no-repeat center center / cover var(--main-color);
}

.sns-ul li.sns-ka a:hover {
    background: url(../images/ic_kakaotalk.png) no-repeat center right 1.2rem / cover;
}

.sns-ul li.sns-fa a {
    background: url(../images/ic_facebook.png) no-repeat center center / cover var(--main-color);
}

.sns-ul li.sns-fa a:hover {
    background: url(../images/ic_facebook.png) no-repeat center right 1.2rem / cover;
}

.sns-ul li.sns-ins a {
    background: url(../images/ic_instagram.png) no-repeat center center /cover var(--main-color);
}

.sns-ul li.sns-ins a:hover {
    background: url(../images/ic_instagram.png) no-repeat center right 1.2rem /cover;
}

.footer-wp .w-1180 {
    flex-wrap: wrap;
    display: flex;
}

.footer-left {
    padding: 4rem 0 0 0;
    width: 70%;
    text-align: left;
}

.footer-right {
    padding: 4rem 0 0 0;
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.footer-logo {
    display: block;
    width: 15rem;
    height: 6.5rem;
    background: url(../images/logo.png?v=20261007) no-repeat left -1rem center / contain;
    margin-bottom: 1rem;
}

.footer-left li {
    color: var(--font-color);
    font-size: 1.4rem;
    position: relative;
    padding-right: 1rem;
    margin-right: 1rem;
    display: inline-block;
    margin-bottom: 1rem;
}

.footer-left li::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: .1rem;
    height: 1rem;
    background-color: var(--gray2-color);
}

.footer-left li:nth-child(4)::after,
.footer-left li:nth-child(6)::after {
    display: none;
}

.copyright {
    color: var(--gray-color);
    font-size: 1.4rem;
    margin: 4rem 0 4rem 0;
    line-height: 1.0;
}

.footer-right h5 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 6.5rem;
    width: 20rem;
    text-align: left;
}

.footer-right select {
    border: 1px solid #555;
    background-color: #555;
    transition: var(--transition);
    border-radius: .6rem;
    padding: .5rem 2rem;
    color: #FFF;
    width: 20rem;
}

.footer-right select:hover,
.footer-right select:focus,
.footer-right select:focus-visible {
    background-color: var(--black-color);
}

.t-sm {
    font-size: 1.6rem;
}

.t-md {
    font-size: 2.6rem;
}

.t-lg {
    font-size: 3.6rem;
}

.t-xlg {
    font-size: 4.8rem;
}

h1 {
    font-weight: 700;
}

/* main */

.sec-intro {
    width: 100%;
    height: 100vh;
    padding: 20rem 0 8rem;
    position: relative;
}

.int-txt p {
    color: var(--gray-color);
    font-weight: 700;
    margin-bottom: 1rem;
}

.int-txt h1 {
    line-height: 1.3;
}

.int-txt h1 span {
    color: var(--main-color);
    font-weight: 700;
}

.store .hero-eyebrow {
    color: var(--main-color);
    font-weight: 700;
    letter-spacing: -.02em;
    margin-bottom: 1.4rem;
}

.store .hero-title {
    font-size: 6.7rem;
    line-height: 1.18;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.store .hero-title-first,
.store .hero-title-second {
    display: block;
    font-weight: 800;
}

.store .hero-title-first {
    color: var(--black-color);
}

.store .hero-title-second {
    color: var(--main-color);
}

.store .hero-desc {
    display: inline-block;
    margin-top: 3.7rem;
    margin-bottom: 0;
    padding: 0;
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border-radius: 0;
    color: #303030;
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.6;
    word-break: keep-all;
}

.store .hero-desc-line {
    color: #303030;
    font-weight: 700;
}

.store .hero-desc-line-1,
.store .hero-desc-line-2 {
    display: inline;
}

.store .hero-desc-line-1::after {
    content: ' ';
}

.store .hero-desc-line-3 {
    display: block;
}

.store .hero-cta {
    margin-top: 3rem;
}

.store .sec-intro .int-txt {
    position: relative;
    z-index: 10;
}

/* =========================================================
   Startup competitiveness - WHY LAUNDRY
========================================================= */
.sec-competitiveness {
    position: relative;
    min-height: calc(100vh - 7.2rem);
    padding: 8rem 0 6rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    background-color: #fff;
}

/* 배경 이미지 */
.sec-competitiveness::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        url(../images/why-laundry-ai.webp)
        no-repeat center center / cover;
    opacity: .69;
    filter: blur(1px);
    transform: scale(1.02);
    pointer-events: none;
}

/* 흰색 오버레이 */
.sec-competitiveness::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.50) 0%,
            rgba(255,255,255,.40) 42%,
            rgba(255,255,255,.20) 72%,
            rgba(255,255,255,.10) 100%
        );
    pointer-events: none;
}

.sec-competitiveness .w-1180 {
    position: relative;
    z-index: 2;
    transform: translateY(-2rem);
}

.competitiveness-head {
    max-width: 82rem;
    margin-bottom: 3.2rem;
}

.competitiveness-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.2rem;
    margin-bottom: 1.4rem;
    padding: 0 1.4rem;
    border-radius: 2rem;
    background-color: rgba(255, 255, 255, .92);
    border: 1px solid rgba(255, 255, 255, .72);
    box-shadow: 0 .4rem 1.5rem rgba(0, 0, 0, .035);
    color: var(--main-color);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.competitiveness-title {
    color: var(--black-color);
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.competitiveness-title-line {
    font-weight: 800;
}

.competitiveness-title-line-1,
.competitiveness-title-line-2 {
    display: inline;
    color: var(--black-color);
}

.competitiveness-title-line-1::after {
    content: ' ';
}

.competitiveness-title-line-3 {
    display: block;
    margin-top: .4rem;
    color: var(--main-color);
}

.competitiveness-main {
    max-width: 72rem;
}

.competitiveness-copy {
    padding: 0;
}

.competitiveness-lead {
    color: #303030;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -.02em;
    word-break: keep-all;
}

.competitiveness-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
    margin-top: 5.3rem;
}

.competitiveness-card {
    position: relative;
    min-height: 15rem;
    padding: 2.3rem 2.5rem;
    border: 1px solid rgba(220, 228, 238, .92);
    border-radius: 1.6rem;
    background-color: rgba(255, 255, 255, .78);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.competitiveness-card:hover {
    transform: translateY(-4px);
    border-color: rgba(56, 131, 239, .22);
    box-shadow: 0 1.2rem 2.6rem rgba(35, 79, 130, .08);
}

.competitiveness-number {
    display: block;
    margin-bottom: 1.4rem;
    color: #91b9ef;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.competitiveness-card h3 {
    margin-bottom: .9rem;
    color: #252525;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.3;
}

.competitiveness-card p {
    color: #626262;
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.65;
    word-break: keep-all;
}

.competitiveness-card-source {
    display: block;
    margin-top: .8rem;
    color: #999;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.4;
}

/* =========================================================
   WHY LAUNDRY - AI ranking highlight
========================================================= */
.closure-chart-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.closure-chart-title h3 {
    margin-bottom: 0;
}

.ai-rank-highlight {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    min-height: 13.5rem;
    margin-top: 2.4rem;
    padding: 2rem 1rem;
    border-radius: 1.2rem;
    background: var(--main-color);
    text-align: center;
    opacity: 0;
    transform: translateY(1.4rem) scale(.96);
    transition:
        opacity .65s ease,
        transform .65s cubic-bezier(.22, 1, .36, 1);
}

.ai-rank-number {
    color: #fff;
    font-size: 5rem;
    font-weight: 900;
    line-height: 1.1;
}

.ai-rank-job {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.ai-rank-others {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem 1rem;
    margin-top: 1.3rem;
    text-align: center;
}

.ai-rank-others span {
    color: #75869a;
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.4;
}

.ai-chart-note {
    margin-top: 1.1rem;
    color: #929aa6 !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    text-align: center;
    line-height: 1.4 !important;
}

.competitiveness-card-chart.is-chart-visible .ai-rank-highlight {
    opacity: 1;
   transform: translateY(0) scale(1);
}

/* WHY LAUNDRY - desktop position adjustment */
@media all and (min-width:1024px) {

    .sec-competitiveness .w-1180 {
        transform: translateY(0);
    }

    .competitiveness-head {
        position: relative;
        top: -2rem;
    }

    .competitiveness-points {
        position: relative;
        top: -4.3rem;
        align-items: end;
    }
    .competitiveness-card-chart {
        min-height: 32.5rem;
        padding: 2.2rem 2.3rem;
    }
        /* WHY LAUNDRY 라벨 */
    .competitiveness-label {
        min-height: 3.4rem;
        padding: 0 1.5rem;
        font-size: 1.4rem;
    }

    /* 메인 제목 */
    .competitiveness-title {
        font-size: 6.1rem;
    }

    /* 설명문 */
    .competitiveness-lead {
        font-size: 2.7rem;
    }

    /* 01 / 02 / 03 숫자 */
    .competitiveness-number {
        font-size: 1.55rem;
    }

    /* 카드 제목 */
    .competitiveness-card h3 {
        font-size: 2.2rem;
    }

    /* 카드 설명 */
    .competitiveness-card p {
        font-size: 1.65rem;
    }

    /* OECD / WEF 참고문구 */
    .competitiveness-card-source {
        font-size: 1.25rem;
    }
     /* 03 AI 직업 순위 강조 */
    .competitiveness-card-chart .closure-chart-title h3 {
        font-size: 1.9rem;
    }

    .ai-rank-number {
        font-size: 5.4rem;
    }

    .ai-rank-job {
        font-size: 1.85rem;
    }
}

/* =========================================================
   ONLINE LAUNDRY
========================================================= */
.sec-online-laundry {
    position: relative;
    min-height: calc(100vh - 7.2rem);
    padding: 7rem 0 6rem;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(56, 131, 239, .12),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f7fbff 55%,
            #eef6ff 100%
        );
}

.online-laundry-inner {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    align-items: center;
    gap: 5rem;
}

.online-laundry-copy {
    min-width: 0;
}

.online-laundry-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background-color: #fff;
    color: var(--main-color);
    box-shadow: 0 .5rem 1.8rem rgba(35, 79, 130, .06);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.online-laundry-title {
    color: var(--black-color);
    font-size: 6.1rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.045em;
    word-break: keep-all;
}

.online-laundry-title > span {
    display: block;
    font-weight: 800;
}

.online-laundry-title-accent {
    margin-top: .5rem;
    color: var(--main-color);
}

.online-laundry-lead {
    margin-top: 3rem;
    color: #303030;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -.02em;
    word-break: keep-all;
}

.online-laundry-shifts {
    margin-top: 4rem;
    border-top: 1px solid rgba(80, 110, 145, .13);
}

.online-laundry-shift {
    display: grid;
    grid-template-columns: 3.8rem 1fr;
    gap: 1.2rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(80, 110, 145, .13);
}

.online-laundry-shift-number {
    padding-top: .15rem;
    color: #91b9ef;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.online-laundry-shift strong {
    display: block;
    color: #252525;
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1.3;
}

.online-laundry-shift p {
    margin-top: .45rem;
    color: #747474;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
}

/* market card */
.online-market-card {
    min-width: 0;
    padding: 3rem 3rem 2.4rem;
    border: 1px solid rgba(211, 224, 239, .9);
    border-radius: 2.4rem;
    background-color: rgba(255, 255, 255, .94);
    box-shadow:
        0 2rem 5rem rgba(44, 91, 145, .10);
}

/* ONLINE LAUNDRY - 데스크탑 그래프 박스 위치 및 높이 */
@media all and (min-width: 1024px) {
    .online-market-card {
        align-self: start;
        margin-top: 17rem;
        padding-top: 0.1rem;
        padding-bottom: .6rem;
    }
    /* 그래프 박스 제목만 아래로 이동 */
    .online-market-head h3 {
        position: relative;
        top: 4rem;
    }
}

.online-market-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.online-market-eyebrow {
    display: block;
    margin-bottom: .5rem;
    color: var(--main-color);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.online-market-head h3 {
    color: #252525;
    font-size: 2.7rem;
    font-weight: 800;
    line-height: 1.25;
}

.online-market-legend {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-bottom: .25rem;
}

.online-market-legend span {
    position: relative;
    padding-left: 1.7rem;
    color: #777;
    font-size: 1.25rem;
    font-weight: 700;
    white-space: nowrap;
}

.online-market-legend span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.online-market-legend .is-market::before {
    width: 1rem;
    height: 1rem;
    border-radius: .2rem;
    background-color: #b8d9ef;
}

.online-market-legend .is-online::before {
    width: 1.2rem;
    height: .25rem;
    border-radius: 2rem;
    background-color: var(--main-color);
}

/* graph */
.online-market-plot {
    position: relative;
    height: 30rem;
    margin-top: 3rem;
}

.online-market-bars {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.online-market-column {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-width: 0;
}

.online-market-bar {
    position: relative;
    z-index: 2;
    display: block;
    width: 58%;
    max-width: 6rem;
    height: var(--market-height);
    border-radius: .8rem .8rem 0 0;
    background:
        linear-gradient(
            180deg,
            #c8e4f4 0%,
            #a9d2e9 100%
        );
    transform: scaleY(0);
    transform-origin: bottom center;
    transition:
        transform 1.55s cubic-bezier(.22, 1, .36, 1);
}

.online-market-size {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 1.5rem;
    transform: translate(-50%, .6rem);
    color: #35536d;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    transition:
        opacity .4s ease,
        transform .4s ease;
}

.online-market-line {
    position: absolute;
    z-index: 3;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}

.online-market-line-path {
    fill: none;
    stroke: var(--main-color);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    transition:
        stroke-dashoffset 2.2s cubic-bezier(.22, 1, .36, 1);
}

.online-market-share {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: var(--share-bottom);
    transform: translate(-50%, -1.9rem);
    color: var(--main-color);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    transition: opacity .35s ease;
}

.online-market-share-2021 {
    transform: translate(-50%, -1.4rem);
}

.online-market-share-dot {
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: var(--share-bottom);
    width: 1rem;
    height: 1rem;
    border: .25rem solid #fff;
    border-radius: 50%;
    background-color: var(--main-color);
    box-shadow: 0 0 0 .15rem rgba(56, 131, 239, .22);
    transform: translate(-50%, 15%) scale(0);
    transition:
        transform .35s ease;
}

.online-market-years {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding-top: 1rem;
    border-top: 1px solid rgba(90, 120, 150, .16);
}

.online-market-years span {
    color: #666;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
}

.online-market-source {
    margin-top: 1.8rem;
    color: #999;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: right;
}

/* graph animation */
.online-market-card.is-market-visible .online-market-bar {
    transform: scaleY(1);
}

.online-market-card.is-market-visible .online-market-size {
    opacity: 1;
    transform: translate(-50%, 0);
}

.online-market-card.is-market-visible .online-market-line-path {
    stroke-dashoffset: 0;
}

.online-market-card.is-market-visible .online-market-share {
    opacity: 1;
}

.online-market-card.is-market-visible .online-market-share-dot {
    transform: translate(-50%, 15%) scale(1);
}

.online-market-column:nth-child(2) .online-market-bar {
    transition-delay: .08s;
}

.online-market-column:nth-child(3) .online-market-bar {
    transition-delay: .16s;
}

.online-market-column:nth-child(4) .online-market-bar {
    transition-delay: .24s;
}

.online-market-column:nth-child(5) .online-market-bar {
    transition-delay: .32s;
}

.online-market-column:nth-child(6) .online-market-bar {
    transition-delay: .40s;
}

/* =========================================================
   OUR SYSTEM - Desktop
========================================================= */


/* =========================================================
   OUR SYSTEM - SERVICE FILM
   Desktop
========================================================= */


/* =========================================================
   OUR SYSTEM - SMART MANAGEMENT & PROVEN EXPERIENCE
   Desktop (1024px 이상)
========================================================= */
@media all and (min-width: 1024px) {

    /* =====================================
       SMART MANAGEMENT
    ===================================== */

    .our-system-management {
        margin-top: 13rem;
    }

    .our-system-management-head {
        margin-bottom: 5rem;
    }

    .our-system-management-accent {
        color: var(--main-color);
        font-weight: 800;
    }

    .our-system-management-lead {
        max-width: 78rem;
        margin-top: 2rem;
        color: #606b78;
        font-size: 1.933rem;
        font-weight: 500;
        line-height: 1.7;
        word-break: keep-all;
    }

    .our-system-management-list {
        display: flex;
        flex-direction: column;
        gap: 3rem;
    }

    .our-system-management-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
        align-items: center;
        gap: 4rem;
        min-height: 38rem;
        padding: 4rem;
        border: 1px solid rgba(211, 224, 239, .9);
        border-radius: 2.4rem;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 1.5rem 4rem rgba(44, 91, 145, .07);
    }

    /* 두 번째 시스템의 이미지와 설명 좌우 반전 */
    .our-system-management-item.is-reverse {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    }

    .our-system-management-item.is-reverse
    .our-system-management-visual {
        order: -1;
    }

    .our-system-management-copy {
        min-width: 0;
    }

    .our-system-management-number {
        display: inline-block;
        margin-bottom: 1.8rem;
        color: var(--main-color);
        font-size: 1.533rem;
        font-weight: 800;
        letter-spacing: .1em;
    }

    .our-system-management-copy h4 {
        color: #252525;
        font-size: 2.8rem;
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: -.035em;
        word-break: keep-all;
    }

    .our-system-management-copy > p {
        margin-top: 1.8rem;
        color: #677381;
        font-size: 1.733rem;
        font-weight: 500;
        line-height: 1.75;
        word-break: keep-all;
    }

    .our-system-management-features {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
        margin-top: 2.5rem;
    }

    .our-system-management-features li {
        position: relative;
        padding-left: 1.7rem;
        color: #455362;
        font-size: 1.633rem;
        font-weight: 600;
        line-height: 1.5;
    }

    .our-system-management-features li::before {
        content: '';
        position: absolute;
        top: .85rem;
        left: 0;
        width: .65rem;
        height: .65rem;
        border-radius: 50%;
        background: var(--main-color);
    }

    /* 실제 시스템 캡처 이미지가 들어갈 공간 */
    .our-system-management-visual {
        min-width: 0;
    }

    .our-system-management-preview {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        
        width: 100%;
        min-width: 0;
        padding: 3.4rem 2.4rem 2rem;
        border: 1px solid rgba(214, 228, 247, .8);
        border-radius: 2rem;
        background:
            radial-gradient(
                circle at 50% 15%,
                rgba(56, 131, 239, .14),
                transparent 65%
            ),
            #f2f7ff;
        
    }

    /* 실제 시스템 화면을 감싸는 모니터 */
    .our-system-device {
        width: 100%;
        min-width: 0;
        padding: .6rem;
        overflow: hidden;
        border: .55rem solid #243349;
        border-radius: 1.5rem;
        background: #243349;
        box-shadow:
            0 1.8rem 3.5rem rgba(35, 61, 100, .19),
            0 .4rem 1rem rgba(35, 61, 100, .12);
    }

    .our-system-device-top {
        display: flex;
        align-items: center;
        gap: 1.2rem;
        height: 2.9rem;
        padding: 0 1rem;
        color: #d4e0f0;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: .07em;
    }

        .our-system-device-dots {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        gap: .45rem;
    }

    .our-system-device-dots i {
        display: block;
        width: .7rem;
        height: .7rem;
        border-radius: 50%;
        background: #667890;
    }

    .our-system-device-dots i:first-child {
        background: #fc817a;
    }

    .our-system-device-dots i:nth-child(2) {
        background: #f6c768;
    }

    .our-system-device-dots i:nth-child(3) {
        background: #70c9a0;
    }

    .our-system-device img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: auto;
        border-radius: .45rem;
        background: #fff;
        cursor: zoom-in;
    }

    /* 화면 아래쪽 모니터 거치대 */
    .our-system-device-stand {
        width: 24%;
        height: 2.5rem;
        margin-top: -.1rem;
        border-radius: 0 0 .6rem .6rem;
        background: linear-gradient(
            90deg,
            #b6c4d7,
            #e9eff7 50%,
            #b6c4d7
        );
        position: relative;
    }

    .our-system-device-stand::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: -50%;
        width: 200%;
        height: .55rem;
        border-radius: 1rem;
        background: #b6c4d7;
        box-shadow: 0 .4rem .8rem rgba(35, 61, 100, .12);
    }

        /* =====================================
       SMART MANAGEMENT - 대형 슬라이더
    ===================================== */
    .our-system-slider-stage {
        position: relative;
        width: 100%;
    }
    .our-system-management-slider {
        width: 100%;
        overflow: hidden;
        border-radius: 2.4rem;
    }

    .our-system-management-list.swiper-wrapper {
        display: flex;
        flex-direction: row;
        gap: 0;
        align-items: stretch;
    }

    .our-system-management .our-system-management-item.swiper-slide {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        flex-shrink: 0;
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 2.4rem 2.8rem;
        gap: 1.4rem;
        box-sizing: border-box;
    }

    .our-system-management-overview {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        align-items: center;
        gap: 2.4rem;
        width: 100%;
    }

    .our-system-management-overview .our-system-management-copy {
        min-width: 0;
    }

    .our-system-management-overview .our-system-management-features {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1.4rem;
        min-width: 0;
        margin-top: 0;
        padding: 1rem 0 1rem 3rem;
        border-left: 1px solid #dbe4ef;
    }

    .our-system-management .our-system-management-visual {
        order: 0;
        width: 100%;
        min-width: 0;
    }

    .our-system-management .our-system-management-preview {
        width: 100%;
        min-height: 0;
        padding: 1.2rem 1.6rem .8rem;
    }

    .our-system-management .our-system-device {
        width: 68%;
        max-width: none;
    }

    .our-system-management .our-system-device img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .our-system-management .our-system-device-stand {
        width: 16.3%;
       height: 1.6rem;
    }

    /* 슬라이드 하단 페이지 표시 및 화살표 */
    .our-system-slider-controls {
        position: absolute;
        z-index: 10;
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .our-system-slider-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .9rem;
        width: auto;
        margin-top: 2rem;
    }

    .our-system-slider-pagination .swiper-pagination-bullet {
        display: block;
        width: .9rem;
        height: .9rem;
        margin: 0;
        border-radius: 50%;
        background: #cbd7e6;
        opacity: 1;
        cursor: pointer;
        transition: width .25s ease, background .25s ease;
    }

    .our-system-slider-pagination .swiper-pagination-bullet-active {
        width: 2.6rem;
        border-radius: 2rem;
        background: var(--main-color);
    }

    .our-system-slider-arrows {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0 .2rem;
        pointer-events: none;
    }

    .our-system-slider-prev,
    .our-system-slider-next {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4.6rem;
        height: 4.6rem;
        padding: 0;
        border: 1px solid #d7e3f1;
        border-radius: 50%;
        background: #fff;
        color: #273c56;
        font-size: 2.2rem;
        cursor: pointer;
        pointer-events: auto;
        box-shadow: 0 .5rem 2rem rgba(35, 61, 100, .16);
        transition: background .2s, color .2s, border-color .2s;
    }

    .our-system-slider-prev:hover,
    .our-system-slider-next:hover {
        border-color: var(--main-color);
        background: var(--main-color);
        color: #fff;
    }

    .our-system-slider-prev.swiper-button-disabled,
    .our-system-slider-next.swiper-button-disabled {
        opacity: .35;
        cursor: default;
    }

    /* =====================================
       PROVEN EXPERIENCE
    ===================================== */

    .our-system-experience {
        margin-top: 14rem;
    }

    .our-system-experience-head {
        margin-bottom: 4.5rem;
    }

    .our-system-experience-accent {
        color: var(--main-color);
        font-weight: 800;
    }

    .our-system-experience-lead {
        max-width: 85rem;
        margin-top: 2rem;
        color: #606b78;
        font-size: 1.933rem;
        font-weight: 500;
        line-height: 1.7;
        word-break: keep-all;
    }

    .our-system-experience-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem;
    }

    .our-system-experience-card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-width: 0;
        min-height: 39rem;
        padding: 4rem;
        overflow: hidden;
        border: 1px solid rgba(211, 224, 239, .9);
        border-radius: 2.4rem;
        background: #fff;
        box-shadow: 0 1.5rem 4rem rgba(44, 91, 145, .07);
    }

    .our-system-experience-number {
        position: absolute;
        top: 2rem;
        right: 3rem;
        color: rgba(56, 131, 239, .08);
        font-size: 9rem;
        font-weight: 800;
        line-height: 1;
        pointer-events: none;
    }

    .our-system-experience-card-label {
        position: relative;
        z-index: 1;
        margin-bottom: 2.5rem;
        color: var(--main-color);
        font-size: 1.3rem;
        font-weight: 800;
        letter-spacing: .1em;
    }

    .our-system-experience-card h4 {
        position: relative;
        z-index: 1;
        color: #252525;
        font-size: 2.7rem;
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: -.035em;
        word-break: keep-all;
    }

    .our-system-experience-card-desc {
        position: relative;
        z-index: 1;
        margin-top: 1.8rem;
        color: #677381;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.7;
        word-break: keep-all;
    }

    .our-system-experience-highlight {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 1.5rem;
        margin-top: auto;
        padding-top: 3.5rem;
    }

    .our-system-experience-highlight strong {
        color: var(--main-color);
        font-size: 5.2rem;
        font-weight: 800;
        line-height: 1;
        letter-spacing: -.04em;
    }

    .our-system-experience-highlight span {
        color: #788594;
        font-size: 1.4rem;
        font-weight: 600;
    }

    .our-system-experience-highlight.is-text strong {
        font-size: 3.5rem;
    }

    /* 다음 협력지점 섹션으로 이어지는 마무리 */
    .our-system-experience-outro {
        margin-top: 7rem;
        padding: 5rem 3rem;
        border-radius: 2.4rem;
        background: linear-gradient(
            110deg,
            #eaf3ff 0%,
            #f6faff 100%
        );
        text-align: center;
    }

    .our-system-experience-outro p {
        color: #2b3b4d;
        font-size: 4.6rem;
        font-weight: 800;
        line-height: 1.6;
        letter-spacing: -.025em;
        word-break: keep-all;
    }
}

/* =========================================================
   PROVEN RESULTS - 운영 실적
========================================================= */

.sec-proven-results {
    width: 100%;
    padding: 12rem 0 13rem;
    background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 100%);
}

.proven-results-inner {
    position: relative;
}

/* 상단 제목 */
.proven-results-head {
    max-width: 100%;
    text-align: left;
    margin-bottom: 6rem;
}

.proven-results-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background: #fff;
    color: var(--main-color);
    box-shadow: 0 .5rem 1.8rem rgba(35, 79, 130, .06);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.proven-results-title {
    color: var(--black-color);
    font-size: 6.1rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.045em;
    word-break: keep-all;
}

.proven-results-title > span {
    display: block;
    font-weight: 800;
}

.proven-results-title-accent {
    margin-top: .5rem;
    color: var(--main-color);
}

.proven-results-lead {
    margin-top: 3rem;
    max-width: 80rem;
    color: #303030;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -.02em;
    word-break: keep-all;
}

/* 핵심 운영 실적 4개 */
.proven-results-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    margin-bottom: 7rem;
}

.proven-results-stat {
    min-width: 0;
    min-height: 23rem;
    padding: 2rem 2.2rem;
    border: 1px solid #deebf6;
    border-radius: 2rem;
    background: #ffffff;
    box-shadow: 0 1rem 3rem rgba(20, 65, 105, .055);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* 카드 상단 아이콘 */
.proven-results-stat-icon {
    display: block;
    width: 12rem;
    height: 12rem;
    flex: 0 0 auto;
    margin-bottom: 1.4rem;
    object-fit: contain;
}

.proven-results-stat-label {
    color: #49657d;
    font-size: 1.967rem;
    font-weight: 700;
}

.proven-results-stat-value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: nowrap;
    gap: .5rem;
    margin: 1.1rem 0 0;
    white-space: nowrap;
}

.proven-results-stat-value strong {
    color: #1596dc;
    font-size: clamp(3.267rem, calc(3vw + 2.67px), 4.367rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.05em;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

.proven-results-stat-value span {
    color: #44576a;
    font-size: 2.067rem;
    font-weight: 700;
}

.proven-results-stat-desc {
    display: none;
}

/* 연도별 실적 그래프 */
.proven-results-charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 2rem;
}
.proven-results-chart {
    min-width: 0;
    padding: 4rem 2.5rem 3rem;
    border: 1px solid #dfeaf4;
    border-radius: 2.6rem;
    background: #ffffff;
    box-shadow: 0 1.2rem 4rem rgba(20, 65, 105, .055);
}

.proven-results-chart-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
}

.proven-results-chart-eyebrow {
    margin-bottom: 1.2rem;
    color: #219cde;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.proven-results-chart-head h3 {
    color: #20364a;
    font-size: 3rem;
    font-weight: 800;
    letter-spacing: -.035em;
}

.proven-results-chart-desc {
    margin-top: 1rem;
    color: #748699;
    font-size: 1.6rem;
    line-height: 1.6;
    word-break: keep-all;
}

.proven-results-chart-unit {
    flex-shrink: 0;
    color: #8b99a8;
    font-size: 1.433rem;
}

.proven-results-chart-plot {
    display: grid;
    grid-template-columns: repeat(7, minmax(7.2rem, 1fr));
    align-items: end;
    gap: 1rem;
    margin-top: 5rem;
    padding: 5rem 0 1.5rem;
    border-bottom: 1px solid #dce7f1;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.proven-results-bar-item {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
}

.proven-results-bar-value {
    flex: 0 0 auto;
    margin-bottom: 1.6rem;
    color: #4c657d;
    font-size: 1.717rem;
    font-weight: 800;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.proven-results-bar-track {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    max-width: 7.5rem;
    height: 24rem;
}

.proven-results-bar {
    width: 100%;
    height: var(--bar-height);
    flex-shrink: 0;
    border-radius: 1.1rem 1.1rem 0 0;
    background: linear-gradient(180deg, #86cfff, #399ee1);
}

.proven-results-bar-item.is-current .proven-results-bar {
    background: linear-gradient(180deg, #94a8ba, #7189a1);
}

.proven-results-bar-year {
    margin-top: 1.6rem;
    color: #586e82;
    font-size: 1.817rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}

.proven-results-bar-year small {
    display: inline;
    margin-top: 0;
    font-size: .75em;
    font-weight: 600;
}

.proven-results-bar-item.is-current .proven-results-bar-year {
    color: #7189a1;
}

.proven-results-chart-note {
    margin-top: 2.4rem;
    color: #8594a3;
    font-size: 1.483rem;
    line-height: 1.65;
    word-break: keep-all;
    text-align: right;
}

.proven-results-source {
    margin-top: 2.2rem;
    color: #8a99a7;
    font-size: 1.3rem;
    text-align: right;
}



/* 중간 너비에서 실적 카드가 자연스럽게 2열로 배치 */


/* 모바일 기본 대응 */


/* =========================================================
   PROVEN EXPERIENCE - 사진 배경 카드
   데스크탑 / 태블릿 / 모바일 공통
========================================================= */

.our-system-experience-card.is-delivery-photo {
    background:
        
        url("../images/OUR SYSTEM/세탁발전소_배송_트럭과_기사.webp")
        center center / cover no-repeat;
}

.our-system-experience-card.is-inspection-photo {
    background:
        
        url("../images/OUR SYSTEM/세탁 매장에서 의류를 점검하는 직원.webp")
        center center / cover no-repeat;
}

/* 사진 위의 제목과 설명 */
.our-system-experience-card.is-delivery-photo h4,
.our-system-experience-card.is-inspection-photo h4 {
    color: #ffffff;
    width: fit-content;
    max-width: 100%;
    padding: .5em .75em;
   border-radius: 0;
   background: radial-gradient(
       ellipse at center,
       rgba(16, 37, 61, .78) 0%,
       rgba(16, 37, 61, .65) 45%,
       rgba(16, 37, 61, .30) 75%,
       rgba(16, 37, 61, 0) 100%
   );
    text-shadow: 0 2px 4px rgba(0, 0, 0, .2);
}

.our-system-experience-card.is-delivery-photo
.our-system-experience-card-desc,
.our-system-experience-card.is-inspection-photo
.our-system-experience-card-desc {
    color: rgba(255, 255, 255, .90);
}

/* 오른쪽 위 01 / 02 */
.our-system-experience-card.is-delivery-photo
.our-system-experience-number,
.our-system-experience-card.is-inspection-photo
.our-system-experience-number {
    color: rgba(255, 255, 255, .23);
}



.our-system-experience-card.is-delivery-photo
.our-system-experience-highlight span,
.our-system-experience-card.is-inspection-photo
.our-system-experience-highlight span {
    color: rgba(255, 255, 255, .85);
    padding: .35em .6em;
    border-radius: .5rem;
    background: rgba(16, 37, 61, .78);
    text-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}

/* OUR SYSTEM 마지막 문구 - 형광펜 하이라이트 */
.our-system-experience-outro p .our-system-outro-highlight {
    padding: .02em .12em;
    border-radius: .08em;
    background-color: #f5df88;
    color: #624817;
    font-weight: inherit;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}


.bg-fstbig {
    background: url(../images/bg01.png) no-repeat bottom -10rem left / 76%;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 6;
}

.store .sec-intro::after {
    content: '';
    position: absolute;
    z-index: 7;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.88) 0%,
            rgba(255,255,255,.78) 36%,
            rgba(255,255,255,.56) 64%,
            rgba(255,255,255,.40) 100%
        );
}

.bg-halfblue {
    z-index: 4;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 30%;
    background-color: var(--main-color);
    /* background-color: #527bd5; */
    opacity: 0;
    -webkit-animation: halfblue .7s ease-in-out forwards;
    animation: halfblue .7s ease-in-out forwards;
}

.store .bg-fstbig {
    background: url(../images/bg06.webp) no-repeat bottom -15rem center / cover;
    background-size: clamp(200px, 1920px, 1920px) auto;
}


.bg-twobar {
    z-index: 5;
    position: absolute;
    bottom: 65%;
    right: 0;
    width: 55%;
    text-align: right;
}

.bar-gray {
    width: 80%;
    height: 6rem;
    border-radius: 1.5rem 0 0 1.5rem;
    display: block;
    float: right;
}

.bar-gray .gauge {
    width: 100%;
    height: 6rem;
    background-color: #f8f8f8;
    border-radius: 1.5rem 0 0 1.5rem;
    display: block;
    opacity: 0;
}

.bar-blue {
    margin-top: 3.5rem;
    width: 100%;
    height: 6rem;
    border-radius: 1.5rem 0 0 1.5rem;
    display: block;
    float: right;
}

.bar-blue .gauge {
    width: 100%;
    height: 6rem;
    background-color: #eef6ff;
    border-radius: 1.5rem 0 0 1.5rem;
    display: block;
    opacity: 0;
}

.clear {
    clear: both;
}

.bar-gray .gauge {
    -webkit-animation: graybar .5s ease-in .5s forwards;
    animation: graybar .5s ease-in .5s forwards;
    float: right;
}

.bar-blue .gauge {
    -webkit-animation: bluebar 1s ease-in .5s forwards;
    animation: bluebar 1s ease-in .5s forwards;
    float: right;
}

.scrolling {
    position: absolute;
    right: 4rem;
    bottom: 4rem;
    z-index: 55;
    cursor: pointer;
}

.scrolling .scrollline {
    display: inline-block;
    width: .2rem;
    height: 15rem;
    background-color: #fff;
    animation: play-scroll 3s linear infinite;
    position: absolute;
    bottom: 0;
}

.scrolling .scrolltext {
    display: inline-block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 2px;
    padding-left: 1rem;
}

.main-info {
    display: flex;
    flex-wrap: wrap;
}

.main-info-left,
.main-info-right {
    width: calc(50% - 4rem);
    display: inline-block;
}

.main-info-left {
    margin-right: 4rem;
}

.main-info-right {
    margin-left: 4rem;
}

.main-info h2 {
    margin-bottom: 2rem;
    font-weight: 700;
}

.main-info-img {
    width: 100%;
    height: 30rem;
    overflow: hidden;
    border-radius: .7rem;
    margin-top: 4rem;
    transition: var(--transition);
}

.main-info-img:hover {
    box-shadow: var(--box-shadow2);
}

.main-info-img img {
    width: 100%;
    height: 100%;
}


/*  */
.sec-top {
    position: relative;
    padding: 16rem 0 8rem 0;
}

.sec-top p {
    color: var(--gray-color);
    margin-bottom: 1rem;
    font-weight: 700;
}

.sec-top h1 {
    line-height: 1.3;
    position: relative;
    z-index: 55;
}

.sec-top button {
    margin-top: 2rem;
}

.sec-top .bg-twobar {
    bottom: 7.5rem;
}

.main-slide {
    height: 35rem;
    margin-top: 8rem;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .7rem;
}

.slide-txt {
    text-align: left;
    padding: 0 4rem;
    width: 50%;
}

.slide-img {
    overflow: hidden;
    height: 35rem;
    width: calc(50% - 4rem);
}

.slide-img img {
    width: 100%;
    height: 100%;
}

.slide-txt h2,
.slide-txt p {
    margin-bottom: 2rem;
    line-height: 1.3;
}

.slide-txt h2 {
    font-weight: 700;
}

.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    width: 7px;
    height: calc(100% - 4rem);
    margin-top: 2rem;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: var(--main-color);
    border-radius: 12px;
}

.swiper-pagination-progressbar {
    background-color: var(--gray2-color);
    border-radius: 12px;
}

/* form */
.main-form {
    padding-top: 12rem;
    margin-top: 0;
    padding-bottom: 12rem;
    background-color: #f0f5ff;
    border-top: 1px solid #dce6f3;
}

.form-row {
    display: flex;
    border-top: 1px solid var(--gray2-color);
    text-align: left;
    font-size: 1.6rem;
}

.form-row:has(textarea) {
    border-bottom: 1px solid var(--gray2-color);
}

.form-head {
    width: 23.5rem;
    height: 10rem;
    padding: 0 2rem;
    background-color: #f4f8ff;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 10rem;
    color: #263d59;
}

.form-head span {
    color: var(--red-color);
    margin-left: .5rem;
    display: inline-block;
}

.form-body {
    width: calc(100% - 23.5rem);
    height: 10rem;
    padding: 2rem;
    box-sizing: border-box;
    display: inline-block;
}

.form-body input {
    width: 20rem;
    border: 1px solid #d5e4f8;
    height: 6rem;
    padding: .5rem 1rem;
    font-size: 1.6rem;
    background-color: #f4f8ff;
    border-radius: .8rem;
}

.form-body input:focus,
.form-body input:focus-visible,
.form-body textarea:focus,
.form-body textarea:focus-visible,
.form-body select:focus,
.form-body select:focus-visible {
    outline: none;
    border: 1px solid var(--main-color);
}

.form-phone input {
    width: 20rem;
    margin: 0 1rem;
}

.form-phone input:nth-child(1) {
    margin-left: 0;
    width: 10rem;
}

.form-phone input:nth-child(3) {
    margin-right: 0;
}

.form-body select {
    width: 20rem;
    border: 1px solid var(--gray2-color);
    height: 6rem;
    padding: .5rem 1rem;
    margin-right: 1rem;
    border-radius: .8rem;
    background: url(../images/ic_ardown.png) no-repeat right 1rem center / 2rem #f4f8ff;
}

/* 창업 문의 시·도 / 시·군·구 선택 텍스트 */
.main-form .form-place select,
.main-form .form-place select option {
    color: #222222;
}

/* 모바일·태블릿 창업 희망지역: 두 선택창을 한 행에 배치 */
@media all and (max-width: 1023px) {
    .main-form .form-body.form-place {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 1rem;
        width: 100%;
        min-width: 0;
    }

    .main-form .form-body.form-place > select {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin: 0;
        padding: .5rem 2.6rem .5rem .8rem !important;
        background-position: right .6rem center;
        background-size: 1.5rem;
        font-size: 1.4rem;
    }

    .main-form .form-body.form-place > .inquiry-field-error {
        grid-column: 1 / -1;
        margin: 0;
    }
}

.form-text {
    height: 100%;
}

.form-body textarea {
    width: 100%;
    height: 10rem;
    padding: .5rem 1rem;
    border: 1px solid #d5e4f8;
    resize: none;
    font-size: 1.6rem;
    background-color: #f4f8ff;
    border-radius: .8rem;
}

.form-row:has(.form-text) .form-head {
    height: auto;
    line-height: 14.4rem;
}

.form-riderplace,
.form-years,
.form-have {
    display: flex;
    flex-wrap: wrap;
    height: auto;
}

.form-row:has(.form-riderplace) .form-head {
    height: auto;
    line-height: 17rem;
}

.form-body:has(.btn) {
    padding-bottom: 1rem;
}

.form-body .btn-outline {
    width: calc(25% - 1rem);
    margin-right: 1rem;
    margin-left: -1px;
    border: 1px solid var(--gray2-color);
    height: 6rem;
    padding: 0 1rem;
    line-height: 6rem;
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 1rem;
    display: inline-block;
}

.form-body .btn-outline:last-child {
    margin-right: 0;
}

.form-body input[type="radio"] {
    display: none;
}

.form-body input[type="radio"]:checked+label {
    color: var(--main-color);
    border-color: var(--main-color);
}

.form-wp .privacy-box {
    margin-top: 7rem;
    text-align: left;
}

.privacy-box .pri-b {
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.privacy-box .box-in {
    border: 1px solid var(--gray2-color);
    padding: 2rem;
    height: 15rem;
    overflow-y: auto;
    background-color: #f5f5f5;
    font-size: 1.4rem;
    line-height: 1.5;
}

.pri-checked {
    margin-top: 3rem;
    font-size: 1.6rem;
}

.form-wp button {
    margin-top: 7rem;
}

.form-wp {
    text-align: center;
    padding: 4rem 4rem;
    border: 1px solid var(--gray2-color);
    border-radius: .5rem;
    box-shadow: var(--box-shadow2);
    background-color: #FFF;
}

.btn-fill {
    color: #FFF;
    min-width: 17rem;
    line-height: 6rem;
    height: 6rem;
    font-size: 1.8rem;
    padding: 0 5rem 0 3rem;
    background-color: var(--main-color);
    transition: var(--transition);
    border-radius: 0.3rem;
    box-shadow: var(--box-shadow2);
    cursor: pointer;
    border: none;
    position: relative;
}

.btn-fill::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 6rem;
    height: 6rem;
    background: url(../images/ic_w_arright.png) no-repeat center center / 2.4rem;
    transition: var(--transition);
}

.btn-fill:hover::after {
    background: url(../images/ic_w_arright.png) no-repeat right 1rem center / 2.4rem;
}


.main-form h1 {
    margin-bottom: 2rem;
    padding-left: 0;
    color: var(--main-color);
}

.main-form h1 span{
    font-weight: 700;
}

.main-form p {
    margin-bottom: 2rem;
    padding-left: 0;
    line-height: 1.75;
}

.main-form p.flag{
    color: var(--gray-color);
    font-weight: 700;
    margin-bottom: 1rem;
    display: block;
    background: url(../images/ic_st.png) no-repeat left center / 4rem;
    width: 4rem;
    height: 4rem;
}

.store .main-form h1{
    display: inline-block;
    background: url(../images/ic_st.png) no-repeat left center / 4rem;
    padding-left: 5rem;

}
.rider .main-form h1{
    display: inline-block;
    background: url(../images/ic_tr.png) no-repeat left center / 4rem;
    padding-left: 5rem;
}

/* step */
.step-box {
    padding: 2rem;
    background-color: #f5f5f5;
    background-color: #F8FBFE;
    background-color: #e8f3ff;
    width: calc(25% - 4.125rem);
    margin: 0 5.5rem 5.5rem 0;
    border-radius: .7rem;
    transition: var(--transition);
    cursor: pointer;
}

.step-box:hover {
    box-shadow: var(--box-shadow2);
}

.store-step .step-box:nth-child(4n) {
    margin-right: 0;
}

.step-box h3 {
    color: #98BFF6;
    font-size: 2.6rem;
    font-weight: bold;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--main-color);
    margin-bottom: 1.5rem;
}

.step-box h3 span {
    color: var(--main-color);
    font-size: 3.2rem;
    font-weight: bold;
}

.step-box h5 {
    color: var(--black-color);
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.step-box p {
    color: var(--font-color);
    margin-bottom: 1.5rem;
    font-size: 1.6rem;
}

.store-step {
    display: flex;
    flex-wrap: wrap;
    margin-top: 4rem;
}

.step-info {
    padding: 2rem;
    background-color: #FFF;
    border: 1px solid var(--gray2-color);
    background-color: #f5f5f5;
    background-color: #fff;
    border-radius: .7rem;
}

.step-info h5 {
    color: var(--main-color);
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
}

.step-info p {
    color: var(--font-color);
    font-size: 1.6rem;
}


.main-step {
    padding-top: 16rem;
    /* margin-top: 16rem; */
    /* border-top: 1px dashed var(--gray2-color); */
    /* padding-bottom: 8rem; */
}

.main-step h1 {
    margin-bottom: 2rem;
}



.desc-wp {
    display: flex;
    justify-content: center;
    margin-bottom: 16rem;

}

.desc-box {
    width: calc(25% - 3rem);
    margin-right: 4rem;
    transition: var(--transition);
    border-radius: .7rem;
    position: relative;
    box-sizing: border-box;
    border: 1px solid var(--gray2-color);
    cursor: pointer;
}

.desc-box:last-child {
    margin-right: 0;
}

.desc-img {
    width: 100%;
    padding-top: 80%;
    border-radius: .7rem;
    background-color: #ddd;
    transition: var(--transition);
    overflow: hidden;
    position: relative;
}

.desc-img img {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: .7rem;
}

.desc-box:hover {
    box-shadow: var(--box-shadow);
}

.desc-txt {
    padding: 2rem 2rem 3rem 2rem;
    position: absolute;
    bottom: 0;
    background-color: rgba(255, 255, 255, .85);
    width: 100%;
    left: 0;
    border-radius: 0 0 .7rem .7rem;
    transition: var(--transition);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
}

.desc-box:hover .desc-txt {
    box-shadow: var(--box-shadow);
    background-color: rgba(255, 255, 255, 1);
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}

.desc-txt h3 {
    font-weight: 700;
    /* margin-top: 1rem; */
    margin-left: 1rem;
    font-size: 2.6rem;
    transition: var(--transition);
}

.desc-box:hover .desc-txt h3 {
    margin-left: 0;
    margin-top: 1rem;
}

p.desc-flag {
    font-size: 1.6rem;
    color: #98BFF6;
    font-weight: 700;
}

.desc-flag span {
    color: var(--main-color);
    font-weight: 700;
    font-size: 3.2rem;
}


.desc-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 8rem;
}


.desc-list img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .7rem;
}

.desc-list .slide-txt {
    text-align: left;
    padding: 0;
    width: 50%;
    /* border: 1px dashed var(--gray2-color);
    border-radius: .7rem;
    height: 35rem;
    padding: 4rem; */
}

.slide-txt.right {
    margin-left: 4rem;
    padding-left: 4rem;
    /* border-left: 1px dashed var(--gray2-color); */
}

.slide-txt.left {
    margin-right: 4rem;
    padding-right: 4rem;
    /* border-right: 1px dashed var(--gray2-color); */
}

.desc-list .slide-img {
    overflow: hidden;
    height: 35rem;
    width: calc(50% - 4rem);
    transition: var(--transition);
    cursor: pointer;
    border-radius: .7rem;
}

.desc-list .slide-img:hover {
    box-shadow: var(--box-shadow2);
}

.desc-list .slide-img img {
    width: 100%;
    height: 100%;
}

.desc-list .slide-txt h2,
.desc-list .slide-txt p {
    margin-bottom: 2rem;
    line-height: 1.3;
}

.desc-list .slide-txt p {
    line-height: 1.75;
    font-size: 1.8rem;
}

.desc-list .slide-txt h2 {
    font-weight: 700;
}

.desc-list .slide-txt p.desc-flag {
    line-height: 1.0;
}

.desc-list .slide-txt p.desc-flag span {
    font-size: 3.6rem;
}

/* sec-perc */
.sec-perc {
    margin-top: 16rem;
    background-color: #e8f3ff;
}

.sec-perc .sec-top {
    display: flex;
    flex-wrap: wrap;
    border: none;
}

.sec-perc .sec-top {
    padding-bottom: 16rem;
}


.sec-perc .sec-top .sec-left,
.sec-perc .sec-top .sec-right {
    width: 49%;
    margin: 0;
    padding: 0;
}

.sec-perc .sec-top .sec-right ul {
    display: flex;
    flex-wrap: wrap;
}

.sec-perc .sec-top .sec-right ul li {
    width: 50%;
    padding: 4rem;
}

.sec-perc .sec-top .sec-right ul li p {
    font-weight: 700;
    color: var(--main-color);
}

.sec-perc .sec-top .sec-right ul li .counter {
    font-weight: 700;
    margin-right: .7rem;
}

.sec-perc .sec-top .sec-left {
    padding-bottom: 16rem;
    background: url(../images/ic_graph.png) no-repeat bottom left / 16rem;
    position: relative;
}

.sec-perc .sec-left h1 span {
    color: var(--main-color);
    font-weight: 700;
}


/* rider */
.desc-flag span {
    font-size: 2.6rem;
}

.desc-txt h3 {
    font-size: 2rem;
}

.desc-txt {
    padding-bottom: 2rem;
}

.sec-intro .btn {
    margin-top: 4rem;
    cursor: pointer;
}

.sec-intro .btn.hero-cta {
    margin-top: 3rem;
}

.int-txt {
    z-index: 10;
    position: relative;
}


.sec-sum {
    /* padding: 16rem 0 0 0; */
    position: relative;
}

.sec-sum .bg-twobar {
    top: 16rem;
    z-index: -1;
}


.sec-rider {
    position: relative;
}

.sec-rider .w-1180 {
    display: flex;
    flex-wrap: wrap;
}

.sec-rider h1 {
    display: block;
    width: 100%;
    line-height: 1.3;
    position: relative;
    z-index: 9;
}

.rider-right {
    width: 50%;
    padding-left: 10%;
}

.rider-left {
    width: 50%;
}

.rider-right h2 {
    font-weight: 700;
    margin-bottom: 2rem;
    padding-left: 4rem;
    background: url(../images/ic_check.png) no-repeat left center / 3rem;
}

.rider-right li {
    margin-bottom: 4rem;
}

.rider-right {
    position: sticky;
    align-self: flex-start;
    top: 8rem;
}

.rider-img {
    width: 100%;
    height: 100vh;
    background: url(../images/bg04.png)no-repeat center center / contain;
}

.desc-style-two .desc-box {
    padding-top: calc(25% - 3rem);
    border-radius: 100%;
    background-color: #FFF;
    z-index: 5;
    border-color: #9dccff;
    position: relative;
}

.desc-style-two .desc-box:nth-child(2n) {
    background-color: #e8f3ff;

}

.desc-style-two .desc-box::after {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    border-radius: 100%;
    border-radius: 7px;
    content: '';
    transition: var(--transition);
    z-index: -1;
}

.desc-style-two .desc-box .desc-flag span {
    font-size: 3.6rem;
}

.desc-style-two {
    position: relative;
}

.desc-style-two::after {
    width: calc(100% - 30px);
    height: 1px;
    background-color: #9dccff;
    content: '';
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
    position: absolute;
}

.desc-style-two .desc-txt {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    flex-direction: column;
    background-color: transparent;
    backdrop-filter: unset;
    padding-top: 0px;
}

.desc-style-two .desc-box:hover .desc-txt {
    align-items: center;
    background-color: transparent;
    box-shadow: none;
    flex-wrap: nowrap;
}

.desc-style-two .desc-box:hover {
    box-shadow: var(--box-shadow2);
}

.desc-style-two .desc-txt h3 {
    margin-left: 0;
    margin-top: 2rem;
    font-size: 2.6rem;
    text-align: center;
}

.desc-3col .desc-box {
    width: calc(33.3% - 5.3rem);
    margin-right: 8rem;
}

.desc-3col .desc-box:last-child {
    margin-right: 0;
}

.desc-listfix {
    padding-top: 4rem;
    z-index: 9;
    position: relative;
}

.desc-listfix a {
    padding: 1rem 3rem 1rem 7rem;
    margin-right: 2rem;
    background: url(../images/ic_check.png) no-repeat left 2rem center / 2rem;
    font-weight: 700;
    border-radius: .3rem;
    background-color: #f9f9f9;
    display: inline-block;
    font-size: 2rem;
}

.sec-top {
    margin-top: 16rem;
    border-top: 1px dashed var(--gray2-color);
}

.sec-sum .sec-top {
    margin-top: 0;
    border-top: none;
}

.sec-desc .bg-twobar {
    bottom: 15rem;
}

.desc-listfix a:last-child {
    margin-right: 0;
}

#descone {
    margin-top: 0;
}

.main-slide .slide-img {
    width: 50%;
}

.rider .desc-wp {
    margin-bottom: 16rem;
}

.rider .main-slide {
    margin-top: 0;
}

.rider .main-slide .slide-img {
    cursor: pointer;
}

.rider .main-slide .slide-txt {
    padding: 0 4rem 0 6rem;
}

.main-info h2 {
    padding-left: 4rem;
    background: url(../images/ic_check.png) no-repeat left center / 3rem;
}

.rider .bg-fstbig {
    background: url(../images/bg02.png) no-repeat center bottom / cover;
    display: none;
    z-index: 4;
}

.rider .sec-intro {
    padding-top: 25rem;
    height: 100vh;
}

.rider .sec-intro .bar-blue {
    margin-top: 0;
    margin-bottom: 3.5rem;
}

.bg-fstbig2 {
    background: url(../images/bg03.png) no-repeat left 25% bottom 10rem / 80rem;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 6;
}

.rider .bg-halfblue {
    height: 35%;
}

.main-black {
    background-color: #4e91f1;
    padding: 4rem 0;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 56;
}

.main-black .w-1180 {
    color: #FFF;
    text-align: center;
    font-size: 2rem;
    letter-spacing: .2rem;
}

.ar-down {
    margin-top: 2rem;
    background: url(../images/ic_w_ardown.png) no-repeat center center / 4rem;
    display: block;
    width: 4rem;
    height: 4rem;
    margin: 0 auto;
    margin-top: 1rem;
    -webkit-animation: play-down 1.2s ease-in-out infinite;
    animation: play-down 1.3s ease-in-out infinite;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
}

.rider .int-txt {
    text-align: right;
}

.mobile-on,
.header-gnb li.mobile-on {
    display: none;
}

.sec-rbnr{
    width: 100%;
    height: 70vh;
    display: flex;
    align-items: flex-end;
    margin-top: 16rem;
    background: url(../images/bg_main02.jpg) no-repeat left center / cover;
    background-attachment: fixed;
    position: relative;
}

.sec-rbnr::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, rgb(56,131,239) 0%, rgba(255, 255, 255, 0.5) 100%);
    background: linear-gradient(0deg, rgb(9 49 106) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: .2;
    height: 100%;
    width: 100%;
    z-index: 7;
}


.sec-rbnr .w-1180{
    text-align: right;
}

.sec-rbnr h2{
    text-align: left;
    color: #FFF;
    z-index: 8;
    position: relative;
    display: inline-block;
    line-height: 1.5;
    font-weight: 500;
    padding-bottom: 8rem;
    font-size: 2.4rem;
}

.sec-rider .sec-top{
    margin-top: 0;
    border: none;
}

.main-form .w-1180:has(h1){
    text-align: center;
    margin-bottom: 4rem;
}


/* =========================================================
   SYSTEM SCREEN - 확대 보기 모달
   데스크탑 / 태블릿 / 모바일 공통
========================================================= */

.system-screen-modal[hidden] {
    display: none !important;
}

.system-screen-modal {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: rgba(10, 21, 37, .82);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.system-screen-modal-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 160rem;
    height: auto;
    max-height: calc(100dvh - 4rem);
    min-height: 0;
    overflow: hidden;
    border-radius: 1.6rem;
    background: #fff;
    box-shadow: 0 2rem 7rem rgba(0, 0, 0, .3);
}

.system-screen-modal-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: 1.5rem;
    min-height: 6rem;
    padding: 1rem 2rem;
    border-bottom: 1px solid #e7edf4;
}

.system-screen-modal-toolbar strong {
    min-width: 0;
    color: #243349;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.35;
}

.system-screen-modal-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: .8rem;
}

.system-screen-modal-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.8rem;
    height: 3.8rem;
    padding: 0;
    border: 1px solid #d7e3f1;
    border-radius: .8rem;
    background: #f7faff;
    color: #243349;
    font-size: 2.2rem;
    font-weight: 500;
    cursor: pointer;
}

.system-screen-modal-actions button:hover {
    background: #e9f2ff;
}

.system-screen-modal-actions button:disabled {
    opacity: .35;
    cursor: default;
}

.system-screen-modal-actions .system-screen-modal-close {
    margin-left: .6rem;
    background: #243349;
    color: #fff;
    font-size: 2.6rem;
}

.system-screen-modal-actions .system-screen-modal-close:hover {
    background: #142033;
}

#systemScreenZoomLevel {
    min-width: 4.8rem;
    color: #526579;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
}

.system-screen-modal-viewport {
    flex: 0 1 auto;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    background: #edf3fa;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.system-screen-modal-viewport img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    background: #fff;
    user-select: none;
    -webkit-user-drag: none;
}

body.system-screen-modal-open {
    overflow: hidden;
}

/* =========================================================
   PATENTS & AWARDS - 특허 및 수상 이력
========================================================= */

.sec-patents-awards {
    padding: 12rem 0 13rem;
    background: #ffffff;
}

.patents-awards-head {
    margin-bottom: 6rem;
}

.patents-awards-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    padding: 0 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background: #f5faff;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.patents-awards-title {
    color: var(--black-color);
    font-size: 6.1rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.045em;
    word-break: keep-all;
}

.patents-awards-title span {
    display: block;
    color: var(--main-color);
    font-weight: 800;
    margin-top: .5rem;
}

.patents-awards-lead {
    margin-top: 3rem;
    max-width: 80rem;
    color: #303030;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -.02em;
    word-break: keep-all;
}

.patents-awards-group + .patents-awards-group {
    margin-top: 7rem;
}

.patents-awards-group-head {
    margin-bottom: 2.5rem;
}

.patents-awards-group-head h3 {
    color: #252525;
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.035em;
    word-break: keep-all;
}

.patents-awards-group-head p {
    margin-top: .8rem;
    color: #8494a3;
    font-size: 1.5rem;
}

.patents-awards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.2rem;
    align-items: stretch;
}

.patents-awards-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfeaf4;
    border-radius: 2.2rem;
    background: #ffffff;
    box-shadow: 0 1rem 3.2rem rgba(20, 65, 105, .055);
    transition: box-shadow .25s ease, transform .25s ease;
}

.patents-awards-card:hover {
    transform: translateY(-.5rem);
    box-shadow: 0 1.5rem 4rem rgba(20, 65, 105, .1);
}

.patents-awards-card a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
}

.patents-awards-image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30rem;
    padding: 2rem;
    background: #f6f9fc;
}

.patents-awards-image img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 .4rem 1.6rem rgba(25, 50, 80, .07);
}

.patents-awards-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 2.5rem 2.4rem 2.8rem;
}

.patents-awards-type {
    display: inline-block;
    margin-bottom: 1.2rem;
    padding: .65rem 1rem;
    border-radius: .7rem;
    background: #eaf6ff;
    color: #168bd1;
    font-size: 1.45rem;
    font-weight: 800;
}

.patents-awards-card-body h4 {
    color: #263d52;
    font-size: 2.333rem;
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.patents-awards-card-body p {
    margin-top: 1.2rem;
    color: #60778c;
    font-size: 1.583rem;
    line-height: 1.65;
    word-break: keep-all;
}

.patents-awards-card-body small {
    display: block;
    margin-top: auto;
    padding-top: 2rem;
    color: #8a9aaa;
    font-size: 1.65rem;
    line-height: 1.5;
}

.patents-awards-footnote {
    margin-top: 3rem;
    color: #8697a6;
    font-size: 1.3rem;
    line-height: 1.7;
    text-align: right;
}

/* 태블릿 */


/* 모바일 */



/* =========================================================
   CUSTOMER REVIEWS - 실제 고객 후기
========================================================= */

.sec-customer-reviews {
    padding: 12rem 0 13rem;
    background: #f7fafd;
    overflow: hidden;
}

.customer-reviews-head {
    margin-bottom: 7rem;
}

.customer-reviews-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background: #eaf6ff;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.customer-reviews-title {
    color: var(--black-color);
    font-size: 6.1rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.045em;
    word-break: keep-all;
}

.customer-reviews-title span {
    display: block;
    margin-top: .5rem;
    color: var(--main-color);
    font-weight: 800;
}

.customer-reviews-lead {
    margin-top: 3rem;
    max-width: 80rem;
    color: #303030;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -.02em;
    word-break: keep-all;
}

.customer-reviews-group-head {
    margin-bottom: 2.8rem;
}

.customer-reviews-group-head h3 {
    color: #252525;
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.035em;
    word-break: keep-all;
}

/* 카카오톡 후기 제목 */
.customer-reviews-kakao .customer-reviews-group-head {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 1.8rem;
    row-gap: 1rem;
    text-align: center;
}

.customer-reviews-kakao .customer-reviews-group-head h3 {
    font-size: 3.867rem;
    margin: 0;
}

/* 카카오톡 고객 후기 제목 - 카카오톡 문의 버튼 색상 */
.customer-reviews-kakao .customer-reviews-title-first {
    font-size: inherit;
    font-weight: 800;
    line-height: inherit;
    letter-spacing: inherit;
}
.customer-reviews-highlight {
    padding: .02em .12em;
    border-radius: .08em;
    background-color: #FEE500;
    color: #353535;
    font-weight: 800;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* 네이버 블로그 후기 제목 - 네이버 브랜드 컬러 */
.customer-reviews-naver-highlight {
    padding: .02em .12em;
    border-radius: .08em;
    background-color: #03C75A;
    color: #FFFFFF;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.customer-reviews-group-head p {
    margin-top: .8rem;
    color: #8494a3;
    font-size: 1.5rem;
    line-height: 1.6;
}

/* 카카오톡 후기 재생 / 일시정지 버튼 */
.customer-reviews-play-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 11rem;
    box-sizing: border-box;
    gap: .8rem;
    margin-top: 0;
    padding: 1rem 1.8rem;
    border: 1px solid #cbddea;
    border-radius: 3rem;
    background: #fff;
    color: #46627c;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
}

.customer-reviews-play-toggle:hover {
    background: #edf6ff;
    border-color: var(--main-color);
}

.customer-reviews-play-toggle:focus-visible {
    outline: 3px solid var(--main-color);
    outline-offset: 3px;
}

.customer-reviews-play-icon {
    font-size: 1.5rem;
    line-height: 1;
}

/* 정지 상태에서 마키 애니메이션 멈춤 */
.customer-reviews-marquee.is-paused .customer-reviews-track {
    animation-play-state: paused;
}



/* 카카오톡 후기가 부드럽게 흐르는 영역 */
.customer-reviews-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 1rem 0 2rem;
}

/* 일시정지 상태의 수동 이동 버튼 */
.customer-reviews-nav {
    display: none;
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    padding: 0;
    border: 1px solid rgba(196, 214, 229, .85);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 .5rem 2rem rgba(20, 65, 105, .14);
    color: #304e69;
    font-size: 3.8rem;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color .2s ease,
        box-shadow .2s ease;
}

.customer-reviews-nav-prev {
    left: 2rem;
}

.customer-reviews-nav-next {
    right: 2rem;
}

.customer-reviews-marquee.is-paused .customer-reviews-nav {
    display: flex;
}

.customer-reviews-nav:hover {
    background-color: #eaf5ff;
    box-shadow: 0 .7rem 2.5rem rgba(20, 65, 105, .2);
}

.customer-reviews-nav:focus-visible {
    outline: 3px solid var(--main-color);
    outline-offset: 3px;
}

.customer-reviews-nav:disabled {
    cursor: default;
    opacity: .5;
}

.customer-reviews-track {
    display: flex;
    width: max-content;
    animation: customerReviewsFlow 70s linear infinite;
    will-change: transform;
}

.customer-reviews-track-group {
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
    gap: 2.8rem;
    padding-right: 2.8rem;
}




/* 카카오톡 후기 개별 카드 */
.customer-review-card {
    display: flex;
    flex: 0 0 33rem;
    flex-direction: column;
    width: 33rem;
    height: 37.5rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dfeaf4;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(20, 65, 105, .07);
    cursor: pointer;
    text-align: left;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.customer-review-card:hover {
    transform: translateY(-.4rem);
    box-shadow: 0 1.5rem 3.5rem rgba(20, 65, 105, .12);
}

.customer-review-card:focus-visible {
    outline: 3px solid var(--main-color);
    outline-offset: 3px;
}

.customer-review-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #f3f6fa;
}

.customer-review-card-image img {
    display: block;
    width: 100%;
    height: auto;
    flex-shrink: 0;
    max-width: none;
    object-fit: initial;
    object-position: center;
    transform: none;
    transform: scale(1.12);
    transform-origin: left center;
}


/* ==========================================
   CUSTOMER REVIEWS - 카드별 이미지 위치 조정
   음수(-): 위로 이동
   양수(+): 아래로 이동
========================================== */

/* 01번 - 위로 7% */
.customer-reviews-track-group
.customer-review-card:nth-child(1)
.customer-review-card-image img {
    transform: translateY(-7%) scale(1.12);
}

/* 03번 - 위로 15% */
.customer-reviews-track-group
.customer-review-card:nth-child(3)
.customer-review-card-image img {
    transform: translateY(-15%) scale(1.12);
}

/* 04번 - 위로 20% */
.customer-reviews-track-group
.customer-review-card:nth-child(4)
.customer-review-card-image img {
    transform: translateY(-20%) scale(1.12);
}

/* 05번 - 위로 10% */
.customer-reviews-track-group
.customer-review-card:nth-child(5)
.customer-review-card-image img {
    transform: translateY(-10%) scale(1.12);
}

/* 06번 - 위로 25% */
.customer-reviews-track-group
.customer-review-card:nth-child(6)
.customer-review-card-image img {
    transform: translateY(-23%) scale(1.12);
}

/* 07번 - 위로 15% */
.customer-reviews-track-group
.customer-review-card:nth-child(7)
.customer-review-card-image img {
    transform: translateY(-20%) scale(1.12);
}

/* 08번 - 위로 10% */
.customer-reviews-track-group
.customer-review-card:nth-child(8)
.customer-review-card-image img {
    transform: translateY(-10%) scale(1.12);
}

/* 11번 - 아래로 5% */
.customer-reviews-track-group
.customer-review-card:nth-child(11)
.customer-review-card-image img {
    transform: translateY(5%) scale(1.12);
}

/* 14번째 카드 - 두 번째 묶음의 01번, 아래로 5% */
.customer-reviews-track-group:nth-child(2)
.customer-review-card:nth-child(1)
.customer-review-card-image img {
    transform: translateY(5%) scale(1.12);
}



/* 네이버 블로그 후기 */
.customer-reviews-blog {
    margin-top: 9rem;
}

.customer-reviews-blog-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.4rem;
    align-items: stretch;
}

.customer-reviews-blog-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 17rem;
    padding: 2rem 1.6rem;
    overflow: hidden;
    border: 1px solid #dfeaf4;
    border-radius: 1.6rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(20, 65, 105, .05);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.customer-reviews-blog-card:hover {
    transform: translateY(-.4rem);
    box-shadow: 0 1.5rem 3.5rem rgba(20, 65, 105, .1);
}

/* 사진 위에 텍스트가 읽히도록 그라데이션 */
.customer-reviews-blog-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, .40) 0%,
        rgba(0, 0, 0, .15) 38%,
        rgba(0, 0, 0, .75) 100%
    );
    pointer-events: none;
}

/* 네이버 블로그 후기 카드 사진 */
.customer-reviews-blog-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    background-color: #f1f6fa;
}

.customer-reviews-blog-platform {
    position: relative;
    z-index: 2;
    color: #b9f8ce;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.customer-reviews-blog-card strong {
    position: relative;
    z-index: 2;
    margin-top: 0;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.45;
    word-break: keep-all;
}

.customer-reviews-blog-card > span:last-child {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: 1.5rem;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

/* 태블릿 */


/* 모바일 */


/* 움직임 감소 설정을 존중 */


/* =========================================================
   PARTNER 07-1 ~ 07-2 - 공통 흰색 배경
========================================================= */
.partner-photo-stage {
    position: relative;
            overflow: hidden;
    background: #fff;
}

/* 실제 공장 사진 : 오른쪽으로 10% 이동 */
.partner-photo-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url("../images/partner-factory.webp");
    background-size: cover;
    background-position: center 45%;
    background-repeat: no-repeat;
    transform: translateX(0);
    pointer-events: none;
}

/* 기존 흰색 그라데이션 유지 */
.partner-photo-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .85) 0%,
        rgba(255, 255, 255, .75) 20%,
        rgba(255, 255, 255, .58) 39%,
        rgba(255, 255, 255, .25) 65%,
            rgba(255, 255, 255, 0) 100%
        ),
        linear-gradient(
            180deg,
            #fff 0%,
            rgba(255, 255, 255, 0) 22%,
            rgba(255, 255, 255, 0) 73%,
            #fff 100%
        );
    background-repeat: no-repeat;
    pointer-events: none;
}

/* =========================================================
   PARTNER 07-1 - 협력지점 사업 소개
========================================================= */
.partner-intro {
    position: relative;
    padding: 12rem 0 8rem;
    overflow: visible;
        background: transparent;
}

.partner-intro > .w-1180 {
    position: relative;
    z-index: 2;
}

.partner-intro-head {
    max-width: 100%;
}

/* PARTNER : 원형 공장 사진 */
.partner-circle-visual {
    position: absolute;
    z-index: 1;
    top: 3rem;
    right: 3rem;
    width: 60.3rem;
    height: 60.3rem;
    pointer-events: none;
}

.partner-circle-photo {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 50%;

    /* 사진 가장자리를 자연스럽게 투명 처리 */
    -webkit-mask-image: radial-gradient(
        circle at center,
        #000 75%,
        rgba(0, 0, 0, .85) 82%,
        rgba(0, 0, 0, .5) 90%,
        transparent 100%
    );
    mask-image: radial-gradient(
        circle at center,
        #000 75%,
        rgba(0, 0, 0, .85) 82%,
        rgba(0, 0, 0, .5) 90%,
        transparent 100%
    );
}

.partner-circle-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}



/* PARTNER 오른쪽 대한민국 지도형 공장 이미지 */
.partner-map-visual {
    position: absolute;
    z-index: 1;
    top: 4.5rem;
    right: 1.5rem;
    width: 51.6rem;
    height: 61.2rem;
    pointer-events: none;
}

.partner-map-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    filter: drop-shadow(0 1rem 1.5rem rgba(35, 85, 145, .10));
}

.partner-map-hq {
    position: absolute;
    z-index: 2;
    top: 66%;
    right: -2rem;
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.4rem;
    border: 1px solid #d9e9fb;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 .7rem 2rem rgba(35, 85, 145, .12);
}

.partner-map-hq-dot {
    flex: 0 0 1rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #3883ef;
    box-shadow: 0 0 0 .4rem #e6f2ff;
}

.partner-map-hq strong,
.partner-map-hq small {
    display: block;
}

.partner-map-hq strong {
    color: #2678de;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .07em;
}

.partner-map-hq small {
    margin-top: .3rem;
    color: #617185;
    font-size: 1.1rem;
    font-weight: 600;
    white-space: nowrap;
}

.partner-map-delivery {
    position: absolute;
    top: 24%;
    right: -1rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .8rem 1.2rem;
    border: 1px solid #d9e9fb;
    border-radius: 2rem;
    background: rgba(255, 255, 255, .96);
    color: #3883ef;
    box-shadow: 0 .6rem 1.8rem rgba(35, 85, 145, .08);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.partner-map-delivery svg {
    width: 2rem;
    height: 2rem;
}

.partner-map-caption {
    position: absolute;
    left: 1rem;
    bottom: .5rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.partner-map-caption strong {
    color: #3883ef;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-map-caption span {
    color: #718399;
    font-size: 1.2rem;
    font-weight: 600;
}

.partner-intro-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background: #eaf6ff;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-intro-title {
    margin: 0;
    color: #252525;
    font-size: 6.1rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.045em;
    word-break: keep-all;

}

.partner-intro-title > span {
    display: block;
    font-weight: 800;
}

.partner-intro-title-accent {
    display: inline-block;
    width: fit-content;
    margin-top: .5rem;
    padding: .02em .14em .08em;
    color: #fff;
    background-color: var(--main-color);
}

.partner-intro-lead {
    max-width: 80rem;
    margin-top: 3rem;
    color: #303030;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -.02em;
    word-break: keep-all;
}

/* =========================================================
   PARTNER / STARTUP / SMART AUTO
   아래에서 위로 등장하는 공통 애니메이션
========================================================= */
.partner-rise {
    opacity: 1;
    transform: none;
}

html.js .partner-rise:not(.is-rise-visible) {
    opacity: 0;
    transform: translateY(32px);
}

/* 왼쪽에서 오른쪽으로 등장 */
html.js .partner-rise.partner-slide-from-left:not(.is-rise-visible) {
    opacity: 0;
    transform: translateX(-45px);
}

/* 오른쪽에서 왼쪽으로 등장 */
html.js .partner-rise.partner-slide-from-right:not(.is-rise-visible) {
    opacity: 0;
    transform: translateX(45px);
}

html.js .partner-rise {
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22, 1, .36, 1);
    transition-delay: 0s;
}

html.js .partner-rise.is-rise-visible {
    opacity: 1;
    transform: translateY(0);
}

html.js .partner-rise-delay-1 {
    transition-delay: .12s;
}

html.js .partner-rise-delay-2 {
    transition-delay: .24s;
}



/* PARTNER - 태블릿 */


/* PARTNER - 모바일 */


/* =========================================================
   PARTNER 07-2 - 본사와 협력지점의 역할
========================================================= */
.partner-roles {
    position: relative;
    z-index: 2;
    padding: 3rem 0 12rem;
    background: transparent;
}

.partner-roles-head {
    position: relative;
    margin-bottom: 3.5rem;
    text-align: center;
}

.partner-roles-title-box {
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding: 2.8rem 4.5rem;
    background: #ffffff;
    border: 1px solid rgba(56, 131, 239, .18);
    border-radius: 2.4rem;
    box-shadow:
        0 1.4rem 4rem rgba(25, 60, 110, .12),
        0 .3rem 1rem rgba(25, 60, 110, .06);
    z-index: 1;
}

/* 제목 박스 아래 중앙의 말풍선 꼬리 */
.partner-roles-title-box::after {
    content: "";
    position: absolute;
    top: calc(100% - 1.55rem);
    left: 50%;
    width: 2.8rem;
   height: 2.8rem;
   background: #ffffff;
   border-right: 1px solid rgba(56, 131, 239, .18);
   border-bottom: 1px solid rgba(56, 131, 239, .18);
   border-radius: 0 0 .4rem 0;
   transform: translateX(-50%) rotate(45deg);
   z-index: -1;
}


.partner-roles-label {
    margin-bottom: 1.5rem;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-roles-head h2 {
    font-size: 3.8rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
}

.partner-roles-head h2 span {
    color: var(--main-color);
    font-weight: 800;
}

.partner-roles-head > p:last-child {
    margin-top: 2rem;
    color: #657282;
    font-size: 1.8rem;
    line-height: 1.7;
}

/* 본사 / 협력지점 카드 */
.partner-roles-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
    align-items: stretch;
}

.partner-role-card {
    min-width: 0;
    padding: 3rem 4rem;
    border: 1px solid #d8e7f7;
    border-radius: 2.4rem;
    background: linear-gradient(
        180deg,
        #dcecff 0%,
        #eaf4ff 33%,
        #ffffff 70%
    );
    box-shadow:
        0 1.6rem 4rem rgba(40, 89, 135, .09),
        0 .3rem 1rem rgba(40, 89, 135, .035);
    transition: none;
    animation: none;
    transform: none;
}

.partner-role-head-office {
    border-top: .5rem solid var(--main-color);
}

.partner-role-local {
    border-top: .5rem solid #62c2ff;
    background: linear-gradient(
        180deg,
        #d9f2ff 0%,
        #eaf9ff 33%,
        #ffffff 70%
    );
}

.partner-role-card-top {
    display: flex;
    align-items: center;
    gap: 1.8rem;
}

.partner-role-icon {
    display: flex;
    flex: 0 0 6.2rem;
    align-items: center;
    justify-content: center;
    width: 6.2rem;
    height: 6.2rem;
    border-radius: 1.8rem;
    background: #eaf3ff;
    border: 1px solid #d5e7ff;
    box-shadow: 0 .4rem 1.2rem rgba(56, 131, 239, .07);
    color: var(--main-color);
    font-size: 2.2rem;
    font-weight: 800;
}

.partner-role-local .partner-role-icon {
    background: #e9f7ff;
    border-color: #cdefff;
    color: #168bd1;
}

.partner-role-en {
    margin-bottom: .5rem;
    color: #3883ef;
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-role-local .partner-role-en {
    color: #168bd1;
}

.partner-role-card h3 {
    font-size: 2.9rem;
    font-weight: 800;
    letter-spacing: -.035em;
}

.partner-role-summary {
    min-height: 5rem;
    margin-top: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e9eff5;
    color: #5f6d7c;
    font-size: 1.9rem;
    line-height: 1.6;
}

.partner-role-list {
    display: grid;
    gap: 1.2rem;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #d1d5db;
}

.partner-role-list li {
    position: relative;
    padding-left: 2.7rem;
    color: #354456;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.5;
}

.partner-role-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--main-color);
    font-weight: 800;
}

.partner-role-local .partner-role-list li::before {
    color: #168bd1;
}

.partner-roles-footer {
    margin-top: 4rem;
    color: #617185;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
}

.partner-roles-footer span {
    color: var(--main-color);
    font-weight: 800;
}

/* PARTNER 07-2 - 태블릿 */


/* PARTNER 07-2 - 모바일 */


/* =========================================================
   PARTNER 07-3 - 온라인 주문부터 배송까지
========================================================= */
.partner-flow {
    padding: 11rem 0 12rem;
    background: #fff;
}

.partner-flow-head {
    margin-bottom: 5.5rem;
    text-align: center;
}

.partner-flow-label {
    margin-bottom: 1.5rem;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-flow-head h2 {
    font-size: 4.5rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
}

.partner-flow-head h2 span {
    color: var(--main-color);
    font-weight: 800;
}

.partner-flow-lead {
    margin-top: 2rem;
    color: #657282;
    font-size: 2rem;
    line-height: 1.7;
}

/* 4단계 흐름 */

.partner-flow-groups {
    display: grid;
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
    align-items: stretch;
    
}

/* 상단 헤더와 하단 카드 사이 통로의 긴 화살표 몸통 */
.partner-flow-groups::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 8.8rem;
    left: 1rem;
    right: 2.8rem;
    height: 1.05rem;
    background: #2468ce;
    border-radius: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
}

/* 통로 오른쪽 끝의 화살촉 */
.partner-flow-groups::after {
    content: "";
    position: absolute;
    z-index: 4;
    top: 8.8rem;
    right: .2rem;
    width: 3.2rem;
    height: 2.8rem;
    background: #2468ce;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transform: translateY(-50%);
    pointer-events: none;
}


.partner-flow-group {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3.6rem;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.partner-flow-group-office {
    background: transparent;
}


.partner-flow-group-local {
    background: transparent;
}

.partner-flow-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 7rem;
    margin-bottom: 0;
    padding: 0 2.4rem;
    border-radius: 2.4rem 2.4rem 0 0;
    border: 1px solid #c9defa;
    background: linear-gradient(180deg, #e6f0ff, #f0f6ff);
}

/* 지역 협력지점 상단 헤더 색상 */
.partner-flow-group-local .partner-flow-group-head {
    border-color: #bce6f7;
    background: linear-gradient(180deg, #e4f7ff, #effaff);
}

.partner-flow-group-name {
    color: #2468ce;
    font-size: 2rem;
    font-weight: 800;
}

.partner-flow-group-local .partner-flow-group-name {
    color: #167eaa;
}

.partner-flow-group-en {
    color: #7998be;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .05em;
}

.partner-flow-group-local .partner-flow-group-en {
    color: #69a7be;
}
.partner-flow-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
    flex: 1;
    padding: 2.4rem;
    margin: 0;
    list-style: none;
    border: 1px solid #c9defa;
    border-radius: 0 0 2.4rem 2.4rem;
    background: linear-gradient(180deg, #e6f0ff, #f0f6ff);
}

/* 지역 협력지점 하단 카드 영역 */
.partner-flow-group-local .partner-flow-list {
    border-color: #bce6f7;
    background: linear-gradient(180deg, #e4f7ff, #effaff);
}

.partner-flow-step {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 31rem;
    padding: 3rem 1.8rem;
    border: 1px solid #e3edf7;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(35, 85, 130, .04);
}

.partner-flow-group-local .partner-flow-step {
    border-color: #d9edf6;
}

.partner-flow-group-local .partner-flow-number {
    color: #1686bd;
}


.partner-flow-step-top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.partner-flow-number {
    flex-shrink: 0;
    color: var(--main-color);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.partner-flow-image {
    display: block;
    width: 100%;
    height: 11rem;
    margin-bottom: 2.4rem;
    object-fit: contain;
}

/* SERVICE FLOW - 01 온라인 주문 접수 아이콘만 확대 및 아래로 이동 */
.partner-flow-group-office
.partner-flow-step:first-child
.partner-flow-image {
    transform: translateY(5px) scale(1.20);
    transform-origin: center center;
}

.partner-flow-step h3 {
    margin-bottom: 0;
    font-size: 2.3rem;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.4;
    text-align: center;
}

.partner-flow-step > p {
    color: #657282;
    font-size: 1.7rem;
    line-height: 1.7;
    text-align: center;
}


.partner-flow-bottom {
    margin-top: 5rem;
    padding: 5rem 3rem;
    border-radius: 1.8rem;
    background: linear-gradient(105deg, #edf6ff, #f7fbff);
    text-align: center;
}

.partner-flow-bottom p {
    color: #2b3b4d;
    font-size: 4.6rem;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: -.025em;
    word-break: keep-all;
}

.partner-flow-bottom strong {
     color: #624817;
    font-weight: inherit;
}

/* OUR SYSTEM의 '신규 사장님과'와 동일한 형광펜 효과 */
.partner-flow-bottom .partner-flow-bottom-highlight {
    padding: .02em .12em;
    border-radius: .08em;
    background-color: #f5df88;
    color: #624817;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* PARTNER 07-3 - 태블릿 */


/* PARTNER 07-3 - 모바일 */


/* =========================================================
   PARTNER 07-4 - 같은 세탁업, 다른 사업 경쟁력
========================================================= */

/* 폰트 준비 전에는 비교표의 중간 배치를 표시하지 않음 */
.js .partner-compare:not(.is-compare-ready) {
    visibility: hidden;
}

/* 하단 강조 박스: 왼쪽에서 오른쪽으로 등장 */
.js .partner-compare-bottom {
    opacity: 0;
    translate: -32px 0;
    transition:
        opacity .8s cubic-bezier(.22, 1, .36, 1),
        translate .8s cubic-bezier(.22, 1, .36, 1);
}

.js .partner-compare-bottom.is-compare-visible {
    opacity: 1;
    translate: 0 0;
}

/* 움직임 감소 설정에서는 애니메이션 없이 표시 */
@media (prefers-reduced-motion: reduce) {
    .js .partner-compare-bottom {
        opacity: 1;
        translate: none;
        transition: none;
    }
}

.partner-compare {
    
    padding: 11rem 0 12rem;
    background: #f0f5ff;
}


.partner-compare-head {
    margin-bottom: 5rem;
    text-align: center;
}

.partner-compare-label {
    margin-bottom: 1.5rem;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-compare-head h2 {
    color: #252525;
    font-size: 4.5rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
}

.partner-compare-head h2 span {
    color: var(--main-color);
    font-weight: 800;
}

/* SERVICE FLOW 제목과 동일한 크기 */
.partner-compare-head h2 .partner-compare-title-first {
    color: #252525;
    font-size: 4.5rem;
}

/* 두 번째 제목 줄 - 화살표 배치 */
.partner-compare-head h2 .partner-compare-title-second {
    color: var(--main-color);
    font-size: inherit;
}

/* 운영 부담 / 사업 경쟁력 - 파란색 강조 */
.partner-compare-head h2 .partner-compare-accent {
    display: inline-block;
    margin: .25em .08em 0;
    padding: .02em .14em .08em;
    background-color: var(--main-color);
    color: #fff;
    font-size: inherit;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.partner-compare-head h2 .partner-compare-accent span {
    color: #fff;
}

/* 운영 부담 감소 / 사업 경쟁력 증가 화살표 */
.partner-compare-head h2 .partner-compare-arrow {
    display: inline-block;
    width: .9em;
    height: 1.05em;
    margin: 0 .3em 0 .1em;
    vertical-align: -.16em;
    clip-path: polygon(
        35% 0,
        65% 0,
        65% 58%,
        100% 58%,
        50% 100%,
        0 58%,
        35% 58%
    );
}

/* 아래 방향 화살표 - 파란색 */
.partner-compare-head h2 .partner-compare-arrow-down {
    background: var(--main-color);
}

/* 위 방향 화살표 - 빨색 */
.partner-compare-head h2 .partner-compare-arrow-up {
    background: #ff0000;
    transform: rotate(180deg);
}

.partner-compare-lead {
    margin-top: 2rem;
    color: #344b64;
    font-size: 2rem;
    line-height: 1.7;
}

/* 비교표: 1440px 이상 6열, 그 아래 3열 표 2개 */
.partner-compare-table {
    position: relative;
    overflow: hidden;
    border: 1px solid #e2ebf5;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 1rem 3.5rem rgba(35, 85, 130, .05);
}

.partner-compare-table-desktop {
    width: min(1260px, calc((100vw - 4.8rem) * .9));
    max-width: none;
    left: 50%;
    translate: -50% 0;
}

/* 가운데 두 열을 하나의 노란색 테두리로 강조 */
.partner-compare-table-desktop::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    
    bottom: 0;
    left: 31%;
    width: 38%;
    border: 7.5px solid #ffd600;
    
    box-sizing: border-box;
    pointer-events: none;
}

.partner-compare-row {
    display: grid;
    grid-template-columns: 18% 13% 19% 19% 13% 18%;
    align-items: stretch;
    border-bottom: 1px solid #e8eff6;
}

.partner-compare-row:last-child { border-bottom: 0; }

.partner-compare-row > div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 2.5rem 1.2rem;
    font-size: 1.7rem;
    line-height: 1.55;
    text-align: center;
    overflow-wrap: anywhere;
}

/* 데스크탑 6열 비교표: 기존 축소 상태에서 약 7% 추가 축소 */
.partner-compare-table-desktop .partner-compare-row > div {
    padding-top: 1.976rem;
    padding-bottom: 1.976rem;
    line-height: 1.2253;
}

.partner-compare-header {
    background: #edf3f9;
    border-bottom: 1px solid #a9b8c9;
}

.partner-compare-header > div {
    
    font-size: 1.9rem;
    font-weight: 800;
    }

    /* 데스크탑 양쪽 비교군 제목 배경 강조 */
@media all and (min-width: 1440px) {
    .partner-compare-table-desktop .partner-compare-header > div:first-child,
    .partner-compare-table-desktop .partner-compare-header > div:last-child {
        background: #e1e9f2;
    }
}

   /* 가운데 브랜드 헤더는 두 열에 걸쳐 하나로 표시 */
.partner-compare-header .partner-compare-brand-head {
    grid-column: span 2;
    background: var(--main-color);
    color: #fff;
}

.partner-compare-row .partner-compare-item,
.partner-compare-header > div:nth-child(2),
.partner-compare-header > div:nth-last-child(2) {
    background: #f1f5f9;
    color: #283d54;
    font-weight: 800;
    }
    

 .partner-compare-row .partner-compare-item { border-left: 1px solid #c3ceda; border-right: 1px solid #c3ceda; }
.partner-compare-row .partner-compare-normal { color: #6d7885; background: #f8fafc; }
.partner-compare-row .partner-compare-other { color: #536779; background: #f8fafc; }

.partner-compare-row .partner-compare-brand {
    
    background: #eef6ff;
    color: #246fba;
    font-weight: 800;
   
}

/* 세탁발전소 협력지점 박스(두 개의 열)의 중간 세로 줄을 점선으로 표현 (위아래 여유 부여) */
 .partner-compare-table-desktop .partner-compare-row > div:nth-child(3) {
     border-right: 1.5px dashed #b8d1ee;
     background-clip: padding-box;
     padding-top: calc(1.976rem + 0.316rem);
    padding-bottom: calc(1.976rem + 0.316rem);
 }



/* VS 열(기존 비교항목 열)을 하얗게 설정 */
.partner-compare-table .partner-compare-item {
    background: #ffffff !important;
}

.partner-compare-mobile-tables { display: none; }

.partner-compare-note {
    margin-top: 2rem;
    color: #7b8793;
    font-size: 1.3rem;
    line-height: 1.7;
}

.partner-compare-bottom {
    margin-top: 10rem;
    width: 80%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 2.5rem 2.8rem;
    border: none;
    border-radius: 1.8rem;
    background: #ffffff;
    box-shadow: 0 .8rem 2.4rem rgba(43, 100, 170, .08);
    color: #252525;
    font-size: 3.9rem;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: -.025em;
    word-break: keep-all;
    text-align: center;
    box-sizing: border-box;
}

/* 두 번째 문장은 별도 박스 없이 같은 공간에 표시 */
.partner-compare-bottom strong {
    color: var(--main-color);
    font-weight: inherit;
    
}

/* 1439px 이하: 같은 내용을 두 개의 3열 비교표로 구성 */




/* 767px 이하: 모바일 전용 비교표 */


/* =========================================================
   PARTNER 07-5 - 협력지점 핵심 장점
========================================================= */
.partner-advantages {
    padding: 11rem 0 12rem;
    background:
        linear-gradient(
            rgba(0, 0, 0, 0.7),
            rgba(0, 0, 0, 0.7)
        ),
        url("../images/partner-advantages-bg.webp")
        no-repeat center center / cover;
}

.partner-advantages-head {
    margin-bottom: 5.5rem;
    text-align: center;
}



.partner-advantages-head h2 {
    color: #fff;
    font-size: clamp(3.5rem, calc(2.7vw + 7px), 4.1rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
    white-space: nowrap;
}

.partner-advantages-head h2 span {
    color: #fff;
    font-weight: 800;
    display: inline;
    padding: .02em .14em .08em;
    background-color: var(--main-color);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.partner-advantages-lead {
    margin-top: 2rem;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.7;
}

/* 3개 장점 카드 */
.partner-advantages-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.4rem;
    align-items: stretch;
}

.partner-advantage-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 37rem;
    padding: 1.75rem 1.5rem 3.5rem;
    border: 1px solid #e2ebf5;
    border-radius: 2.4rem;
    background: #f8fbff;
    box-shadow: 0 1rem 3rem rgba(35, 85, 130, .04);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.partner-advantage-card:hover {
    transform: translateY(-.6rem);
    border-color: #b9dcff;
    box-shadow: 0 1.8rem 4rem rgba(35, 85, 130, .1);
}

/* 카드 상단 WebP 사진 */
.partner-advantage-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    margin-bottom: 2.5rem;
    overflow: hidden;
    border-radius: 1.4rem;
    background-color: #e6eef7;
}

.partner-advantage-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 번호와 제목을 같은 가로줄에 배치 */
.partner-advantage-heading {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.8rem;
}

.partner-advantage-number {
    flex-shrink: 0;
    padding-top: 0;
    color: var(--main-color);
    font-size: 1.8rem;
    font-weight: 800;
}


.partner-advantage-card h3 {
    margin-bottom: 0;
    color: #24394f;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.035em;
    white-space: nowrap;
}

.partner-advantage-card > p {
    color: #667584;
    font-size: 1.7rem;
    line-height: 1.75;
}



/* PARTNER 마무리 영역 */
.partner-advantages-closing {
    margin-top: 9rem;
    padding: 7rem 4rem;
    border-radius: 2.8rem;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(98, 194, 255, .28),
            transparent 40%
        ),
        linear-gradient(120deg, #266dcc, #3883ef);
    text-align: center;
}

.partner-advantages-closing-label {
    margin-bottom: 2rem;
    color: #d6e9ff;
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.partner-advantages-closing h3 {
    color: #fff;
    font-size: 3.9rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -.035em;
}

.partner-advantages-closing h3 span {
    color: #fff;
    font-weight: 800;
}

.partner-advantages-closing > p:last-child {
    margin-top: 2rem;
    color: #e2efff;
    font-size: 2.4rem;
    line-height: 1.7;
}

/* 모바일 전용 줄바꿈은 데스크탑에서 숨김 */
.partner-closing-mobile-br {
    display: none;
}

/* PARTNER 07-5 - 태블릿 */


/* PARTNER 07-5 - 모바일 */


/* 움직임 감소 설정 */


/* =========================================================
   SECTION 08 - WHY PARTNER WITH US
   협력지점 창업비용 및 초기 운영 지원
========================================================= */

.partner-startup {
    padding: 11rem 0 12rem;
    background: #f4f8ff;
}

.partner-startup-head {
    margin-bottom: 5rem;
    text-align: left;
}

.partner-startup-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background: #eaf6ff;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-startup-head h2 {
    color: #252525;
    font-size: 6.1rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.045em;
    word-break: keep-all;
}

.partner-startup-head h2 span {
    color: var(--main-color);
    font-weight: 800;
}

.partner-startup-lead {
    margin-top: 2rem;
    color: #586879;
    font-size: 2.267rem;
    font-weight: 600;
    line-height: 1.65;
}

/* 한시적 할인 안내 */
.partner-startup-promotion {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: center;
    gap: 4rem;
    padding: 4rem 5rem;
    border-radius: 2.4rem;
    background: linear-gradient(120deg, #215fc7, #3883ef);
    box-shadow: 0 1.5rem 4rem rgba(56, 131, 239, .15);
}

.partner-startup-promotion-label {
    display: inline-block;
    margin-bottom: 2rem;
    padding: 1.05rem 1.95rem;
    border: 1px solid #fff;
    border-radius: 5rem;
    background-color: #fff;
    color: var(--main-color);
    font-size: 1.95rem;
    font-weight: 800;
}

.partner-startup-promotion-copy h3 {
    color: #fff;
    font-size: 4.84rem;
    font-weight: 900;
    line-height: 1.35;
}

.partner-startup-promotion-copy h3 span {
    color: #ffea83;
    font-size: 4.84rem;
    font-weight: 900;
}

.partner-startup-promotion-copy > p {
    margin-top: 1.5rem;
    color: #e9f2ff;
    font-size: 1.83rem;
    line-height: 1.6;
}

.partner-startup-promotion-prices {
    padding: 2.4rem 3rem;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 1.8rem;
    background: rgba(255,255,255,.12);
}

.partner-startup-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.partner-startup-price + .partner-startup-price {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.3);
}

.partner-startup-price span {
    color: #eff6ff;
    font-size: 1.90rem;
    font-weight: 700;
}

.partner-startup-price del {
    color: #e7efff;
    font-size: 2.94rem;
    font-weight: 700;
}

.partner-startup-price strong {
    color: #ffea83;
    font-size: 4.47rem;
    font-weight: 900;
    white-space: nowrap;
}

.partner-startup-promotion-prices > p {
    margin-top: 1.4rem;
    color: #e6efff;
    font-size: 1.70rem;
    text-align: right;
}

/* 창업비용 표 */
.partner-startup-cost-head {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin: 13.5rem 0 4rem;
    text-align: center;
}

.partner-startup-cost-head > div {
    width: 100%;
}

.partner-startup-support-head > span {
    display: block;
    margin-bottom: 1rem;
    color: var(--main-color);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: .08em;
}


.partner-startup-support-head h3 {
    color: #252525;
    font-size: 3.2rem;
    font-weight: 800;
}

.partner-startup-cost-head h3 {
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    white-space: nowrap;
}

.partner-startup-cost-head h3 span {
    display: inline;
    margin: 0;
    color: var(--main-color);
    font-size: inherit;
    font-weight: 800;
    letter-spacing: inherit;
}

.partner-startup-table-title {
    display: table;
    margin: 0 0 -1px 0;
    padding: 1.5rem 2.5rem;
    border: 1px solid #dce6f3;
    border-bottom: 0;
    border-radius: 1.5rem 1.5rem 0 0;
    background: #315b8c;
    color: #ffffff;
    font-size: 2.267rem;
    font-weight: 800;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

.partner-startup-cost-head > p {
    color: #718094;
    font-size: 1.5rem;
    font-weight: 600;
}

.partner-startup-table-wrap {
    overflow-x: auto;
    border: 1px solid #dce6f3;
    border-radius: 0 1.8rem 1.8rem 1.8rem;
    background: #fff;
}

.partner-startup-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.partner-startup-table th,
.partner-startup-table td {
    padding: 1.7577rem 1.8rem;
    border-bottom: 1px solid #e6edf5;
    border-right: 1px solid #dce4ed;
    vertical-align: middle;
    text-align: center;
    font-size: 1.733rem;
    line-height: 1.55;
}

.partner-startup-table tr > :last-child {
    border-right: 0;
}

.partner-startup-table thead {
    background: #e4effc;
}

.partner-startup-table thead th {
    color: #38516e;
    font-size: 1.633rem;
    font-weight: 800;
    text-align: center;
}

.partner-startup-table th:nth-child(1) {
    width: 16%;
}

.partner-startup-table th:nth-child(2) {
    width: 50%;
}

.partner-startup-table th:nth-child(3),
.partner-startup-table th:nth-child(4) {
    width: 17%;
}

.partner-startup-table tbody th {
    color: #283c52;
    font-weight: 800;
    text-align: center;
}

.partner-startup-table tbody td:nth-child(2) {
    color: #637487;
    font-size: 1.633rem;
    text-align: left;
}

.partner-startup-table tbody td:nth-child(n+3),
.partner-startup-table tfoot td {
    text-align: center;
    white-space: nowrap;
}

.partner-startup-table small {
    display: inline;
    margin-top: 0;
    color: #8593a4;
    font-size: 1.383rem;
    font-weight: 500;
    line-height: 1.5;
}

.partner-startup-table tbody td.partner-startup-detail-inline {
    white-space: nowrap;
}

.partner-startup-table td strong {
    color: #25394f;
    font-weight: 800;
}

.partner-startup-table td del {
    color: #9aabbc;
}

.partner-startup-table .is-promotion {
    background: #fff;
}

.partner-startup-table .is-promotion td strong {
    color: var(--main-color);
    font-size: 2.033rem;
}

.partner-startup-sale {
    display: inline-block;
    margin-left: .5rem;
    padding: .3rem .6rem;
    border-radius: .5rem;
    background: #e0f6ed;
    color: #168b5c;
    font-size: 1.233rem;
    font-weight: 800;
}

.partner-startup-table tfoot {
    background: #d9e8fa;
}

.partner-startup-table tfoot th,
.partner-startup-table tfoot td {
    border-bottom: 0;
    font-weight: 800;
    padding-top: 1.6698rem;
    padding-bottom: 1.6698rem;
}

.partner-startup-table tfoot th {
    color: #263e59;
    font-size: 2.133rem;
    text-align: center;
}

.partner-startup-table tfoot td strong {
    color: var(--main-color);
    font-size: 2.633rem;
    font-weight: 900;
}

/* 창업비용 참고사항 */
.partner-startup-notice {
    display: grid;
    gap: .7rem;
    margin-top: 2rem;
}

.partner-startup-notice p {
    color: #748397;
    font-size: 1.483rem;
    line-height: 1.5;
    text-align: right;
}

/* 창업 지원 */
.partner-startup-support {
    margin-top: 9.5rem;
}

.partner-startup-support-head {
    margin-bottom: 5rem;
    text-align: center;
}

.partner-startup-support-head h3 {
    color: #252525;
    font-size: clamp(2.8rem, 3.35vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    white-space: nowrap;
}

.partner-startup-support-head h3 span {
    color: var(--main-color);
    font-weight: 800;
}

.partner-startup-support-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17rem minmax(0, 1fr);
    align-items: center;
    gap: 1.2rem;
}

.partner-startup-support-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 38rem;
    padding: 3rem;
    border: 1px solid #dce7f5;
    border-radius: 2rem;
    background: #fff;
        box-shadow: 0 1.2rem 3rem rgba(42, 91, 151, .065);
    transition: transform .25s ease, box-shadow .25s ease;
}

.partner-startup-support-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.8rem 3.5rem rgba(42, 91, 151, .12);
}

.partner-startup-support-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.partner-startup-support-label {
    color: #8ca5c4;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.partner-startup-support-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 15rem;
    margin: 1.5rem 0 2rem;
    border-radius: 1.5rem;
    background: #eef5ff;
}

.partner-startup-support-icon img {
    display: block;
    width: 12rem;
    height: 12rem;
    object-fit: contain;
}

.partner-startup-support-card-title {
    display: flex;
    align-items: baseline;
    gap: 1rem;
}

.partner-startup-support-number {
    flex: 0 0 auto;
    margin-bottom: 0;
    color: var(--main-color);
    font-size: 2rem;
    font-weight: 800;
}

.partner-startup-support-card h4 {
    color: #263c55;
    font-size: 2.15rem;
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.partner-startup-support-card p {
    margin-top: 1.5rem;
    color: #68788a;
    font-size: 1.733rem;
    line-height: 1.75;
        word-break: keep-all;
}

/* 중앙 본사 로고 허브 */
.partner-startup-support-hub {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 17rem;
}

.partner-startup-support-logo {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15.5rem;
    height: 15.5rem;
    padding: 2rem;
    border: 2px solid var(--main-color);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 .8rem rgba(56,131,239,.07),
                0 1rem 2.5rem rgba(37,94,172,.12);
}

.partner-startup-support-logo img {
    display: block;
    width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* 중앙 로고에서 좌우 카드로 향하는 화살표 */
.partner-startup-support-arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    width: 2.8rem;
    height: 2px;
    background: var(--main-color);
    transform: translateY(-50%);
}

.partner-startup-support-arrow::after {
    content: '';
    position: absolute;
    top: 50%;
    width: .75rem;
    height: .75rem;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
}

.partner-startup-support-arrow.is-left {
    left: -1.2rem;
}

.partner-startup-support-arrow.is-left::after {
    left: 0;
    transform: translateY(-50%) rotate(-135deg);
}

.partner-startup-support-arrow.is-right {
    right: -1.2rem;
}

.partner-startup-support-arrow.is-right::after {
    right: 0;
    transform: translateY(-50%) rotate(45deg);
}

/* 태블릿 */
@media all and (min-width: 768px) and (max-width: 1023px) {
    .partner-startup {
        padding: 9rem 0;
    }

    .partner-startup-promotion {
        gap: 2rem;
        padding: 3rem;
    }

    .partner-startup-promotion-copy h3 {
        font-size: 4.14rem;
    }

    .partner-startup-promotion-copy h3 span {
        font-size: 4.14rem;
    }

    .partner-startup-price strong {
        font-size: 3.47rem;
    }

    .partner-startup-table {
        min-width: 1100px;
    }
        .partner-startup-support-head h3 {
        font-size: clamp(2.3rem, 3vw, 3.2rem);
    }

    .partner-startup-support-grid {
        grid-template-columns: minmax(0, 1fr) 12rem minmax(0, 1fr);
        gap: .5rem;
    }

    .partner-startup-support-card {
        min-height: 37rem;
        padding: 2rem;
    }

    .partner-startup-support-card h4 {
        font-size: 1.75rem;
    }

    .partner-startup-support-card p {
        font-size: 1.533rem;
    }

    .partner-startup-support-icon {
        height: 13rem;
    }

    .partner-startup-support-logo {
        width: 11rem;
        height: 11rem;
        padding: 1.4rem;
    }

    .partner-startup-support-arrow.is-left {
        left: -.7rem;
    }

    .partner-startup-support-arrow.is-right {
        right: -.7rem;
    }
}

/* 모바일 */
@media all and (max-width: 767px) {
    .partner-startup {
        padding: 8rem 0;
    }

    .partner-startup-head {
        margin-bottom: 3.5rem;
        text-align: left;
    }

    .partner-startup-label {
        font-size: 1.2rem;
    }

    .partner-startup-head h2 {
        font-size: 3.2rem;
        line-height: 1.25;
    }

    .partner-startup-lead {
        font-size: 1.867rem;
    }

    .partner-startup-promotion {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding: 2.8rem 2.2rem;
        border-radius: 1.8rem;
    }

    .partner-startup-promotion-copy h3 {
        font-size: 2.8rem;
    }

    .partner-startup-promotion-copy h3 span {
        font-size: 4.14rem;
    }

    .partner-startup-promotion-copy > p {
        font-size: 1.63rem;
    }

    .partner-startup-promotion-prices {
        padding: 2rem 1.6rem;
    }

    .partner-startup-price span {
        font-size: 1.70rem;
    }

    .partner-startup-price del {
        font-size: 2.54rem;
    }

    .partner-startup-price strong {
        font-size: 3.67rem;
    }

    .partner-startup-promotion-prices > p {
        font-size: 1.70rem;
    }

    .partner-startup-cost-head {
        margin-top: 9rem;
        align-items: center;
        flex-direction: column;
        gap: 0;
        margin-bottom: 3rem;
        text-align: center;
    }

    .partner-startup-cost-head h3 {
        font-size: 3rem;
        line-height: 1.35;
        white-space: normal;
        word-break: keep-all;
    }

    .partner-startup-table-title {
        padding: 1.2rem 1.8rem;
        font-size: 1.867rem;
        border-radius: 1.2rem 1.2rem 0 0;
    }

    .partner-startup-table {
        min-width: 1100px;
    }

    .partner-startup-table th,
    .partner-startup-table td {
        padding: 1.3392rem 1.4rem;
    }

    .partner-startup-notice p {
        font-size: 1.383rem;
    }

    .partner-startup-support {
        margin-top: 4.55rem;
    }

    .partner-startup-support-head {
        margin-bottom: 3rem;
        text-align: center;
    }

    .partner-startup-support-head h3 {
        font-size: clamp(2.4rem, 6.5vw, 3rem);
        white-space: normal;
        word-break: keep-all;
    }

    .partner-startup-support-grid {
        grid-template-columns: 1fr;
        gap: 1.8rem;
    }

    .partner-startup-support-card {
        min-height: 0;
        padding: 2.5rem;
    }

        .partner-startup-support-card:first-child {
        order: 1;
    }

    .partner-startup-support-card:last-child {
        order: 2;
    }

    .partner-startup-support-hub {
        order: 0;
        height: 13rem;
        margin-bottom: 1.5rem;
    }

    .partner-startup-support-logo {
        width: 12rem;
        height: 12rem;
        padding: 1.5rem;
    }

    .partner-startup-support-arrow {
        top: auto;
        bottom: -2rem;
        left: 50%;
        right: auto;
        width: 2px;
        height: 3rem;
        transform: translateX(-50%);
    }

    .partner-startup-support-arrow.is-left,
    .partner-startup-support-arrow.is-right {
        left: 50%;
        right: auto;
    }

    .partner-startup-support-arrow.is-left {
        display: none;
    }

    .partner-startup-support-arrow.is-right::after {
        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
    }

    .partner-startup-support-icon {
        height: 13rem;
    }

    .partner-startup-support-icon img {
        width: 11rem;
        height: 11rem;
    }

    .partner-startup-support-card h4 {
        font-size: 2rem;
    }

    .partner-startup-support-card p {
        font-size: 1.633rem;
    }
}

/* =========================================================
   SECTION 08 - 추가 사업 경쟁력 콘텐츠
========================================================= */

.partner-startup-feature {
    margin-top: 9rem;
}

.partner-startup-feature-head {
    margin-bottom: 3rem;
}

.partner-startup-feature-head > span {
    display: block;
    margin-bottom: 1.1rem;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.partner-startup-feature-head h3 {
    color: #252525;
    font-size: 3.7rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.035em;
}

.partner-startup-feature-head h3 em {
    color: var(--main-color);
    font-style: normal;
    font-weight: 800;
}

.partner-startup-feature-head > p {
    max-width: 89rem;
    margin-top: 1.8rem;
    color: #647589;
    font-size: 1.8rem;
    line-height: 1.7;
}

.partner-startup-feature-head.is-emphasis {
    margin-bottom: 6rem;
    text-align: center;
}

.partner-startup-feature-head.is-emphasis > span {
    display: none;
}

.partner-startup-feature-head.is-emphasis h3 {
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.partner-startup-feature-head.is-emphasis h3 em {
    color: var(--main-color);
    font-style: normal;
    font-weight: 800;
}

/* 08-2 : 매출 정산 구조 */

/* 외식업과 세탁발전소 수수료 구조 비교 */
.partner-startup-fee-comparison {
    margin-top: 9rem;
    margin-bottom: 0;
}

/* 비교 카드 다음에 나오는 정산 영역 */
.partner-startup-fee-comparison + .partner-startup-feature {
    margin-top: 5rem;
}

.partner-startup-fee-comparison > h4 {
    margin-bottom: 6rem;
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    text-align: center;
    word-break: keep-all;
}

.partner-startup-fee-comparison > h4 span {
    color: var(--main-color);
    font-weight: 800;
}

.partner-startup-fee-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 8rem minmax(0, 1fr);
    gap: 1.5rem;
    align-items: stretch;
}

.partner-startup-fee-vs {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
}

.partner-startup-fee-vs span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.5rem;
    height: 6.5rem;
    border: 1px solid #dce6f3;
    border-radius: 50%;
    background: #fff;
    color: #6385b0;
    font-size: 2.5rem;
    font-weight: 900;
    box-shadow: 0 .6rem 2rem rgba(43, 85, 140, .08);
}

.partner-startup-fee-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    position: relative;
    padding: 5rem 2.5rem 2.5rem;
    border: 1px solid #dae3ee;
    border-radius: 2rem;
    background: #fff;
}

.partner-startup-fee-card.is-food {
    background: #f8fafc;
}

.partner-startup-fee-card.is-laundry {
    border: 2px solid var(--main-color);
    background: #f1f7ff;
    box-shadow: 0 1rem 3rem rgba(56, 131, 239, .07);
}

.partner-startup-fee-category {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.6rem;
    margin-bottom: 0;
    padding: .8rem 2rem;
    border: 1px solid #dae3ee;
    border-radius: 5rem;
    background: #e8edf3;
    color: #536578;
    font-size: 1.767rem;
    font-weight: 800;
    white-space: nowrap;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.partner-startup-fee-card.is-laundry
.partner-startup-fee-category {
    border-color: var(--main-color);
    background: var(--main-color);
    color: #fff;
}

.partner-startup-fee-card h5 {
    margin-bottom: 2.5rem;
    text-align: center;
    color: #283c53;
    font-size: 2.567rem;
    font-weight: 800;
    word-break: keep-all;
}

.partner-startup-fee-card ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 2.5rem;
}

.partner-startup-fee-card li {
    position: relative;
    padding: 1.4rem 0 1.4rem 2.2rem;
    border-bottom: 1px solid #e0e8f1;
}

.partner-startup-fee-card li::before {
    content: '';
    position: absolute;
    top: 2rem;
    left: .2rem;
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background: #a6b3c1;
}

.partner-startup-fee-card.is-laundry li::before {
    background: var(--main-color);
}

.partner-startup-fee-card li strong {
    display: block;
    color: #34485f;
    font-size: 1.917rem;
    font-weight: 800;
    line-height: 1.5;
}

.partner-startup-fee-card li span {
    display: block;
    margin-top: .4rem;
    color: #728194;
    font-size: 1.717rem;
    line-height: 1.6;
}

.partner-startup-fee-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding: 1.8rem 1.5rem;
    border-radius: 1rem;
    background: #e9eef4;
    color: #536479;
    font-size: 1.867rem;
    font-weight: 800;
    text-align: left;
}

.partner-startup-fee-summary strong {
    flex: 0 0 auto;
    color: #34485f;
    font-size: 2.267rem;
    font-weight: 900;
    white-space: nowrap;
}

.partner-startup-fee-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    background: var(--main-color);
}

.partner-startup-fee-highlight span {
    color: #fff;
    font-size: 1.867rem;
    font-weight: 800;
}

.partner-startup-fee-highlight strong {
    color: #fff;
    font-size: 3.267rem;
    font-weight: 900;
    white-space: nowrap;
}

.partner-startup-fee-caption {
    margin-top: 1.5rem;
    color: #8190a0;
    font-size: 1.3rem;
    line-height: 1.7;
}

.partner-startup-settlement,
.partner-startup-profit {
    border: 1px solid #dbe7f6;
    border-radius: 2.2rem;
    background: #fff;
    padding: 4rem;
}

.partner-startup-settlement-total {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.partner-startup-settlement-total span {
    color: #52647a;
    font-size: 1.8rem;
    font-weight: 700;
}

.partner-startup-settlement-total strong {
    color: #253951;
    font-size: 3.5rem;
    font-weight: 900;
}

.partner-startup-settlement-total small {
    color: #8c99a8;
    font-size: 1.35rem;
}

.partner-startup-settlement-track {
    display: flex;
    width: 100%;
    min-height: 6.5rem;
    margin: 2rem 0;
    overflow: hidden;
    border-radius: 1rem;
}

.partner-startup-settlement-track > div {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
}

.partner-startup-settlement-track .is-partner {
    width: 90%;
    background: var(--main-color);
    font-size: 2.2rem;
}

.partner-startup-settlement-track .is-office {
    width: 10%;
    background: #7f90a4;
    font-size: 1.6rem;
}

.partner-startup-settlement-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.partner-startup-settlement-columns > div {
    padding: 2.5rem;
    border-radius: 1.5rem;
    background: #f2f7fe;
}

.partner-startup-settlement-columns span {
    display: block;
    color: #52647a;
    font-size: 1.5rem;
    font-weight: 700;
}

.partner-startup-settlement-columns strong {
    display: block;
    margin: .4rem 0;
    color: var(--main-color);
    font-size: 3.5rem;
    font-weight: 900;
}

.partner-startup-settlement-columns p {
    color: #66788c;
    font-size: 1.5rem;
    line-height: 1.6;
}

.partner-startup-settlement-note,
.partner-startup-stability-note {
    margin-top: 2rem;
    color: #7b8999;
    font-size: 1.35rem;
    line-height: 1.7;
}

/* 08-3 : 실제 직영점 수익 */

.partner-startup-profit-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 2.8rem;
    align-items: stretch;
}

.partner-startup-profit {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4rem;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 3.5rem 2rem 3.5rem 0;
}

.partner-startup-profit-main > span {
    display: block;
    color: #63758b;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.6;
}

.partner-startup-profit-main > p {
    margin-top: 2rem;
    color: #243c58;
    font-size: 2.6rem;
    font-weight: 800;
}

.partner-startup-profit-main > strong {
    display: block;
    margin-top: 1rem;
    color: var(--main-color);
    font-size: 3.5rem;
    font-weight: 900;
    white-space: nowrap;
    line-height: 1.15;
    letter-spacing: -.045em;
}

.partner-startup-profit-main > strong b {
    color: inherit;
    font-size: 8rem;
    font-weight: 900;
}

.partner-startup-profit-detail {
    position: relative;
    padding-top: 3rem;
    border-top: 1px solid #cbdcf1;
}

.partner-startup-profit-detail::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 6rem;
    height: 3px;
    border-radius: 999px;
    background: var(--main-color);
}

.partner-startup-profit-detail h4 {
    color: #263b53;
    font-size: 2.3rem;
    font-weight: 800;
    line-height: 1.4;
}

.partner-startup-profit-detail p {
    margin-top: 1.6rem;
    color: #65768a;
    font-size: 1.65rem;
    line-height: 1.85;
    word-break: keep-all;
}

.partner-startup-profit-detail .partner-startup-profit-disclaimer {
    margin-top: 2.8rem;
    padding-top: 1.6rem;
    border-top: 1px solid #d8e4f4;
    color: #8292a6;
    font-size: 1.3rem;
    line-height: 1.7;
}

.partner-startup-simulator-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}

.partner-startup-simulator-title {
    align-self: flex-start;
    margin: 0 0 -1px 0;
    padding: .95rem 2.5rem;
    border: 1px solid #dce6f3;
    border-bottom: 0;
    border-radius: 1.5rem 1.5rem 0 0;
    background: #315b8c;
    color: #fff;
    font-size: calc(2.267rem - 1pt);
    font-weight: 800;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

.partner-startup-simulator {
    flex: 1 0 auto;
    height: auto;
    padding: 2rem 2.8rem;
    border: 1px solid #cbdff9;
    border-radius: 0 2.2rem 2.2rem 2.2rem;
    background: linear-gradient(155deg, #ffffff 0%, #f5f9ff 100%);
    box-shadow: 0 1.6rem 3.8rem rgba(41, 94, 165, .09);
    color: #263b55;
}

.partner-startup-simulator-head h4 {
    color: #263b55;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.25;
}

.partner-startup-simulator-head p {
    margin-top: .8rem;
    color: #252525;
    font-size: calc(1.55rem + 2pt);
    font-weight: 800;
    line-height: 1.75;
    word-break: keep-all;
}

.partner-startup-simulator-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 2.7rem;
}

.partner-startup-simulator-meta > div {
    min-width: 0;
    padding: 1.2rem 1.3rem;
    border: 1px solid #dce7f6;
    border-radius: 1.4rem;
    background: #fff;
    text-align: center;
}

.partner-startup-simulator-meta > div.is-accent {
    border-color: #a9cbff;
    background: #eaf3ff;
}

.partner-startup-simulator-meta span {
    display: block;
    color: #687c93;
    font-size: 1.3rem;
    font-weight: 700;
}

.partner-startup-simulator-meta strong {
    display: block;
    margin-top: .6rem;
    color: #263b55;
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1.35;
    word-break: keep-all;
}

.partner-startup-simulator-meta > div.is-accent strong {
    color: var(--main-color);
}

.partner-startup-simulator-controls {
    display: grid;
    gap: 1.95rem;
    margin-top: 2.7rem;
}

.partner-startup-simulator-group {
    display: grid;
    gap: .6rem;
}

.partner-startup-simulator-label {
    color: #526780;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.partner-startup-simulator-toggle {
    display: flex;
    gap: .8rem;
}

.partner-startup-simulator-toggle button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 4rem;
    padding: 0 .8rem;
    border: 1px solid #d5e2f2;
    border-radius: 999px;
    background: #fff;
    color: #63758b;
    font-size: 1.55rem;
    font-weight: 700;
    transition: .25s ease;
    cursor: pointer;
}

.partner-startup-simulator .partner-startup-simulator-toggle button.is-active,
.partner-startup-simulator .partner-startup-simulator-toggle button[aria-pressed="true"] {
    border-color: var(--main-color);
    background: var(--main-color);
    color: #fff;
    box-shadow: 0 .6rem 1.5rem rgba(56, 131, 239, .16);
}


/* PARTNER 08-3 - 운영기간 슬라이더 */
.partner-startup-simulator-range-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.partner-startup-simulator-range-head strong {
    color: var(--main-color);
    font-size: 2rem;
    font-weight: 900;
}

.partner-startup-simulator-range {
    --sim-thumb-size: 2.3rem;
    padding: 1.2rem 0 .2rem;
}

.partner-startup-simulator-range input[type="range"] {
    display: block;
    width: 100%;
    height: .9rem;
    margin: 0;
    border: 0;
    border-radius: 999px;
    outline-offset: 8px;
    background: linear-gradient(
        to right,
        var(--main-color) 0%,
        var(--main-color) var(--range-fill, 1.15rem),
        #dbe6f5 var(--range-fill, 1.15rem),
        #dbe6f5 100%
    );
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    touch-action: pan-y;
}

.partner-startup-simulator-range input[type="range"]::-webkit-slider-thumb {
    width: 2.3rem;
    height: 2.3rem;
    border: .4rem solid #fff;
    border-radius: 50%;
    background: var(--main-color);
    box-shadow: 0 0 0 1px #b5d0f4, 0 .3rem .8rem rgba(56, 131, 239, .2);
    appearance: none;
    -webkit-appearance: none;
}

.partner-startup-simulator-range input[type="range"]::-moz-range-thumb {
    width: 2.3rem;
    height: 2.3rem;
    border: .4rem solid #fff;
    border-radius: 50%;
    background: var(--main-color);
    box-shadow: 0 0 0 1px #b5d0f4, 0 .3rem .8rem rgba(56, 131, 239, .2);
    box-sizing: border-box;
}

.partner-startup-simulator-range-labels {
    position: relative;
    display: block;
    height: 2rem;
    margin-top: 1.1rem;
    color: #8697aa;
    font-size: 1.3rem;
    font-weight: 700;
}

.partner-startup-simulator-range-labels span {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap;
}

.partner-startup-simulator-range-labels span:nth-child(1) {
    left: 1.15rem;
}

.partner-startup-simulator-range-labels span:nth-child(2) {
    left: calc(20% + .69rem);
}

.partner-startup-simulator-range-labels span:nth-child(3) {
    left: calc(40% + .23rem);
}

.partner-startup-simulator-range-labels span:nth-child(4) {
    left: calc(60% - .23rem);
}

.partner-startup-simulator-range-labels span:nth-child(5) {
    left: calc(80% - .69rem);
}

.partner-startup-simulator-range-labels span:nth-child(6) {
    left: calc(100% - 1.15rem);
}


.partner-startup-simulator-calc {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
    margin-top: 2.55rem;
}

.partner-startup-simulator-stat {
    padding: 1.5rem 1.7rem;
    border-radius: 1.8rem;
    background: #fff;
    border: 1px solid #dce7f6;
    text-align: center;
}

.partner-startup-simulator-stat > span {
    display: block;
    color: #687c93;
    font-size: 1.4rem;
    font-weight: 700;
}

.partner-startup-simulator-stat > strong {
    display: block;
    margin-top: .8rem;
    color: #263b55;
    font-size: 3.3rem;
    font-weight: 900;
    line-height: 1.15;
    word-break: keep-all;
}

/* 오른쪽 감가상각비 숫자만 회색으로 표시 */
.partner-startup-simulator-stat:last-child > strong {
    color: #8b97a8;
}

.partner-startup-simulator-stat > small {
    display: block;
    margin-top: .8rem;
    color: #8b9aab;
    font-size: 1.25rem;
    line-height: 1.6;
}

.partner-startup-simulator-operator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    background: #e7f1ff;
    color: var(--main-color);
    font-size: 2.6rem;
    font-weight: 900;
}

.partner-startup-simulator-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 2.4rem;
    padding: 1.8rem 2.1rem;
    border: 1px solid var(--main-color);
    border-radius: 1.8rem;
    background: var(--main-color);
    box-shadow: 0 .8rem 2rem rgba(56, 131, 239, .16);
}

.partner-startup-simulator-result > span {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    color: #fff;
    font-size: 1.65rem;
    font-weight: 800;
}

.partner-startup-simulator-result > strong {
    display: block;
    flex: 0 0 auto;
    margin-top: 0;
    color: #fff;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1.1;
    word-break: keep-all;
    white-space: nowrap;
    text-align: right;
}

.partner-startup-simulator-result > p {
    margin-top: .9rem;
    color: #687c93;
    font-size: 1.35rem;
    line-height: 1.6;
}

.partner-startup-simulator-note {
    margin-top: 1rem;
    color: #8998a9;
    font-size: calc(1.25rem + 1pt);
    line-height: 1.55;
    text-align: right;
}

/* 08-4 : 온라인 세탁사업 기회 */

.partner-startup-opportunity-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 8rem minmax(0, 1fr);
    gap: 1.5rem;
    align-items: stretch;
    margin-top: 7.5rem;
}

.partner-startup-opportunity-grid article {
    position: relative;
    min-width: 0;
    padding: 5.5rem 3rem 3.5rem;
    border: 1px solid #aeb9c8;
    border-radius: 2rem;
    background: linear-gradient(145deg, #e8edf3 0%, #e0e6ee 100%);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .10);
}

.partner-startup-opportunity-grid article.is-online {
    border: 2px solid var(--main-color);
    background: #ffffff;
    box-shadow: 0 1rem 3rem rgba(56, 131, 239, .22);
}

/* BLUE OCEAN - 외곽을 따라 그려지는 12px 노란 테두리 */
.partner-startup-opportunity-grid article.is-online::after {
    content: '';
    position: absolute;
    inset: -6px;
    z-index: 2;
    border-radius: calc(2rem + 6px);
    padding: 12px;
    background: conic-gradient(
        from -90deg,
        #ffd43b 0deg,
        #ffd43b var(--ocean-draw),
        transparent var(--ocean-draw),
        transparent 360deg
    );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    mask-composite: exclude;
    opacity: 0;
    pointer-events: none;
    box-sizing: border-box;
}

/* BLUE OCEAN 노란 외곽선 드로잉 */
@property --ocean-draw {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}


.partner-startup-opportunity-grid.is-ocean-motion-ready
article.is-online.is-ocean-visible::after {
    opacity: 1;
    animation: ocean-border-draw-fast 1.5s linear both;
}

/* 카드 내부 상단 포인트 라인 */
.partner-startup-opportunity-grid article::before {
    content: '';
    position: absolute;
    top: 3.5rem;
    left: 3rem;
    width: 4rem;
    height: .4rem;
    border-radius: 999px;
    background: #aab7c8;
}

.partner-startup-opportunity-grid article.is-online::before {
    background: var(--main-color);
}

/* PAGE 04 - 레드오션 / 블루오션 비교 VS */
.partner-startup-opportunity-vs {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
}

.partner-startup-opportunity-vs span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: 3.5rem;
    font-weight: 900;
    box-shadow: none;
    letter-spacing: -.04em;
}


.partner-startup-opportunity-grid article span {
    color: #758ba7;
    font-size: calc(1.3rem + 2pt);
    font-weight: 800;
}

.partner-startup-opportunity-grid article.is-online span {
    color: var(--main-color);
}

.partner-startup-opportunity-grid h4 {
    margin-top: 2rem;
    padding-bottom: 1.8rem;
    border-bottom: 1px solid #d6dee9;
    color: #283c53;
    font-size: calc(2.3rem + 2pt);
    font-weight: 800;
}

.partner-startup-opportunity-grid p {
    margin-top: 1.8rem;
    color: #67788c;
    font-size: calc(1.65rem + 2pt);
    line-height: 1.7;
}

.partner-startup-opportunity-grid article.is-online h4 {
    color: #283c53;
    border-bottom-color: #a9cbf5;
}

.partner-startup-opportunity-grid article.is-online p {
    color: #435e80;
}

/* 레드오션 / 블루오션 뱃지 */
.partner-startup-ocean-badge {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.8rem;
    padding: 1rem 2.7rem;
    border: 1px solid #aeb9c8;
    border-radius: 5rem;
    background: #bdc7d3;
    color: #34465b;
    font-size: calc(1.2rem + 2pt);
    font-weight: 800;
    letter-spacing: .04em;
    white-space: nowrap;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.partner-startup-opportunity-grid
article.is-online .partner-startup-ocean-badge {
    border-color: var(--main-color);
    background: var(--main-color);
    color: #fff;
}


/* 태블릿 */
@media all and (min-width: 768px) and (max-width: 1023px) {
    .partner-startup-feature-head h3 {
        font-size: 3rem;
    }

    .partner-startup-feature-head.is-emphasis {
        margin-bottom: 5rem;
    }

    .partner-startup-profit-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .partner-startup-profit,
    .partner-startup-simulator {
        padding: 2.5rem;
    }

    .partner-startup-profit {
        gap: 3rem;
        padding: 1rem 0 2rem;
    }

    .partner-startup-profit-main > strong b {
        font-size: 6.5rem;
    }
    .partner-startup-simulator-head h4 {
        font-size: 2.6rem;
    }

    .partner-startup-simulator-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .partner-startup-simulator-stat > strong {
        font-size: 3rem;
    }

    .partner-startup-simulator-result > strong {
        font-size: 3.8rem;
    }
}

/* 모바일 */
@media all and (max-width: 767px) {
    .partner-startup-feature {
        margin-top: 6rem;
    }

    .partner-startup-feature-head {
        margin-bottom: 2rem;
    }

    .partner-startup-feature-head > span {
        font-size: 1.2rem;
    }

    .partner-startup-feature-head h3 {
        font-size: 2.6rem;
    }

    .partner-startup-feature-head.is-emphasis {
        margin-bottom: 4rem;
    }

    .partner-startup-feature-head.is-emphasis h3 {
        font-size: 3rem;
        line-height: 1.35;
    }

    .partner-startup-feature-head > p {
        font-size: 1.55rem;
    }

    .partner-startup-settlement,
    .partner-startup-profit {
        padding: 2.3rem 1.8rem;
        border-radius: 1.6rem;
    }

    .partner-startup-settlement-total strong {
        font-size: 3rem;
    }

    .partner-startup-settlement-track {
        min-height: 5rem;
    }

    .partner-startup-settlement-track .is-partner {
        font-size: 1.65rem;
    }

    .partner-startup-settlement-track .is-office {
        font-size: 1.25rem;
    }

    .partner-startup-settlement-columns,
    .partner-startup-opportunity-grid {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .partner-startup-profit-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

        .partner-startup-profit {
        height: auto;
        gap: 2.8rem;
        padding: 1rem 0 0;
    }

    .partner-startup-profit-main > p {
        font-size: 2.2rem;
    }

    .partner-startup-profit-main > strong {
        font-size: 2.8rem;
    }

    .partner-startup-profit-detail {
        padding-top: 2.4rem;
    }

    .partner-startup-profit-detail .partner-startup-profit-disclaimer {
        margin-top: 2rem;
    }

    .partner-startup-simulator {
        padding: 1.7rem 1.6rem;
        border-radius: 0 1.6rem 1.6rem 1.6rem;
    }

    .partner-startup-simulator-head h4 {
        font-size: 2.4rem;
    }

    .partner-startup-simulator-head p {
        font-size: calc(1.45rem + 2pt);
    }

    .partner-startup-simulator-title {
        padding: .75rem 1.6rem;
        font-size: calc(1.9rem - 1pt);
        border-radius: 1.2rem 1.2rem 0 0;
    }

    .partner-startup-simulator-meta {
        grid-template-columns: 1fr;
    }

    .partner-startup-simulator-meta strong {
        font-size: 1.95rem;
    }

    .partner-startup-simulator-toggle {
        flex-direction: row;
    }

    .partner-startup-simulator-toggle button {
        min-height: 4.6rem;
        font-size: 1.5rem;
    }

    .partner-startup-simulator-range-head strong {
        font-size: 1.8rem;
    }

    .partner-startup-simulator-range-labels {
        font-size: 1.15rem;
    }

    .partner-startup-simulator-calc {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .partner-startup-simulator-operator {
        margin: 0 auto;
    }

    .partner-startup-simulator-stat > strong {
        font-size: 2.8rem;
    }

    .partner-startup-simulator-result {
        padding: 1.6rem 1.2rem;
        gap: .8rem;
    }

    .partner-startup-simulator-result > span {
        font-size: 1.25rem;
        line-height: 1.4;
    }

    .partner-startup-simulator-result > strong {
        font-size: clamp(1.8rem, 5vw, 2.6rem);
    }

    .partner-startup-simulator-result > p {
        font-size: 1.2rem;
    }

    .partner-startup-simulator-note {
        font-size: calc(1.2rem + 1pt);
        text-align: right;
    }

    .partner-startup-settlement-columns > div {
        padding: 2rem;
    }

    .partner-startup-settlement-columns strong {
        font-size: 2.8rem;
    }

    .partner-startup-settlement-note,
    .partner-startup-stability-note {
        font-size: 1.2rem;
    }

    .partner-startup-profit-main > strong b {
        font-size: clamp(5rem, 13vw, 6.5rem);
    }

    .partner-startup-profit-detail h4 {
        font-size: 2rem;
    }

    .partner-startup-profit-detail p {
        font-size: 1.5rem;
    }

   
    .partner-startup-opportunity-grid article {
        padding: 2.5rem;
    }

    .partner-startup-opportunity-grid h4 {
        font-size: 2rem;
    }

    .partner-startup-opportunity-grid p {
        font-size: 1.5rem;
    }
}

/* SECTION 08 - 수수료 비교 영역 태블릿 */
@media all and (min-width: 768px) and (max-width: 1023px) {
    .partner-startup-fee-grid {
        grid-template-columns: minmax(0, 1fr) 5rem minmax(0, 1fr);
        gap: .8rem;
    }

    .partner-startup-fee-vs span {
        width: 4.8rem;
        height: 4.8rem;
        font-size: 2rem;
    }
    .partner-startup-fee-card {
        padding: 5rem 1.8rem 2.3rem;
    }

    .partner-startup-fee-category {
        font-size: 1.567rem;
        padding: .7rem 1.2rem;
    }

    .partner-startup-fee-card h5 {
        font-size: 2.267rem;
    }

    .partner-startup-fee-card li strong {
        font-size: 1.767rem;
    }

    .partner-startup-fee-card li span {
        font-size: 1.567rem;
    }

    .partner-startup-fee-summary {
        font-size: 1.667rem;
    }

    .partner-startup-fee-summary strong {
        font-size: 2rem;
    }

    .partner-startup-fee-highlight span {
        font-size: 1.667rem;
    }

    .partner-startup-fee-highlight strong {
        font-size: 2.767rem;
    }
}

/* SECTION 08 - 수수료 비교 영역 모바일 */
@media all and (max-width: 767px) {
    .partner-startup-fee-comparison {
        margin-top: 6rem;
    }

    .partner-startup-fee-comparison + .partner-startup-feature {
        margin-top: 4rem;
    }
    .partner-startup-fee-comparison > h4 {
        margin-bottom: 5rem;
        font-size: 3rem;
        line-height: 1.35;
    }

    .partner-startup-fee-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 4rem;
    }

    .partner-startup-fee-vs {
        margin: -2rem 0;
    }

    .partner-startup-fee-vs span {
        width: 5.5rem;
        height: 5.5rem;
        font-size: 2.2rem;
    }

    .partner-startup-fee-card {
        padding: 5rem 2.2rem 2.2rem;
        border-radius: 1.6rem;
    }

    .partner-startup-fee-category {
        font-size: 1.567rem;
        min-height: 4rem;
        padding: .6rem 1.5rem;
    }

    .partner-startup-fee-card h5 {
        font-size: 2.267rem;
    }

    .partner-startup-fee-card li {
        padding: 1.2rem 0 1.2rem 2rem;
    }

    .partner-startup-fee-card li strong {
        font-size: 1.767rem;
    }

    .partner-startup-fee-card li span {
        font-size: 1.567rem;
    }

    .partner-startup-fee-summary {
        font-size: 1.667rem;
        padding: 1.5rem 1.2rem;
    }

    .partner-startup-fee-summary strong {
        font-size: 2.067rem;
    }

    .partner-startup-fee-highlight {
        padding: 1.4rem;
    }

    .partner-startup-fee-highlight span {
        font-size: 1.667rem;
    }

    .partner-startup-fee-highlight strong {
        font-size: 2.867rem;
    }

    .partner-startup-fee-caption {
        font-size: 1.2rem;
    }
}

/* =========================================================
   WHY PARTNER WITH US - 3 PAGE VISUAL DIVISION
   기존 콘텐츠 유지 / 전체 폭 배경 구분
========================================================= */

/* 전체 SECTION의 단일 배경과 여백 제거 */
.partner-startup {
    padding: 0;
    background: transparent;
}

/* 각 페이지 공통 구조 */
.partner-startup-page {
    position: relative;
    isolation: isolate;
    padding: 11rem 0 12rem;
}

/* 콘텐츠는 1180px을 유지하고, 배경만 화면 전체로 확장 */
.partner-startup-page::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
}

/* PAGE 01 - 창업비용 및 초기 운영 지원 */
.partner-startup-page-cost::before {
    background: #f4f8ff;
}

/* PAGE 02 - 수수료 비교 및 정산 */
.partner-startup-page-settlement::before {
    background: #ffffff;
}

/* PAGE 03 - 실제 운영 성과 및 사업성 */
.partner-startup-page-performance::before {
    background: #edf4ff;
}

/* PAGE 04 - 온라인 세탁 시장 기회 및 사업 지속성 */
.partner-startup-page-opportunity::before {
     background:
        linear-gradient(
            rgba(0, 0, 0, 0.7),
            rgba(0, 0, 0, 0.7)
        ),
        url('../images/partner-online-opportunity.webp')
        no-repeat 125% center / cover;
}

/* 태블릿·모바일: 이미지가 실제로 보이도록 배경 위치 조정 */
@media all and (max-width: 1023px) {
    .partner-startup-page-opportunity::before {
        background-image:
            linear-gradient(
                rgba(0, 0, 0, .62),
                rgba(0, 0, 0, .62)
            ),
            url('../images/partner-online-opportunity.webp');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        opacity: 1;
    }
}

/* PAGE 04 - 어두운 배경 위 텍스트 */
.partner-startup-page-opportunity
.partner-startup-feature-head h3,
.partner-startup-page-opportunity
.partner-startup-feature-head h3 em {
    color: #fff;
}

/* '본사가 함께 만들어 갑니다.'와 동일한 파란색 배경 강조 */
.partner-startup-page-opportunity
#partner-opportunity-title em {
    display: inline;
    padding: .02em .14em .08em;
    background-color: var(--main-color);
    color: #fff;
    font-style: normal;
    font-weight: 800;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* 수익 페이지 메인 제목과 동일한 크기 */
.partner-startup-page-opportunity
#partner-opportunity-title {
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.partner-startup-page-opportunity
.partner-startup-feature-head > p {
    color: rgba(255, 255, 255, .88);
}

/* ONLINE LAUNDRY OPPORTUNITY 설명 +2pt */
.partner-startup-page-opportunity
#partner-opportunity-title + p {
    margin-top: 3rem;
    font-size: calc(1.8rem + 2pt);
    line-height: 1.7;
    word-break: keep-all;
}

.partner-startup-page-opportunity
.partner-startup-stability-note {
    color: rgba(255, 255, 255, .72);
}

.partner-startup-page-opportunity
> .partner-startup-feature:first-child {
    margin-top: 0;
}

/* 페이지 시작에서는 기존 상단 여백 중복 제거 */
.partner-startup-page-settlement
.partner-startup-fee-comparison {
    margin-top: 0;
}

.partner-startup-page-performance
> .partner-startup-feature:first-child {
    margin-top: 0;
}


/* PAGE 04 - BUSINESS CONTINUITY 마무리 강조 */
.partner-startup-page-opportunity .partner-startup-continuity {
    margin-top: 10rem;
    padding: 7rem 4rem;
    border-radius: 2.8rem;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(98, 194, 255, .28),
            transparent 40%
        ),
        linear-gradient(120deg, #266dcc, #3883ef);
    text-align: center;
}

.partner-startup-page-opportunity
.partner-startup-continuity .partner-startup-feature-head {
    margin-bottom: 0;
    text-align: center;
}

.partner-startup-page-opportunity
.partner-startup-continuity .partner-startup-feature-head > span {
    display: block;
    margin-bottom: 2rem;
    color: #d6e9ff;
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.partner-startup-page-opportunity
.partner-startup-continuity .partner-startup-feature-head h3 {
    color: #fff;
    font-size: calc(clamp(2.2rem, 2.35vw, 3rem) + 4pt);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -.035em;
    word-break: keep-all;
    white-space: nowrap;
}

.partner-startup-page-opportunity
.partner-startup-continuity .partner-startup-feature-head h3 em {
    color: #fff;
    font-style: normal;
    font-weight: 800;
}

.partner-startup-page-opportunity
.partner-startup-continuity .partner-startup-feature-head > p {
    max-width: 100%;
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, .35);
    color: #e2efff;
    font-size: 2.4rem;
    line-height: 1.7;
    font-weight: 400;
    word-break: keep-all;
}

/* OUR SYSTEM 마무리 - BUSINESS CONTINUITY 디자인 동일 적용 */
.our-system-experience-outro {
    margin-top: 10rem;
    padding: 7rem 4rem;
    border-radius: 2.8rem;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(98, 194, 255, .28),
            transparent 40%
        ),
        linear-gradient(120deg, #266dcc, #3883ef);
    text-align: center;
}

.our-system-experience-outro .outro-heading {
    margin: 0;
    color: #fff;
    font-size: calc(clamp(2.2rem, 2.35vw, 3rem) + 4pt);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -.035em;
    word-break: keep-all;
}

.our-system-experience-outro .outro-description {
    max-width: 100%;
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    font-size: calc(clamp(2.2rem, 2.35vw, 3rem) + 4pt);
    line-height: 1.7;
    font-weight: 800;
    letter-spacing: -.035em;
    word-break: keep-all;
}


/* 모바일·태블릿도 데스크톱과 같은 강조 박스 사용 */




/* 페이지 02 안에서 비교 카드와 정산 그래프 간격 유지 */
.partner-startup-page-settlement
.partner-startup-fee-comparison + .partner-startup-feature {
    margin-top: 5rem;
}


/* PAGE 04 - 태블릿 */


/* PAGE 04 - 모바일 */



/* 태블릿 */


/* 모바일 */


/* =========================================================
   09 SMART AUTOMATION - PAGE 01
========================================================= */
.smart-auto {
    padding: 12rem 0;
    background: #ffffff;
    color: #182c46;
}

.smart-auto-head {
    text-align: center;
    margin-bottom: 5rem;
}

.smart-auto-label {
    color: var(--main-color);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 2rem;
}

.smart-auto-head h2 {
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
    text-align: center;
    word-break: keep-all;
}

.smart-auto-head h2 em {
    color: var(--main-color);
    font-style: normal;
    font-weight: 800;
}

.smart-auto-intro {
    margin-top: 2.4rem;
    font-size: 2rem;
    line-height: 1.8;
    color: #52657d;
    word-break: keep-all;
}

/* 실제 운영 데이터에 대한 본사 운영 원칙 */
.smart-auto-trust {
    max-width: 104rem;
    margin: 4.5rem auto 3.5rem;
    padding: 3.5rem 4rem;
    border-left: .5rem solid var(--main-color);
    border-radius: 0 1.6rem 1.6rem 0;
    background: #f0f5ff;
    text-align: center;
}

.smart-auto-trust-title {
    margin-bottom: 2.2rem;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1.5;
    color: #263d59;
    word-break: keep-all;
}

.smart-auto-trust-title strong {
    display: block;
    color: var(--main-color);
    font-weight: 800;
}

.smart-auto-trust-desc {
    color: #52657d;
    font-size: calc(1.75rem + 1pt);
    line-height: 1.85;
    text-align: left;
    word-break: keep-all;
}

.smart-auto-trust-promise {
    margin-top: 2rem;
    color: #263d59;
    font-size: calc(1.85rem + 1pt);
    font-weight: 700;
    line-height: 1.75;
    text-align: left;
    word-break: keep-all;
}

.smart-auto-head .smart-auto-intro {
    margin-top: 0;
    font-size: 1.8rem;
    font-weight: 600;
}

/* 운영 기준 데이터 */
.smart-auto-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    margin-bottom: 5rem;
}

.smart-auto-facts > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 1rem;
    border: 1px solid #93bbf9;
    border-radius: 1.8rem;
    background: #fff;
}

.smart-auto-facts span {
    font-size: 1.65rem;
    font-weight: 700;
    color: #66768a;
}

.smart-auto-facts strong {
    font-size: clamp(2.8rem, 2.9vw, 4.5rem);
    font-weight: 800;
    color: var(--main-color);
    line-height: 1.15;
    white-space: nowrap;
}

.smart-auto-facts small {
    margin-left: .4rem;
    font-size: 1.8rem;
    color: #344b66;
}

/* 비교 그래프 공통 */
.js .smart-auto-panel-grid:not(.is-font-ready) {
    visibility: hidden;
}
.smart-auto-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
    align-items: stretch;
}
.smart-auto-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin-top: 0;
    padding: 3rem;
    background: #fff;
    border: 1px solid #dce6f3;
    border-radius: 2.4rem;
    box-shadow: 0 1rem 3rem rgba(29, 73, 126, .06);
}

.smart-auto-panel-head {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    margin-bottom: 3rem;
}

.smart-auto-number {
    flex: 0 0 auto;
    color: var(--main-color);
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.3;
}

.smart-auto-panel-head h3 {
    font-size: calc(2.3rem + 1pt);
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.smart-auto-panel-head p {
    margin-top: 1rem;
    font-size: calc(1.5rem + 1pt);
    line-height: 1.75;
    color: #607189;
    word-break: keep-all;
}

.smart-auto-graph {
    display: grid;
    gap: 3rem;
    padding-bottom: 3rem;
}

.smart-auto-graph-caption {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
    font-size: calc(1.5rem + 1pt);
    font-weight: 700;
}

.smart-auto-graph-caption strong {
    flex: 0 0 auto;
    font-size: calc(2rem + 1pt);
    font-weight: 800;
}

.smart-auto-track {
    height: 2.4rem;
    overflow: hidden;
    border-radius: 2rem;
    background: #e8eff8;
}

.smart-auto-bar {
    display: block;
    height: 100%;
    width: var(--bar-width);
    border-radius: inherit;
}

.smart-auto-bar.is-manual {
    background: #9cabbc;
}

.smart-auto-bar.is-smart {
    background: var(--main-color);
}

.smart-auto-graph-row small {
    display: block;
    margin-top: .8rem;
    font-size: calc(1.4rem + 1pt);
    color: #77869a;
    text-align: right;
}

.smart-auto-panel-result {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    margin-top: auto;
    padding: 2rem;
    border-radius: 1.5rem;
     background:
        radial-gradient(
            circle at 85% 15%,
            rgba(98, 194, 255, .28),
            transparent 40%
        ),
        linear-gradient(120deg, #266dcc, #3883ef);
    color: #fff;
}

.smart-auto-panel-result span {
    color: #fff;
    font-size: calc(1.8rem + 2pt);
    font-weight: 700;
}

.smart-auto-panel-result strong {
    color: #fff;
    font-size: calc(3.3rem + 2pt);
    font-weight: 800;
    white-space: nowrap;
}

.smart-auto-note {
    margin-top: 2rem;
    color: #77869a;
    font-size: calc(1.3rem + 1pt);
    line-height: 1.75;
    word-break: keep-all;
}

/* 운영 효율 계산기 */
.smart-auto-calculator {
    
    margin-top: 8rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.smart-auto-calculator-content {
    overflow: hidden;
    border: 1px solid #d7e3f3;
    border-radius: 0 2.4rem 2.4rem 2.4rem;
    background: #fff;
}

.smart-auto-calculator-head {
    display: inline-block;
    max-width: 100%;
    padding: 1.75rem 2.8rem;
    background: #153b69;
    color: #fff;
    border-radius: 1.2rem 1.2rem 0 0;
    vertical-align: bottom;
}

.smart-auto-calculator-head p {
    color: #daf5ff;
    font-size: calc(1.4rem + 2pt);
    font-weight: 700;
    letter-spacing: .09em;
}

.smart-auto-calculator-head h3 {
    margin: 0;
    color: #fff;
    font-size: calc(3rem + 1pt);
    font-weight: 800;
    word-break: keep-all;
}

.smart-auto-calculator-head > span {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #cbdff6;
}

.smart-auto-calculator-description {
    margin: .7rem 0 0;
    color: #f1fbff;
    font-size: calc(1.4rem + 2pt);
    line-height: 1.7;
    word-break: keep-all;
}

.smart-auto-calculator-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    padding: 4rem 4rem 3.2rem;
}

.smart-auto-controls {
    display: grid;
    gap: 6rem;
    align-content: start;
}

/* 모바일·태블릿: 슬라이더 항목 사이 세로 간격 50% 축소 */
@media all and (max-width: 1023px) {
    .smart-auto-controls {
        gap: 3rem;
    }
}

.smart-auto-controls label {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    align-content: start;
    grid-template-rows: auto auto;
    column-gap: 1.6rem;
    row-gap: .8rem;
    font-size: calc(1.7rem + 1pt);
    font-weight: 700;
}

.smart-auto-controls output {
    color: var(--main-color);
    font-size: calc(1.7rem + 2pt);
    font-weight: 800;
}

.smart-auto-controls input[type="range"] {
    grid-column: 1 / -1;
    display: block;
    width: 100%;
    zoom: 1.5;
    margin-top: 0;
    margin-bottom: 0;
    cursor: pointer;
    accent-color: var(--main-color);
}

/* 모바일에서 슬라이더 확대율 20% 축소 */


.smart-auto-calculator-result {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 3rem;
    border-radius: 1.8rem;
    background: #f1f6fd;
}

.smart-auto-result-line,
.smart-auto-result-total,
.smart-auto-result-money {
    display: flex;
    flex-direction: column;
    gap: .96rem;
}

/* 첫 번째 결과: 제목 왼쪽, 초기화 버튼 오른쪽 */
.smart-auto-result-line:first-child {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: .96rem;
}

.smart-auto-result-line:first-child > span {
    padding-right: 16rem;
}



.smart-auto-result-line span {
    color: #607189;
    font-size: calc(1.5rem + 1pt);
}

.smart-auto-result-line strong {
    font-size: calc(2.3rem + 1pt);
    font-weight: 800;
}

.smart-auto-result-total {
    padding-top: 2rem;
    border-top: 1px solid #d2dfef;
}

.smart-auto-result-total span,
.smart-auto-result-money span {
    font-size: calc(1.6rem + 1pt);
    font-weight: 700;
}

.smart-auto-result-total strong {
    color: var(--main-color);
    font-size: calc(3.6rem + 1pt);
    font-weight: 800;
}

.smart-auto-result-money strong {
    color: var(--main-color);
    font-size: calc(3.6rem + 1pt);
    font-weight: 800;
}

.smart-auto-reset {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
    padding: 1rem 1.7rem;
    border: 1px solid #b8c9df;
    border-radius: .9rem;
    background: #fff;
    color: #315b8c;
    font-size: 1.5rem;
    font-weight: 700;
    cursor: pointer;
}

.smart-auto-reset:hover {
    background: #e6f0fd;
}

/* 모바일·태블릿: 계산기 초기화 버튼과 결과 제목 분리 */




.smart-auto-calculator-content > .smart-auto-note {
    margin: 0;
    padding: 0 4rem 1.5rem;
    text-align: right;
     font-size: calc(1.3rem + 2pt);
}

/* 태블릿 / 모바일 */
@media (max-width: 1023px) {
    .smart-auto {
        padding: 8rem 0;
    }

    .smart-auto-panel-grid {
        grid-template-columns: 1fr;
    }

    .smart-auto-calculator-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .smart-auto-head h2 {
        font-size: 3rem;
        line-height: 1.35;
    }

    .smart-auto-intro {
        font-size: 1.6rem;
    }

        .smart-auto-trust {
        margin: 3rem auto 2.5rem;
        padding: 2.5rem 2rem;
    }

    .smart-auto-trust-title {
        font-size: 2.1rem;
    }

    .smart-auto-trust-desc {
        font-size: calc(1.45rem + 1pt);
    }

    .smart-auto-trust-desc br {
        display: none;
    }

    .smart-auto-trust-promise {
        font-size: calc(1.55rem + 1pt);
    }

    .smart-auto-head .smart-auto-intro {
        font-size: 1.5rem;
    }

    .smart-auto-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .8rem;
    }

    .smart-auto-facts > div {
        padding: 2rem .5rem;
    }

    .smart-auto-facts span {
        font-size: 1.2rem;
        text-align: center;
    }

    .smart-auto-facts strong {
        font-size: clamp(2rem, 5.6vw, 2.8rem);
    }

    .smart-auto-facts small {
        font-size: 1.3rem;
    }

    .smart-auto-panel {
        padding: 2.5rem 2rem;
        border-radius: 1.6rem;
    }

    .smart-auto-panel-head {
        gap: 1.2rem;
    }

    .smart-auto-panel-head h3 {
        font-size: 2.2rem;
    }

    .smart-auto-panel-head p {
        font-size: 1.45rem;
    }

    .smart-auto-graph-caption {
        font-size: 1.4rem;
    }

    .smart-auto-graph-caption strong {
        font-size: 1.9rem;
    }

    .smart-auto-panel-result {
        flex-direction: column;
        align-items: flex-start;
        padding: 2rem;
    }

    .smart-auto-panel-result strong {
        font-size: 2.8rem;
    }

    
    .smart-auto-calculator-body {
        padding: 2.5rem 2rem 2rem;
    }

    .smart-auto-calculator-head {
        padding: 1.4rem 2rem;
    }

    .smart-auto-calculator-head h3 {
        font-size: calc(2.4rem + 1pt);
    }

    .smart-auto-calculator-content {
        border-radius: 0 1.6rem 1.6rem 1.6rem;
    }

    .smart-auto-calculator-description {
        margin: .7rem 0 0;
    }

    .smart-auto-calculator-content > .smart-auto-note {
        padding: 0 2rem 1.25rem;
    }
}

/* =========================================================
   09 SMART AUTOMATION - PAGE 02
========================================================= */
.smart-auto-page02 {
    background: #f0f5ff;
}

.smart-auto-page02 .smart-auto-head {
    margin-bottom: 8rem;
}

.smart-auto-page02 .smart-auto-head .smart-auto-intro {
    margin-top: 3.6rem;
    font-size: calc(1.8rem + 1pt);
}

.smart-auto-p2-heading {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    margin: 8rem 0 3rem;
}

.smart-auto-p2-heading h3 {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.smart-auto-p2-heading p {
    margin-top: 1rem;
    color: #607189;
    font-size: 1.7rem;
    line-height: 1.75;
    word-break: keep-all;
}

/* PAGE 02 - 수거배송 제목 및 설명 */
.smart-auto-p2-delivery-heading {
    justify-content: center;
    text-align: center;
    margin-top: 14rem;
}
.smart-auto-p2-delivery-heading h3 {
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.04em;
}

.smart-auto-p2-delivery-heading h3 span {
    color: var(--main-color);
    font-weight: 800;
}

.smart-auto-p2-delivery-heading p {
    margin-top: 2.4rem;
    color: #52657d;
    font-size: calc(1.8rem + 1pt);
    font-weight: 600;
    line-height: 1.8;
    text-align: center;
}

/* 세탁관리 방식 비교표 */

.smart-auto-compare-container {
    width: 100%;
}

.smart-auto-compare-title {
    display: table;
    margin: 0 0 -1px 0;
    padding: .95rem 2.5rem;
    background: #315b8c;
    color: #fff;
    border: 1px solid #dce6f3;
    border-bottom: 0;
    border-radius: 1.5rem 1.5rem 0 0;
    font-size: calc(2.267rem - 2pt);
    font-weight: 700;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

.smart-auto-compare-scroll {
    overflow-x: auto;
    border: 1px solid #dce6f3;
    border-left-color: #aeb8c5;
    border-right-color: #aeb8c5;
    border-bottom-color: #aeb8c5;
    border-radius: 0 2rem 2rem 2rem;
    background: #fff;
}

.smart-auto-compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    text-align: center;
}

.smart-auto-compare-table th,
.smart-auto-compare-table td {
    padding: 2.2rem 1.5rem;
    border-right: 1px solid #e2e9f2;
    border-bottom: 1px solid #e2e9f2;
    font-size: 1.6rem;
    line-height: 1.6;
    word-break: keep-all;
}

/* 비교항목 / 수기 관리 / 프로그램 임대 열 오른쪽 구분선 */
.smart-auto-compare-table tr > :nth-child(1),
.smart-auto-compare-table tr > :nth-child(2),
.smart-auto-compare-table tr > :nth-child(3) {
    border-right: 1px solid #aeb8c5;
}

.smart-auto-compare-table tr > :last-child {
    border-right: 0;
}

.smart-auto-compare-table tbody tr:last-child > * {
    border-bottom: 0;
}

.smart-auto-compare-table thead th {
    background: #f0f4fa;
    font-weight: 800;
    font-size: 1.7rem;
    border-bottom: 1px solid #aeb8c5;
}

/* 수기 관리 / 세탁접수 프로그램 제목 셀 */
.smart-auto-compare-table thead th:nth-child(2),
.smart-auto-compare-table thead th:nth-child(3) {
    background: #e0e5ec;
}

.smart-auto-compare-table tbody th {
    background: #f7f9fc;
    font-weight: 800;
    text-align: left;
}

.smart-auto-compare-table .is-smart {
    background: #edf5ff;
    color: #205eac;
    font-weight: 800;
    font-size: calc(1.6rem + 1pt);
}

.smart-auto-compare-table thead .is-smart {
    background: var(--main-color);
    color: #fff;
    font-size: calc(1.7rem + 1pt);
    
}

/* 프로그램 관리 비교 카드 */
.smart-auto-p2-cost-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
}

.smart-auto-p2-cost-card {
    padding: 3.5rem;
    border: 1px solid #dce6f3;
    border-radius: 2rem;
    background: #f7f9fc;
}

.smart-auto-p2-cost-card.is-smart {
    border: 2px solid var(--main-color);
    background: #edf5ff;
}

.smart-auto-p2-cost-label {
    display: block;
    margin-bottom: 1.4rem;
    color: #728198;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.smart-auto-p2-cost-card.is-smart
.smart-auto-p2-cost-label {
    color: var(--main-color);
}

.smart-auto-p2-cost-card h4 {
    font-size: 2.3rem;
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.smart-auto-p2-cost-card ul {
    display: grid;
    gap: 1.5rem;
    margin: 2.5rem 0;
    padding-left: 2rem;
    list-style: disc;
}

.smart-auto-p2-cost-card li {
    display: list-item;
    font-size: 1.65rem;
    line-height: 1.65;
    list-style: disc;
}

.smart-auto-p2-cost-card > p {
    padding-top: 2rem;
    border-top: 1px solid #d8e1ed;
    color: #607189;
    font-size: 1.5rem;
    line-height: 1.75;
}

.smart-auto-p2-cost-note,
.smart-auto-p2-route-foot {
    margin-top: 2rem;
    padding: 2.5rem 3rem;
    border-radius: 1.5rem;
    background: #edf5ff;
}

.smart-auto-p2-cost-note strong,
.smart-auto-p2-route-foot strong {
    display: block;
    font-size: 1.8rem;
    font-weight: 800;
}

.smart-auto-p2-cost-note p,
.smart-auto-p2-route-foot p {
    margin-top: .8rem;
    color: #607189;
    font-size: 1.5rem;
    line-height: 1.75;
    word-break: keep-all;
}

/* 수거배송 관리 비교 */
.smart-auto-p2-delivery {
    padding: 4rem;
    border: 1px solid #dce6f3;
    border-radius: 2.4rem;
    background: #f7f9fc;
}

.smart-auto-p2-delivery-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.smart-auto-p2-delivery-stats > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 2rem;
    border-radius: 1.6rem;
    background: #fff;
}

.smart-auto-p2-delivery-stats span {
    color: #252525;
    font-size: calc(1.65rem + 2pt);
    font-weight: 700;
}

.smart-auto-p2-delivery-stats strong {
    color: var(--main-color);
    font-size: calc(4rem + 2pt);
    font-weight: 800;
}

.smart-auto-p2-delivery-stats small {
    margin-left: .5rem;
    font-size: calc(1.8rem + 2pt);
    color: #344b66;
}

.smart-auto-p2-route-compare {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr);
    gap: 2rem;
    align-items: center;
}

.smart-auto-p2-route-compare article {
    padding: 3rem;
    border: 1px solid #dce6f3;
    border-radius: 1.8rem;
    background: #fff;
}

.smart-auto-p2-route-compare article.is-smart {
    border: 2px solid var(--main-color);
    background: #edf5ff;
}

.smart-auto-p2-route-type {
    display: block;
    color: #728198;
    font-size: calc(1.3rem + 1pt);
    font-weight: 800;
    margin-bottom: 1rem;
}

.smart-auto-p2-route-compare .is-smart
.smart-auto-p2-route-type {
    color: var(--main-color);
}

.smart-auto-p2-route-compare h4 {
    margin-bottom: 2rem;
    font-size: calc(2.1rem + 1pt);
    font-weight: 800;
    line-height: 1.45;
    word-break: keep-all;
}

.smart-auto-p2-route-compare article p {
    margin-top: 1rem;
    padding: 1rem 1.3rem;
    border-radius: .8rem;
    background: #f1f4f9;
    font-size: calc(1.5rem + 1pt);
    font-weight: 600;
    text-align: center;
}

.smart-auto-p2-route-compare article.is-smart p {
    background: var(--main-color);
    color: #fff;
}

.smart-auto-p2-route-arrow {
    color: var(--main-color);
    font-size: 4rem;
    font-weight: 800;
    text-align: center;
}

/* 하단 마무리 강조 */
.smart-auto-p2-closing {
    margin-top: 9rem;
    padding: 5rem 3rem;
    border-radius: 2.4rem;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(98, 194, 255, .28),
            transparent 40%
        ),
        linear-gradient(120deg, #266dcc, #3883ef);
    color: #fff;
    text-align: center;
}

.smart-auto-p2-closing > p {
    margin-bottom: 2rem;
    color: #d6e9ff;
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.smart-auto-p2-closing h3 {
    color: #fff;
    font-size: 3.9rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -.035em;
    word-break: keep-all;
}

.smart-auto-p2-closing h3 strong {
    color: #fff;
    font-weight: 800;
}

.smart-auto-p2-closing > span {
    display: block;
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, .35);
    color: #e2efff;
    font-size: 2.4rem;
    line-height: 1.7;
}

/* PAGE 02 모바일 */



/* =========================================================
   10 MARKETING SUPPORT - PAGE 01 & PAGE 02
========================================================= */

.marketing-support {
    padding: 11rem 0 12rem;
    overflow: hidden;
}

.marketing-support-page01 {
    background:
        linear-gradient(
            rgba(0, 0, 0, 0.7),
            rgba(0, 0, 0, 0.7)
        ),
        url('../images/MARKETING/marketing-support-bg.webp')
        no-repeat center 60% / cover;
}

.marketing-support-page02 {
    background: #fff;
}

.marketing-support-head {
    margin: 0 auto 5.5rem;
    text-align: center;
}

/* PAGE 01은 START UP과 동일한 왼쪽 정렬 */
.marketing-support-page01 .marketing-support-head {
    text-align: left;
}

.marketing-support-label {
    margin-bottom: 1.6rem;
    color: var(--main-color);
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.marketing-support-head h2 {
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.marketing-support-head h2 strong {
    color: var(--main-color);
    font-weight: 800;
}

.marketing-support-intro {
    margin-top: 2.5rem;
    color: #52657d;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.8;
    word-break: keep-all;
}

/* PAGE 01 - 어두운 배경 위 타이포그래피 */
.marketing-support-page01 .marketing-support-label {
    display: inline-flex;
    align-items: center;
    min-height: 3.4rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    border: 1px solid rgba(56, 131, 239, .14);
    border-radius: 2rem;
    background: #eaf6ff;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.marketing-support-page01 .marketing-support-head h2 {
    color: #fff;
    font-size: 6.1rem;
    line-height: 1.12;
}

.marketing-support-page01 .marketing-support-head h2 strong {
    display: inline;
    padding: .02em .14em .08em;
    background-color: var(--main-color);
    color: #fff;
    font-weight: 800;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.marketing-support-page01 .marketing-support-intro {
    margin-top: 3rem;
    color: rgba(255, 255, 255, .88);
    font-size: calc(1.8rem + 2pt);
    line-height: 1.7;
}

/* PAGE 01: 실제 홍보영상 썸네일 4 x 2 */
.marketing-support-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
}

.marketing-support-gallery .marketing-video-item img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: .8rem;
    background: #e2e9f2;
}


/* 동영상 썸네일 카드 */
.marketing-video-item {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    padding: .3rem;
    border: 1px solid rgba(255, 255, 255, .85);
    border-radius: 1.4rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 .8rem 2.2rem rgba(0,0,0,.2);
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease;
}

.marketing-video-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.1rem 2.5rem rgba(30,61,99,.2);
}

.marketing-video-item:focus-visible {
    outline: 3px solid var(--main-color);
    outline-offset: 3px;
}

.marketing-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    background: rgba(21,59,105,.85);
    color: #fff;
    font-size: 2rem;
    transform: translate(-50%, -50%);
    box-shadow: 0 .4rem 1.5rem rgba(0,0,0,.2);
    pointer-events: none;
}

/* 영상 팝업 */
.marketing-video-modal[hidden],
.marketing-video-replay[hidden] {
    display: none;
}

.marketing-video-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    background: rgba(0,0,0,.83);
}

.marketing-video-dialog {
    position: relative;
    width: min(110rem, 100%);
    padding: 1rem;
    border-radius: 1.6rem;
    background: #111;
    box-shadow: 0 2rem 6rem rgba(0,0,0,.35);
}

.marketing-video-dialog video {
    display: block;
    width: 100%;
    max-height: 80vh;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    background: #000;
    border-radius: .8rem;
}

.marketing-video-close {
    position: absolute;
    top: -2rem;
    right: -1.5rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.4rem;
    height: 4.4rem;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 3rem;
    cursor: pointer;
}

.marketing-video-replay {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 1.3rem 2rem;
    border: 0;
    border-radius: 1rem;
    background: var(--main-color);
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
    cursor: pointer;
}

body.marketing-video-open {
    overflow: hidden;
}


.marketing-support-activities {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    margin: 4rem 0 5rem;
}

.marketing-support-activities span {
    padding: 1.3rem 2rem;
    border: 1px solid #d0e1fa;
    border-radius: 1rem;
    background: #fff;
    color: #315b8c;
    font-size: calc(1.6rem + 3pt);
    font-weight: 700;
}

/* PAGE 02 - 흐르는 홍보 콘텐츠 상단 제목 */
.marketing-support-marquee-title {
    margin: 9rem auto 4rem;
    padding: 0 2rem;
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
    text-align: center;
    white-space: nowrap;
}

.marketing-support-marquee-title strong {
    color: var(--main-color);
    font-weight: 800;
}

/* PAGE 02: 마무리 박스 앞의 무한 흐름 */
.marketing-support-marquees {
    display: grid;
    gap: 2rem;
    width: 100vw;
    max-width: 100vw;
    margin: 0 0 0 calc(50% - 50vw);
}

/* DOM 이동 전 갤러리의 순간 노출 방지 */
.marketing-support-page01 > .marketing-support-marquees {
    visibility: hidden;
}

.marketing-support-marquee {
    overflow: hidden;
    width: 100%;
}

.marketing-support-marquee-track {
    display: flex;
    width: max-content;
    animation: marketing-scroll-left 64.3s linear infinite;
}

.marketing-support-marquee.is-reverse
.marketing-support-marquee-track {
    animation-name: marketing-scroll-right;
}

.marketing-support-marquee-set {
    display: flex;
    flex: 0 0 auto;
    gap: 1.8rem;
    padding-right: 1.8rem;
}

.marketing-support-marquee-item {
    display: block;
    flex: 0 0 auto;
    width: 23rem;
    padding: 0;
    border: 0;
    border-radius: 1.5rem;
    background: #e2e9f2;
    box-shadow: 0 .4rem 1rem rgba(30, 61, 99, .12);
    cursor: zoom-in;
    overflow: hidden;
}

.marketing-support-marquee-item img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.marketing-support-marquee-item:focus-visible {
    outline: 3px solid var(--main-color);
    outline-offset: -3px;
}

.marketing-support-marquee:hover
.marketing-support-marquee-track {
    animation-play-state: paused;
}

body.marketing-image-open .marketing-support-marquee-track {
    animation-play-state: paused;
}




/* MARKETING SUPPORT - 콘텐츠 이미지 확대 */
.marketing-image-modal[hidden] {
    display: none;
}

.marketing-image-modal {
    position: fixed;
    inset: 0;
    z-index: 12050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
    background: rgba(0, 0, 0, .86);
}

.marketing-image-modal-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: min(100%, 110rem);
    max-height: 90vh;
}

.marketing-image-modal-img {
    display: block;
    max-width: 100%;
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .35);
}

.marketing-image-modal-close {
    position: absolute;
    z-index: 2;
    top: -1.6rem;
    right: -1.6rem;
    width: 4.4rem;
    height: 4.4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 3rem;
    line-height: 1;
    cursor: pointer;
}

body.marketing-image-open {
    overflow: hidden;
}




/* PAGE 02: 세 가지 지원 항목 */
.marketing-support-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.2rem;
}

.marketing-support-step {
    padding: 1.6rem 2.6rem;
    border: 1px solid #dce6f3;
    border-radius: 2rem;
    background: #f7faff;
}

/* 카드 상단 WebP 아이콘 */
.marketing-support-step-icon {
    display: block;
    width: 14rem;
    height: 14rem;
    margin: 0 auto .6rem;
    object-fit: contain;
    object-position: center;
}

.marketing-support-step > span {
    display: block;
    margin-bottom: .8rem;
    color: var(--main-color);
    font-size: 1.8rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.marketing-support-step h3 {
    margin-bottom: .8rem;
    color: #263d59;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.45;
}

.marketing-support-step p {
    color: #607189;
    font-size: 1.65rem;
    line-height: 1.8;
    word-break: keep-all;
}

/* PAGE 02: 본사와 협력지점 역할 */
.marketing-support-roles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.marketing-support-roles > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 18rem;
    padding: 2.8rem;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 1.6rem;
    text-align: center;
    background-color: #153b69;
    background-repeat: no-repeat;
    background-position: center 30%;
    background-size: cover;
    overflow: hidden;
}

.marketing-support-roles > div:first-child {
    background-image:
        linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)),
        url('../images/MARKETING/marketing-head-office-bg.webp');
}

.marketing-support-roles > div:last-child {
    background-image:
        linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)),
        url('../images/MARKETING/marketing-local-partner-bg.webp');
}

.marketing-support-roles strong {
    display: block;
    margin-bottom: 1rem;
    color: #fff;
    font-size: calc(1.6rem + 4pt);
    font-weight: 800;
}

.marketing-support-roles p {
    color: #f0f6ff;
    font-size: calc(1.6rem + 4pt);
    line-height: 1.7;
}

.marketing-support-notice {
     margin-top: 3.75rem;
    color: #77869a;
    font-size: 1.35rem;
    line-height: 1.7;
    text-align: center;
}

/* PAGE 02: 네이비 마무리 */
.marketing-support-closing {
    margin-top: 5rem;
    padding: 5rem 3rem;
    border-radius: 2.4rem;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(98, 194, 255, .28),
            transparent 40%
        ),
        linear-gradient(120deg, #266dcc, #3883ef);
    text-align: center;
}

.marketing-support-closing > p {
    margin-bottom: 2rem;
    color: #d6e9ff;
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.marketing-support-closing h3 {
    color: #fff;
    font-size: 3.9rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -.035em;
    word-break: keep-all;
}

.marketing-support-closing > span {
    display: block;
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, .35);
    color: #e2efff;
    font-size: 2.4rem;
    line-height: 1.7;
}

/* 태블릿 */


/* 모바일 */





/* =========================================================
   OPENING GUIDE - 협력지점 개설 안내
========================================================= */

.opening-guide {
    padding: 11rem 0 12rem;
    background: #f0f5ff;
    overflow: hidden;
}

.opening-guide-head {
    margin-bottom: 5.5rem;
    text-align: center;
}

.opening-guide-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    padding: .8rem 1.8rem;
    border-radius: 3rem;
    background: #fff;
    color: var(--main-color);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.opening-guide-head h2 {
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.opening-guide-head h2 strong {
    color: var(--main-color);
    font-weight: 800;
}

.opening-guide-intro {
    margin-top: 3rem;
    color: #52657d;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.75;
    word-break: keep-all;
}

/* 개설 절차 6단계 */
.opening-guide-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.opening-guide-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 22rem;
    padding: 3rem;
    border: 1px solid #dce6f3;
    border-radius: 1.8rem;
    background: #fff;
    box-shadow: 0 .7rem 2.2rem rgba(30, 61, 99, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.opening-guide-step:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.2rem 3rem rgba(30, 61, 99, .1);
}

/* 개설 절차 카드 우측 상단 아이콘 */
.opening-guide-step-icon {
    position: absolute;
    top: 3.5rem;
    right: 4rem;
    width: 12rem;
    height: 12rem;
    object-fit: contain;
    pointer-events: none;
}

.opening-guide-step-number {
    color: var(--main-color);
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1;
}

.opening-guide-step-en {
    display: block;
    margin-top: 1rem;
    color: #8a9db5;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .07em;
}

.opening-guide-step h3 {
    margin-top: 2.5rem;
    color: #263d59;
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.4;
}

.opening-guide-step p {
    margin-top: .7rem;
    color: #61718a;
    font-size: 1.6rem;
    line-height: 1.65;
    word-break: keep-all;
}


/* 하단 교육 및 사업장 준비 */
.opening-guide-preparation {
    margin-top: 10rem;
}

.opening-guide-preparation-head {
    margin-bottom: 4rem;
    text-align: center;
}

.opening-guide-preparation-head h3 {
    color: #252525;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.opening-guide-preparation-head h3 strong {
    color: var(--main-color);
    font-weight: 800;
}

.opening-guide-preparation-head p {
    margin-top: 2rem;
    color: #52657d;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.75;
    word-break: keep-all;
}

.opening-guide-preparation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
}

.opening-guide-preparation-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce6f3;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 .8rem 2.5rem rgba(30, 61, 99, .06);
}

/* 운영 교육 / 사업장 준비 사진 슬라이더 */
.opening-guide-slider {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
    background: #d9e8fb;
    overflow: hidden;
}

/* 슬라이드 내용이 사진 영역의 높이를 늘리지 않도록 고정 */
.opening-guide-slider .swiper-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.opening-guide-slider .swiper-slide {
    height: 100%;
    min-height: 0;
}

.opening-guide-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 좌우 화살표 */
.opening-guide-slider-prev,
.opening-guide-slider-next {
    position: absolute;
    z-index: 5;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, .42);
    color: #fff;
    font-size: 3rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color .2s ease;
}

.opening-guide-slider-prev {
    left: 1.5rem;
}

.opening-guide-slider-next {
    right: 1.5rem;
}

.opening-guide-slider-prev:hover,
.opening-guide-slider-next:hover {
    background: rgba(0, 0, 0, .72);
}

/* 하단 페이지 점 5개 */
.opening-guide-slider-pagination {
    position: absolute;
    z-index: 5;
    bottom: 1.3rem !important;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: .7rem;
}

.opening-guide-slider .swiper-pagination-bullet {
    width: .9rem;
    height: .9rem;
    margin: 0 !important;
    background: #fff;
    opacity: .55;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}

.opening-guide-slider .swiper-pagination-bullet-active {
    background: var(--main-color);
    opacity: 1;
}

.opening-guide-preparation-copy {
    position: relative;
    z-index: 1;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    padding: 3rem;
    background: #fff;
    box-sizing: border-box;
}

.opening-guide-preparation-copy > span {
    color: var(--main-color);
    font-size: calc(1.3rem + 2pt);
    font-weight: 800;
    letter-spacing: .04em;
}

.opening-guide-preparation-copy h4 {
    margin-top: 1.4rem;
    color: #263d59;
    font-size: calc(2.3rem + 2pt);
    font-weight: 800;
    line-height: 1.4;
}

.opening-guide-preparation-copy p {
    margin-top: 1.3rem;
    color: #61718a;
    font-size: calc(1.6rem + 2pt);
    line-height: 1.75;
    word-break: keep-all;
}


/* OPENING GUIDE - 태블릿 */


/* OPENING GUIDE - 모바일 */



/* =========================================================
   INQUIRY - 협력지점 창업 문의
========================================================= */
.main-form .inquiry-label {
    display: block;
    margin: 0 0 1.5rem;
    color: var(--main-color);
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.store .main-form h1 {
    display: block;
    padding-left: 0;
    background: none;
    color: #263d59;
    font-size: clamp(3rem, 3.3vw, 4.8rem);
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.store .main-form h1 span {
    color: var(--main-color);
    font-weight: 800;
}

/* 모바일: 창업 문의 제목을 의도한 두 줄로 배치 */
@media all and (max-width: 767px) {
    .store .main-form h1 span {
        display: block;
    }
}

.main-form > .w-1180 > .t-sm {
    color: #52657d;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.75;
    text-align: center;
}

.main-form .form-wp {
    border: 1px solid #dce6f3;
    border-radius: 2rem;
    box-shadow: 0 .8rem 3rem rgba(30,61,99,.08);
}

.main-form .form-row {
    border-color: #dce6f3;
}

/* 창업 문의 입력 행 높이 10% 축소 */
@media all and (min-width: 768px) {
    .main-form .form-row .form-head {
        height: 9rem;
        line-height: 9rem;
    }

    .main-form .form-row .form-body {
        height: 9rem;
        padding: 1.5rem 2rem;
    }

    /* 문의사항 행: 기존 약 14rem → 12.6rem */
    .main-form .form-row:has(.form-text) .form-head {
        height: auto;
        line-height: 12.6rem;
    }

    .main-form .form-row .form-body.form-text {
        height: auto;
        padding: 1.8rem 2rem;
    }

    .main-form .form-body textarea {
        height: 9rem;
    }
}

.main-form .inquiry-privacy {
    margin-top: 3.6rem;
    padding: 2.16rem;
    border: 1px solid #d5e4f8;
    border-radius: 1.4rem;
    background: #f4f8ff;
}

.inquiry-privacy-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.4rem;
}

.inquiry-privacy-agree {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    color: #263d59;
    cursor: pointer;
}

.inquiry-privacy-agree input[type="checkbox"] {
    appearance: auto;
    -webkit-appearance: checkbox;
    width: 2rem;
    height: 2rem;
    margin: 0;
    accent-color: var(--main-color);
    cursor: pointer;
}

.inquiry-privacy-agree span {
    color: #263d59;
    font-size: 1.8rem;
    font-weight: 800;
}

.inquiry-privacy-agree em {
    color: var(--main-color);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 700;
}

/* 기존 .form-wp button의 큰 위쪽 여백 해제 */
.main-form .form-wp .inquiry-privacy-detail {
    margin: 0;
    padding: 1rem 1.6rem;
    border: 1px solid #b7d2f5;
    border-radius: .8rem;
    background: #fff;
    color: var(--main-color);
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
}

.inquiry-privacy-detail:hover {
    background: #e8f2ff;
}

/* 개인정보 동의 박스와 문의하기 버튼 간격 50% 축소 */
.main-form .form-wp > .btn-fill {
    margin-top: 3.5rem;
}

@media all and (max-width: 767px) {
    .main-form .form-wp > .btn-fill {
        margin-top: 3rem;
    }

    /* 모바일 입력 행의 위아래 여백 10% 축소 */
    .main-form .form-row .form-head {
        padding-top: .72rem;
        padding-bottom: 0;
    }

    .main-form .form-row .form-body {
        padding-top: .54rem;
        padding-bottom: .54rem;
    }

    .main-form .form-body textarea {
        height: 9rem;
    }

    .main-form .inquiry-privacy {
        padding: 1.62rem;
    }
}

.main-form .inquiry-privacy .inquiry-privacy-summary {
    margin: 1.2rem 0 0;
    color: #607189;
    font-size: 1.35rem;
    line-height: 1.7;
}

/* 창업 문의 필수 입력 오류 안내 */
.main-form .form-body:has(.inquiry-field-error) {
    height: auto;
    min-height: 10rem;
}

.main-form .inquiry-field-error[hidden] {
    display: none;
}

.main-form .inquiry-field-error {
    margin: .8rem 0 0;
    color: #e03131;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.main-form .is-inquiry-invalid {
    border-color: #e03131 !important;
    box-shadow: 0 0 0 2px rgba(224, 49, 49, .12);
}

/* 자세히보기 모달 */
.inquiry-privacy-modal {
    position: fixed;
    inset: 0;
    width: min(90vw, 76rem);
    max-width: 76rem;
    max-height: 85vh;
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 1.6rem;
    background: #fff;
    box-shadow: 0 2rem 8rem rgba(0,0,0,.25);
    overflow: hidden;
}

.inquiry-privacy-modal::backdrop {
    background: rgba(12,27,50,.75);
}

.inquiry-privacy-modal[open] {
    display: flex;
    flex-direction: column;
}

.inquiry-privacy-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2.3rem 3rem;
    border-bottom: 1px solid #dce6f3;
    flex-shrink: 0;
}

.inquiry-privacy-modal-head h2 {
    color: #263d59;
    font-size: 2.3rem;
    font-weight: 800;
}

.inquiry-privacy-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #edf3fc;
    color: #263d59;
    font-size: 2.8rem;
    cursor: pointer;
}

.inquiry-privacy-modal-body {
    padding: 3rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.inquiry-privacy-modal-body h3 {
    margin: 3rem 0 1rem;
    color: #263d59;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.5;
}

.inquiry-privacy-modal-body h3:first-child {
    margin-top: 0;
}

.inquiry-privacy-modal-body p,
.inquiry-privacy-modal-body li {
    color: #52657d;
    font-size: 1.5rem;
    line-height: 1.8;
    word-break: keep-all;
}

.inquiry-privacy-modal-body ul {
    margin: 1rem 0;
    padding-left: 2rem;
}

.inquiry-privacy-modal-body li {
    list-style: disc;
}

.inquiry-privacy-modal-foot {
    display: flex;
    justify-content: center;
    padding: 1.8rem 3rem;
    border-top: 1px solid #dce6f3;
    flex-shrink: 0;
}

.inquiry-privacy-modal-foot button {
    min-width: 14rem;
    padding: 1.2rem 2rem;
    border: 0;
    border-radius: .8rem;
    background: var(--main-color);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
}



/* 창업 문의 박스 내부 위·아래 여백 */





/* 모바일 창업 문의 입력 행 간격 최종 조정 */

