/* ===========================================
   Font Face - Pretendard
   =========================================== */
@font-face {
    font-family: 'Pretendard';
    src: url('../assets/fonts/pretendard/Pretendard-Regular.woff2') format('woff2'),
         url('../assets/fonts/pretendard/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('../assets/fonts/pretendard/Pretendard-Medium.woff2') format('woff2'),
         url('../assets/fonts/pretendard/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('../assets/fonts/pretendard/Pretendard-Bold.woff2') format('woff2'),
         url('../assets/fonts/pretendard/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('../assets/fonts/pretendard/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('../assets/fonts/pretendard/Pretendard-Black.woff2') format('woff2'),
         url('../assets/fonts/pretendard/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    background-color: var(--color-bg);
    overflow-x: hidden;
    min-width: 320px;
}

/* CSS Variables */
:root {
    /* Colors */
    --color-primary: #2563eb;
    --color-text: #1f2937;
    --color-text-light: #6b7280;
    --color-bg: #ffffff;
    --color-bg-secondary: #f3f4f6;
    --color-border: #e5e7eb;

    /* Header Colors */
    --color-header-bg: #ffffff;
    --color-icon: #222222;
}

/* ===========================================
   Header - Desktop Responsive (1024px ~ 1920px+)
   스케일링 공식: clamp(max × 0.4, max / 1920 × 100vw, max)
   =========================================== */

.header {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    /* height: 100px → clamp(40px, 5.208vw, 100px) */
    height: clamp(40px, 5.208vw, 100px);
    background-color: var(--color-header-bg);
}

/* Logo */
.header__logo {
    position: absolute;
    /* left: 400px → clamp(160px, 20.833vw, 400px) */
    left: clamp(160px, 20.833vw, 400px);
    top: 50%;
    transform: translateY(-50%);
    /* width: 134px → clamp(53.6px, 6.979vw, 134px) */
    width: clamp(53.6px, 6.979vw, 134px);
    /* height: 34px → clamp(13.6px, 1.771vw, 34px) */
    height: clamp(13.6px, 1.771vw, 34px);
}

.header__logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

/* Language Button */
.header__language-btn {
    position: absolute;
    /* right: 80px (1920 - 1784 - 56) → clamp(32px, 4.167vw, 80px) */
    right: clamp(32px, 4.167vw, 80px);
    top: 50%;
    transform: translateY(-50%);
    /* width: 56px → clamp(22.4px, 2.917vw, 56px) */
    width: clamp(22.4px, 2.917vw, 56px);
    /* height: 36px → clamp(14.4px, 1.875vw, 36px) */
    height: clamp(14.4px, 1.875vw, 36px);
    /* border-radius: 18px → clamp(7.2px, 0.938vw, 18px) */
    border-radius: clamp(7.2px, 0.938vw, 18px);
    background-color: var(--color-header-bg);
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.6px, 0.208vw, 4px);
}

.header__language-icon {
    /* width: 16px → clamp(6.4px, 0.833vw, 16px) */
    width: clamp(6.4px, 0.833vw, 16px);
    /* height: 16px → clamp(6.4px, 0.833vw, 16px) */
    height: clamp(6.4px, 0.833vw, 16px);
}

.header__dropdown-icon {
    /* width: 10px → clamp(4px, 0.521vw, 10px) */
    width: clamp(4px, 0.521vw, 10px);
    /* height: 6px → clamp(2.4px, 0.313vw, 6px) */
    height: clamp(2.4px, 0.313vw, 6px);
}

/* ===========================================
   Header - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .header {
        /* height: 72px → clamp(61px, 19.2vw, 92px) */
        height: clamp(61px, 19.2vw, 92px);
        background-color: transparent;
        max-width: 100%;
    }

    /* Logo */
    .header__logo {
        /* left: 16px → clamp(14px, 4.27vw, 20px) */
        left: clamp(14px, 4.27vw, 20px);
        /* width: 111px → clamp(95px, 29.6vw, 142px) */
        width: clamp(95px, 29.6vw, 142px);
        /* height: 28px → clamp(24px, 7.47vw, 36px) */
        height: clamp(24px, 7.47vw, 36px);
    }

    /* Language Button */
    .header__language-btn {
        /* right: 16px → clamp(14px, 4.27vw, 20px) */
        right: clamp(14px, 4.27vw, 20px);
        /* width: 56px → clamp(48px, 14.93vw, 72px) */
        width: clamp(48px, 14.93vw, 72px);
        /* height: 36px → clamp(31px, 9.6vw, 46px) */
        height: clamp(31px, 9.6vw, 46px);
        /* border-radius: 18px → clamp(15px, 4.8vw, 23px) */
        border-radius: clamp(15px, 4.8vw, 23px);
        background-color: transparent;
    }

    .header__language-icon {
        /* width/height: 16px → clamp(14px, 4.27vw, 20px) */
        width: clamp(14px, 4.27vw, 20px);
        height: clamp(14px, 4.27vw, 20px);
    }

    .header__dropdown-icon {
        /* width: 10px → clamp(9px, 2.67vw, 13px) */
        width: clamp(9px, 2.67vw, 13px);
        /* height: 6px → clamp(5px, 1.6vw, 8px) */
        height: clamp(5px, 1.6vw, 8px);
    }
}

/* ===========================================
   Hero Section - Desktop Responsive (1024px ~ 1920px+)
   스케일링 공식: clamp(max × 0.4, max / 1920 × 100vw, max)
   =========================================== */

.hero {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding-top: 0;
}

.hero__inner {
    /* width: 1120px → clamp(448px, 58.333vw, 1120px) */
    width: clamp(448px, 58.333vw, 1120px);
    margin: 0 auto;
}

.hero__image {
    position: relative;
    width: 100%;
    /* height: 480px → clamp(192px, 25vw, 480px) */
    height: clamp(192px, 25vw, 480px);
    /* border-radius: 48px → clamp(19.2px, 2.5vw, 48px) */
    border-radius: clamp(19.2px, 2.5vw, 48px);
    overflow: hidden;
    background-image: url("../assets/images/svg/hero-banner.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Hero Text (이미지 안 하단에 위치) */
.hero__text {
    position: absolute;
    /* bottom: 80px → clamp(32px, 4.167vw, 80px) */
    bottom: clamp(32px, 4.167vw, 80px);
    /* left: 64px → clamp(25.6px, 3.333vw, 64px) */
    left: clamp(25.6px, 3.333vw, 64px);
}

.hero__heading {
    font-weight: 700; /* Pretendard Bold */
    /* font-size: 32px → clamp(12.8px, 1.667vw, 32px) */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 40px → clamp(16px, 2.083vw, 40px) */
    line-height: clamp(16px, 2.083vw, 40px);
    color: #222222;
    /* margin-bottom: 12px → clamp(4.8px, 0.625vw, 12px) */
    margin: 0 0 clamp(4.8px, 0.625vw, 12px) 0;
}

.hero__subheading {
    font-weight: 700; /* Pretendard Bold */
    /* font-size: 24px → clamp(9.6px, 1.25vw, 24px) */
    font-size: clamp(9.6px, 1.25vw, 24px);
    /* line-height: 32px → clamp(12.8px, 1.667vw, 32px) */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    margin: 0 0 clamp(4.8px, 0.625vw, 12px) 0;
}

.hero__body {
    font-weight: 500; /* Pretendard Medium */
    /* font-size: 16px → clamp(6.4px, 0.833vw, 16px) */
    font-size: clamp(6.4px, 0.833vw, 16px);
    /* line-height: 24px → clamp(9.6px, 1.25vw, 24px) */
    line-height: clamp(9.6px, 1.25vw, 24px);
    color: #4a4a4a;
    margin: 0;
}

/* ===========================================
   Hero Section - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .hero {
        padding-top: 0;
        max-width: 100%;
    }

    .hero__inner {
        /* 375px → min:320, max:480 */
        width: clamp(320px, 100%, 480px);
        margin: 0 auto;
    }

    .hero__image {
        /* width: 375px → 100% of container */
        width: 100%;
        /* height: 432px → clamp(369px, 115.2vw, 553px) */
        height: clamp(369px, 115.2vw, 553px);
        /* border-radius: 32px → clamp(27px, 8.53vw, 41px) */
        border-radius: clamp(27px, 8.53vw, 41px);
        background-image: url("../assets/images/m_hero-banner.png");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .hero__text {
        /* bottom: 32px → clamp(27px, 8.53vw, 41px) */
        bottom: clamp(27px, 8.53vw, 41px);
        /* left: 20px → clamp(17px, 5.33vw, 26px) */
        left: clamp(17px, 5.33vw, 26px);
    }

    .hero__heading {
        /* font-size: 24px → clamp(20px, 6.4vw, 31px) */
        font-size: clamp(20px, 6.4vw, 31px);
        /* line-height: 32px → clamp(27px, 8.53vw, 41px) */
        line-height: clamp(27px, 8.53vw, 41px);
        /* margin-bottom: 8px → clamp(7px, 2.13vw, 10px) */
        margin: 0 0 clamp(7px, 2.13vw, 10px) 0;
    }

    .hero__subheading {
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        /* margin-bottom: 8px → clamp(7px, 2.13vw, 10px) */
        margin: 0 0 clamp(7px, 2.13vw, 10px) 0;
    }

    .hero__body {
        /* font-size: 14px → clamp(12px, 3.73vw, 18px) */
        font-size: clamp(12px, 3.73vw, 18px);
        /* line-height: 20px → clamp(17px, 5.33vw, 26px) */
        line-height: clamp(17px, 5.33vw, 26px);
    }
}

/* ===========================================
   Feature Slider - Desktop Responsive (clamp 방식)
   스케일링 공식: clamp(max × 0.4, max / 1920 × 100vw, max)
   =========================================== */

.feature-slider {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    overflow: visible;
    /* padding-top: 100px → clamp(40px, 5.208vw, 100px) */
    padding-top: clamp(40px, 5.208vw, 100px);
}

.feature-slider__heading {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 40px */
    line-height: clamp(16px, 2.083vw, 40px);
    color: #222222;
    text-align: center;
    /* margin-bottom: 64px */
    margin: 0 0 clamp(25.6px, 3.333vw, 64px) 0;
}

/* 슬라이드 + 오버레이 컨테이너 */
.feature-slider__container {
    position: relative;
}

/* Swiper */
.feature-swiper {
    width: 100%;
    /* padding: 0 400px */
    padding: 0 clamp(160px, 20.833vw, 400px);
    overflow: visible;
}

.feature-swiper .swiper-wrapper {
    align-items: center;
}

.feature-swiper .swiper-slide {
    /* width: 930px */
    width: clamp(372px, 48.438vw, 930px);
    /* height: 400px */
    height: clamp(160px, 20.833vw, 400px);
    /* border-radius: 32px */
    border-radius: clamp(12.8px, 1.667vw, 32px);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.4s ease, opacity 0.4s ease;
    opacity: 0.4;
    transform: scale(0.9);
}

.feature-swiper .swiper-slide-active {
    opacity: 1;
    transform: scale(1);
    z-index: 3;
}

.feature-swiper .swiper-slide-prev,
.feature-swiper .swiper-slide-next {
    opacity: 0.4;
    transform: scale(0.9);
    z-index: 2;
}

/* 개별 슬라이드 배경 이미지 */
.feature-slide--1 { background-image: url("../assets/images/Mask group_1.png"); }
.feature-slide--2 { background-image: url("../assets/images/Mask group_2.png"); }
.feature-slide--3 { background-image: url("../assets/images/Mask group_3.png"); }
.feature-slide--4 { background-image: url("../assets/images/Mask group_4.png"); }
.feature-slide--5 { background-image: url("../assets/images/Mask group_5.png"); }

/* 텍스트 오버레이 (슬라이드 하단에 걸쳐서 배치) */
.feature-slider__overlay {
    position: relative;
    /* width: 930px */
    width: clamp(372px, 48.438vw, 930px);
    margin: 0 auto;
    /* 슬라이드 높이의 27% 만큼 위로 올림 (연동) */
    margin-top: calc(-0.27 * clamp(160px, 20.833vw, 400px));
    background: transparent;
    /* padding: 48px */
    padding: clamp(19.2px, 2.5vw, 48px);
    z-index: 10;
    pointer-events: none;
}

/* 페이지네이션은 클릭 가능하도록 */
.feature-slider__overlay .swiper-pagination {
    pointer-events: auto;
}

.feature-slider__overlay-inner {
    width: 100%;
}

/* eyebrow 텍스트 */
.feature-slider__eyebrow {
    font-weight: 900;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 40px */
    line-height: clamp(16px, 2.083vw, 40px);
    color: #ffffff;
    /* margin-bottom: 16px */
    margin: 0 0 clamp(6.4px, 0.833vw, 16px) 0;
}

/* 구분 바 */
.feature-slider__bar {
    display: block;
    /* width: 216px */
    width: clamp(86.4px, 11.25vw, 216px);
    /* height: 8px */
    height: clamp(3.2px, 0.417vw, 8px);
    /* margin-bottom: 32px */
    margin-bottom: clamp(12.8px, 1.667vw, 32px);
}

/* 2컬럼 레이아웃 */
.feature-slider__columns {
    display: flex;
    /* gap: 72px */
    gap: clamp(28.8px, 3.75vw, 72px);
}

.feature-slider__column {
    flex: none;
}

.feature-slider__subtitle {
    font-weight: 700;
    /* font-size: 24px */
    font-size: clamp(9.6px, 1.25vw, 24px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    /* margin-bottom: 8px */
    margin: 0 0 clamp(3.2px, 0.417vw, 8px) 0;
}

.feature-slider__desc {
    font-weight: 500;
    /* font-size: 16px */
    font-size: clamp(6.4px, 0.833vw, 16px);
    /* line-height: 24px */
    line-height: clamp(9.6px, 1.25vw, 24px);
    color: #4a4a4a;
    margin: 0;
}

/* 페이지네이션 */
.feature-slider__overlay .swiper-pagination {
    position: relative;
    /* margin-top: 64px */
    margin-top: clamp(25.6px, 3.333vw, 64px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.feature-slider__overlay .swiper-pagination-bullet {
    /* width/height: 16px */
    width: clamp(6.4px, 0.833vw, 16px);
    height: clamp(6.4px, 0.833vw, 16px);
    background: url('../assets/images/svg/silde-dot.svg') no-repeat center;
    background-size: contain;
    border-radius: 50%;
    opacity: 1;
    /* margin: 0 6px */
    margin: 0 clamp(2.4px, 0.313vw, 6px);
}

.feature-slider__overlay .swiper-pagination-bullet-active {
    /* width/height: 24px */
    width: clamp(9.6px, 1.25vw, 24px);
    height: clamp(9.6px, 1.25vw, 24px);
    background: url('../assets/images/svg/slide-dot-selected.svg') no-repeat center;
    background-size: contain;
}

/* ===========================================
   Feature Slider - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .feature-slider {
        /* padding-top: 40px → clamp(34px, 10.67vw, 51px) */
        padding-top: clamp(34px, 10.67vw, 51px);
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        overflow-x: clip;
        overflow-y: visible;
    }

    .feature-slider__heading {
        /* font-size: 24px → clamp(20px, 6.4vw, 31px) */
        font-size: clamp(20px, 6.4vw, 31px);
        /* line-height: 32px → clamp(27px, 8.53vw, 41px) */
        line-height: clamp(27px, 8.53vw, 41px);
        /* margin-bottom: 24px → clamp(20px, 6.4vw, 31px) */
        margin: 0 0 clamp(20px, 6.4vw, 31px) 0;
        text-align: center;
        /* padding: 0 16px → clamp(14px, 4.27vw, 20px) */
        padding: 0 clamp(14px, 4.27vw, 20px);
    }

    /* 슬라이드 + 오버레이 컨테이너 */
    .feature-slider__container {
        /* padding: 0 16px → clamp(14px, 4.27vw, 20px) */
        padding: 0 clamp(14px, 4.27vw, 20px);
        position: relative;
        /* height: 506px → clamp(432px, 134.93vw, 648px) */
        height: clamp(432px, 134.93vw, 648px);
        background: transparent;
        overflow: visible;
        /* 480px 이상에서 중앙 정렬 */
        max-width: 480px;
        margin: 0 auto;
    }

    /* Swiper - 이미지 영역 */
    .feature-swiper {
        /* width: 343px → 100% of container */
        width: 100%;
        /* height: 200px → clamp(171px, 53.33vw, 256px) */
        height: clamp(171px, 53.33vw, 256px) !important;
        padding: 0;
        overflow: visible !important;
        /* border-radius: 24px → clamp(20px, 6.4vw, 31px) */
        border-radius: clamp(20px, 6.4vw, 31px) clamp(20px, 6.4vw, 31px) 0 0;
        background: transparent;
    }

    .feature-swiper .swiper-wrapper {
        overflow: visible !important;
        align-items: flex-start;
    }

    .feature-swiper .swiper-slide {
        /* width/height: 100% of swiper */
        width: 100% !important;
        height: 100% !important;
        /* border-radius: 24px → clamp(20px, 6.4vw, 31px) */
        border-radius: clamp(20px, 6.4vw, 31px) clamp(20px, 6.4vw, 31px) 0 0;
        opacity: 1;
        transform: scale(1);
        position: relative;
        overflow: hidden;
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
        transition: opacity 0.3s ease;
    }

    .feature-swiper .swiper-slide-active {
        opacity: 1;
        transform: scale(1);
    }

    .feature-swiper .swiper-slide-prev,
    .feature-swiper .swiper-slide-next {
        opacity: 0.5;
    }

    /* 모바일 전용 슬라이드 배경 이미지 */
    .feature-slide--1 { background-image: url("../assets/images/m_Mask group_1.png"); }
    .feature-slide--2 { background-image: url("../assets/images/m_Mask group_2.png"); }
    .feature-slide--3 { background-image: url("../assets/images/m_Mask group_3.png"); }
    .feature-slide--4 { background-image: url("../assets/images/m_Mask group_4.png"); }
    .feature-slide--5 { background-image: url("../assets/images/m_Mask group_5.png"); }

    /* 텍스트 오버레이 - 슬라이드와 함께 배치 */
    .feature-slider__overlay {
        position: absolute;
        top: 0;
        left: clamp(14px, 4.27vw, 20px);
        right: clamp(14px, 4.27vw, 20px);
        width: auto;
        /* height: 426px → clamp(363px, 113.6vw, 545px) */
        height: clamp(363px, 113.6vw, 545px);
        margin: 0;
        padding: 0;
        background: transparent;
        /* border-radius: 24px → clamp(20px, 6.4vw, 31px) */
        border-radius: clamp(20px, 6.4vw, 31px);
        pointer-events: none;
        z-index: 10;
        box-shadow: none;
        overflow: visible;
    }

    .feature-slider__overlay-inner {
        position: relative;
        width: 100%;
        height: 100%;
        padding: 0;
        background: transparent;
    }

    /* eyebrow 텍스트 (이미지 위, 하단에 배치) */
    .feature-slider__eyebrow {
        position: absolute;
        /* top: 152px → clamp(130px, 40.53vw, 195px) */
        top: clamp(130px, 40.53vw, 195px);
        /* left: 24px → clamp(20px, 6.4vw, 31px) */
        left: clamp(20px, 6.4vw, 31px);
        /* font-size: 24px → clamp(20px, 6.4vw, 31px) */
        font-size: clamp(20px, 6.4vw, 31px);
        /* line-height: 32px → clamp(27px, 8.53vw, 41px) */
        line-height: clamp(27px, 8.53vw, 41px);
        margin: 0;
        color: #ffffff;
        font-weight: 900;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    }

    /* 구분 바 (eyebrow 아래, 이미지 하단 근처) */
    .feature-slider__bar {
        position: absolute;
        /* top: 195px → clamp(166px, 52vw, 250px) */
        top: clamp(166px, 52vw, 250px);
        /* left: 24px → clamp(20px, 6.4vw, 31px) */
        left: clamp(20px, 6.4vw, 31px);
        display: block;
        /* width: 164px → clamp(140px, 43.73vw, 210px) */
        width: clamp(140px, 43.73vw, 210px);
        /* height: 8px → clamp(7px, 2.13vw, 10px) */
        height: clamp(7px, 2.13vw, 10px);
    }

    /* 모바일용 이미지 사용 (img 태그 숨기고 ::after 사용) */
    .feature-slider__bar img {
        display: none;
    }

    .feature-slider__bar::after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background-image: url('../assets/images/svg/m_slide-bar.svg');
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }

    /* 텍스트 영역 (이미지 아래) */
    .feature-slider__columns {
        position: absolute;
        /* top: 200px → clamp(171px, 53.33vw, 256px) */
        top: clamp(171px, 53.33vw, 256px);
        left: 0;
        right: 0;
        width: 100%;
        /* min-height: 226px → clamp(193px, 60.27vw, 289px) */
        min-height: clamp(193px, 60.27vw, 289px);
        /* padding: 24px 16px → clamp(20px, 6.4vw, 31px) clamp(14px, 4.27vw, 20px) */
        padding: clamp(20px, 6.4vw, 31px) clamp(14px, 4.27vw, 20px);
        background: transparent;
        /* border-radius: 24px → clamp(20px, 6.4vw, 31px) */
        border-radius: 0 0 clamp(20px, 6.4vw, 31px) clamp(20px, 6.4vw, 31px);
        flex-direction: column;
        /* gap: 16px → clamp(14px, 4.27vw, 20px) */
        gap: clamp(14px, 4.27vw, 20px);
        display: flex;
        box-sizing: border-box;
        overflow: visible;
    }

    .feature-slider__column {
        width: 100%;
    }

    .feature-slider__subtitle {
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        /* line-height: 28px → clamp(24px, 7.47vw, 36px) */
        line-height: clamp(24px, 7.47vw, 36px);
        font-weight: 700;
        /* margin-bottom: 8px → clamp(7px, 2.13vw, 10px) */
        margin: 0 0 clamp(7px, 2.13vw, 10px) 0;
        color: #222222;
    }

    .feature-slider__desc {
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        font-weight: 400;
        color: #4a4a4a;
        margin: 0;
    }

    /* 페이지네이션 - 카드 아래 배치 */
    .feature-slider__overlay .swiper-pagination {
        position: absolute !important;
        /* bottom: -60px → clamp(-51px, -16vw, -77px) */
        bottom: clamp(-77px, -16vw, -51px) !important;
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center;
        align-items: center;
        /* gap: 8px → clamp(7px, 2.13vw, 10px) */
        gap: clamp(7px, 2.13vw, 10px);
        pointer-events: auto;
        margin: 0 !important;
        transform: none !important;
    }

    .feature-slider__overlay .swiper-pagination-bullet {
        /* width/height: 10px → clamp(9px, 2.67vw, 13px) */
        width: clamp(9px, 2.67vw, 13px);
        height: clamp(9px, 2.67vw, 13px);
        margin: 0;
        background: url('../assets/images/svg/silde-dot.svg') no-repeat center;
        background-size: contain;
        border-radius: 50%;
        opacity: 1;
    }

    .feature-slider__overlay .swiper-pagination-bullet-active {
        /* width/height: 16px → clamp(14px, 4.27vw, 20px) */
        width: clamp(14px, 4.27vw, 20px);
        height: clamp(14px, 4.27vw, 20px);
        background: url('../assets/images/svg/slide-dot-selected.svg') no-repeat center;
        background-size: contain;
        opacity: 1;
    }
}

/* ===========================================
   1920px 초과: 중앙 고정 + 양쪽 여백 확장
   =========================================== */
@media (min-width: 1921px) {
    /* Header */
    .header {
        height: 100px;
    }

    .header__logo {
        left: 400px;
        width: 134px;
        height: 34px;
    }

    .header__language-btn {
        right: 80px;
        width: 56px;
        height: 36px;
        border-radius: 18px;
    }

    .header__language-icon {
        width: 16px;
        height: 16px;
    }

    .header__dropdown-icon {
        width: 10px;
        height: 6px;
    }

    /* Hero */
    .hero {
        padding-top: 0;
    }

    .hero__inner {
        width: 1120px;
    }

    .hero__image {
        height: 480px;
        border-radius: 48px;
    }

    .hero__text {
        bottom: 80px;
        left: 64px;
    }

    .hero__heading {
        font-size: 32px;
        line-height: 40px;
        margin: 0 0 12px 0;
    }

    .hero__subheading {
        font-size: 24px;
        line-height: 32px;
        margin: 0 0 12px 0;
    }

    .hero__body {
        font-size: 16px;
        line-height: 24px;
    }
}

/* ===========================================
   Tab Section - Desktop Responsive (clamp 방식)
   스케일링 공식: clamp(max × 0.4, max / 1920 × 100vw, max)
   =========================================== */

.tab-section {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    /* padding-top: 128px */
    padding-top: clamp(51.2px, 6.667vw, 128px);
    /* padding-bottom: 50px */
    padding-bottom: clamp(20px, 2.604vw, 50px);
}

.tab-section__heading {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    text-align: center;
    /* margin-bottom: 64px */
    margin: 0 0 clamp(25.6px, 3.333vw, 64px) 0;
}

.tab-section__container {
    /* 1920 - 420*2 = 1080px → clamp(432px, 56.25vw, 1080px) */
    max-width: clamp(432px, 56.25vw, 1080px);
    margin: 0 auto;
}

/* 탭 버튼 */
.tab-section__tabs {
    display: flex;
    /* gap: 40px */
    gap: clamp(16px, 2.083vw, 40px);
    /* margin-bottom: 60px */
    margin-bottom: clamp(24px, 3.125vw, 60px);
    justify-content: center;
}

.tab-section__tab {
    /* width: 354px */
    width: clamp(141.6px, 18.438vw, 354px);
    /* height: 72px */
    height: clamp(28.8px, 3.75vw, 72px);
    /* border-radius: 38px */
    border-radius: clamp(15.2px, 1.979vw, 38px);
    border: none;
    font-weight: 700;
    /* font-size: 24px */
    font-size: clamp(9.6px, 1.25vw, 24px);
    /* line-height: 40px */
    line-height: clamp(16px, 2.083vw, 40px);
    cursor: pointer;
    background: transparent;
    color: #9e9e9e;
}

.tab-section__tab--active {
    background: #222222;
    color: #face00;
}

/* 데스크탑에서 탭 라벨 숨김 (모바일 전용) */
.tab-section__tab-label {
    display: none;
}

/* 탭 패널 */
.tab-section__panel {
    display: none;
}

.tab-section__panel--active {
    display: block;
}

/* 사용자 탭 - 아이템 리스트 */
.tab-section__items {
    display: flex;
    flex-direction: column;
}

.tab-section__item {
    /* border-radius: 32px */
    border-radius: clamp(12.8px, 1.667vw, 32px);
    /* padding: 60px 0 (위아래 60, 좌우 0) */
    padding: clamp(24px, 3.125vw, 60px) 0;
    display: flex;
    align-items: center;
    /* gap: 48px */
    gap: clamp(19.2px, 2.5vw, 48px);
}

/* 반대 방향 (이미지 왼쪽, 텍스트 오른쪽) */
.tab-section__item--reverse {
    flex-direction: row-reverse;
}

.tab-section__item-content {
    flex: 1;
    min-width: 0;
    /* padding-left: 80px */
    padding-left: clamp(32px, 4.167vw, 80px);
}

.tab-section__item-image {
    flex-shrink: 0;
}

.tab-section__item-image img {
    display: block;
    /* width: 520px */
    width: clamp(208px, 27.083vw, 520px);
    /* height: 432px */
    height: clamp(172.8px, 22.5vw, 432px);
}

.tab-section__item-title {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    /* margin-bottom: 16px */
    margin: 0 0 clamp(6.4px, 0.833vw, 16px) 0;
}

.tab-section__item-desc {
    font-weight: 500;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #4a4a4a;
    /* margin-bottom: 12px */
    margin: 0 0 clamp(4.8px, 0.625vw, 12px) 0;
    /* padding-left: 16px */
    padding-left: clamp(6.4px, 0.833vw, 16px);
    position: relative;
}

.tab-section__item-desc::before {
    content: '';
    position: absolute;
    left: 0;
    /* top: 14px */
    top: clamp(5.6px, 0.729vw, 14px);
    transform: translateY(-50%);
    /* width: 8px */
    width: clamp(3.2px, 0.417vw, 8px);
    /* height: 8px */
    height: clamp(3.2px, 0.417vw, 8px);
    background: #4a4a4a;
    border-radius: 50%;
}

.tab-section__item-desc:last-child {
    margin-bottom: 0;
}

/* 파트너 탭 */
.tab-section__partner-content {
    display: flex;
    flex-direction: column;
    /* gap: 64px */
    gap: clamp(25.6px, 3.333vw, 64px);
}

.tab-section__partner-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* gap: 80px */
    gap: clamp(32px, 4.167vw, 80px);
}

.tab-section__partner-image {
    width: 100%;
    /* height: 440px */
    height: clamp(176px, 22.917vw, 440px);
    background: #d9d9d9;
    /* border-radius: 48px */
    border-radius: clamp(19.2px, 2.5vw, 48px);
    overflow: hidden;
}

.tab-section__partner-text {
    /* padding: 0 64px */
    padding: 0 clamp(25.6px, 3.333vw, 64px);
}

.tab-section__partner-title {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    /* margin-bottom: 24px */
    margin: 0 0 clamp(9.6px, 1.25vw, 24px) 0;
}

.tab-section__partner-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tab-section__partner-list li {
    font-weight: 500;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #4a4a4a;
    /* margin-bottom: 24px */
    margin: 0 0 clamp(9.6px, 1.25vw, 24px) 0;
    /* padding-left: 32px */
    padding-left: clamp(12.8px, 1.667vw, 32px);
    position: relative;
}

.tab-section__partner-list li::before {
    content: '';
    position: absolute;
    left: 0;
    /* top: 14px */
    top: clamp(5.6px, 0.729vw, 14px);
    transform: translateY(-50%);
    /* width: 8px */
    width: clamp(3.2px, 0.417vw, 8px);
    /* height: 8px */
    height: clamp(3.2px, 0.417vw, 8px);
    background: #4a4a4a;
    border-radius: 50%;
}

.tab-section__partner-list li:last-child {
    margin-bottom: 0;
}

/* ===========================================
   Tab Section - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .tab-section {
        /* padding: 40px → clamp(34px, 10.67vw, 51px) */
        padding-top: clamp(34px, 10.67vw, 51px);
        padding-bottom: clamp(34px, 10.67vw, 51px);
        max-width: 100%;
    }

    .tab-section__container {
        /* max-width: 375px → clamp(320px, 100%, 480px) */
        max-width: clamp(320px, 100%, 480px);
        margin: 0 auto;
        /* padding: 0 16px → clamp(14px, 4.27vw, 20px) */
        padding: 0 clamp(14px, 4.27vw, 20px);
    }

    /* 탭 버튼 */
    .tab-section__tabs {
        display: inline-flex;
        flex-direction: row;
        /* gap: 31px → clamp(26px, 8.27vw, 40px) */
        gap: clamp(26px, 8.27vw, 40px);
        /* margin-bottom: 40px → clamp(34px, 10.67vw, 51px) */
        margin-bottom: clamp(34px, 10.67vw, 51px);
        justify-content: flex-start;
        position: relative;
        /* padding-bottom: 16px → clamp(14px, 4.27vw, 20px) */
        padding-bottom: clamp(14px, 4.27vw, 20px);
        /* padding-left: 8px → clamp(7px, 2.13vw, 10px) */
        padding-left: clamp(7px, 2.13vw, 10px);
    }

    .tab-section__tab {
        width: auto;
        height: auto;
        padding: 0;
        border-radius: 0;
        background: transparent;
        border: none;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        position: relative;
    }

    /* 탭 라벨 (상단 텍스트 - 소비자/전문가) */
    .tab-section__tab-label {
        display: block;
        font-family: 'Pretendard', sans-serif;
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        font-weight: 700;
        color: #9e9e9e;
        /* margin-bottom: 4px → clamp(3px, 1.07vw, 5px) */
        margin-bottom: clamp(3px, 1.07vw, 5px);
    }

    /* 탭 텍스트 (하단 텍스트 - 사용자를 위한 혜택) */
    .tab-section__tab-text {
        font-family: 'Pretendard', sans-serif;
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        /* line-height: 28px → clamp(24px, 7.47vw, 36px) */
        line-height: clamp(24px, 7.47vw, 36px);
        font-weight: 700;
        color: #9e9e9e;
        text-align: left;
    }

    /* 활성 탭 스타일 */
    .tab-section__tab--active .tab-section__tab-label {
        color: #face00;
    }

    .tab-section__tab--active .tab-section__tab-text {
        color: #222222;
    }

    /* 활성 탭 인디케이터 바 */
    .tab-section__tab--active::after {
        content: '';
        position: absolute;
        /* bottom: -19px → clamp(-24px, -5.07vw, -16px) */
        bottom: clamp(-24px, -5.07vw, -16px);
        /* left: -10px → clamp(-13px, -2.67vw, -9px) */
        left: clamp(-13px, -2.67vw, -9px);
        width: calc(100% + clamp(17px, 5.33vw, 26px));
        /* height: 8px → clamp(7px, 2.13vw, 10px) */
        height: clamp(7px, 2.13vw, 10px);
        background-image: url('../assets/images/svg/m_tap-bar.svg');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        z-index: 2;
    }

    /* 사용자 탭 인디케이터 - 왼쪽 브라우저 끝까지 확장 */
    .tab-section__tab--active[data-tab="user"]::after {
        /* left: -24px → clamp(-31px, -6.4vw, -20px) */
        left: clamp(-31px, -6.4vw, -20px);
        width: calc(100% + clamp(29px, 9.07vw, 44px));
    }

    /* 파트너 탭 인디케이터 - 오른쪽 브라우저 끝까지 확장 */
    .tab-section__tab--active[data-tab="partner"]::after {
        /* left: -10px → clamp(-13px, -2.67vw, -9px) */
        left: clamp(-13px, -2.67vw, -9px);
        width: calc(100% + clamp(29px, 9.07vw, 44px));
    }

    /* 구분선 */
    .tab-section__tabs::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 1px;
        background: #cccccc;
        z-index: 1;
    }

    /* 탭 패널 */
    .tab-section__panel {
        margin-top: 0;
    }

    /* 아이템 리스트 */
    .tab-section__items {
        gap: 0;
    }

    .tab-section__item {
        flex-direction: column-reverse;
        align-items: flex-start;
        padding: 0;
        /* margin-bottom: 40px → clamp(34px, 10.67vw, 51px) */
        margin-bottom: clamp(34px, 10.67vw, 51px);
        border-radius: 0;
        background: transparent;
    }

    .tab-section__item:last-child {
        margin-bottom: 0;
    }

    .tab-section__item--reverse {
        flex-direction: column-reverse;
    }

    /* 이미지 영역 */
    .tab-section__item-image {
        width: 100%;
        /* height: 160px → clamp(137px, 42.67vw, 205px) */
        height: clamp(137px, 42.67vw, 205px);
        margin: 0;
        /* border-radius: 48px → clamp(41px, 12.8vw, 61px) */
        border-radius: clamp(41px, 12.8vw, 61px);
        background-size: auto 100%;
        background-position: center;
        background-repeat: no-repeat;
    }

    /* 홀수 아이템 (1, 3번) - 오른쪽 정렬 */
    .tab-section__item:nth-child(odd) .tab-section__item-image {
        background-position: right center;
    }

    /* 짝수 아이템 (2, 4번) - 왼쪽 정렬 */
    .tab-section__item:nth-child(even) .tab-section__item-image {
        background-position: left center;
    }

    .tab-section__item-image img {
        display: none;
    }

    /* 사용자 탭 - 모바일 이미지 */
    [data-panel="user"] .tab-section__item:nth-child(1) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_user-icon-1.svg');
    }
    [data-panel="user"] .tab-section__item:nth-child(2) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_user-icon-2.svg');
    }
    [data-panel="user"] .tab-section__item:nth-child(3) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_user-icon-3.svg');
    }
    [data-panel="user"] .tab-section__item:nth-child(4) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_user-icon-4.svg');
    }

    /* 파트너 탭 - 모바일 이미지 */
    [data-panel="partner"] .tab-section__item-image {
        width: 100%;
        /* height: 160px → clamp(137px, 42.67vw, 205px) */
        height: clamp(137px, 42.67vw, 205px);
        background-size: auto 100%;
    }

    /* 파트너 홀수 아이템 - 오른쪽 정렬 */
    [data-panel="partner"] .tab-section__item:nth-child(odd) .tab-section__item-image {
        background-position: right center;
    }

    /* 파트너 짝수 아이템 - 왼쪽 정렬 */
    [data-panel="partner"] .tab-section__item:nth-child(even) .tab-section__item-image {
        background-position: left center;
    }
    [data-panel="partner"] .tab-section__item:nth-child(1) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_partner-icon-1.svg');
    }
    [data-panel="partner"] .tab-section__item:nth-child(2) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_partner-icon-2.svg');
    }
    [data-panel="partner"] .tab-section__item:nth-child(3) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_partner-icon-3.svg');
    }
    [data-panel="partner"] .tab-section__item:nth-child(4) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_partner-icon-4.svg');
    }
    [data-panel="partner"] .tab-section__item:nth-child(5) .tab-section__item-image {
        background-image: url('../assets/images/svg/m_partner-icon-5.svg');
    }

    /* 텍스트 영역 */
    .tab-section__item-content {
        padding-left: 0;
        width: 100%;
    }

    .tab-section__item-title {
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        /* line-height: 28px → clamp(24px, 7.47vw, 36px) */
        line-height: clamp(24px, 7.47vw, 36px);
        /* margin-bottom: 12px → clamp(10px, 3.2vw, 15px) */
        margin: 0 0 clamp(10px, 3.2vw, 15px) 0;
    }

    .tab-section__item-desc {
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        /* margin-bottom: 8px → clamp(7px, 2.13vw, 10px) */
        margin: 0 0 clamp(7px, 2.13vw, 10px) 0;
        /* padding-left: 16px → clamp(14px, 4.27vw, 20px) */
        padding-left: clamp(14px, 4.27vw, 20px);
    }

    .tab-section__item-desc::before {
        /* width/height: 6px → clamp(5px, 1.6vw, 8px) */
        width: clamp(5px, 1.6vw, 8px);
        height: clamp(5px, 1.6vw, 8px);
        /* top: 11px → clamp(9px, 2.93vw, 14px) */
        top: clamp(9px, 2.93vw, 14px);
    }

    .tab-section__item-desc:last-child {
        margin-bottom: 0;
    }
}

/* ===========================================
   Benefits Section - Desktop Responsive (clamp 방식)
   스케일링 공식: clamp(max × 0.4, max / 1920 × 100vw, max)
   =========================================== */

.benefits-section {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    /* padding-top: 50px */
    padding-top: clamp(20px, 2.604vw, 50px);
    /* padding-bottom: 80px */
    padding-bottom: clamp(32px, 4.167vw, 80px);
}

.benefits-section__heading {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    text-align: center;
    /* margin-bottom: 80px */
    margin: 0 0 clamp(32px, 4.167vw, 80px) 0;
}

.benefits-section__container {
    /* 520 + 80 + 520 = 1120px (양쪽 여백 400px) */
    max-width: clamp(448px, 58.333vw, 1120px);
    margin: 0 auto;
}

.benefits-section__content {
    display: flex;
    /* gap: 80px */
    gap: clamp(32px, 4.167vw, 80px);
    align-items: flex-start;
    /* max-width: 1120px */
    max-width: clamp(448px, 58.333vw, 1120px);
    margin: 0 auto;
}

.benefits-section__left,
.benefits-section__right {
    flex: 1;
    display: flex;
    flex-direction: column;
    /* gap: 50px */
    gap: clamp(20px, 2.604vw, 50px);
}

.benefits-section__image {
    /* width: 520px */
    width: clamp(208px, 27.083vw, 520px);
    /* height: 440px */
    height: clamp(176px, 22.917vw, 440px);
    /* border-radius: 48px */
    border-radius: clamp(19.2px, 2.5vw, 48px);
    overflow: hidden;
    flex-shrink: 0;
}

.benefits-section__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.benefits-section__image--overlay {
    position: relative;
}

.benefits-section__image--overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    /* border-radius: 48px */
    border-radius: clamp(19.2px, 2.5vw, 48px);
}

.benefits-section__text {
    /* padding: 0 64px */
    padding: 0 clamp(25.6px, 3.333vw, 64px);
}

.benefits-section__title {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    /* margin-bottom: 24px */
    margin: 0 0 clamp(9.6px, 1.25vw, 24px) 0;
}

.benefits-section__desc {
    font-weight: 500;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #4a4a4a;
    /* margin-bottom: 12px */
    margin: 0 0 clamp(4.8px, 0.625vw, 12px) 0;
    position: relative;
}

.benefits-section__desc::before {
    content: '';
    position: absolute;
    /* left: -24px (텍스트 밖으로) */
    left: clamp(-24px, -1.25vw, -9.6px);
    /* top: 14px */
    top: clamp(5.6px, 0.729vw, 14px);
    transform: translateY(-50%);
    /* width: 8px */
    width: clamp(3.2px, 0.417vw, 8px);
    /* height: 8px */
    height: clamp(3.2px, 0.417vw, 8px);
    background: #4a4a4a;
    border-radius: 50%;
}

.benefits-section__desc:last-child {
    margin-bottom: 0;
}

/* ===========================================
   Benefits Section - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .benefits-section {
        /* padding: 40px → clamp(34px, 10.67vw, 51px) */
        padding-top: clamp(34px, 10.67vw, 51px);
        padding-bottom: clamp(34px, 10.67vw, 51px);
        max-width: 100%;
    }

    .benefits-section__heading {
        /* font-size: 24px → clamp(20px, 6.4vw, 31px) */
        font-size: clamp(20px, 6.4vw, 31px);
        /* line-height: 32px → clamp(27px, 8.53vw, 41px) */
        line-height: clamp(27px, 8.53vw, 41px);
        /* margin-bottom: 24px → clamp(20px, 6.4vw, 31px) */
        margin: 0 0 clamp(20px, 6.4vw, 31px) 0;
        text-align: center;
    }

    .benefits-section__container {
        /* max-width: 375px → clamp(320px, 100%, 480px) */
        max-width: clamp(320px, 100%, 480px);
        margin: 0 auto;
        /* padding: 0 16px → clamp(14px, 4.27vw, 20px) */
        padding: 0 clamp(14px, 4.27vw, 20px);
    }

    .benefits-section__content {
        flex-direction: column;
        gap: 0;
        max-width: 100%;
    }

    .benefits-section__left,
    .benefits-section__right {
        flex: none;
        width: 100%;
        /* margin-bottom: 40px → clamp(34px, 10.67vw, 51px) */
        margin-bottom: clamp(34px, 10.67vw, 51px);
    }

    .benefits-section__left:last-child,
    .benefits-section__right:last-child {
        margin-bottom: 0;
    }

    /* 이미지 영역 */
    .benefits-section__image {
        /* width: 343px → 100% */
        width: 100%;
        /* height: 224px → clamp(191px, 59.73vw, 287px) */
        height: clamp(191px, 59.73vw, 287px);
        border-radius: 0;
        margin-bottom: 0;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .benefits-section__image img {
        display: none;
    }

    /* 모바일 전용 이미지 */
    .benefits-section__left .benefits-section__image {
        background-image: url('../assets/images/m_benefits-section-1.png');
    }

    .benefits-section__right .benefits-section__image {
        background-image: url('../assets/images/m_benefits-section-2.png');
    }

    .benefits-section__image--overlay::after {
        display: none;
    }

    /* 텍스트 영역 */
    .benefits-section__text {
        padding: 0;
    }

    .benefits-section__title {
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        /* line-height: 28px → clamp(24px, 7.47vw, 36px) */
        line-height: clamp(24px, 7.47vw, 36px);
        /* margin-bottom: 16px → clamp(14px, 4.27vw, 20px) */
        margin: 0 0 clamp(14px, 4.27vw, 20px) 0;
    }

    .benefits-section__left .benefits-section__title {
        text-align: left;
    }

    .benefits-section__right .benefits-section__title {
        text-align: right;
    }

    .benefits-section__right .benefits-section__desc {
        /* margin-left: 10px → clamp(9px, 2.67vw, 13px) */
        margin-left: clamp(9px, 2.67vw, 13px);
    }

    .benefits-section__desc {
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        /* margin-bottom: 8px → clamp(7px, 2.13vw, 10px) */
        margin: 0 0 clamp(7px, 2.13vw, 10px) 0;
        /* padding-left: 16px → clamp(14px, 4.27vw, 20px) */
        padding-left: clamp(14px, 4.27vw, 20px);
    }

    .benefits-section__desc::before {
        /* width/height: 6px → clamp(5px, 1.6vw, 8px) */
        width: clamp(5px, 1.6vw, 8px);
        height: clamp(5px, 1.6vw, 8px);
        left: 0;
        /* top: 11px → clamp(9px, 2.93vw, 14px) */
        top: clamp(9px, 2.93vw, 14px);
    }

    .benefits-section__desc:last-child {
        margin-bottom: 0;
    }
}

/* ===========================================
   CTA Section - Desktop Responsive (clamp 방식)
   스케일링 공식: clamp(max × 0.4, max / 1920 × 100vw, max)
   =========================================== */

.cta-section {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    /* padding-top: 80px */
    padding-top: clamp(32px, 4.167vw, 80px);
    /* padding-bottom: 80px */
    padding-bottom: clamp(32px, 4.167vw, 80px);
}

.cta-section__heading {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    text-align: center;
    /* margin-bottom: 80px */
    margin: 0 0 clamp(32px, 4.167vw, 80px) 0;
}

.cta-section__container {
    width: 100%;
}

.cta-section__user {
    position: relative;
    width: 100%;
    /* height: 412px */
    height: clamp(164.8px, 21.458vw, 412px);
    background: url('../assets/images/svg/buttom-banner-user.svg') no-repeat center;
    background-size: cover;
    /* margin-bottom: 24px */
    margin: 0 auto clamp(9.6px, 1.25vw, 24px) auto;
}

/* 노란색 배경을 1920px 이상에서도 전체 너비로 확장 */
.cta-section__user::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background: #FFFAE5;
    z-index: -1;
}

.cta-section__user-bg {
    position: absolute;
    /* left: 480px = 25% */
    left: 25%;
    /* top: 80px */
    top: clamp(32px, 4.167vw, 80px);
    /* width: 208px */
    width: clamp(83.2px, 10.833vw, 208px);
    /* height: 249px */
    height: clamp(99.6px, 12.969vw, 249px);
}

.cta-section__user-content {
    position: absolute;
    /* left: 879px = 45.78% */
    left: 45.78%;
    /* top: 96px */
    top: clamp(38.4px, 5vw, 96px);
    /* width: 700px */
    width: clamp(280px, 36.458vw, 700px);
}

.cta-section__user-title {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    /* margin-bottom: 27px */
    margin: 0 0 clamp(10.8px, 1.406vw, 27px) 0;
}

.cta-section__user-desc {
    font-weight: 500;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #4a4a4a;
    /* margin-bottom: 5px */
    margin: 0 0 clamp(2px, 0.26vw, 5px) 0;
}

.cta-section__user-desc:last-of-type {
    /* margin-bottom: 40px */
    margin-bottom: clamp(16px, 2.083vw, 40px);
}

.cta-section__user-btn {
    /* width: 338px */
    width: clamp(135.2px, 17.604vw, 338px);
    /* height: 60px */
    height: clamp(24px, 3.125vw, 60px);
    background: #face00;
    border: none;
    /* border-radius: 38px */
    border-radius: clamp(15.2px, 1.979vw, 38px);
    font-weight: 700;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #222222;
    cursor: pointer;
}

.cta-section__user-btn:hover {
    opacity: 0.9;
}

.cta-section__partner {
    position: relative;
    width: 100%;
    /* height: 412px */
    height: clamp(164.8px, 21.458vw, 412px);
    background: url('../assets/images/svg/buttom-banner-partner.svg') no-repeat center;
    background-size: cover;
    margin: 0 auto;
}

/* 회색 배경을 1920px 이상에서도 전체 너비로 확장 */
.cta-section__partner::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background: #F6F6F6;
    z-index: -1;
}

.cta-section__partner-bg {
    position: absolute;
    /* left: 943px = 49.11% */
    left: 49.11%;
    /* top: 40px */
    top: clamp(16px, 2.083vw, 40px);
    /* width: 577px */
    width: clamp(230.8px, 30.052vw, 577px);
    /* height: 336px */
    height: clamp(134.4px, 17.5vw, 336px);
}

.cta-section__partner-content {
    position: absolute;
    /* left: 400px = 20.83% */
    left: 20.83%;
    /* top: 80px */
    top: clamp(32px, 4.167vw, 80px);
    /* width: 500px */
    width: clamp(200px, 26.042vw, 500px);
}

.cta-section__partner-title {
    font-weight: 700;
    /* font-size: 32px */
    font-size: clamp(12.8px, 1.667vw, 32px);
    /* line-height: 32px */
    line-height: clamp(12.8px, 1.667vw, 32px);
    color: #222222;
    /* margin-bottom: 24px */
    margin: 0 0 clamp(9.6px, 1.25vw, 24px) 0;
}

.cta-section__partner-desc {
    font-weight: 500;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #4a4a4a;
    /* margin-bottom: 8px */
    margin: 0 0 clamp(3.2px, 0.417vw, 8px) 0;
}

.cta-section__partner-desc:last-of-type {
    /* margin-bottom: 40px */
    margin-bottom: clamp(16px, 2.083vw, 40px);
}

.cta-section__partner-btn {
    /* width: 239px */
    width: clamp(95.6px, 12.448vw, 239px);
    /* height: 60px */
    height: clamp(24px, 3.125vw, 60px);
    background: #face00;
    border: none;
    /* border-radius: 38px */
    border-radius: clamp(15.2px, 1.979vw, 38px);
    font-weight: 700;
    /* font-size: 20px */
    font-size: clamp(8px, 1.042vw, 20px);
    /* line-height: 28px */
    line-height: clamp(11.2px, 1.458vw, 28px);
    color: #222222;
    cursor: pointer;
    /* 앵커 태그 스타일 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.cta-section__partner-btn:hover {
    opacity: 0.9;
}

/* ===========================================
   CTA Section - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .cta-section {
        /* padding: 40px → clamp(34px, 10.67vw, 51px) */
        padding-top: clamp(34px, 10.67vw, 51px);
        padding-bottom: clamp(34px, 10.67vw, 51px);
        max-width: 100%;
    }

    .cta-section__heading {
        /* font-size: 24px → clamp(20px, 6.4vw, 31px) */
        font-size: clamp(20px, 6.4vw, 31px);
        /* line-height: 32px → clamp(27px, 8.53vw, 41px) */
        line-height: clamp(27px, 8.53vw, 41px);
        /* margin-bottom: 24px → clamp(20px, 6.4vw, 31px) */
        margin: 0 0 clamp(20px, 6.4vw, 31px) 0;
        text-align: center;
    }

    .cta-section__container {
        /* max-width: 375px → clamp(320px, 100%, 480px) */
        max-width: clamp(320px, 100%, 480px);
        margin: 0 auto;
        padding: 0;
    }

    /* 사용자 영역 */
    .cta-section__user {
        /* width: 375px → clamp(320px, 100%, 480px) */
        width: clamp(320px, 100%, 480px);
        /* height: 464px → clamp(396px, 123.73vw, 594px) */
        height: clamp(396px, 123.73vw, 594px);
        /* margin-bottom: 24px → clamp(20px, 6.4vw, 31px) */
        margin: 0 auto clamp(20px, 6.4vw, 31px) auto;
        background: transparent;
        position: relative;
    }

    .cta-section__user::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        background: #FFFAE5;
        z-index: -1;
    }

    .cta-section__user-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../assets/images/svg/m_cta-section-partner.svg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: 0;
    }

    .cta-section__user-content {
        position: absolute;
        /* top: 218px → clamp(186px, 58.13vw, 279px) */
        top: clamp(186px, 58.13vw, 279px);
        left: 50%;
        transform: translateX(-50%);
        /* width: 319px → clamp(272px, 85.07vw, 408px) */
        width: clamp(272px, 85.07vw, 408px);
        text-align: center;
        z-index: 1;
    }

    .cta-section__user-title {
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        /* line-height: 28px → clamp(24px, 7.47vw, 36px) */
        line-height: clamp(24px, 7.47vw, 36px);
        /* margin-bottom: 12px → clamp(10px, 3.2vw, 15px) */
        margin: 0 0 clamp(10px, 3.2vw, 15px) 0;
    }

    .cta-section__user-desc {
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        /* margin-bottom: 4px → clamp(3px, 1.07vw, 5px) */
        margin: 0 0 clamp(3px, 1.07vw, 5px) 0;
        text-align: center;
    }

    .cta-section__user-desc:last-of-type {
        /* margin-bottom: 24px → clamp(20px, 6.4vw, 31px) */
        margin-bottom: clamp(20px, 6.4vw, 31px);
    }

    .cta-section__user-btn {
        /* width: 290px → clamp(247px, 77.33vw, 371px) */
        width: clamp(247px, 77.33vw, 371px);
        /* height: 54px → clamp(46px, 14.4vw, 69px) */
        height: clamp(46px, 14.4vw, 69px);
        /* border-radius: 38px → clamp(32px, 10.13vw, 49px) */
        border-radius: clamp(32px, 10.13vw, 49px);
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
    }

    /* 파트너 영역 */
    .cta-section__partner {
        /* width: 375px → clamp(320px, 100%, 480px) */
        width: clamp(320px, 100%, 480px);
        /* height: 464px → clamp(396px, 123.73vw, 594px) */
        height: clamp(396px, 123.73vw, 594px);
        margin: 0 auto;
        background: transparent;
        position: relative;
    }

    .cta-section__partner::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        background: #F6F6F6;
        z-index: -1;
    }

    .cta-section__partner-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../assets/images/svg/m_cta-section-user.svg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: 0;
    }

    .cta-section__partner-content {
        position: absolute;
        /* top: 218px → clamp(186px, 58.13vw, 279px) */
        top: clamp(186px, 58.13vw, 279px);
        left: 50%;
        transform: translateX(-50%);
        /* width: 319px → clamp(272px, 85.07vw, 408px) */
        width: clamp(272px, 85.07vw, 408px);
        text-align: center;
        z-index: 1;
    }

    .cta-section__partner-title {
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        /* line-height: 28px → clamp(24px, 7.47vw, 36px) */
        line-height: clamp(24px, 7.47vw, 36px);
        /* margin-bottom: 12px → clamp(10px, 3.2vw, 15px) */
        margin: 0 0 clamp(10px, 3.2vw, 15px) 0;
    }

    .cta-section__partner-desc {
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
        /* margin-bottom: 4px → clamp(3px, 1.07vw, 5px) */
        margin: 0 0 clamp(3px, 1.07vw, 5px) 0;
        text-align: center;
    }

    .cta-section__partner-desc:last-of-type {
        /* margin-bottom: 24px → clamp(20px, 6.4vw, 31px) */
        margin-bottom: clamp(20px, 6.4vw, 31px);
    }

    .cta-section__partner-btn {
        /* width: 211px → clamp(180px, 56.27vw, 270px) */
        width: clamp(180px, 56.27vw, 270px);
        /* height: 54px → clamp(46px, 14.4vw, 69px) */
        height: clamp(46px, 14.4vw, 69px);
        /* border-radius: 38px → clamp(32px, 10.13vw, 49px) */
        border-radius: clamp(32px, 10.13vw, 49px);
        /* font-size: 16px → clamp(14px, 4.27vw, 20px) */
        font-size: clamp(14px, 4.27vw, 20px);
        /* line-height: 22px → clamp(19px, 5.87vw, 28px) */
        line-height: clamp(19px, 5.87vw, 28px);
    }
}

/* ===========================================
   Footer - 1920px 기준 반응형
   =========================================== */

.footer {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    /* padding-top: 80px */
    padding-top: clamp(32px, 4.167vw, 80px);
    /* padding-bottom: 140px */
    padding-bottom: clamp(56px, 7.292vw, 140px);
}

.footer__container {
    /* max-width: 1120px */
    max-width: clamp(448px, 58.333vw, 1120px);
    margin: 0 auto;
}

.footer__line {
    width: 100%;
    height: 1px;
    background: #cfcfcf;
    /* margin-bottom: 24px */
    margin-bottom: clamp(9.6px, 1.25vw, 24px);
}

.footer__content {
    width: 100%;
}

.footer__text {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    /* font-size: 12px */
    font-size: clamp(4.8px, 0.625vw, 12px);
    /* line-height: 16px */
    line-height: clamp(6.4px, 0.833vw, 16px);
    color: #4d4d4d;
    margin: 0;
}

.footer__br--mobile-only {
    display: none;
}

/* 푸터 이용약관/개인정보 링크 (버튼 스타일 리셋) */
.footer__link {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: left;
}

.footer__link:hover {
    text-decoration: underline;
}

/* ===========================================
   이용약관 팝업 (Modal) - Desktop 1920px 기준
   Figma: 960×960 박스, 42px radius, 60px 패딩, 제목 24px, 본문 16px
   =========================================== */

.modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(14px, 4.27vw, 20px);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s;
}

.modal[aria-hidden="false"] {
    visibility: visible;
    opacity: 1;
}

.modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.24);
    cursor: pointer;
}

.modal__box {
    position: relative;
    width: 100%;
    /* 960px @1920 → clamp(384px, 50vw, 960px) */
    max-width: clamp(384px, 50vw, 960px);
    /* height: 960px → max-height로 제한, 내부 스크롤 */
    max-height: min(960px, calc(100vh - clamp(28px, 8.53vw, 40px)));
    background: #ffffff;
    /* border-radius: 42px → clamp(17px, 2.188vw, 42px) */
    border-radius: clamp(17px, 2.188vw, 42px);
    /* padding: 60px → clamp(24px, 3.125vw, 60px) */
    padding: clamp(24px, 3.125vw, 60px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.modal__close {
    position: absolute;
    /* top: 32px, right: 60px (Figma: 닫기 24×24) */
    top: clamp(14px, 1.667vw, 32px);
    right: clamp(14px, 3.125vw, 60px);
    width: clamp(14px, 1.25vw, 24px);
    height: clamp(14px, 1.25vw, 24px);
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: #222222;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.modal__close:hover {
    opacity: 0.7;
}

.modal__close svg {
    width: 100%;
    height: 100%;
}

.modal__title {
    font-weight: 900;
    /* font-size: 24px → clamp(9.6px, 1.25vw, 24px) */
    font-size: clamp(9.6px, 1.25vw, 24px);
    /* line-height: 28.64px → clamp(11.5px, 1.492vw, 28.64px) */
    line-height: clamp(11.5px, 1.492vw, 28.64px);
    color: #222222;
    /* margin: 0 0 16px → margin-bottom clamp */
    margin: 0 0 clamp(6.4px, 0.833vw, 16px) 0;
    padding-right: clamp(30px, 3.75vw, 72px);
}

.modal__body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.modal__body p {
    font-weight: 500;
    /* font-size: 16px → clamp(6.4px, 0.833vw, 16px) */
    font-size: clamp(6.4px, 0.833vw, 16px);
    /* line-height: 19.09375px → clamp(7.6px, 0.995vw, 19px) */
    line-height: 1.2;
    color: #4a4a4a;
    margin: 0 0 clamp(8px, 1.042vw, 16px) 0;
}

.modal__body p:last-child {
    margin-bottom: 0;
}

/* ===========================================
   이용약관 팝업 - Mobile (320px ~ 767px)
   375px 기준 스케일링
   =========================================== */

@media (max-width: 767px) {
    .modal {
        padding: clamp(14px, 4.27vw, 20px);
        align-items: center;
    }

    .modal__box {
        /* max-width: 375px → clamp(320px, 100%, 480px) */
        max-width: clamp(320px, 100%, 480px);
        max-height: min(90vh, 960px);
        /* padding: 24px → clamp(20px, 6.4vw, 31px) */
        padding: clamp(20px, 6.4vw, 31px);
        /* border-radius: 24px → clamp(20px, 6.4vw, 31px) */
        border-radius: clamp(20px, 6.4vw, 31px);
    }

    .modal__close {
        /* top: 20px, right: 20px */
        top: clamp(17px, 5.33vw, 26px);
        right: clamp(17px, 5.33vw, 26px);
        /* 24px → clamp(20px, 6.4vw, 31px) */
        width: clamp(20px, 6.4vw, 31px);
        height: clamp(20px, 6.4vw, 31px);
    }

    .modal__title {
        /* font-size: 20px → clamp(17px, 5.33vw, 26px) */
        font-size: clamp(17px, 5.33vw, 26px);
        line-height: clamp(21px, 6.4vw, 31px);
        margin: 0 0 clamp(12px, 3.73vw, 18px) 0;
        padding-right: clamp(36px, 11.2vw, 54px);
    }

    .modal__body p {
        /* font-size: 14px → clamp(12px, 3.73vw, 18px) */
        font-size: clamp(12px, 3.73vw, 18px);
        margin: 0 0 clamp(10px, 3.2vw, 14px) 0;
    }
}

/* ===========================================
   Footer - Mobile (320px ~ 767px 반응형)
   320px ~ 480px: 375px 기준 스케일링
   481px ~ 767px: 480px 고정 + 중앙 정렬
   =========================================== */

@media (max-width: 767px) {
    .footer {
        /* padding: 40px → clamp(34px, 10.67vw, 51px) */
        padding-top: clamp(34px, 10.67vw, 51px);
        padding-bottom: clamp(34px, 10.67vw, 51px);
        max-width: 100%;
    }

    .footer__container {
        /* max-width: 375px → clamp(320px, 100%, 480px) */
        max-width: clamp(320px, 100%, 480px);
        margin: 0 auto;
        /* padding: 0 16px → clamp(14px, 4.27vw, 20px) */
        padding: 0 clamp(14px, 4.27vw, 20px);
    }

    .footer__line {
        /* margin-bottom: 16px → clamp(14px, 4.27vw, 20px) */
        margin-bottom: clamp(14px, 4.27vw, 20px);
    }

    .footer__text {
        /* font-size: 12px → clamp(10px, 3.2vw, 15px) */
        font-size: clamp(10px, 3.2vw, 15px);
        /* line-height: 16px → clamp(14px, 4.27vw, 20px) */
        line-height: clamp(14px, 4.27vw, 20px);
        color: #4a4a4a;
        text-align: left;
    }

    .footer__separator--mobile-hide {
        display: none;
    }

    .footer__br--mobile-only {
        display: block;
    }
}
